From fb9094847a9371d3a279afbcb61f63aa3996451d Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 29 Sep 2026 03:58:19 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.787.0 --- .speakeasy/gen.lock | 31 +++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 2 +- .speakeasy/workflow.lock | 10 +++--- RELEASES.md | 12 ++++++- .../components/outputfusionservertoolitem.mdx | 2 +- pyproject.toml | 2 +- src/openrouter/_version.py | 4 +-- .../components/outputfusionservertoolitem.py | 4 +-- uv.lock | 2 +- 10 files changed, 39 insertions(+), 32 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 0432e4ff..5f90c9d8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: c48cf606-fb42-4a45-9c23-8f0555307828 management: - docChecksum: 7e944d58dceb766b5a0de16f03810538 + docChecksum: 047dae6f1c573fb83b039c6d3a3d5c4a docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.3.1 - configChecksum: e97c566d120d474c3640ed6e9a0d4c49 + releaseVersion: 1.3.2 + configChecksum: f443ed579ef3ee9e79562960bfa48a2d repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: dc537827-c52f-4965-ab88-b176ba87b595 - pristine_commit_hash: 977a46a9ef7eb44a1a05f8f3d7a6b350d3a196e3 - pristine_tree_hash: 6b4c89128f7f0ab0947a228d7e643e68f68b8783 + generation_id: 513a22ea-a2f4-4c3f-9972-110621b2ead5 + pristine_commit_hash: 969a580aa0d7b078db1982a7b999c02fff3da019 + pristine_tree_hash: 2ed5d2c1104ccba9039c1ef21fa788c7863d4945 features: python: acceptHeaders: 3.0.0 @@ -5296,8 +5296,8 @@ trackedFiles: pristine_git_object: 700af387aa2f0f827ef4775f69fbb3900b075899 docs/components/outputfusionservertoolitem.mdx: id: bc7c73cc3100 - last_write_checksum: sha1:9b88e62a0ba25f9b363bb6c5c3af0694e99cecfb - pristine_git_object: dfc07a5cb78407601b08853e3fcd20cb0f54850e + last_write_checksum: sha1:1daf41d1602f4c294d2f6bf52c0cc72dd59051e3 + pristine_git_object: 90a048bd9616a8ca5a66bd401efb7c3ab79be7b0 docs/components/outputfusionservertoolitemresponse.mdx: id: 14601c3ba47d last_write_checksum: sha1:22e35b0495f01161f7a44aa7117bdb8f80924bfd @@ -9456,8 +9456,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:5059bb383c2e5a8f4529c1fcd474627aaf4f5b83 - pristine_git_object: 2abc2e9eb9f9620c40b9b8002147f9e73e91f71f + last_write_checksum: sha1:3735ae6e432910838fe29341bcf4d13a8ed5809c + pristine_git_object: 25e10a347e4def78247790d9ad3b0c7814048354 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -9484,8 +9484,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:c7e97a6fb6852c4f8ea4dfc6e98d2b912a6ded78 - pristine_git_object: ebd042a882653d04969096e6600ac771b0a4a066 + last_write_checksum: sha1:fd4faa6b41e83fcacb9404545a36ba3ce59cd982 + pristine_git_object: be3f2250d911815dbe1dfc52712dc385f9c8ca45 src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a @@ -11720,8 +11720,8 @@ trackedFiles: pristine_git_object: 988cda9991d9eee1742ad4287124dd15e2553267 src/openrouter/components/outputfusionservertoolitem.py: id: 1d798a2bb7ae - last_write_checksum: sha1:16ae5c67228c5ded8d3c2c826a2dfcc4d9ae3c96 - pristine_git_object: 6fceee3768e84762e2779347a3f4fa7767d82bae + last_write_checksum: sha1:d98ca3a87e7bae94cc4a81df1a97f25b795b857e + pristine_git_object: 6d66e64ef249ad08a1e26b03a1aba350a1a46ccf src/openrouter/components/outputimagegenerationcallitem.py: id: 48d20dc00e1c last_write_checksum: sha1:339b1256fd865d8ddb8b3be54a4203ccb6498c3f @@ -17366,6 +17366,3 @@ examples: "504": application/json: {"error": {"code": 504, "message": "Vault request timed out"}} examplesVersion: 1.0.2 -releaseNotes: | - ## Python SDK Changes: - * `open_router.vault.list_intern_effective_vault_secrets()`: **Added** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 823b07e7..593073a0 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.1 + version: 1.3.2 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index bbd41194..66aa3a88 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -22640,7 +22640,7 @@ components: description: 'Error message when the fusion run did not produce an analysis result.' type: 'string' failed_models: - description: 'Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel.' + description: 'Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. On a completed item the fusion result is still usable but was produced from a degraded panel; on a failed item it lists the panels that failed before the run stopped, so the caller can see which models were attempted even though no analysis was produced.' items: properties: error: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 5b103763..760f9184 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0 sources: OpenRouter API: sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:7a83f0762c40aac3bb8e78a9c590061c91b3be862db4d3d9cad87f45580c5fa2 - sourceBlobDigest: sha256:9d55afd08572430be4aef479952e830a3c49344748fbd32cf8b8f62e45f34243 + sourceRevisionDigest: sha256:536bd4756c0b43f4dbd90dbf81f0e2fec5ec4fbc97da3fa15f7cd03c134f8b78 + sourceBlobDigest: sha256:b362d4d614e6baa23c19c53c90e95c0e280eedb5bfa39c6d2fa4cfcb3155e418 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:7a83f0762c40aac3bb8e78a9c590061c91b3be862db4d3d9cad87f45580c5fa2 - sourceBlobDigest: sha256:9d55afd08572430be4aef479952e830a3c49344748fbd32cf8b8f62e45f34243 + sourceRevisionDigest: sha256:536bd4756c0b43f4dbd90dbf81f0e2fec5ec4fbc97da3fa15f7cd03c134f8b78 + sourceBlobDigest: sha256:b362d4d614e6baa23c19c53c90e95c0e280eedb5bfa39c6d2fa4cfcb3155e418 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:2ec8c3cee3d23279e25cb1e3c6f85569c68842fe4e80f2cd7ae43f09e3032041 + codeSamplesRevisionDigest: sha256:9e678282d9af33c41bd64ee327d5d34d9a1e38a4609e5a335b930d254765ab22 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 03c1a147..f90676c9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2779,4 +2779,14 @@ Based on: ### Generated - [python v1.3.1] . ### Releases -- [PyPI v1.3.1] https://pypi.org/project/openrouter/1.3.1 - . \ No newline at end of file +- [PyPI v1.3.1] https://pypi.org/project/openrouter/1.3.1 - . + +## 2026-09-29 03:56:17 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.3.2] . +### Releases +- [PyPI v1.3.2] https://pypi.org/project/openrouter/1.3.2 - . \ No newline at end of file diff --git a/docs/components/outputfusionservertoolitem.mdx b/docs/components/outputfusionservertoolitem.mdx index dfc07a5c..90a048bd 100644 --- a/docs/components/outputfusionservertoolitem.mdx +++ b/docs/components/outputfusionservertoolitem.mdx @@ -11,7 +11,7 @@ An openrouter:fusion server tool output item | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `analysis` | [Optional[components.FusionAnalysisResult]](../components/fusionanalysisresult.mdx) | :heavy_minus_sign: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} | | `error` | *Optional[str]* | :heavy_minus_sign: | Error message when the fusion run did not produce an analysis result. | | -| `failed_models` | List[[components.FailedModel](../components/failedmodel.mdx)] | :heavy_minus_sign: | Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel. | | +| `failed_models` | List[[components.FailedModel](../components/failedmodel.mdx)] | :heavy_minus_sign: | Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. On a completed item the fusion result is still usable but was produced from a degraded panel; on a failed item it lists the panels that failed before the run stopped, so the caller can see which models were attempted even though no analysis was produced. | | | `failure_reason` | *Optional[str]* | :heavy_minus_sign: | Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`. | | | `id` | *Optional[str]* | :heavy_minus_sign: | N/A | | | `responses` | List[[components.OutputFusionServerToolItemResponse](../components/outputfusionservertoolitemresponse.mdx)] | :heavy_minus_sign: | Analysis models that produced a response in this fusion run, with each model's full panel content. | | diff --git a/pyproject.toml b/pyproject.toml index 2abc2e9e..25e10a34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.3.1" +version = "1.3.2" description = "Official Python Client SDK for OpenRouter." authors = [{ name = "OpenRouter" },] readme = "README-PYPI.md" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index ebd042a8..be3f2250 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.3.1" +__version__: str = "1.3.2" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.3.1 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.3.2 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/outputfusionservertoolitem.py b/src/openrouter/components/outputfusionservertoolitem.py index 6fceee37..6d66e64e 100644 --- a/src/openrouter/components/outputfusionservertoolitem.py +++ b/src/openrouter/components/outputfusionservertoolitem.py @@ -86,7 +86,7 @@ class OutputFusionServerToolItemTypedDict(TypedDict): error: NotRequired[str] r"""Error message when the fusion run did not produce an analysis result.""" failed_models: NotRequired[List[FailedModelTypedDict]] - r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel.""" + r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. On a completed item the fusion result is still usable but was produced from a degraded panel; on a failed item it lists the panels that failed before the run stopped, so the caller can see which models were attempted even though no analysis was produced.""" failure_reason: NotRequired[str] r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`.""" id: NotRequired[str] @@ -110,7 +110,7 @@ class OutputFusionServerToolItem(BaseModel): r"""Error message when the fusion run did not produce an analysis result.""" failed_models: Optional[List[FailedModel]] = None - r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel.""" + r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. On a completed item the fusion result is still usable but was produced from a degraded panel; on a failed item it lists the panels that failed before the run stopped, so the caller can see which models were attempted even though no analysis was produced.""" failure_reason: Optional[str] = None r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`.""" diff --git a/uv.lock b/uv.lock index bce5910e..4fd0e4f3 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.1" +version = "1.3.2" source = { editable = "." } dependencies = [ { name = "httpcore" }, From eb80f3ded8005730205de792b7b9e452bd4fbdfc Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 29 Sep 2026 03:58:26 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow