chore: 🐝 Update SDK - Generate 0.13.13#500
Conversation
76c3022 to
615abbd
Compare
e342374 to
e69661c
Compare
* `openrouter.videoGeneration.generate()`: * `request.videoGenerationRequest` **Changed** (Breaking⚠️ ) * `openrouter.chat.send()`: * `request.chatRequest` **Changed** * `response` **Changed** * `openrouter.presets.createPresetsResponses()`: * `request.responsesRequest` **Changed** * `openrouter.images.listModels()`: **Added** * `openrouter.images.listModelEndpoints()`: **Added** * `openrouter.datasets.getBenchmarksArtificialAnalysis()`: **Removed** (Breaking⚠️ ) * `openrouter.datasets.getBenchmarksDesignArena()`: **Removed** (Breaking⚠️ ) * `openrouter.beta.responses.send()`: * `request.responsesRequest` **Changed** * `response` **Changed** * `openrouter.tts.createSpeech()`: * `request.speechRequest.provider.options.tenstorrent` **Added** * `openrouter.stt.createTranscription()`: * `request.sttRequest.provider.options.tenstorrent` **Added** * `openrouter.byok.list()`: * `request.provider` **Changed** * `response.data[].provider.enum(tenstorrent)` **Added** * `openrouter.byok.create()`: * `request.createByokKeyRequest.provider.enum(tenstorrent)` **Added** * `response.data.provider.enum(tenstorrent)` **Added** * `openrouter.embeddings.generate()`: * `request.requestBody.provider.ignore[].union(ProviderName).enum(tenstorrent)` **Added** * `response.usage` **Changed** * `openrouter.images.generate()`: **Added** * `openrouter.byok.update()`: `response.data.provider.enum(tenstorrent)` **Added** * `openrouter.byok.get()`: `response.data.provider.enum(tenstorrent)` **Added** * `openrouter.embeddings.listModels()`: `response.data[].reasoning` **Added** * `openrouter.endpoints.listZdrEndpoints()`: `response.data[].providerName.enum(tenstorrent)` **Added** * `openrouter.endpoints.list()`: `response.data.endpoints[].providerName.enum(tenstorrent)` **Added** * `openrouter.generations.getGeneration()`: `response.data.providerResponses[].providerName.enum(tenstorrent)` **Added** * `openrouter.models.get()`: `response.data.reasoning` **Added** * `openrouter.models.list()`: `response.data[].reasoning` **Added** * `openrouter.models.listForUser()`: `response.data[].reasoning` **Added** * `openrouter.presets.createPresetsChatCompletions()`: * `request.chatRequest` **Changed** * `openrouter.presets.createPresetsMessages()`: * `request.messagesRequest.provider.ignore[].union(ProviderName).enum(tenstorrent)` **Added** * `openrouter.benchmarks.getBenchmarks()`: **Added** * `openrouter.rerank.rerank()`: * `request.requestBody.provider.ignore[].union(ProviderName).enum(tenstorrent)` **Added** * `openrouter.classifications.getTaskClassifications()`: **Added**
0982c4e to
dbddf56
Compare
There was a problem hiding this comment.
Perry's Review
Speakeasy SDK regen to 0.13.13 — restructures the benchmarks API (per-source datasets methods → unified benchmarks.getBenchmarks), adds new top-level benchmarks/classifications/images accessors, introduces a canonical ApiErrorType open-enum, and renames several public exported types/helpers.
Verdict: 💬 Comments / questions
Details
Risk: 🟡 Medium
CI: all passing ✅
Scope: incremental re-review — SDK src/ is byte-identical to the last SHA Perry reviewed (0982c4e); the only commits since are a rebase onto newer main plus a package.json script-key reorder and .speakeasy lock/bookkeeping updates. No net-new SDK code to review this push.
Findings: none net-new. The standing release-hygiene concern is unchanged and remains tracked in 3 open threads on this PR (see Unresolved threads). The generated output itself is internally consistent — ErrorT is fully removed (0 stragglers), the rename chains are complete, and no hand-written code under src/lib references the removed/renamed symbols, so the internal blast radius is clean.
Codex (heavy second opinion): no additional findings.
Research: Confirmed the root cause of the recurring patch-vs-minor issue. Speakeasy's auto-versioning does not analyze OpenAPI content for breaking changes — it only compares info.version and a document checksum, falling back to a patch bump on any checksum change (Speakeasy SDK versioning). That is why removed operations + renamed schemas ship as 0.13.13. Because ^0.13.x resolves to >=0.13.0 <0.14.0 (patch-only for 0.x — caret minor upgrades are suppressed below 1.0; npm semver), caret consumers auto-receive these breaking renames. Actionable fix the existing threads can adopt: set the PR's version label to minor (→ 0.14.0), or pin SPEAKEASY_BUMP_OVERRIDE=minor in the generation pipeline so removed/renamed schemas force a minor bump for 0.x.
Security: no concerns — generated type definitions only; no credential, auth, or streaming-validation surface touched in the net-new delta.
Test coverage: generated SDK; lane "untested model" flags are expected noise for codegen output and were discarded.
Unresolved threads: 3 open (all Perry, all still valid at this head) — (1) 0.13.13 patch bump ships breaking public-API removals/renames; (2) Metadata → MessagesRequestMetadata rename; (3) ErrorT → ChatStreamChunkError rename. Not re-posting to avoid duplication; they cover the full breaking surface of this regen.
Scope: incremental — 0 net-new SDK lines since prior review (0982c4e); delta is rebase + lockfile/package.json bookkeeping only
Review: tier=large · model=claude-opus-latest · score=150.8
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.
Typescript SDK Changes:
openrouter.videoGeneration.generate():request.videoGenerationRequestChanged (Breakingopenrouter.chat.send():request.chatRequestChangedresponseChangedopenrouter.presets.createPresetsResponses():request.responsesRequestChangedopenrouter.images.listModels(): Addedopenrouter.images.listModelEndpoints(): Addedopenrouter.datasets.getBenchmarksArtificialAnalysis(): Removed (Breakingopenrouter.datasets.getBenchmarksDesignArena(): Removed (Breakingopenrouter.beta.responses.send():request.responsesRequestChangedresponseChangedopenrouter.tts.createSpeech():request.speechRequest.provider.options.tenstorrentAddedopenrouter.stt.createTranscription():request.sttRequest.provider.options.tenstorrentAddedopenrouter.byok.list():request.providerChangedresponse.data[].provider.enum(tenstorrent)Addedopenrouter.byok.create():request.createByokKeyRequest.provider.enum(tenstorrent)Addedresponse.data.provider.enum(tenstorrent)Addedopenrouter.embeddings.generate():request.requestBody.provider.ignore[].union(ProviderName).enum(tenstorrent)Addedresponse.usageChangedopenrouter.images.generate(): Addedopenrouter.byok.update():response.data.provider.enum(tenstorrent)Addedopenrouter.byok.get():response.data.provider.enum(tenstorrent)Addedopenrouter.embeddings.listModels():response.data[].reasoningAddedopenrouter.endpoints.listZdrEndpoints():response.data[].providerName.enum(tenstorrent)Addedopenrouter.endpoints.list():response.data.endpoints[].providerName.enum(tenstorrent)Addedopenrouter.generations.getGeneration():response.data.providerResponses[].providerName.enum(tenstorrent)Addedopenrouter.models.get():response.data.reasoningAddedopenrouter.models.list():response.data[].reasoningAddedopenrouter.models.listForUser():response.data[].reasoningAddedopenrouter.presets.createPresetsChatCompletions():request.chatRequestChangedopenrouter.presets.createPresetsMessages():request.messagesRequest.provider.ignore[].union(ProviderName).enum(tenstorrent)Addedopenrouter.benchmarks.getBenchmarks(): Addedopenrouter.rerank.rerank():request.requestBody.provider.ignore[].union(ProviderName).enum(tenstorrent)Addedopenrouter.classifications.getTaskClassifications(): AddedView full SDK changelog
OpenAPI Change Summary
View full report
Linting Report
0 errors, 1 warnings, 0 hintsView full report
TYPESCRIPT CHANGELOG
No relevant generator changes
Based on Speakeasy CLI 1.763.2
Last updated by Speakeasy workflow