chore: 🐝 Update SDK - Generate SDK (spec change merged) 0.5.13#349
chore: 🐝 Update SDK - Generate SDK (spec change merged) 0.5.13#349github-actions[bot] wants to merge 2 commits into
Conversation
* `OpenRouter.Stt.CreateTranscriptionMultipart()`: **Added** * `OpenRouter.Beta.Responses.Send()`: * `request.ResponsesRequest.Plugins[].union(pareto-router).PriceSource` **Added** * `OpenRouter.Chat.Send()`: * `request.ChatRequest.Plugins[].union(pareto-router).PriceSource` **Added** * `OpenRouter.Presets.CreatePresetsChatCompletions()`: * `request.ChatRequest.Plugins[].union(pareto-router).PriceSource` **Added** * `OpenRouter.Presets.CreatePresetsMessages()`: * `request.MessagesRequest.Plugins[].union(pareto-router).PriceSource` **Added** * `OpenRouter.Presets.CreatePresetsResponses()`: * `request.ResponsesRequest.Plugins[].union(pareto-router).PriceSource` **Added**
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
There was a problem hiding this comment.
⚠️ APPROVE unavailable on this installation — the maintainer GitHub App lackspull_requests: writeon OpenRouterTeam (GitHub returned 403), so this ✅ LGTM verdict is posted as COMMENT. Event-level approval for branch protection must be added out-of-band.
Perry's Review
Speakeasy-generated SDK regen to v0.5.13: adds an OpenAI-style multipart transcription method on the Stt service, a new PriceSource enum on the Pareto-router plugin, plus doc and description clarifications.
Verdict: ✅ LGTM
Details
Risk: 🟢 Low — additive generated SDK code plus docs; auth-neutral, no billing, migration, or routing surface touched.
CI: no checks reported on the head commit yet (fresh push) — informational only, not a gate.
Findings (see inline comment):
- 🟡 the exported File type was renamed to UploadFileFile, a breaking public-API change on a patch-labelled release.
What I verified:
- go build and go vet are clean at head; the ExampleNew test passes (version pins consistent at 0.5.13).
- The File-to-UploadFileFile rename is complete — grep found zero dangling references to the old operations type; the components File type is distinct and unaffected.
- The new multipart method mirrors the existing single-part transcription scaffolding (request, hook, retry, error-decode) and reuses the same security-population path — no new credential handling.
- Mid-review a second commit landed and synced the install snippets across the README, package doc, example test, overview, and examples to 0.5.13; I re-pinned the worktree to the live head and re-verified.
Codex (heavy secondary): 6 findings surfaced, all refuted at the live head — the two version-pin blockers were fixed by the second commit; the rename "breaks callers" claim is generator-driven with no in-repo callers (folded into the inline suggestion); the nil-content multipart-panic sits in unchanged internal serialization code, out of differential scope. Doc file-close nits noted, not actioned (generated examples).
Analysis lanes: security, correctness, and blast-radius clean; test-coverage flagged missing tests for new files — expected for generated code (validated by the generator plus CI, not hand-written per-file tests).
Research: OpenAI multipart audio-transcription shape plus Speakeasy multipart Go generation — the multipart form tags, the JSON-only response-format enum, and the multipart serialization wiring match both the OpenAI API contract and Speakeasy's documented codegen pattern.
Security: no concerns — no secrets in the diff; no auth, streaming, or logging surface changed.
Test coverage: N/A for a generated SDK; build, vet, and the example test pass.
Unresolved threads: none
Scope: first review (full)
Review: tier=large · model=claude-opus-latest · score=10.2
| package operations | ||
|
|
||
| type File struct { | ||
| type UploadFileFile struct { |
There was a problem hiding this comment.
[suggestion] File → UploadFileFile renames an exported public identifier — a breaking change shipped under a patch-labelled release.
Details
Why: operations.File was a public exported type. Any downstream Go code referencing operations.File{...} (e.g. when constructing an UploadFileRequestBody) will fail to compile against v0.5.13. This is generator-driven (Speakeasy derived the type name from the new multipart operation) and the in-repo rename is complete — openrouter.go/stt.go/files.go build clean and no dangling operations.File references remain. But external consumers pinned to operations.File break on upgrade, and this PR carries the patch label (gen.yaml bumped 0.5.12 → 0.5.13).
Fix: No code change required inside this repo — flagging for release-versioning judgment. Options: (1) treat as a minor bump rather than patch to signal the breaking rename, or (2) keep a type File = UploadFileFile alias to preserve source compatibility. Both are maintainer calls; the SDK is beta (doc.go notes "pin to a specific version"), so shipping as-is is defensible.
Prompt for agents
In OpenRouterTeam/go-sdk, the exported type `File` in models/operations/uploadfile.go:5 was renamed to `UploadFileFile` by a Speakeasy regen. This is a breaking change to a public identifier. Decide the release-versioning response: either (1) bump the release from patch (0.5.13) to a minor version to signal the break, or (2) add a backward-compat alias `type File = UploadFileFile` in models/operations/uploadfile.go so existing `operations.File` references keep compiling. No other code change is needed — the in-repo rename is already complete and builds clean.
Reviewed at c886fab
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
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.
Go SDK Changes:
OpenRouter.Stt.CreateTranscriptionMultipart(): AddedOpenRouter.Beta.Responses.Send():request.ResponsesRequest.Plugins[].union(pareto-router).PriceSourceAddedOpenRouter.Chat.Send():request.ChatRequest.Plugins[].union(pareto-router).PriceSourceAddedOpenRouter.Presets.CreatePresetsChatCompletions():request.ChatRequest.Plugins[].union(pareto-router).PriceSourceAddedOpenRouter.Presets.CreatePresetsMessages():request.MessagesRequest.Plugins[].union(pareto-router).PriceSourceAddedOpenRouter.Presets.CreatePresetsResponses():request.ResponsesRequest.Plugins[].union(pareto-router).PriceSourceAddedView full SDK changelog
OpenAPI Change Summary
View full report
Linting Report
0 errors, 1 warnings, 0 hintsView full report
GO CHANGELOG
No relevant generator changes
Based on Speakeasy CLI 1.787.0
Last updated by Speakeasy workflow