diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 87809ec5..e3e0f3ca 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: 8c88ee1da5d109e287fc5958aebd53a4 + docChecksum: 6b4a8542e991f840a99e609a9c92b16a docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.1.157 - configChecksum: 0c871c3ded730faa04195657a71aadb8 + releaseVersion: 1.1.158 + configChecksum: 149aa2689e4957309bb4c1b977ccd927 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 62dea106-fc12-4a2a-9cce-01a7fb98c0b2 - pristine_commit_hash: 047d7c3e93a19c95bbc3cf9b704959631d30c4f7 - pristine_tree_hash: 7f9d26a81cf9a73fb04dd06fdc1efe54b2bb08a4 + generation_id: 09e2bccd-885d-413a-a5cb-fc35ac545c1a + pristine_commit_hash: 277d07755a439c31266aec30277ca519ba6e39dc + pristine_tree_hash: 80913373c42f4ea1636b8ec24826ba9608671274 features: python: acceptHeaders: 3.0.0 @@ -8062,8 +8062,8 @@ trackedFiles: pristine_git_object: fe31c0f4f765b9f8f3cf79f6dd403e730589db80 docs/sdks/decisions/README.mdx: id: a52a116ee1f3 - last_write_checksum: sha1:0ade193e7c99d9cc1144774465bad4f65530090a - pristine_git_object: 0b2877e3e1cae0e427a749e4290c6b3017be7b6f + last_write_checksum: sha1:d5a9eb617d71e91d284a19c8f1b92e9882903e85 + pristine_git_object: af32d7a22b93c6e41e3d867a83568d90889758fd docs/sdks/embeddings/README.mdx: id: cd71581df291 last_write_checksum: sha1:2a965ecfe30c04bc70a42846e3b81523ac2db026 @@ -8154,8 +8154,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:ab77d36f611d3a5c30d4aa64b72399005d981f80 - pristine_git_object: 362e403ecbe15c78e05652edb36a4b987137451d + last_write_checksum: sha1:58ed3a2d2fa0db47040241f3a4d1c9a24e1a2fcf + pristine_git_object: 942f29aeae46ffbae048748c32bb4f9413d35662 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -8182,8 +8182,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:319fb8d06425241fafb92c795a5c0daf30a5384a - pristine_git_object: 54e28eba869ee18a5082005b0cb942a50a693868 + last_write_checksum: sha1:cfd0e41c1049fd8a411f75f715891767592d58cc + pristine_git_object: 13c50d4098317244793f918499ecba0ba133fb85 src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465 @@ -14936,4 +14936,3 @@ examples: "502": application/json: {"error": {"code": 409, "message": "That question is no longer waiting for an answer."}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.alpha.decisions.create()`: **Added**\n* `open_router.interns.chat()`: **Added**\n* `open_router.tts.create_speech()`: \n * `request.provider.options` **Changed**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options` **Changed**\n * `response` **Changed**\n* `open_router.stt.create_transcription_multipart()`: `response` **Changed**\n* `open_router.byok.list()`: \n * `request.provider` **Changed**\n * `response.data[].provider` **Changed**\n* `open_router.byok.create()`: \n * `request.provider` **Changed**\n * `response.data.provider` **Changed**\n* `open_router.byok.get()`: `response.data.provider` **Changed**\n* `open_router.byok.update()`: `response.data.provider` **Changed**\n* `open_router.chat.send()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.embeddings.generate()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.embeddings.list_models()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name` **Changed**\n* `open_router.endpoints.list()`: `response.data` **Changed**\n* `open_router.generations.get_generation()`: `response.data` **Changed**\n* `open_router.images.generate()`: `request.provider` **Changed**\n* `open_router.images.list_models()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.get()`: `response.data.architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.list()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.list_for_user()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.presets.create_presets_chat_completions()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.presets.create_presets_messages()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.presets.create_presets_responses()`: `request` **Changed**\n* `open_router.rerank.rerank()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.responses.send()`: \n * `request` **Changed**\n * `response` **Changed**\n* `open_router.beta.responses.send()`: \n * `request` **Changed**\n * `response` **Changed**\n* `open_router.video_generation.generate()`: `request` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 994773fc..e0cdfc5a 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.1.157 + version: 1.1.158 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 8b942258..31d348a1 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -30215,6 +30215,32 @@ paths: requestBody: content: application/json: + example: + model: 'typesafe/jev-1.13' + questions: + is_bug: + criteria: + 'false': 'The customer is asking a question or requesting a feature.' + 'true': 'The customer describes broken or unexpected product behavior.' + instructions: 'Is the customer reporting a software defect?' + type: 'noul' + team: + criteria: + account: 'Login, permissions, or profile issues.' + frontend: 'Rendering, layout, or browser compatibility issues.' + payments: 'Checkout, billing, or payment processing issues.' + instructions: 'Which team should own this ticket?' + type: 'choice' + urgency: + criteria: + - 'Can wait for the next release' + - 'Should be fixed this week' + - 'Blocking revenue right now' + instructions: 'How urgent is this ticket?' + type: 'score' + state: + customer_tier: 'enterprise' + ticket: 'My checkout page shows a blank screen after I click Pay. I have tried two browsers.' schema: $ref: '#/components/schemas/DecisionsRequest' required: true @@ -30222,6 +30248,38 @@ paths: '200': content: application/json: + example: + answers: + is_bug: + noul: 0.96 + type: 'noul' + team: + choice: 'payments' + confidence: 0.75 + probabilities: + account: 0 + frontend: 0.16 + payments: 0.84 + type: 'choice' + urgency: + confidence: 0.99 + legend: + '0': 'Can wait for the next release' + '1': 'Should be fixed this week' + '2': 'Blocking revenue right now' + probabilities: + '0': 0 + '1': 0.01 + '2': 0.99 + score: 1.99 + type: 'score' + id: 'gen-dec-1789738314-X5e5eKGQdvR9rblyX250' + model: 'typesafe/jev-1.13-20260917' + provider: 'TypeSafe' + usage: + cost: 0.000019992 + input_tokens: 476 + output_tokens: 70 schema: $ref: '#/components/schemas/DecisionsResponse' description: 'Decisions response' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 5192323d..0e45a5ba 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:ce976e499121fe4f917f5bb97dc4316a7a73e51924aef93d1238299e91e7a9f0 - sourceBlobDigest: sha256:33b30b3014c4ae44f119a62b8008649d9758dfac062df55da049ebe6819b33df + sourceRevisionDigest: sha256:218cfb491888dd01bb0b91626a578a8dcf476ca9bcbb60ae34999e54c236c72a + sourceBlobDigest: sha256:09cb6f35097e73250969974686759a2896ee29de88182fc04bcd06a279a3df75 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:ce976e499121fe4f917f5bb97dc4316a7a73e51924aef93d1238299e91e7a9f0 - sourceBlobDigest: sha256:33b30b3014c4ae44f119a62b8008649d9758dfac062df55da049ebe6819b33df + sourceRevisionDigest: sha256:218cfb491888dd01bb0b91626a578a8dcf476ca9bcbb60ae34999e54c236c72a + sourceBlobDigest: sha256:09cb6f35097e73250969974686759a2896ee29de88182fc04bcd06a279a3df75 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:6bead5fbac891d238584899f937a75f678e24c36fc4fc5a53c48f5ef07a6fd71 + codeSamplesRevisionDigest: sha256:bc39f80dec774fbaf8d57e1515c9ac07feff2a94dc4ba105cd376f819adf36bf workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 75acc2a5..edfeb5be 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2359,4 +2359,14 @@ Based on: ### Generated - [python v1.1.157] . ### Releases -- [PyPI v1.1.157] https://pypi.org/project/openrouter/1.1.157 - . \ No newline at end of file +- [PyPI v1.1.157] https://pypi.org/project/openrouter/1.1.157 - . + +## 2026-09-18 17:09:15 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.1.158] . +### Releases +- [PyPI v1.1.158] https://pypi.org/project/openrouter/1.1.158 - . \ No newline at end of file diff --git a/docs/sdks/decisions/README.mdx b/docs/sdks/decisions/README.mdx index 0b2877e3..af32d7a2 100644 --- a/docs/sdks/decisions/README.mdx +++ b/docs/sdks/decisions/README.mdx @@ -29,10 +29,36 @@ with OpenRouter( api_key=os.getenv("OPENROUTER_API_KEY", ""), ) as open_router: - res = open_router.alpha.decisions.create(model="Grand Cherokee", questions={ - + res = open_router.alpha.decisions.create(model="typesafe/jev-1.13", questions={ + "is_bug": { + "criteria": { + "false": "The customer is asking a question or requesting a feature.", + "true": "The customer describes broken or unexpected product behavior.", + }, + "instructions": "Is the customer reporting a software defect?", + "type": "noul", + }, + "team": { + "criteria": { + "account": "Login, permissions, or profile issues.", + "frontend": "Rendering, layout, or browser compatibility issues.", + "payments": "Checkout, billing, or payment processing issues.", + }, + "instructions": "Which team should own this ticket?", + "type": "choice", + }, + "urgency": { + "criteria": [ + "Can wait for the next release", + "Should be fixed this week", + "Blocking revenue right now", + ], + "instructions": "How urgent is this ticket?", + "type": "score", + }, }, state={ - "key": "Massachusetts", + "customer_tier": "enterprise", + "ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers.", }) # Handle response diff --git a/pyproject.toml b/pyproject.toml index 362e403e..942f29ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.1.157" +version = "1.1.158" 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 54e28eba..13c50d40 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.157" +__version__: str = "1.1.158" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.1.157 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.1.158 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/uv.lock b/uv.lock index 7896ec04..9415b77b 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.1.157" +version = "1.1.158" source = { editable = "." } dependencies = [ { name = "httpcore" },