Skip to content

Commit 4fc8d90

Browse files
github-actions[bot]speakeasybotspeakeasy-github[bot]
authored
chore: 🐝 Update SDK - Generate (spec change merged) 1.3.46 (#1062)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev> Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 55e1f48 commit 4fc8d90

22 files changed

Lines changed: 133 additions & 67 deletions

‎.speakeasy/gen.lock‎

Lines changed: 39 additions & 39 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: 1840154f84c770bcfaac5d64913c1fd6
4+
docChecksum: 74a9498efb41dcdc19f8858f4658169d
55
docVersion: 1.0.0
66
speakeasyVersion: 1.787.0
77
generationVersion: 2.914.0
8-
releaseVersion: 1.3.45
9-
configChecksum: c29e3485096466a2dffee9816463f33b
8+
releaseVersion: 1.3.46
9+
configChecksum: 141159e444382b0c125fa2b6a8fd798c
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: 4a832f93-aec4-4832-bed6-d4ff565b7347
15-
pristine_commit_hash: afca828bee1b526d94a954bf47f188c9ef49c6ce
16-
pristine_tree_hash: a4c1825fca598c3582dc3009bbb4e05778824cc6
14+
generation_id: 404c369a-769d-4cce-be8f-4439f1911bbb
15+
pristine_commit_hash: e265fdf99a06176f920163b2163367a75c10684c
16+
pristine_tree_hash: 9572ea873592996bd1755d1f82ffe15d96dc2593
1717
features:
1818
python:
1919
acceptHeaders: 3.0.0
@@ -2508,8 +2508,8 @@ trackedFiles:
25082508
pristine_git_object: 9d28e4c7e863cf97b10b6415b1525aa8871800e2
25092509
docs/components/createguardrailrequest.mdx:
25102510
id: c1a768f054c0
2511-
last_write_checksum: sha1:d32d712d132971b34f6d81d28ff45d22d919f4ac
2512-
pristine_git_object: 3930d118781a8fbb7efdc3e347f99773828097ca
2511+
last_write_checksum: sha1:cea8928fa2aa97f9d157a6c0fbee5b6d8a8ce29e
2512+
pristine_git_object: fbc52a249c5fe348cc05e7597bfe3e0fe77d89b4
25132513
docs/components/createguardrailresponse.mdx:
25142514
id: 1477eebdf505
25152515
last_write_checksum: sha1:76bb1fcafda689e9823bb21541c84e7d0bdb991d
@@ -3432,8 +3432,8 @@ trackedFiles:
34323432
pristine_git_object: 6e17644dffb3aef799758f46d5ac781114b58c1f
34333433
docs/components/guardrail.mdx:
34343434
id: 91791d4c83b6
3435-
last_write_checksum: sha1:6f8af0e14ef12e99132304a903cc2e68adff68a0
3436-
pristine_git_object: 884c23302a2aa375a053e84bd702aa3b9e76595d
3435+
last_write_checksum: sha1:9b469e162e9f0e8cece5ff0d328ac0c70b66506a
3436+
pristine_git_object: 2f0f384b3ed628f4f4d15f4e3cc461f6808b0d58
34373437
docs/components/guardraildataregion.mdx:
34383438
id: d3be2a48aa20
34393439
last_write_checksum: sha1:81f1c0b515e1c1c13432cae9910ce77cb9991507
@@ -6892,8 +6892,8 @@ trackedFiles:
68926892
pristine_git_object: 5d617cac37f7b364f4dd0640246e97c34351d824
68936893
docs/components/speechinput.mdx:
68946894
id: 663248d32888
6895-
last_write_checksum: sha1:a8126cfb9764e1cd97fd896dedc4f40f7ab441bb
6896-
pristine_git_object: 948ee8455aede1f95245b7bfe33d04c293576edd
6895+
last_write_checksum: sha1:3ac2a504a301aedde4842c0a76ea324871c6b1af
6896+
pristine_git_object: 45150512fd74a6d8fa935b9867c4877b1f0d5916
68976897
docs/components/speechinputreference.mdx:
68986898
id: eb5af16936c7
68996899
last_write_checksum: sha1:ab545b03da2161ae1ad449714b6861cd55ae66df
@@ -6932,8 +6932,8 @@ trackedFiles:
69326932
pristine_git_object: 34f4f07fb3008df83646fa3d88ce04009274246a
69336933
docs/components/speechrequest.mdx:
69346934
id: 06e81b0433f6
6935-
last_write_checksum: sha1:ecac6988ab27bf129f774f3982e36744ec613218
6936-
pristine_git_object: c538a0061028cbaae17210def2258da7316b07e7
6935+
last_write_checksum: sha1:c2a048132db0ccec0c3b5b59ab52a78a49e83e29
6936+
pristine_git_object: e87bc0ab286848af07a53d51097ccdb5088ead6c
69376937
docs/components/speechrequestdatacollection.mdx:
69386938
id: 6c5938568888
69396939
last_write_checksum: sha1:89a08b4c4de66c1ef7676792a38747e030ed6729
@@ -7696,8 +7696,8 @@ trackedFiles:
76967696
pristine_git_object: 72a1c5ade4703a295e533f6e12733f464a21ff65
76977697
docs/components/updateguardrailrequest.mdx:
76987698
id: 450912b18db6
7699-
last_write_checksum: sha1:f0e2aaf8ecb96d8b53a02768ec260472490963cd
7700-
pristine_git_object: e42e435d516b5fb62183b7e0a65e20bdbcf25f1b
7699+
last_write_checksum: sha1:4f48f8b6eca22b5e1ea96814aa9a642655589755
7700+
pristine_git_object: dfd991a99fdac0b0076405d3ba2233d9ecf3cc52
77017701
docs/components/updateguardrailresponse.mdx:
77027702
id: e00dc0a0c6e0
77037703
last_write_checksum: sha1:1be70185072640936151f861913c2b89a09d4bab
@@ -10088,8 +10088,8 @@ trackedFiles:
1008810088
pristine_git_object: bc1a56cbb41c8f9114c81b547713632272184da6
1008910089
docs/sdks/guardrails/README.mdx:
1009010090
id: a0cd4218b8fa
10091-
last_write_checksum: sha1:5d726806705c8c06aa1df8ecbebfa04a0214d8d4
10092-
pristine_git_object: d419fd3ee53c199c96b5228f7b656fa8e732bd69
10091+
last_write_checksum: sha1:a5ca6ada43eb3b8cdb6c29ed2c1be2a8663a5600
10092+
pristine_git_object: 6fbf9985e512ede6ae14dedcfa421c5b5338ef4f
1009310093
docs/sdks/images/README.mdx:
1009410094
id: 534a6c102c4f
1009510095
last_write_checksum: sha1:82a8bd22fb399fe419076afe29b9234950baf9f9
@@ -10152,8 +10152,8 @@ trackedFiles:
1015210152
pristine_git_object: 1dd30f0b898f2a842d1bb585b03d887be90e7845
1015310153
docs/sdks/tts/README.mdx:
1015410154
id: cd1132543884
10155-
last_write_checksum: sha1:cb9303bf791d8d9784be2815fae45f4b09f82221
10156-
pristine_git_object: b96e9d3ee1f40340dcd002a717920f7576b9fe3f
10155+
last_write_checksum: sha1:baa3374d9c06310a87893eb14a25511de061f3dc
10156+
pristine_git_object: 7b3c78a7323028a4668d6ce8394c8cdd4c15b67d
1015710157
docs/sdks/vault/README.mdx:
1015810158
id: 3738c6722acd
1015910159
last_write_checksum: sha1:12acdfed4c2a32488d98b6091fd8c392af516494
@@ -10172,8 +10172,8 @@ trackedFiles:
1017210172
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
1017310173
pyproject.toml:
1017410174
id: 5d07e7d72637
10175-
last_write_checksum: sha1:bfc195206e429a0afdf9b31b204291cd59cf2e3b
10176-
pristine_git_object: 89e32936fd2dfc18e5348ea54d2b3de267258e85
10175+
last_write_checksum: sha1:3a7148e3325f6ae7604aec17d8cf09b6871117a2
10176+
pristine_git_object: 951c4e488ab00fa2ca68fd1226f382e44e225576
1017710177
scripts/prepare_readme.py:
1017810178
id: e0c5957a6035
1017910179
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -10200,8 +10200,8 @@ trackedFiles:
1020010200
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
1020110201
src/openrouter/_version.py:
1020210202
id: d8d15ad6c586
10203-
last_write_checksum: sha1:b192be1c2491a7fb42f7092a4a00748ba1f8a9f4
10204-
pristine_git_object: d1c45a6fa71a7a62db5c7e2bb68df374a7f61565
10203+
last_write_checksum: sha1:4bf11cf5cf55b3b9a3928b6ccbebc1bfb4b3cf67
10204+
pristine_git_object: 8022b124ae2919285f485ab56f62a5268b751705
1020510205
src/openrouter/alpha.py:
1020610206
id: 306c4d93308d
1020710207
last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a
@@ -11308,8 +11308,8 @@ trackedFiles:
1130811308
pristine_git_object: be0ce3784071a98e96fe996eb9da24455af72ac8
1130911309
src/openrouter/components/createguardrailrequest.py:
1131011310
id: 34d69149fb33
11311-
last_write_checksum: sha1:af6fca661fed3b42e547333b14750448c46b43cf
11312-
pristine_git_object: d3cb25c2acff7aa00ad2cd966e5aaeb62d6e531c
11311+
last_write_checksum: sha1:68757e5b5d1f5f2a5ff07d8dc460032321e49b21
11312+
pristine_git_object: 77ce30da985f3a890aaadca0cefdf7492d011074
1131311313
src/openrouter/components/createguardrailresponse.py:
1131411314
id: b4e1bdf1de5b
1131511315
last_write_checksum: sha1:ae20a5e7425510c240e5697d847b1cae65940bd6
@@ -11740,8 +11740,8 @@ trackedFiles:
1174011740
pristine_git_object: 1268e32c9058ed4feb7482458a64366c56201676
1174111741
src/openrouter/components/guardrail.py:
1174211742
id: 67ee78dd06e6
11743-
last_write_checksum: sha1:a06d7d1d1aa75b2e1c27cfa10cc5347a88821e76
11744-
pristine_git_object: c58c4908937be5ceb0414666315782ebb862e331
11743+
last_write_checksum: sha1:062a4f1c5ad066e1da29856f5dce1b5ba60b0c3c
11744+
pristine_git_object: 60bef2177a15cc42ade160dca9b4933ecdce6ecb
1174511745
src/openrouter/components/guardraildataregion.py:
1174611746
id: 16c31f1446b2
1174711747
last_write_checksum: sha1:52b5622a7c93a30219108f033ab0e3fbb3a396f7
@@ -13156,8 +13156,8 @@ trackedFiles:
1315613156
pristine_git_object: e44305da959380e177fcc2077d0e80ce4d522a57
1315713157
src/openrouter/components/speechinput.py:
1315813158
id: 14e46bea4b32
13159-
last_write_checksum: sha1:4f2acbfbb0b8df5d8d2d3916f9a081a6143fdf45
13160-
pristine_git_object: 676f38928a4745ddb215cb8275c401e6fb5ebc25
13159+
last_write_checksum: sha1:c6e320441ce7eaa95072d8796e97f082302bb326
13160+
pristine_git_object: e85b5d8efbe123f41f4006b0e74ee5894da3fdc2
1316113161
src/openrouter/components/speechinputreference.py:
1316213162
id: 8e2b63f83354
1316313163
last_write_checksum: sha1:b2ebc68fae64644f8bfca9b555ca7d2a7b46c9e1
@@ -13184,8 +13184,8 @@ trackedFiles:
1318413184
pristine_git_object: 4633e5d7658c500aa903ce8caa8ef86cc97b78eb
1318513185
src/openrouter/components/speechrequest.py:
1318613186
id: 2a9400167112
13187-
last_write_checksum: sha1:49cbabd40418cc50b15e7eef19926ce55be23a4e
13188-
pristine_git_object: ad116652ee8ead569fb0939c29c6966bb397717e
13187+
last_write_checksum: sha1:5bfcf28dde5e94e671165f5919e24b3b9de83853
13188+
pristine_git_object: ea07e4017cdd9b909f84129e83c0582c7effe10a
1318913189
src/openrouter/components/speechturn.py:
1319013190
id: 121e0a940f91
1319113191
last_write_checksum: sha1:31bdba00e027b81de8a3872d48e694475cf02e7a
@@ -13456,8 +13456,8 @@ trackedFiles:
1345613456
pristine_git_object: 0a8dcb3fb8d9c0c80159a622246dff4a3110bb1b
1345713457
src/openrouter/components/updateguardrailrequest.py:
1345813458
id: 6a557cd822a0
13459-
last_write_checksum: sha1:0e5978b49b7a37f48931dd778caf1fc46657b881
13460-
pristine_git_object: 21afa8a30b9688294c7c210ed45e23ea17109241
13459+
last_write_checksum: sha1:0894e7041ba0f23258b1234428049f20c4ea3500
13460+
pristine_git_object: 17311e522a8109c9c9c99808f0701da0df389ce5
1346113461
src/openrouter/components/updateguardrailresponse.py:
1346213462
id: 7b068d26ce31
1346313463
last_write_checksum: sha1:2b63cbb90747f07f775d9a22e80f74c67221fea8
@@ -13824,8 +13824,8 @@ trackedFiles:
1382413824
pristine_git_object: 5698c384a36929846530cae98f69ce83a0966217
1382513825
src/openrouter/guardrails.py:
1382613826
id: 705839f34e66
13827-
last_write_checksum: sha1:1551845b6a9776480d99ef0fc1fca61e845f3de2
13828-
pristine_git_object: 785964ad30a2043c9d70272f15d1a3fac9635b73
13827+
last_write_checksum: sha1:4771ac29e1010c57efa8bf7ead0a4bcef18552e6
13828+
pristine_git_object: f615049517074fbcc71b755e351efda8411810aa
1382913829
src/openrouter/httpclient.py:
1383013830
id: e9311185443d
1383113831
last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7
@@ -14520,8 +14520,8 @@ trackedFiles:
1452014520
pristine_git_object: 701fa8597ff85f41a60736ade55fcb32f9ec7125
1452114521
src/openrouter/tts.py:
1452214522
id: 5055d4b95f1d
14523-
last_write_checksum: sha1:9826552c18767897c4dc6c3cd8c2ce41da40a344
14524-
pristine_git_object: 5b1bf2a61bfd3d476284465192603aa7d90adfd7
14523+
last_write_checksum: sha1:93fae27a87035c17b86c6e5353754c371c9c3faa
14524+
pristine_git_object: 001335f1dc471131bca2c942ea98c67825c7921f
1452514525
src/openrouter/types/__init__.py:
1452614526
id: 5eab536205b7
1452714527
last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9
@@ -18576,4 +18576,4 @@ examples:
1857618576
"500":
1857718577
application/json: {"error": {"code": 404, "message": "Intern not found"}}
1857818578
examplesVersion: 1.0.2
18579-
releaseNotes: "## Python SDK Changes:\n* `open_router.observability.list()`: `response.data[]` **Changed**\n* `open_router.observability.create()`: \n * `request.broadcast_generation_cost_allocation` **Added**\n * `response.data` **Changed**\n* `open_router.observability.get()`: `response.data` **Changed**\n* `open_router.observability.update()`: \n * `request.broadcast_generation_cost_allocation` **Added**\n * `response.data` **Changed**\n"
18579+
releaseNotes: "## Python SDK Changes:\n* `open_router.guardrails.list()`: `response.data[].allow_safety_retention_google` **Added**\n* `open_router.guardrails.create()`: \n * `request.allow_safety_retention_google` **Added**\n * `response.data.allow_safety_retention_google` **Added**\n* `open_router.guardrails.get()`: `response.data.allow_safety_retention_google` **Added**\n* `open_router.guardrails.update()`: \n * `request.allow_safety_retention_google` **Added**\n * `response.data.allow_safety_retention_google` **Added**\n"

‎.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.3.45
39+
version: 1.3.46
4040
additionalDependencies:
4141
dev: {}
4242
main: {}

‎.speakeasy/out.openapi.yaml‎

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9470,6 +9470,12 @@ components:
94709470
name: 'My New Guardrail'
94719471
reset_interval: 'monthly'
94729472
properties:
9473+
allow_safety_retention_google:
9474+
description: 'Whether ZDR-only requests to google/* models may use endpoints that may retain prompts for safety monitoring. false allows only zero-retention endpoints. A guardrail can only be more restrictive than the account setting. Inherits the account setting when not provided.'
9475+
example: true
9476+
type:
9477+
- 'boolean'
9478+
- 'null'
94739479
allowed_data_regions:
94749480
description: 'Data regions through which requests governed by this guardrail must arrive. `global` is https://openrouter.ai, `europe` is https://eu.openrouter.ai, and `us` is https://us.openrouter.ai. Requests arriving through any other region are rejected. `null` leaves the ingress region unrestricted. When several guardrails apply (workspace default, member, API key), the effective regions are the intersection of every non-null value. An empty array is rejected.'
94759481
example:
@@ -13147,6 +13153,12 @@ components:
1314713153
updated_at: '2025-08-24T15:45:00Z'
1314813154
workspace_id: '0df9e665-d932-5740-b2c7-b52af166bc11'
1314913155
properties:
13156+
allow_safety_retention_google:
13157+
description: 'Whether ZDR-only requests to google/* models may use endpoints that may retain prompts for safety monitoring. false allows only zero-retention endpoints. A guardrail can only be more restrictive than the account setting. Inherits the account setting when not provided.'
13158+
example: true
13159+
type:
13160+
- 'boolean'
13161+
- 'null'
1315013162
allowed_data_regions:
1315113163
description: 'Data regions through which requests governed by this guardrail must arrive. `global` is https://openrouter.ai, `europe` is https://eu.openrouter.ai, and `us` is https://us.openrouter.ai. Requests arriving through any other region are rejected. `null` leaves the ingress region unrestricted. When several guardrails apply (workspace default, member, API key), the effective regions are the intersection of every non-null value.'
1315213164
example:
@@ -29393,7 +29405,7 @@ components:
2939329405
$ref: '#/components/schemas/SpeechTurn'
2939429406
minItems: 1
2939529407
type: 'array'
29396-
description: 'Text to synthesize, or a list of turns for multi-speaker input. Each turn has its own text, voice, and instructions. Multi-speaker input is currently supported by Gemini TTS models only.'
29408+
description: 'Text to synthesize, or a list of turns for multi-speaker input. Each turn has its own text, voice, and instructions. Multi-speaker input is supported by Gemini TTS models and by Fish Audio models other than S1.'
2939729409
example: 'Hello world'
2939829410
SpeechInputReference:
2939929411
description: 'Reference content part for stateless voice cloning or voice design'
@@ -29515,7 +29527,7 @@ components:
2951529527
$ref: '#/components/schemas/SpeechInputReference'
2951629528
type: 'array'
2951729529
instructions:
29518-
description: 'Delivery instructions for the whole request, such as tone, pacing, or emotion. Supported by OpenAI gpt-4o-mini-tts and Gemini TTS models. Ignored by other providers.'
29530+
description: 'Delivery instructions for the whole request, such as tone, pacing, or emotion. Supported by OpenAI gpt-4o-mini-tts, Gemini TTS, and Fish Audio models. Ignored by other providers.'
2951929531
example: 'Speak in a warm and friendly tone.'
2952029532
type: 'string'
2952129533
model:
@@ -32011,6 +32023,12 @@ components:
3201132023
name: 'Updated Guardrail Name'
3201232024
reset_interval: 'weekly'
3201332025
properties:
32026+
allow_safety_retention_google:
32027+
description: 'Whether ZDR-only requests to google/* models may use endpoints that may retain prompts for safety monitoring. false allows only zero-retention endpoints. A guardrail can only be more restrictive than the account setting. Inherits the account setting when not provided.'
32028+
example: false
32029+
type:
32030+
- 'boolean'
32031+
- 'null'
3201432032
allowed_data_regions:
3201532033
description: 'Data regions through which requests governed by this guardrail must arrive. `global` is https://openrouter.ai, `europe` is https://eu.openrouter.ai, and `us` is https://us.openrouter.ai. Requests arriving through any other region are rejected. `null` leaves the ingress region unrestricted. When several guardrails apply (workspace default, member, API key), the effective regions are the intersection of every non-null value. An empty array is rejected.'
3201632034
example:

‎.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:83dd501cffdaf07564432a2f54ad8c9fcfb9263e1d1cc5303a2415a8aa507013
6-
sourceBlobDigest: sha256:e9cd324070275762af8716aad68250a323479419f57ce6ce70cd1d74f9a27fe7
5+
sourceRevisionDigest: sha256:de5eab99c6123c08b364e967487823545df9a1fe5c2a2ce0678ebf4e116abca9
6+
sourceBlobDigest: sha256:11101d2d34fa1e9d2006637fab5215e8cd2c9d0917bde662bd78a7b5a4c75c44
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:83dd501cffdaf07564432a2f54ad8c9fcfb9263e1d1cc5303a2415a8aa507013
15-
sourceBlobDigest: sha256:e9cd324070275762af8716aad68250a323479419f57ce6ce70cd1d74f9a27fe7
14+
sourceRevisionDigest: sha256:de5eab99c6123c08b364e967487823545df9a1fe5c2a2ce0678ebf4e116abca9
15+
sourceBlobDigest: sha256:11101d2d34fa1e9d2006637fab5215e8cd2c9d0917bde662bd78a7b5a4c75c44
1616
codeSamplesNamespace: open-router-python-code-samples
17-
codeSamplesRevisionDigest: sha256:15e4f11f490017daa064d07e157162165ff717b9f2b1b07dbbaa2526b1d576db
17+
codeSamplesRevisionDigest: sha256:4f0e18ce320b7957dfa9ed66a7d40776302827786ef1dc369ddfc5be3c406ab1
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
@@ -3219,4 +3219,14 @@ Based on:
32193219
### Generated
32203220
- [python v1.3.45] .
32213221
### Releases
3222-
- [PyPI v1.3.45] https://pypi.org/project/openrouter/1.3.45 - .
3222+
- [PyPI v1.3.45] https://pypi.org/project/openrouter/1.3.45 - .
3223+
3224+
## 2026-10-13 19:32:42
3225+
### Changes
3226+
Based on:
3227+
- OpenAPI Doc
3228+
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
3229+
### Generated
3230+
- [python v1.3.46] .
3231+
### Releases
3232+
- [PyPI v1.3.46] https://pypi.org/project/openrouter/1.3.46 - .

0 commit comments

Comments
 (0)