diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e80bca0c..73c53618 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: 6c564d6990f47adc4bd2002d1e7db979 + docChecksum: af1963044af75cc1a40f12bed7cc929d docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.1.40 - configChecksum: 66e76c65c8062a2c933f5f4166d428a5 + releaseVersion: 1.1.41 + configChecksum: ccb9fb7032936a28292923a7de915153 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: da5a1f1f-f69b-4604-8c2c-3f544e78845b - pristine_commit_hash: 35e83150f02d24b7f7d60e0fb7d6de1bb6f7cde5 - pristine_tree_hash: 501f339c666803f05ffbcc391e5d29df0af7f75d + generation_id: 312cf1ac-32ba-4bd4-af66-1432e88a39dd + pristine_commit_hash: 2aa272d8539b68fda1c2e88a9ea7abdfed28bec3 + pristine_tree_hash: 5133f3ed0b45900655a58af5b31303d6700ccf57 features: python: acceptHeaders: 3.0.0 @@ -3822,8 +3822,8 @@ trackedFiles: pristine_git_object: 700af387aa2f0f827ef4775f69fbb3900b075899 docs/components/outputfusionservertoolitem.mdx: id: bc7c73cc3100 - last_write_checksum: sha1:742a3b9abfc785a775b7f79f922945da1e8d2e48 - pristine_git_object: 8a5941a7a9a3b47176f9f06f72d33865e949bbdc + last_write_checksum: sha1:a6ad8e70dd97599df99e90d833489ac6bb14efbc + pristine_git_object: 22cd86c9d3fe2ad250a9afbbfcbd1559b42aeafc docs/components/outputfusionservertoolitemtype.mdx: id: d5337e29a21f last_write_checksum: sha1:133446222202e08ffceaa5944185842c21078830 @@ -7158,8 +7158,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:03bacf2d58c452223beadec03cef73887230c1e5 - pristine_git_object: a1626c79c62b97ee6fb8ed23ebd406c41b2f5d88 + last_write_checksum: sha1:9dbcaf905d3b3d520eab58df50885c4d5492940b + pristine_git_object: ac3bde63f8981ce20d5fa7b8e2028a612e93bcbd scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -7186,8 +7186,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:0bac2098e378c245be34c17842da9c8121b8275d - pristine_git_object: add8bfb5806dbef16f20985b9be0faab50298fd8 + last_write_checksum: sha1:e586483de1c667b402bb29c27bb1e933c34e96cf + pristine_git_object: eef308ebf311ec5d77fb56f5cdcdaf4957584bf0 src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:3ea0f1c73fb9c101b7bc5719da4dd7bf62ff469a @@ -8826,8 +8826,8 @@ trackedFiles: pristine_git_object: 13dc4afc3516bdb0590427677835c1d1590c9d9d src/openrouter/components/outputfusionservertoolitem.py: id: 1d798a2bb7ae - last_write_checksum: sha1:e9e1fb793c0181b4869f935265c1f15ed317ca52 - pristine_git_object: ea89c055fd6c31c0b273b5b8934c3232bac8e67d + last_write_checksum: sha1:cb729a32bc6df2b60107a4bbd468fd40171d5e50 + pristine_git_object: d7f2389fe88a3bb43a266d42279bd04ca55327cb src/openrouter/components/outputimagegenerationcallitem.py: id: 48d20dc00e1c last_write_checksum: sha1:339b1256fd865d8ddb8b3be54a4203ccb6498c3f @@ -12023,4 +12023,3 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.beta.responses.send()`: \n * `request.input.union(Array<>)[]` **Changed**\n * `response` **Changed**\n* `open_router.presets.create_presets_responses()`: \n * `request.input.union(Array<>)[]` **Changed**\n* `open_router.responses.send()`: \n * `request.input.union(Array<>)[]` **Changed**\n * `response` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 7baa302f..da5b5d71 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.1.40 + version: 1.1.41 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index ce735fd8..a3318202 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -18464,7 +18464,7 @@ components: type: 'object' type: 'array' failure_reason: - description: 'Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, 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.' + description: '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.' type: 'string' id: type: 'string' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 34cb26e4..c5f2e9f3 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:35e67391b197f8732722c0dcb24d4209f4813551f34a8adf570e4eaea2b1f48f - sourceBlobDigest: sha256:e2f8d2320125220985c946e142d32005f35fd241d2bdac79a86d3ad136446e8f + sourceRevisionDigest: sha256:a8d2046d69beca66a05b673a614ccbf437b2cd0e606c74296d9cb6b23a16df71 + sourceBlobDigest: sha256:462930c375d22e578dfe63934980c09c2235d20844ad3509314875a39190e56f tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:35e67391b197f8732722c0dcb24d4209f4813551f34a8adf570e4eaea2b1f48f - sourceBlobDigest: sha256:e2f8d2320125220985c946e142d32005f35fd241d2bdac79a86d3ad136446e8f + sourceRevisionDigest: sha256:a8d2046d69beca66a05b673a614ccbf437b2cd0e606c74296d9cb6b23a16df71 + sourceBlobDigest: sha256:462930c375d22e578dfe63934980c09c2235d20844ad3509314875a39190e56f codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:955c8dcebd02c34fc2a3f2cc5f01499c9b98686ee98571537f56a02ef42c73a4 + codeSamplesRevisionDigest: sha256:83a576a430b6a0ba055fe97743e363d0f571a235b08e5add2a105c3a8ca47af7 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 38291470..eba674c7 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1189,4 +1189,14 @@ Based on: ### Generated - [python v1.1.40] . ### Releases -- [PyPI v1.1.40] https://pypi.org/project/openrouter/1.1.40 - . \ No newline at end of file +- [PyPI v1.1.40] https://pypi.org/project/openrouter/1.1.40 - . + +## 2026-08-11 00:54:30 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.1.41] . +### Releases +- [PyPI v1.1.41] https://pypi.org/project/openrouter/1.1.41 - . \ No newline at end of file diff --git a/docs/components/outputfusionservertoolitem.mdx b/docs/components/outputfusionservertoolitem.mdx index 8a5941a7..22cd86c9 100644 --- a/docs/components/outputfusionservertoolitem.mdx +++ b/docs/components/outputfusionservertoolitem.mdx @@ -12,7 +12,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. | | -| `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, 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. | | +| `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. | | | `id` | *Optional[str]* | :heavy_minus_sign: | N/A | | | `responses` | List[[components.Response](../components/response.mdx)] | :heavy_minus_sign: | Analysis models that produced a response in this fusion run, with each model's full panel content. | | | `sources` | List[[components.FusionSource](../components/fusionsource.mdx)] | :heavy_minus_sign: | Web pages the analysis panels and analyst retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source. | | diff --git a/pyproject.toml b/pyproject.toml index a1626c79..ac3bde63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.1.40" +version = "1.1.41" 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 add8bfb5..eef308eb 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.1.40" +__version__: str = "1.1.41" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.1.40 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.1.41 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 ea89c055..d7f2389f 100644 --- a/src/openrouter/components/outputfusionservertoolitem.py +++ b/src/openrouter/components/outputfusionservertoolitem.py @@ -88,7 +88,7 @@ class OutputFusionServerToolItemTypedDict(TypedDict): 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.""" failure_reason: NotRequired[str] - r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, 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.""" + 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.""" id: NotRequired[str] responses: NotRequired[List[ResponseTypedDict]] r"""Analysis models that produced a response in this fusion run, with each model's full panel content.""" @@ -113,7 +113,7 @@ class OutputFusionServerToolItem(BaseModel): 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.""" failure_reason: Optional[str] = None - r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, 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.""" + 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.""" id: Optional[str] = None diff --git a/uv.lock b/uv.lock index 3a820588..79068d58 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.1.40" +version = "1.1.41" source = { editable = "." } dependencies = [ { name = "httpcore" },