Skip to content

chore: 🐝 Update SDK - Generate 0.10.1#352

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

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

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 23, 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 Changed Breaking ⚠️
  • open_router.tts.create_speech():
    • request.provider.options.tenstorrent Added
  • open_router.chat.send(): response Changed
  • open_router.images.list_models(): Added
  • open_router.images.list_model_endpoints(): Added
  • open_router.datasets.get_benchmarks_artificial_analysis(): Deleted Breaking ⚠️
  • open_router.datasets.get_benchmarks_design_arena(): Deleted Breaking ⚠️
  • open_router.classifications.get_task_classifications(): Added
  • open_router.benchmarks.get_benchmarks(): Added
  • open_router.images.generate(): Added
  • open_router.stt.create_transcription():
    • request.provider.options.tenstorrent Added
  • open_router.byok.list(): request.provider 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
  • open_router.video_generation.generate():
    • request.provider.options.tenstorrent Added
OpenAPI Change Summary
├─┬Paths
│ ├──[-] path (24052:5)❌ 
│ ├──[-] path (24140:5)❌ 
│ ├──[+] path (28006:3)
│ ├──[+] path (23996:3)
│ ├──[+] path (27956:3)
│ ├──[+] path (27810:3)
│ ├──[+] path (24880:3)
│ ├─┬/models
│ │ └─┬GET
│ │   └─┬Responses
│ │     └─┬200
│ │       └─┬application/json
│ │         └──[🔀] example (30060:17)
│ ├─┬/byok
│ │ └─┬GET
│ │   └─┬Parameters
│ │     └─┬Schema
│ │       └──[+] enum (24253:17)
│ └─┬/embeddings
│   └─┬POST
│     └─┬Responses
│       └─┬200
│         └─┬application/json
│           └─┬Schema
│             └─┬usage
│               ├──[+] properties (25625:23)
│               ├──[+] properties (25647:23)
│               ├─┬prompt_tokens
│               │ ├──[+] required (25644:29)❌ 
│               │ ├──[+] required (25645:29)❌ 
│               │ ├──[🔀] type (25646:31)❌ 
│               │ ├──[🔀] description (25626:38)
│               │ ├──[+] nullable (25631:35)❌ 
│               │ ├──[🔀] example (25628:27)
│               │ ├──[+] properties (25633:27)
│               │ ├──[+] properties (25636:27)
│               │ └──[+] properties (25640:27)
│               ├─┬total_tokens
│               │ └──[🔀] description (25651:38)
│               └─┬prompt_tokens_details
│                 ├──[🔀] type (25649:31)❌ 
│                 ├──[🔀] description (25648:38)
│                 ├──[-] properties (24580:53)❌ 
│                 ├──[-] properties (24583:53)❌ 
│                 ├──[-] properties (24586:53)❌ 
│                 ├──[-] properties (24590:53)❌ 
│                 └──[-] properties (24594:53)❌ 
├─┬Tags
│ └──[+] Classifications (34038:5)
├─┬Tags
│ └──[+] Images (34054:5)
├─┬Tags
│ └──[+] Benchmarks (34034:5)
└─┬Components
  ├──[-] schemas (3947:13)❌ 
  ├──[-] schemas (3646:13)❌ 
  ├──[-] schemas (3712:13)❌ 
  ├──[-] schemas (3874:13)❌ 
  ├──[+] schemas (2207:7)
  ├──[-] schemas (3665:13)❌ 
  ├──[-] schemas (3784:13)❌ 
  ├──[-] schemas (3755:13)❌ 
  ├──[+] schemas (9278:7)
  ├──[+] schemas (20705:7)
  ├──[+] schemas (21319:7)
  ├──[+] schemas (9682:7)
  ├──[+] schemas (21223:7)
  ├──[+] schemas (9556:7)
  ├──[+] schemas (9841:7)
  ├──[+] schemas (20724:7)
  ├──[+] schemas (21375:7)
  ├──[+] schemas (3684:7)
  ├──[+] schemas (12862:7)
  ├──[+] schemas (9401:7)
  ├──[+] schemas (9135:7)
  ├──[+] schemas (21150:7)
  ├──[+] schemas (21169:7)
  ├──[+] schemas (9778:7)
  ├──[+] schemas (20824:7)
  ├──[+] schemas (9722:7)
  ├──[+] schemas (6968:7)
  ├──[+] schemas (9917:7)
  ├──[+] schemas (20793:7)
  ├──[+] schemas (18942:7)
  ├──[+] schemas (20851:7)
  ├──[+] schemas (9871:7)
  ├──[+] schemas (4067:7)
  ├──[+] schemas (9884:7)
  ├──[+] schemas (9248:7)
  ├──[+] schemas (9744:7)
  ├──[+] schemas (9659:7)
  ├──[+] schemas (7269:7)
  ├─┬ProviderName
  │ └──[+] enum (17834:11)
  ├─┬MessagesErrorDetail
  │ ├──[🔀] example (11475:9)
  │ ├──[+] properties (11479:9)
  │ └─┬message
  │   └──[🔀] $ref (2207:20)❌ 
  ├─┬ChatRequest
  │ ├─┬reasoning
  │ │ └─┬effort
  │ │   └──[+] enum (4811:19)
  │ └─┬reasoning_effort
  │   └──[+] enum (4830:15)
  ├─┬Model
  │ ├──[🔀] example (12599:9)
  │ ├──[+] properties (12695:9)
  │ ├─┬top_provider
  │ │ └──[🔀] $ref (12703:11)❌ 
  │ ├─┬supported_parameters
  │ │ └──[🔀] $ref (12862:20)❌ 
  │ └─┬supported_voices
  │   ├──[🔀] description (12698:24)
  │   ├──[-] nullable (12226:31)❌ 
  │   ├──[-] example (12223:30)
  │   └─┬Schema
  │     └──[🔀] $ref (17200:9)❌ 
  ├─┬SubagentReasoning
  │ └─┬effort
  │   └──[+] enum (20633:15)
  ├─┬ChatStreamChunk
  │ └─┬error
  │   ├──[🔀] example (5103:13)
  │   └──[+] properties (5117:13)
  ├─┬ReasoningEffort
  │ └──[+] enum (19176:11)
  ├─┬StreamEvents
  │ ├──[+] oneOf (6968:7)
  │ └──Discriminator
  ├─┬MessagesErrorEvent
  │ ├──[🔀] example (11492:9)
  │ ├──[+] properties (11510:9)
  │ ├─┬type
  │ │ └──[🔀] $ref (15631:9)❌ 
  │ └─┬error
  │   ├──[+] properties (11500:13)
  │   └─┬message
  │     └──[🔀] $ref (2207:20)❌ 
  ├─┬ProviderOptions
  │ └──[+] properties (18274:9)
  ├─┬OpenResponsesResult
  │ └─┬ALLOF
  │   ├──[+] properties (15563:13)
  │   ├─┬usage
  │   │ └──[🔀] $ref (20960:9)❌ 
  │   ├─┬text
  │   │ └──[🔀] $ref (15572:15)❌ 
  │   ├─┬service_tier
  │   │ ├──[+] items (15569:17)❌ 
  │   │ ├──[🔀] type (15570:21)❌ 
  │   │ └──[-] nullable (15051:35)❌ 
  │   ├─┬output
  │   │ └──[🔀] $ref (15631:9)❌ 
  │   └─┬openrouter_metadata
  │     └──[🔀] $ref (2207:20)❌ 
  ├─┬FusionServerToolConfig
  │ ├──[+] properties (8287:9)
  │ ├─┬tools
  │ │ ├──[-] items (8511:25)❌ 
  │ │ ├──[🔀] type (8332:17)❌ 
  │ │ ├──[+] format (8331:19)❌ 
  │ │ ├──[-] maxItems (8523:31)❌ 
  │ │ ├──[🔀] description (8328:24)
  │ │ └──[🔀] example (8330:20)
  │ ├─┬temperature
  │ │ ├──[🔀] type (8326:17)❌ 
  │ │ ├──[-] format (8499:29)❌ 
  │ │ ├──[🔀] description (8307:24)
  │ │ ├──[-] example (8498:30)
  │ │ ├──[+] properties (8310:13)
  │ │ └──[+] properties (8322:13)
  │ ├─┬model
  │ │ ├──[🔀] type (8300:17)❌ 
  │ │ ├──[+] maximum (8298:20)❌ 
  │ │ ├──[+] minimum (8299:20)❌ 
  │ │ ├──[🔀] description (8295:24)
  │ │ └──[🔀] example (8297:20)
  │ ├─┬max_completion_tokens
  │ │ └──[🔀] $ref (509:20)❌ 
  │ ├─┬max_tool_calls
  │ │ ├──[-] maximum (8467:30)❌ 
  │ │ ├──[-] minimum (8468:30)❌ 
  │ │ ├──[🔀] description (8290:24)
  │ │ └──[🔀] example (8292:20)
  │ └─┬reasoning
  │   └─┬effort
  │     └──[+] enum (8313:19)
  ├─┬MessagesStartEvent
  │ └─┬message
  │   └─┬provider
  │     └──[+] enum (12462:19)
  ├─┬ChatUsage
  │ ├──[🔀] example (5464:9)
  │ ├──[+] properties (5535:9)
  │ └─┬total_tokens
  │   ├──[🔀] type (5553:17)❌ 
  │   ├──[🔀] description (5536:24)
  │   ├──[+] nullable (5537:21)❌ 
  │   ├──[+] properties (5539:13)
  │   ├──[+] properties (5543:13)
  │   └──[+] properties (5548:13)
  ├─┬ResponsesRequest
  │ ├──[+] properties (19542:9)
  │ ├─┬provider
  │ │ └──[🔀] $ref (19621:11)❌ 
  │ ├─┬top_k
  │ │ ├──[+] items (19668:13)❌ 
  │ │ └──[🔀] type (19716:17)❌ 
  │ ├─┬reasoning
  │ │ └──[🔀] $ref (18359:29)❌ 
  │ ├─┬truncation
  │ │ └──[🔀] $ref (21083:9)❌ 
  │ ├─┬modalities
  │ │ └──[🔀] $ref (19347:9)❌ 
  │ ├─┬input
  │ │ └──[🔀] $ref (19551:11)❌ 
  │ ├─┬parallel_tool_calls
  │ │ ├──[+] items (19580:13)❌ 
  │ │ ├──[🔀] type (19581:17)❌ 
  │ │ └──[-] nullable (19033:31)❌ 
  │ ├─┬stop_server_tools_when
  │ │ └──[🔀] $ref (19645:11)❌ 
  │ ├─┬prompt
  │ │ └──[🔀] $ref (19616:11)❌ 
  │ ├─┬top_p
  │ │ ├──[🔀] type (19721:17)❌ 
  │ │ └──[-] format (19173:29)❌ 
  │ ├─┬image_config
  │ │ └──[🔀] $ref (19545:11)❌ 
  │ ├─┬tools
  │ │ └──[🔀] $ref (15335:9)❌ 
  │ ├─┬route
  │ │ └──[🔀] $ref (19046:9)❌ 
  │ ├─┬include
  │ │ └──[🔀] $ref (9121:9)❌ 
  │ ├─┬store
  │ │ └──[🔀] $ref (20098:20)❌ 
  │ ├─┬prompt_cache_key
  │ │ └──[🔀] $ref (20213:9)❌ 
  │ ├─┬safety_identifier
  │ │ └──[🔀] $ref (7111:19)❌ 
  │ ├─┬instructions
  │ │ └──[🔀] $ref (10170:9)❌ 
  │ ├─┬max_output_tokens
  │ │ └──[🔀] type (19559:17)❌ 
  │ ├─┬previous_response_id
  │ │ ├──[🔀] type (19614:17)❌ 
  │ │ └──[+] format (19612:19)❌ 
  │ ├─┬plugins
  │ │ ├──[-] items (19038:25)❌ 
  │ │ ├──[🔀] type (19584:17)❌ 
  │ │ ├──[-] description (19036:34)
  │ │ └──[+] nullable (19583:21)❌ 
  │ ├─┬user
  │ │ └──[🔀] $ref (15387:9)❌ 
  │ ├─┬presence_penalty
  │ │ ├──[+] items (19588:13)❌ 
  │ │ ├──[🔀] type (19610:17)❌ 
  │ │ ├──[-] format (19062:29)❌ 
  │ │ ├──[+] description (19586:24)
  │ │ └──[-] nullable (19063:31)❌ 
  │ ├─┬text
  │ │ └──[🔀] $ref (19659:11)❌ 
  │ ├─┬model
  │ │ ├──[+] items (19574:13)❌ 
  │ │ ├──[🔀] type (19575:17)❌ 
  │ │ ├──[+] description (19569:24)
  │ │ └──[+] example (19571:13)
  │ ├─┬frequency_penalty
  │ │ └──[🔀] $ref (4359:20)❌ 
  │ ├─┬session_id
  │ │ ├──[+] enum (19640:15)
  │ │ ├──[+] enum (19635:15)
  │ │ ├──[+] enum (19636:15)
  │ │ ├──[+] enum (19637:15)
  │ │ ├──[+] enum (19638:15)
  │ │ ├──[+] enum (19639:15)
  │ │ ├──[-] maxLength (19097:32)❌ 
  │ │ ├──[-] description (19095:34)
  │ │ ├──[+] default (19633:20)❌ 
  │ │ ├──[+] nullable (19641:21)❌ 
  │ │ └─┬Extensions
  │ │   └──[+] x-speakeasy-unknown-values (19643:39)
  │ ├─┬models
  │ │ ├──[-] items (19030:25)❌ 
  │ │ └──[🔀] type (19577:17)❌ 
  │ ├─┬service_tier
  │ │ ├──[-] enum (19086:27)❌ 
  │ │ ├──[-] enum (19087:27)❌ 
  │ │ ├──[-] enum (19088:27)❌ 
  │ │ ├──[-] enum (19089:27)❌ 
  │ │ ├──[-] enum (19090:27)❌ 
  │ │ ├──[-] enum (19085:27)❌ 
  │ │ ├──[-] default (19083:30)❌ 
  │ │ └─┬Extensions
  │ │   └──[-] x-speakeasy-unknown-values (19093:49)❌ 
  │ ├─┬stream
  │ │ └──[+] const (19652:18)❌ 
  │ ├─┬tool_choice
  │ │ └──[🔀] $ref (20960:9)❌ 
  │ ├─┬top_logprobs
  │ │ └──[-] nullable (19170:31)❌ 
  │ ├─┬metadata
  │ │ └──[🔀] $ref (19564:11)❌ 
  │ ├─┬temperature
  │ │ ├──[🔀] type (19657:17)❌ 
  │ │ ├──[-] format (19109:29)❌ 
  │ │ ├──[+] default (19656:20)❌ 
  │ │ └──[-] nullable (19110:31)❌ 
  │ └─┬trace
  │   └──[🔀] $ref (19723:11)❌ 
  ├─┬ObservabilityArizeDestination
  │ └─┬config
  │   └─┬modelId
  │     └──[+] description (13145:28)
  ├─┬ProviderResponse
  │ └─┬provider_name
  │   └──[+] enum (18627:15)
  ├─┬AdvisorReasoning
  │ └─┬effort
  │   └──[+] enum (178:15)
  └─┬BYOKProviderSlug
    └──[+] enum (4054:11)
Document Element Total Changes Breaking Changes
paths 28 12
tags 3 0
components 181 100

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 23, 2026
perry-the-pr-reviewer[bot]

This comment was marked as outdated.

@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1782223810 branch from fc8027d to fe0f350 Compare June 23, 2026 19:06
perry-the-pr-reviewer[bot]

This comment was marked as outdated.

@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1782223810 branch from b641cd9 to 65a462e Compare June 23, 2026 21:49
perry-the-pr-reviewer[bot]

This comment was marked as outdated.

* `open_router.beta.responses.send()`: 
  *  `request` **Changed**
  *  `response` **Changed** **Breaking** ⚠️
* `open_router.tts.create_speech()`: 
  *  `request.provider.options.tenstorrent` **Added**
* `open_router.chat.send()`:  `response` **Changed**
* `open_router.images.list_models()`: **Added**
* `open_router.images.list_model_endpoints()`: **Added**
* `open_router.datasets.get_benchmarks_artificial_analysis()`: **Deleted** **Breaking** ⚠️
* `open_router.datasets.get_benchmarks_design_arena()`: **Deleted** **Breaking** ⚠️
* `open_router.classifications.get_task_classifications()`: **Added**
* `open_router.benchmarks.get_benchmarks()`: **Added**
* `open_router.images.generate()`: **Added**
* `open_router.stt.create_transcription()`: 
  *  `request.provider.options.tenstorrent` **Added**
* `open_router.byok.list()`:  `request.provider` **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**
* `open_router.video_generation.generate()`: 
  *  `request.provider.options.tenstorrent` **Added**
@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1782223810 branch from 3701f70 to d32d528 Compare June 24, 2026 00:50
@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 24, 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 regeneration bumping the client from 0.10.0 to 0.10.1: adds three new endpoint namespaces (benchmarks, classifications, images), consolidates the two per-source benchmark methods into a unified get_benchmarks, and parent-prefixes a batch of previously generic component type names.

Verdict: 💬 Comments / questions

Details

Risk: 🟡 Medium — breaking public-API removals and renames in a published SDK, mis-versioned as a patch release. No auth, billing, or routing surface touched.

CI: no checks reported on the head SHA (an empty run-tests-trigger commit is the head) — not a blocker per review policy.

Scope: incremental — the SDK source tree, docs, and pyproject.toml are byte-identical to my last review (head 3701f70). The only delta since then is the auto-merge workflow YAML, the speakeasy regen lock metadata, and a RELEASES.md timestamp. No net-new source lines to review.

Findings (carry-forward — both still open as unresolved threads from the prior pass; re-verified valid against this head, not re-posted):

  • 🟡 Breaking public-API changes shipped under a patch bump. Two public methods removed (Datasets.get_benchmarks_artificial_analysis and get_benchmarks_design_arena, sync plus async) and ~37 component exports dropped or renamed (e.g. CompletionTokensDetails to ChatUsageCompletionTokensDetails, AspectRatio to VideoGenerationRequestAspectRatio). Speakeasy's own versioning auto-downgrades a detected breaking change to a minor (0.11.0), never patch — a patch label under-signals the break to pip's resolver and the changelog.
  • 🟡 New UnifiedBenchmarksResponseData discriminated union has no catch-all variant — a future or unknown source value makes get_discriminator raise ValueError instead of degrading. Originates in the OpenAPI spec; fix with x-speakeasy-unknown-values.

Move integrity: verified clean — 0 dangling internal references to removed symbols; import openrouter resolves, all three new namespaces plus get_benchmarks load, and the removed benchmark methods are gone from the public surface.

Codex (gpt-5.5): no additional findings (timed out at the 60s cap on this 91-file generated diff).

Analysis lanes: no valid findings (1210 candidates dropped — all generated-file hash noise).

Research: confirmed via Speakeasy versioning docs (https://www.speakeasy.com/docs/sdks/manage/versioning) that a detected breaking change in a pre-1.0 SDK auto-downgrades major to minor (0.11.0), so a patch bump for these removals is anomalous and signals the breaks were not classified — corroborates finding 1.

Security: no concerns — generated SDK client; no secret patterns in the diff, no auth or credential-handling changes.

Test coverage: generated code (do-not-edit); no hand-written tests expected or changed.

Unresolved threads: 2 — both Perry's own carry-forward suggestions above. Neither is a merge blocker.

Scope: incremental — 0 net-new source lines since prior review (3701f70); only regen lock + workflow + timestamp changed
Review: tier=large · model=claude-opus-latest · score=109.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