From 56b3c47cb5d6d08a06df72d425f0d6537bed27bf Mon Sep 17 00:00:00 2001 From: yogasanas <124478414+yogasanas@users.noreply.github.com> Date: Thu, 30 Oct 2025 15:35:59 +0000 Subject: [PATCH 1/5] chore: update OpenAPI specification from openrouter-web --- .speakeasy/in.openapi.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.speakeasy/in.openapi.yaml b/.speakeasy/in.openapi.yaml index 8c9c5e2b..7d1fc83d 100644 --- a/.speakeasy/in.openapi.yaml +++ b/.speakeasy/in.openapi.yaml @@ -4041,6 +4041,7 @@ components: - image - file - audio + - video example: text OutputModality: type: string @@ -4756,12 +4757,14 @@ components: rejected_prediction_tokens: type: number prompt_tokens_details: - type: object - properties: - cached_tokens: - type: number - audio_tokens: - type: number + anyOf: + - type: object + properties: + cached_tokens: + type: number + audio_tokens: + type: number + - type: 'null' required: - completion_tokens - prompt_tokens From 04050ed095df4102adfbd2d5c6d3d740f5602f94 Mon Sep 17 00:00:00 2001 From: Matt Apperson Date: Thu, 30 Oct 2025 12:34:29 -0400 Subject: [PATCH 2/5] build change --- .speakeasy/gen.lock | 10 +++++----- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 1 + docs/models/inputmodality.md | 2 +- jsr.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/lib/config.ts | 6 +++--- src/models/inputmodality.ts | 1 + 9 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index c656a24c..4e6bb39b 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 8b6cd71c-ea04-44da-af45-e43968b5928d management: - docChecksum: 9d79e7680beab7c04249798b91065cc4 + docChecksum: 6676183700397400ca1cc3c4e2b3fa14 docVersion: 1.0.0 - speakeasyVersion: 1.642.1 - generationVersion: 2.731.4 - releaseVersion: 0.0.1-beta.16 - configChecksum: 4a7712d499110c49acf1cf697001b209 + speakeasyVersion: 1.643.2 + generationVersion: 2.731.6 + releaseVersion: 0.0.1-beta.17 + configChecksum: d486c4236e4eaa6d7b9952090c5da08e repoURL: https://github.com/OpenRouterTeam/typescript-sdk.git installationURL: https://github.com/OpenRouterTeam/typescript-sdk published: true diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index dd1aaa13..4b5b5b11 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false typescript: - version: 0.0.1-beta.16 + version: 0.0.1-beta.17 acceptHeaderEnum: false additionalDependencies: dependencies: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 62105dae..7bdcac62 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -4056,6 +4056,7 @@ components: - image - file - audio + - video example: text x-speakeasy-unknown-values: allow OutputModality: diff --git a/docs/models/inputmodality.md b/docs/models/inputmodality.md index d4e265ad..e7084aeb 100644 --- a/docs/models/inputmodality.md +++ b/docs/models/inputmodality.md @@ -13,5 +13,5 @@ let value: InputModality = "text"; This is an open enum. Unrecognized values will be captured as the `Unrecognized` branded type. ```typescript -"text" | "image" | "file" | "audio" | Unrecognized +"text" | "image" | "file" | "audio" | "video" | Unrecognized ``` \ No newline at end of file diff --git a/jsr.json b/jsr.json index cc5fa59f..c493f737 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.16", + "version": "0.0.1-beta.17", "exports": { ".": "./src/index.ts", "./models/errors": "./src/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index b1c23f2b..3e202f4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.16", + "version": "0.0.1-beta.17", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@openrouter/sdk", - "version": "0.0.1-beta.16", + "version": "0.0.1-beta.17", "dependencies": { "zod": "^3.25.0 || ^4.0.0" }, diff --git a/package.json b/package.json index 132384a1..7da414d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.16", + "version": "0.0.1-beta.17", "author": "OpenRouter", "type": "module", "main": "./esm/index.js", diff --git a/src/lib/config.ts b/src/lib/config.ts index c7603bad..e18aae99 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -59,8 +59,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "1.0.0", - sdkVersion: "0.0.1-beta.16", - genVersion: "2.731.4", + sdkVersion: "0.0.1-beta.17", + genVersion: "2.731.6", userAgent: - "speakeasy-sdk/typescript 0.0.1-beta.16 2.731.4 1.0.0 @openrouter/sdk", + "speakeasy-sdk/typescript 0.0.1-beta.17 2.731.6 1.0.0 @openrouter/sdk", } as const; diff --git a/src/models/inputmodality.ts b/src/models/inputmodality.ts index c13987c0..7cc13095 100644 --- a/src/models/inputmodality.ts +++ b/src/models/inputmodality.ts @@ -14,6 +14,7 @@ export const InputModality = { Image: "image", File: "file", Audio: "audio", + Video: "video", } as const; export type InputModality = OpenEnum; From 9e326169757b64520d242e2e288555f72638c809 Mon Sep 17 00:00:00 2001 From: Matt Apperson Date: Thu, 30 Oct 2025 12:34:43 -0400 Subject: [PATCH 3/5] update lock --- .speakeasy/workflow.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index a2479a5e..3d948201 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.642.1 +speakeasyVersion: 1.643.2 sources: OpenRouter API: sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:d5386ba830642c25b458e63884bd42475fcb8b37d442312cbc7468a541d3e5c0 - sourceBlobDigest: sha256:c4cf70faabb2eed400c9b5e1a9185ae65baf8f5cb2575ad4457f6a4fe340a931 + sourceRevisionDigest: sha256:1076c98248df2a8c6c6a22cb2fcefd3a517f2dc346c0c5b410abfe301bdb1dad + sourceBlobDigest: sha256:da053f100fc1b8b64975f7612dd8970661444f9156cd295a6cc49fd5914e8247 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: openrouter: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:d5386ba830642c25b458e63884bd42475fcb8b37d442312cbc7468a541d3e5c0 - sourceBlobDigest: sha256:c4cf70faabb2eed400c9b5e1a9185ae65baf8f5cb2575ad4457f6a4fe340a931 + sourceRevisionDigest: sha256:1076c98248df2a8c6c6a22cb2fcefd3a517f2dc346c0c5b410abfe301bdb1dad + sourceBlobDigest: sha256:da053f100fc1b8b64975f7612dd8970661444f9156cd295a6cc49fd5914e8247 codeSamplesNamespace: open-router-chat-completions-api-typescript-code-samples - codeSamplesRevisionDigest: sha256:c880eaee9f97ea8027b797a2fc9b2b561f763470c9f68c1e0b865b78150ff5b3 + codeSamplesRevisionDigest: sha256:d55fa0cdee5a0b30fe7338c0d02e452e1d39f9f18b3d6db51f01314a8cea65ef workflow: workflowVersion: 1.0.0 speakeasyVersion: latest From a1bfcd78abbc1ebe9d1ba6bb1683c1555b9ee9a6 Mon Sep 17 00:00:00 2001 From: Matt Apperson Date: Thu, 30 Oct 2025 12:38:27 -0400 Subject: [PATCH 4/5] fix auto building --- .github/workflows/speakeasy_run_on_pr.yaml | 35 ++++++++++------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/speakeasy_run_on_pr.yaml b/.github/workflows/speakeasy_run_on_pr.yaml index ce7a671a..8c69012b 100644 --- a/.github/workflows/speakeasy_run_on_pr.yaml +++ b/.github/workflows/speakeasy_run_on_pr.yaml @@ -20,31 +20,28 @@ jobs: ref: ${{ github.event.pull_request.head.ref }} token: ${{ secrets.GITHUB_TOKEN }} - - name: Setup Speakeasy - uses: speakeasy-api/sdk-generation-action@v15 - with: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} - speakeasy_version: latest + - name: Install Speakeasy CLI + run: | + curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/install.sh | sh + # Verify speakeasy command is available + if ! command -v speakeasy &> /dev/null; then + echo "Error: speakeasy command not found after installation" + exit 1 + fi + speakeasy --version - name: Run Speakeasy run: speakeasy run + env: + SPEAKEASY_API_KEY: ${{ secrets.SPEAKEASY_API_KEY }} - name: Validate SDK uses: ./.github/actions/validate-sdk with: openrouter-api-key: ${{ secrets.OPENROUTER_API_KEY }} - - name: Commit changes - run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git add . - if git diff --staged --quiet; then - echo "No changes to commit" - else - git commit -m "chore: run speakeasy and update generated files" - git push - fi - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Auto-commit generated SDK and API docs + uses: int128/update-generated-files-action@v2 + with: + # Set a custom message to the new commit (optional) + commit-message: 'Chore: auto-generate SDK and API documentation' \ No newline at end of file From fb1b8200eb8677e395b0fb9529a6096703eb0be6 Mon Sep 17 00:00:00 2001 From: update-generated-files-action <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 16:40:20 +0000 Subject: [PATCH 5/5] Chore: auto-generate SDK and API documentation https://github.com/OpenRouterTeam/typescript-sdk/actions/runs/18948125054 --- .speakeasy/gen.lock | 4 ++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 3 ++- examples/nextjs-example/package-lock.json | 2 +- jsr.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/lib/config.ts | 4 ++-- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 4e6bb39b..f732dbec 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -5,8 +5,8 @@ management: docVersion: 1.0.0 speakeasyVersion: 1.643.2 generationVersion: 2.731.6 - releaseVersion: 0.0.1-beta.17 - configChecksum: d486c4236e4eaa6d7b9952090c5da08e + releaseVersion: 0.0.1-beta.18 + configChecksum: 26a31da22297e3c3dabf0f160c041dca repoURL: https://github.com/OpenRouterTeam/typescript-sdk.git installationURL: https://github.com/OpenRouterTeam/typescript-sdk published: true diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 4b5b5b11..8c80581f 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false typescript: - version: 0.0.1-beta.17 + version: 0.0.1-beta.18 acceptHeaderEnum: false additionalDependencies: dependencies: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 3d948201..28442b2f 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -6,6 +6,7 @@ sources: sourceBlobDigest: sha256:da053f100fc1b8b64975f7612dd8970661444f9156cd295a6cc49fd5914e8247 tags: - latest + - staging - 1.0.0 targets: openrouter: @@ -14,7 +15,7 @@ targets: sourceRevisionDigest: sha256:1076c98248df2a8c6c6a22cb2fcefd3a517f2dc346c0c5b410abfe301bdb1dad sourceBlobDigest: sha256:da053f100fc1b8b64975f7612dd8970661444f9156cd295a6cc49fd5914e8247 codeSamplesNamespace: open-router-chat-completions-api-typescript-code-samples - codeSamplesRevisionDigest: sha256:d55fa0cdee5a0b30fe7338c0d02e452e1d39f9f18b3d6db51f01314a8cea65ef + codeSamplesRevisionDigest: sha256:adbc72c41ea0d8b705a76a082a80a369ae3aa971d7ecacfcc3fa512d384f057d workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/examples/nextjs-example/package-lock.json b/examples/nextjs-example/package-lock.json index 8b6c19c3..965d6db3 100644 --- a/examples/nextjs-example/package-lock.json +++ b/examples/nextjs-example/package-lock.json @@ -36,7 +36,7 @@ }, "../..": { "name": "@openrouter/sdk", - "version": "0.0.1-beta.14", + "version": "0.0.1-beta.18", "dependencies": { "zod": "^3.25.0 || ^4.0.0" }, diff --git a/jsr.json b/jsr.json index c493f737..db3a7c1f 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.17", + "version": "0.0.1-beta.18", "exports": { ".": "./src/index.ts", "./models/errors": "./src/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index 3e202f4c..3ddf56d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.17", + "version": "0.0.1-beta.18", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@openrouter/sdk", - "version": "0.0.1-beta.17", + "version": "0.0.1-beta.18", "dependencies": { "zod": "^3.25.0 || ^4.0.0" }, diff --git a/package.json b/package.json index 7da414d6..127b3e0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/sdk", - "version": "0.0.1-beta.17", + "version": "0.0.1-beta.18", "author": "OpenRouter", "type": "module", "main": "./esm/index.js", diff --git a/src/lib/config.ts b/src/lib/config.ts index e18aae99..be4effca 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -59,8 +59,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "1.0.0", - sdkVersion: "0.0.1-beta.17", + sdkVersion: "0.0.1-beta.18", genVersion: "2.731.6", userAgent: - "speakeasy-sdk/typescript 0.0.1-beta.17 2.731.6 1.0.0 @openrouter/sdk", + "speakeasy-sdk/typescript 0.0.1-beta.18 2.731.6 1.0.0 @openrouter/sdk", } as const;