Skip to content

Commit b61dabb

Browse files
committed
## Python SDK Changes:
* `open_router.interns.get_intern_daemon_access()`: `error.status[429]` **Removed** (Breaking ⚠️)
1 parent 9e7bce3 commit b61dabb

10 files changed

Lines changed: 45 additions & 46 deletions

File tree

‎.speakeasy/gen.lock‎

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
lockVersion: 2.0.0
22
id: c48cf606-fb42-4a45-9c23-8f0555307828
33
management:
4-
docChecksum: 8de7615099ad333ffbfd59fcf78bf26f
4+
docChecksum: 7dee79d06858c3877d9e3d05e5614cde
55
docVersion: 1.0.0
66
speakeasyVersion: 1.787.0
77
generationVersion: 2.914.0
8-
releaseVersion: 1.2.26
9-
configChecksum: 89d57e3ada3ee841225582668b1f1bed
8+
releaseVersion: 1.2.27
9+
configChecksum: 4a0681d5fa9d5dff4c80dfd7c16e3caf
1010
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
1111
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
1212
published: true
1313
persistentEdits:
14-
generation_id: c7df44b4-a8c3-4c8f-95ce-b4e7d46b5a77
15-
pristine_commit_hash: 5c46a1b7f1fd7ea9b27c12a3f38833538c5fc587
16-
pristine_tree_hash: dd8c88554737d5633014b45452628ad45f3b0bb3
14+
generation_id: 7787c28d-aa9e-440e-948a-98b6c018b499
15+
pristine_commit_hash: 0bcff2f200e5921ae70581dd4cbd597c609b8c97
16+
pristine_tree_hash: f255f10672de49b394769fcd4e0b3a01ba82c6d5
1717
features:
1818
python:
1919
acceptHeaders: 3.0.0
@@ -8187,8 +8187,8 @@ trackedFiles:
81878187
pristine_git_object: 08c687694efbecf50406ae7929029d39fb121295
81888188
docs/sdks/interns/README.mdx:
81898189
id: 2f8a053ffe78
8190-
last_write_checksum: sha1:9f9c8e52546e85f026cdc14bc8b277c1058c53c1
8191-
pristine_git_object: 19b0c71ab1981ba9e05811c239ede1a2ff09e952
8190+
last_write_checksum: sha1:97e0c819e111876dca07cb7025c6e2f302f2b25d
8191+
pristine_git_object: d6f17ba1f24969030acb3452a8a7b05d5adbb159
81928192
docs/sdks/models/README.mdx:
81938193
id: 58f1ca464e0b
81948194
last_write_checksum: sha1:093dd30ebdd18b9763a6956915e0dcae4ae7d5e5
@@ -8255,8 +8255,8 @@ trackedFiles:
82558255
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
82568256
pyproject.toml:
82578257
id: 5d07e7d72637
8258-
last_write_checksum: sha1:bf31d0aa235ca45b9530b29e5ccd70f3ef96160b
8259-
pristine_git_object: dde3ab7a6dc8a851671b0a33b55b4b1f86667769
8258+
last_write_checksum: sha1:2182755c8b37ffe89d33640d78d15eded50c963f
8259+
pristine_git_object: 3cfb53504b33635caaaa5e59ba31aced74918a2b
82608260
scripts/prepare_readme.py:
82618261
id: e0c5957a6035
82628262
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -8283,8 +8283,8 @@ trackedFiles:
82838283
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
82848284
src/openrouter/_version.py:
82858285
id: d8d15ad6c586
8286-
last_write_checksum: sha1:e8e2c31927d53a031f515e21276937d85d34e363
8287-
pristine_git_object: 5ad041f0e419c51e0a8d528ee4a1f89724dc4433
8286+
last_write_checksum: sha1:a5e896d58791d6d48c64dfaf9fc3d68c9b887ae4
8287+
pristine_git_object: e3bd110d9f3eebe44728fd0f917865ae6bc7c26b
82888288
src/openrouter/alpha.py:
82898289
id: 306c4d93308d
82908290
last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a
@@ -11255,8 +11255,8 @@ trackedFiles:
1125511255
pristine_git_object: 50643a126668498dd668c7cceb9f78c03d413d32
1125611256
src/openrouter/interns.py:
1125711257
id: d18df05c5c6d
11258-
last_write_checksum: sha1:cc2bfdb1b5aca9de1861b585048597c10dc05bdb
11259-
pristine_git_object: 275720d840f8f9057d67f4322b10cab58c46bee7
11258+
last_write_checksum: sha1:d41ea2e1bb8e680c52f8d486652ceadc280587f1
11259+
pristine_git_object: 1aea95b41529d094b64d648bbb3d80af02e65e88
1126011260
src/openrouter/models/__init__.py:
1126111261
id: ed73b93abb3f
1126211262
last_write_checksum: sha1:932a790ae66ccd7d7022b39c659bcf72a664ebea
@@ -15162,4 +15162,6 @@ examples:
1516215162
"500":
1516315163
application/json: {"error": {"code": 404, "message": "Intern not found"}}
1516415164
examplesVersion: 1.0.2
15165-
releaseNotes: "## Python SDK Changes:\n* `open_router.alpha.decisions.create()`: `request.provider` **Changed**\n* `open_router.tts.create_speech()`: \n * `request.provider.options.scaledown` **Added**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options.scaledown` **Added**\n* `open_router.byok.list()`: \n * `request.provider` **Changed**\n * `response.data[].provider.enum(scaledown)` **Added**\n* `open_router.byok.create()`: \n * `request.provider.enum(scaledown)` **Added**\n * `response.data.provider.enum(scaledown)` **Added**\n* `open_router.byok.get()`: `response.data.provider.enum(scaledown)` **Added**\n* `open_router.byok.update()`: `response.data.provider.enum(scaledown)` **Added**\n* `open_router.chat.send()`: `request.provider` **Changed**\n* `open_router.embeddings.generate()`: `request.provider` **Changed**\n* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name.enum(scale_down)` **Added**\n* `open_router.endpoints.list()`: `response.data.endpoints[].provider_name.enum(scale_down)` **Added**\n* `open_router.generations.get_generation()`: `response.data.provider_responses[].provider_name.enum(scale_down)` **Added**\n* `open_router.images.generate()`: `request.provider` **Changed**\n* `open_router.presets.create_presets_chat_completions()`: `request.provider` **Changed**\n* `open_router.presets.create_presets_messages()`: `request.provider` **Changed**\n* `open_router.presets.create_presets_responses()`: `request.provider` **Changed**\n* `open_router.rerank.rerank()`: `request.provider` **Changed**\n* `open_router.responses.send()`: `request.provider` **Changed**\n* `open_router.beta.responses.send()`: `request.provider` **Changed**\n* `open_router.system_one.create()`: `request.provider` **Changed**\n* `open_router.video_generation.generate()`: \n * `request.provider.options.scaledown` **Added**\n"
15165+
releaseNotes: |
15166+
## Python SDK Changes:
15167+
* `open_router.interns.get_intern_daemon_access()`: `error.status[429]` **Removed** (Breaking ⚠️)

‎.speakeasy/gen.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ generation:
3636
documentation: mintlify
3737
preApplyUnionDiscriminators: true
3838
python:
39-
version: 1.2.26
39+
version: 1.2.27
4040
additionalDependencies:
4141
dev: {}
4242
main: {}

‎.speakeasy/out.openapi.yaml‎

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37814,7 +37814,7 @@ paths:
3781437814
- $ref: "#/components/parameters/AppCategories"
3781537815
/interns/{internId}/daemon-access:
3781637816
get:
37817-
description: 'Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, each reveal is logged by caller and intern, and a caller may make 10 reveals per minute. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.'
37817+
description: 'Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.'
3781837818
operationId: 'getInternDaemonAccess'
3781937819
parameters:
3782037820
- description: 'ID of an intern visible to the authenticated API key.'
@@ -37892,19 +37892,6 @@ paths:
3789237892
schema:
3789337893
$ref: '#/components/schemas/InternLifecycleError'
3789437894
description: 'The intern cannot be attached to. `metadata.reason` is `intern_not_running`, `intern_unreachable` when it has no usable address yet, or `intern_needs_restart` when it was provisioned before daemon access was available.'
37895-
'429':
37896-
content:
37897-
application/json:
37898-
example:
37899-
error:
37900-
code: 429
37901-
message: 'Too many token reveals. Please wait a moment.'
37902-
metadata:
37903-
reason: 'rate_limited'
37904-
retryable: true
37905-
schema:
37906-
$ref: '#/components/schemas/InternLifecycleError'
37907-
description: 'The caller made more than 10 reveals in the last minute. Wait for `Retry-After` seconds.'
3790837895
'500':
3790937896
content:
3791037897
application/json:

‎.speakeasy/workflow.lock‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ speakeasyVersion: 1.787.0
22
sources:
33
OpenRouter API:
44
sourceNamespace: open-router-chat-completions-api
5-
sourceRevisionDigest: sha256:d14a926932f617dec32fb57a256c3a37c4082acaae147f63ddebc120773f5910
6-
sourceBlobDigest: sha256:5d6882b53f02a57308f4ff2953fc3c07121e07bbb33bcdfe0b2743a6e6e41294
5+
sourceRevisionDigest: sha256:ebf6e311e185cd80a5e5643606d4def285c2e8f30aa4cbd1f3622e7a9366036b
6+
sourceBlobDigest: sha256:aa51ea5e2f170565c5063fbc4d3b316de3928f9953bbb2683fe6275df1ef56e2
77
tags:
88
- latest
99
- 1.0.0
1010
targets:
1111
open-router:
1212
source: OpenRouter API
1313
sourceNamespace: open-router-chat-completions-api
14-
sourceRevisionDigest: sha256:d14a926932f617dec32fb57a256c3a37c4082acaae147f63ddebc120773f5910
15-
sourceBlobDigest: sha256:5d6882b53f02a57308f4ff2953fc3c07121e07bbb33bcdfe0b2743a6e6e41294
14+
sourceRevisionDigest: sha256:ebf6e311e185cd80a5e5643606d4def285c2e8f30aa4cbd1f3622e7a9366036b
15+
sourceBlobDigest: sha256:aa51ea5e2f170565c5063fbc4d3b316de3928f9953bbb2683fe6275df1ef56e2
1616
codeSamplesNamespace: open-router-python-code-samples
17-
codeSamplesRevisionDigest: sha256:88c1aae8599076b2414e61ebaee2480045f80a5679e1526f2b382e66b5bd3c81
17+
codeSamplesRevisionDigest: sha256:f88e970e6e4f54ca7fe848f85ee986e35301d2119907e87407aafe55a531f301
1818
workflow:
1919
workflowVersion: 1.0.0
2020
speakeasyVersion: 1.787.0

‎RELEASES.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2669,4 +2669,14 @@ Based on:
26692669
### Generated
26702670
- [python v1.2.26] .
26712671
### Releases
2672-
- [PyPI v1.2.26] https://pypi.org/project/openrouter/1.2.26 - .
2672+
- [PyPI v1.2.26] https://pypi.org/project/openrouter/1.2.26 - .
2673+
2674+
## 2026-09-25 10:14:51
2675+
### Changes
2676+
Based on:
2677+
- OpenAPI Doc
2678+
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
2679+
### Generated
2680+
- [python v1.2.27] .
2681+
### Releases
2682+
- [PyPI v1.2.27] https://pypi.org/project/openrouter/1.2.27 - .

‎docs/sdks/interns/README.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ with OpenRouter(
271271

272272
## get_intern_daemon_access
273273

274-
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, each reveal is logged by caller and intern, and a caller may make 10 reveals per minute. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
274+
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
275275

276276
### Example Usage
277277

@@ -312,7 +312,7 @@ with OpenRouter(
312312

313313
| Error Type | Status Code | Content Type |
314314
| ----------------------------- | ----------------------------- | ----------------------------- |
315-
| errors.InternLifecycleError | 401, 403, 404, 408, 409, 429 | application/json |
315+
| errors.InternLifecycleError | 401, 403, 404, 408, 409 | application/json |
316316
| errors.InternLifecycleError | 500 | application/json |
317317
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* |
318318

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "openrouter"
3-
version = "1.2.26"
3+
version = "1.2.27"
44
description = "Official Python Client SDK for OpenRouter."
55
authors = [{ name = "OpenRouter" },]
66
readme = "README-PYPI.md"

‎src/openrouter/_version.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import importlib.metadata
44

55
__title__: str = "openrouter"
6-
__version__: str = "1.2.26"
6+
__version__: str = "1.2.27"
77
__openapi_doc_version__: str = "1.0.0"
88
__gen_version__: str = "2.914.0"
9-
__user_agent__: str = "speakeasy-sdk/python 1.2.26 2.914.0 1.0.0 openrouter"
9+
__user_agent__: str = "speakeasy-sdk/python 1.2.27 2.914.0 1.0.0 openrouter"
1010

1111
try:
1212
if __package__ is not None:

‎src/openrouter/interns.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,7 +1462,7 @@ def get_intern_daemon_access(
14621462
) -> components.InternDaemonAccess:
14631463
r"""Get an intern's daemon access
14641464
1465-
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, each reveal is logged by caller and intern, and a caller may make 10 reveals per minute. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
1465+
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
14661466
14671467
If set, this operation will use `api_key` from the global security.
14681468
@@ -1552,7 +1552,7 @@ def get_intern_daemon_access(
15521552
if utils.match_response(http_res, "200", "application/json"):
15531553
return unmarshal_json_response(components.InternDaemonAccess, http_res)
15541554
if utils.match_response(
1555-
http_res, ["401", "403", "404", "408", "409", "429"], "application/json"
1555+
http_res, ["401", "403", "404", "408", "409"], "application/json"
15561556
):
15571557
response_data = unmarshal_json_response(
15581558
errors.InternLifecycleErrorData, http_res
@@ -1590,7 +1590,7 @@ async def get_intern_daemon_access_async(
15901590
) -> components.InternDaemonAccess:
15911591
r"""Get an intern's daemon access
15921592
1593-
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, each reveal is logged by caller and intern, and a caller may make 10 reveals per minute. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
1593+
Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.
15941594
15951595
If set, this operation will use `api_key` from the global security.
15961596
@@ -1680,7 +1680,7 @@ async def get_intern_daemon_access_async(
16801680
if utils.match_response(http_res, "200", "application/json"):
16811681
return unmarshal_json_response(components.InternDaemonAccess, http_res)
16821682
if utils.match_response(
1683-
http_res, ["401", "403", "404", "408", "409", "429"], "application/json"
1683+
http_res, ["401", "403", "404", "408", "409"], "application/json"
16841684
):
16851685
response_data = unmarshal_json_response(
16861686
errors.InternLifecycleErrorData, http_res

‎uv.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)