chore: 🐝 Update SDK - Generate 0.10.0#317
Conversation
d4d8c98 to
3f1286b
Compare
7186528 to
80c8d05
Compare
821caf0 to
404c367
Compare
* `open_router.beta.responses.send()`: * `request` **Changed** **Breaking**⚠️ * `response` **Changed** **Breaking**⚠️ * `open_router.presets.create_presets_responses()`: `request` **Changed** **Breaking**⚠️ * `open_router.presets.create_presets_chat_completions()`: `request` **Changed** **Breaking**⚠️ * `open_router.chat.send()`: `request` **Changed** **Breaking**⚠️ * `open_router.workspaces.set_budget()`: **Added** * `open_router.o_auth.create_auth_code()`: * `request.workspace_id` **Added** * `error.status[403]` **Added** * `open_router.files.download()`: **Added** * `open_router.models.get()`: **Added** * `open_router.workspaces.list_budgets()`: **Added** * `open_router.workspaces.delete_budget()`: **Added** * `open_router.datasets.get_benchmarks_artificial_analysis()`: **Added** * `open_router.beta.analytics.query_analytics()`: `response.data.warnings` **Added** * `open_router.files.delete()`: **Added** * `open_router.files.retrieve()`: **Added** * `open_router.files.upload()`: **Added** * `open_router.embeddings.list_models()`: `response.data.[].benchmarks` **Added** * `open_router.models.list()`: * `request` **Changed** * `response.data.[].benchmarks` **Added** * `open_router.models.list_for_user()`: `response.data.[].benchmarks` **Added** * `open_router.files.list()`: **Added** * `open_router.presets.create_presets_messages()`: `request` **Changed** * `open_router.datasets.get_benchmarks_design_arena()`: **Added**
4706bbd to
4e78920
Compare
There was a problem hiding this comment.
Perry's Review
Speakeasy 0.10.0 SDK regeneration — adds workspace-budget CRUD (set_budget / list_budgets / delete_budget), an optional workspace_id on the OAuth auth-code flow, a warnings field on analytics responses, and docstring refinements.
Verdict: 💬 Comments / questions
Details
Risk: 🟢 Low — purely additive, generated SDK code; no behavioural change to existing request paths.
CI: no checks reported on the head SHA (head is an "empty commit to trigger run-tests"; reviewer token sees no check-runs). Not a verdict gate — branch protection enforces required checks at merge.
Scope: incremental — 2510 new lines since prior review (4706bbd → 1d488f0). The branch was force-pushed/rebased; the delta vs the prior reviewed SHA is the workspace-budget feature plus websearch/provider docstring tweaks. All net-new code is generated by Speakeasy (DO NOT EDIT).
Findings: none net-new.
- Verified the new workspaces budget operations (set_budget, list_budgets, delete_budget), their components (WorkspaceBudget, WorkspaceBudgetInterval, request/response wrappers), and the lazy-import all entries are all consistently registered in the components and operations init modules — no dangling exports.
- WorkspaceBudgetInterval (request path param) carries "lifetime"; the response reset_interval uses daily/weekly/monthly with null meaning lifetime. The asymmetry is intentional API design, and both are open enums (validate_open_enum false) so unknown values pass through for forward-compat.
- oauth.create_auth_code: workspace_id param plus 403 error mapping added symmetrically across sync and async. The callback-URL docstring now reflects localhost/loopback-on-any-port, aligning with RFC 8252 §7.3 for native/CLI clients.
Standing item (carried, not re-raised): the public Version alias was renamed to RankingsDailyMetaVersion and dropped from the components all, a breaking import for downstream "from openrouter.components import Version". It is not part of this push's delta and already has an open Perry thread (reviewed at d4d8c98) requesting a RELEASES.md migration note — that note is still absent. SemVer 0.x permits the break in a minor bump; the ask is documentation only.
Codex (gpt-5.5): no actionable findings — only a generated-README file-descriptor nit on the unchanged upload example (out of incremental scope, doc-only). Discarded.
Research: Speakeasy open-enum forward-compat (x-speakeasy-unknown-values via OpenEnumMeta / validate_open_enum) confirms the reset_interval design is intentional; RFC 8252 §7.3 confirms the OAuth loopback-any-port docstring change is well-grounded.
Security: no concerns. Secret scan on added lines clean. The OAuth auth-code path (category 7) is touched only by an additive param and error-code mapping — no validation logic lives in the SDK (server-enforced).
Test coverage: generated SDK; no unit tests in-repo (Speakeasy test scaffolding not part of this gen). Correctness rests on the generator plus the OpenAPI spec.
Unresolved threads: 1 — the carried Version-rename documentation ask above (not in this delta).
Scope: incremental — 2510 new lines since prior review
Review: tier=large · model=claude-opus-latest · score=?
SDK update
Versioning
Version Bump Type: [minor] - 🤖 (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.
Python SDK Changes:
open_router.beta.responses.send():requestChanged BreakingresponseChanged Breakingopen_router.presets.create_presets_responses():requestChanged Breakingopen_router.presets.create_presets_chat_completions():requestChanged Breakingopen_router.chat.send():requestChanged Breakingopen_router.workspaces.set_budget(): Addedopen_router.o_auth.create_auth_code():request.workspace_idAddederror.status[403]Addedopen_router.files.download(): Addedopen_router.models.get(): Addedopen_router.workspaces.list_budgets(): Addedopen_router.workspaces.delete_budget(): Addedopen_router.datasets.get_benchmarks_artificial_analysis(): Addedopen_router.beta.analytics.query_analytics():response.data.warningsAddedopen_router.files.delete(): Addedopen_router.files.retrieve(): Addedopen_router.files.upload(): Addedopen_router.embeddings.list_models():response.data.[].benchmarksAddedopen_router.models.list():requestChangedresponse.data.[].benchmarksAddedopen_router.models.list_for_user():response.data.[].benchmarksAddedopen_router.files.list(): Addedopen_router.presets.create_presets_messages():requestChangedopen_router.datasets.get_benchmarks_design_arena(): AddedOpenAPI Change Summary
PYTHON CHANGELOG
multipartFileContentType: 1.0.0 - 2024-07-04
🐝 New Features
uploadStreams: 1.0.0 - 2024-07-04
🐝 New Features
Based on Speakeasy CLI 1.680.0
Last updated by Speakeasy workflow