From d88934f67b2884c0c577c03cce84bf2a93753694 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 14 Aug 2026 15:44:24 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.787.0 --- .speakeasy/gen.lock | 32 ++++++++++++++++---------------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 8 ++++---- .speakeasy/workflow.lock | 10 +++++----- RELEASES.md | 12 +++++++++++- docs/sdks/datasets/README.mdx | 10 ++++++++-- pyproject.toml | 2 +- src/openrouter/_version.py | 4 ++-- src/openrouter/datasets.py | 14 +++++++++++++- src/openrouter/sdk.py | 2 +- uv.lock | 2 +- 11 files changed, 63 insertions(+), 35 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index de4c3ac9..c1942729 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: 1e2a0333ab1ccfe5306774b00cbdbcc1 + docChecksum: da173788c3fb85719697a630f864f3ac docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.1.54 - configChecksum: 1765552a9cbf18829bcaaffcd4ab91d3 + releaseVersion: 1.1.55 + configChecksum: 69b387e12b95d28ebf0b8d1bb847c0b8 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 1ed6be0d-a8eb-4a89-9f33-17e8194ac24b - pristine_commit_hash: b3eef92b13f15402c63132fb08e94d8dcae44de4 - pristine_tree_hash: a85ad4f87a1877864e61a0bcaacc04a25937135b + generation_id: 92ecc519-cdb9-4475-a79e-e0c43480338b + pristine_commit_hash: aeb7d4e4cb4f81a01c4f2d6af69faba3505ef9d9 + pristine_tree_hash: 23aa3ab46f722d3b1999b880b6b731a4af73dcaa features: python: acceptHeaders: 3.0.0 @@ -7150,8 +7150,8 @@ trackedFiles: pristine_git_object: 414ae2830c58add7ad904cc9ffc5b46ed65058df docs/sdks/datasets/README.mdx: id: 15e5ab0183de - last_write_checksum: sha1:fdb99109a1beb492222426112999718444fbdb8e - pristine_git_object: e71813682dd01efd21e06bc8804086d6fde5e1ea + last_write_checksum: sha1:aa3ad8ca41dcb9d8657a31ea33b17045019ca1d3 + pristine_git_object: fe31c0f4f765b9f8f3cf79f6dd403e730589db80 docs/sdks/embeddings/README.mdx: id: cd71581df291 last_write_checksum: sha1:810a851cac701dfa79d8130a38396d0a1b8b5196 @@ -7234,8 +7234,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:9436613d062c6b92fef51805fa349cf9f2024317 - pristine_git_object: 5d1d1c4df99f6f6ea98421344af9b091c01a878c + last_write_checksum: sha1:e86c53fb5b578274fa60fa800876c1318fca8fdd + pristine_git_object: 7d8a04c6f5ee208617cfccfd1c6c1b0aa29f057b scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -7262,8 +7262,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:31e034517cad1c6979c3d9efa5a86270cdd84082 - pristine_git_object: ce1d1b5a37d795079a60ac8f56dae32b4ff7aa7d + last_write_checksum: sha1:fc72243105389d9b0a3b753f7e487e7040b371d3 + pristine_git_object: bacef164f105343765e516ac9ddd54574699c081 src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:3ea0f1c73fb9c101b7bc5719da4dd7bf62ff469a @@ -9758,8 +9758,8 @@ trackedFiles: pristine_git_object: 791cdeba11d6c5e9e9381760fd8cd8ca86233b22 src/openrouter/datasets.py: id: 2378f80d1d6a - last_write_checksum: sha1:1a447242bb4a28d8b95415d16f662d9ddefd2547 - pristine_git_object: d153d356c5643f5c4f94d18d29adfb99f06addf5 + last_write_checksum: sha1:7bc2854b9c08b1e50d69b1e94fca80859ca0a0ac + pristine_git_object: 0532cef994643793368c4484b8af0d247be2692e src/openrouter/embeddings.py: id: 0374ace39067 last_write_checksum: sha1:220cac105c58c9b42f2f9f9e6bf98f6a7beb4f96 @@ -10310,8 +10310,8 @@ trackedFiles: pristine_git_object: f6ad93a8202863708520f9fdb7043eeb4f1f1fc6 src/openrouter/sdk.py: id: ee9846c4c9c5 - last_write_checksum: sha1:a93d3271a6996e95f800f8c70eb26c81012d05bc - pristine_git_object: 3846f88706ca912096cfc40a460f6a0bb431c546 + last_write_checksum: sha1:8bf6e1e1ddf2593219cdd9aa964a017ec68a0748 + pristine_git_object: b00e07cd484d49e193c7bfe5fb822dbf4fe95406 src/openrouter/sdkconfiguration.py: id: 55773bb98d7c last_write_checksum: sha1:c01826125c31a8b8bc99d9d679782c8758fae001 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 234624ff..bdb1c9e4 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.1.54 + version: 1.1.55 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 9ae711cc..e3272a2f 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -28849,7 +28849,7 @@ paths: - $ref: "#/components/parameters/AppCategories" /datasets/app-rankings: get: - description: "Returns the top public apps on OpenRouter ranked by token usage inside the requested\ndate window, matching the public apps marketplace on openrouter.ai/apps. Token totals\nare `prompt_tokens + completion_tokens`; hidden and private apps are excluded and\ntraffic from related app aliases is merged into the canonical visible app.\n\n`sort=popular` (default) ranks by total token volume inside the window.\n`sort=trending` ranks by absolute excess token growth: window volume minus the average\nvolume of the three equal-length periods immediately preceding the window. Apps with\nno excess growth are omitted, so `trending` may return fewer than `limit` rows.\n\nFilter with `category` (marketplace category group, e.g. `coding`) or `subcategory`\n(e.g. `cli-agent`). Ranks are re-numbered 1..N after filtering. Page with `offset` —\n`rank` stays absolute, so the first row of `offset=50` is `rank: 51`.\n\nAuthenticate with any valid OpenRouter API key (same key used for inference).\nRate-limited to 30 requests/minute per key and 500 requests/day per account.\n\nWhen republishing or quoting this dataset, OpenRouter must be cited as:\n\"Source: OpenRouter (openrouter.ai/apps), as of {as_of}.\"\n\nToken counts come from each upstream provider's own tokenizer, so a token attributed\nto one app is not directly comparable to a token attributed to another app whose\ntraffic flows through a different provider." + description: "Returns the top public apps on OpenRouter ranked by token usage inside the requested\ndate window, matching the public apps marketplace on openrouter.ai/apps. Token totals\nare `prompt_tokens + completion_tokens`; hidden and private apps are excluded and\ntraffic from related app aliases is merged into the canonical visible app.\n\n`sort=popular` (default) ranks by total token volume inside the window.\n`sort=trending` ranks by absolute excess token growth: window volume minus the average\nvolume of the three equal-length periods immediately preceding the window. Apps with\nno excess growth are omitted, so `trending` may return fewer than `limit` rows.\n\nFilter with `category` (marketplace category group, e.g. `coding`) or `subcategory`\n(e.g. `cli-agent`). Ranks are re-numbered 1..N after filtering. Page with `offset` —\n`rank` stays absolute, so the first row of `offset=50` is `rank: 51`.\n\nAuthenticate with any valid OpenRouter API key (same key used for inference).\nRate-limited to 30 requests/minute per key and 500 requests/day per account.\n\nWhen republishing or quoting this dataset, OpenRouter must be cited as:\n\"Source: OpenRouter (openrouter.ai/apps), as of {as_of}.\"\n\nToken counts come from each upstream provider's own tokenizer, so a token attributed\nto one app is not directly comparable to a token attributed to another app whose\ntraffic flows through a different provider.\n\nLicensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter." operationId: 'getAppRankings' parameters: - description: 'Marketplace category group to filter by (e.g. `coding`). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with `subcategory` — when both are supplied the `subcategory` must belong to the `category` group.' @@ -29031,7 +29031,7 @@ paths: - $ref: "#/components/parameters/AppCategories" /datasets/rankings-daily: get: - description: "Returns the top 50 public models per day by total token usage on OpenRouter, plus a\nsingle aggregated `other` row per day that sums every model outside that top 50.\nToken totals are `prompt_tokens + completion_tokens`, matching the public rankings\nchart on openrouter.ai/rankings.\n\nEach row is a distinct `(date, model_permaslug)` pair. The `other` row uses the\nreserved permaslug `other` and is always returned last within its date, so callers\ncan compute `top-50 traffic / total daily traffic` without a second request.\n\nOptional filters slice the dataset. `period` (`day`/`week`/`month`) sets the time\ngrain. `modality` and `context_bucket` narrow the exact dataset by output/input\nmodality (or tool-calling activity) and request context length. `category` and\n`language_type` instead read a sampled, upsampled dataset whose `total_tokens` are\nweekly-grain estimates — they cannot be combined with each other or with the exact\nfilters, and reject `period=day` with a 400.\n\nAuthenticate with any valid OpenRouter API key (same key used for inference).\nRate-limited to 30 requests/minute per key and 500 requests/day per account.\n\nWhen republishing or quoting this dataset, OpenRouter must be cited as:\n\"Source: OpenRouter (openrouter.ai/rankings), as of {as_of}.\"\n\nToken counts come from each upstream provider's own tokenizer (Anthropic counts\nare as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so\na token in one row is not directly comparable to a token in another row from a\ndifferent provider." + description: "Returns the top 50 public models per day by total token usage on OpenRouter, plus a\nsingle aggregated `other` row per day that sums every model outside that top 50.\nToken totals are `prompt_tokens + completion_tokens`, matching the public rankings\nchart on openrouter.ai/rankings.\n\nEach row is a distinct `(date, model_permaslug)` pair. The `other` row uses the\nreserved permaslug `other` and is always returned last within its date, so callers\ncan compute `top-50 traffic / total daily traffic` without a second request.\n\nOptional filters slice the dataset. `period` (`day`/`week`/`month`) sets the time\ngrain. `modality` and `context_bucket` narrow the exact dataset by output/input\nmodality (or tool-calling activity) and request context length. `category` and\n`language_type` instead read a sampled, upsampled dataset whose `total_tokens` are\nweekly-grain estimates — they cannot be combined with each other or with the exact\nfilters, and reject `period=day` with a 400.\n\nAuthenticate with any valid OpenRouter API key (same key used for inference).\nRate-limited to 30 requests/minute per key and 500 requests/day per account.\n\nWhen republishing or quoting this dataset, OpenRouter must be cited as:\n\"Source: OpenRouter (openrouter.ai/rankings), as of {as_of}.\"\n\nToken counts come from each upstream provider's own tokenizer (Anthropic counts\nare as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so\na token in one row is not directly comparable to a token in another row from a\ndifferent provider.\n\nLicensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter." operationId: 'getRankingsDaily' parameters: - description: 'Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before `end_date`. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in `meta.start_date`.' @@ -29201,7 +29201,7 @@ paths: - $ref: "#/components/parameters/AppCategories" /datasets/session-cost: get: - description: "Returns weekly refreshed, aggregated cost-per-session cells for the published harnesses.\nSessions are never pooled across apps. Medians are of per-session USD spend, and\nprivacy-preserving aggregation never exposes clerk_user_id values or per-session rows.\n\nFilter by `app_slug`, `model`, or `turn_range`. Filtering by `model` alone works across apps\nfor harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot\nwindow in `meta`." + description: "Returns weekly refreshed, aggregated cost-per-session cells for the published harnesses.\nSessions are never pooled across apps. Medians are of per-session USD spend, and\nprivacy-preserving aggregation never exposes clerk_user_id values or per-session rows.\n\nFilter by `app_slug`, `model`, or `turn_range`. Filtering by `model` alone works across apps\nfor harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot\nwindow in `meta`.\n\nLicensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter." operationId: 'getSessionCost' parameters: - description: 'Filter to one published harness slug.' @@ -39326,7 +39326,7 @@ tags: name: 'Classifications' - description: 'Credit management endpoints' name: 'Credits' - - description: 'Datasets endpoints' + - description: 'Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter.' name: 'Datasets' - description: 'Text embedding endpoints' name: 'Embeddings' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index ff3cf5de..6f1a8f14 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:d7a51a0a213dc85a88d54cd2e0c98a77fd9804bd4acd56984a7a33e7f3f0ed77 - sourceBlobDigest: sha256:425bccde4dbcc6d9c458a512f422912fe04ce29dd8c30574ea4e5cf67f748f34 + sourceRevisionDigest: sha256:a3580360d00126d84b0be920fb9b5bba35071d90a34388010b756a1c70cdc0d6 + sourceBlobDigest: sha256:62183f190360f3599b0a8c77eff6dcbbeb58e1468dec9f1c5717e6a6f01e439a tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:d7a51a0a213dc85a88d54cd2e0c98a77fd9804bd4acd56984a7a33e7f3f0ed77 - sourceBlobDigest: sha256:425bccde4dbcc6d9c458a512f422912fe04ce29dd8c30574ea4e5cf67f748f34 + sourceRevisionDigest: sha256:a3580360d00126d84b0be920fb9b5bba35071d90a34388010b756a1c70cdc0d6 + sourceBlobDigest: sha256:62183f190360f3599b0a8c77eff6dcbbeb58e1468dec9f1c5717e6a6f01e439a codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:ed7122afb647d917a5bb2782c4514a69b89c2ad5c2d1911111392a43b41db98a + codeSamplesRevisionDigest: sha256:5ea76509874f14415d5722ed7bfbd8ea0775e96e765598073840fa4037b6a474 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 9df1815b..ee6f911f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1329,4 +1329,14 @@ Based on: ### Generated - [python v1.1.54] . ### Releases -- [PyPI v1.1.54] https://pypi.org/project/openrouter/1.1.54 - . \ No newline at end of file +- [PyPI v1.1.54] https://pypi.org/project/openrouter/1.1.54 - . + +## 2026-08-14 15:42:19 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.1.55] . +### Releases +- [PyPI v1.1.55] https://pypi.org/project/openrouter/1.1.55 - . \ No newline at end of file diff --git a/docs/sdks/datasets/README.mdx b/docs/sdks/datasets/README.mdx index e7181368..fe31c0f4 100644 --- a/docs/sdks/datasets/README.mdx +++ b/docs/sdks/datasets/README.mdx @@ -1,11 +1,11 @@ --- title: "Datasets" -description: "Datasets endpoints" +description: "Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter." --- ## Overview -Datasets endpoints +Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter. ### Available Operations @@ -39,6 +39,8 @@ Token counts come from each upstream provider's own tokenizer, so a token attrib to one app is not directly comparable to a token attributed to another app whose traffic flows through a different provider. +Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + ### Example Usage ```python @@ -121,6 +123,8 @@ are as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so a token in one row is not directly comparable to a token in another row from a different provider. +Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + ### Example Usage ```python @@ -182,6 +186,8 @@ Filter by `app_slug`, `model`, or `turn_range`. Filtering by `model` alone works for harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot window in `meta`. +Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + ### Example Usage ```python diff --git a/pyproject.toml b/pyproject.toml index 5d1d1c4d..7d8a04c6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.1.54" +version = "1.1.55" 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 ce1d1b5a..bacef164 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.54" +__version__: str = "1.1.55" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.1.54 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.1.55 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/datasets.py b/src/openrouter/datasets.py index d153d356..0532cef9 100644 --- a/src/openrouter/datasets.py +++ b/src/openrouter/datasets.py @@ -11,7 +11,7 @@ class Datasets(BaseSDK): - r"""Datasets endpoints""" + r"""Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter.""" def get_app_rankings( self, @@ -57,6 +57,8 @@ def get_app_rankings( to one app is not directly comparable to a token attributed to another app whose traffic flows through a different provider. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -267,6 +269,8 @@ async def get_app_rankings_async( to one app is not directly comparable to a token attributed to another app whose traffic flows through a different provider. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -483,6 +487,8 @@ def get_rankings_daily( a token in one row is not directly comparable to a token in another row from a different provider. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -659,6 +665,8 @@ async def get_rankings_daily_async( a token in one row is not directly comparable to a token in another row from a different provider. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -814,6 +822,8 @@ def get_session_cost( for harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot window in `meta`. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -1000,6 +1010,8 @@ async def get_session_cost_async( for harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot window in `meta`. + Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. + :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. diff --git a/src/openrouter/sdk.py b/src/openrouter/sdk.py index 3846f887..b00e07cd 100644 --- a/src/openrouter/sdk.py +++ b/src/openrouter/sdk.py @@ -70,7 +70,7 @@ class OpenRouter(BaseSDK): credits: "Credits" r"""Credit management endpoints""" datasets: "Datasets" - r"""Datasets endpoints""" + r"""Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter.""" embeddings: "Embeddings" r"""Text embedding endpoints""" endpoints: "Endpoints" diff --git a/uv.lock b/uv.lock index 77d6819b..8a156683 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.1.54" +version = "1.1.55" source = { editable = "." } dependencies = [ { name = "httpcore" }, From fd33e749a7d0b58f722b5c503203d24c8f073a6b Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 15:44:32 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow