Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 27 additions & 23 deletions .speakeasy/gen.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
lockVersion: ""
id: ""
management:
docChecksum: 1a57ba8663bff56b84e58cd70c6afd7c
docChecksum: 20cefb4f74de3dbc4da43b8ea1154bfb
docVersion: 1.0.0
speakeasyVersion: 1.763.2
generationVersion: 2.884.4
releaseVersion: 0.13.28
configChecksum: d7b58d2e40c5b5709162e6cf6e5dd65e
releaseVersion: 0.13.29
configChecksum: dd459f600a9ebcb6910a849e590b09f0
repoURL: https://github.com/OpenRouterTeam/typescript-sdk.git
installationURL: https://github.com/OpenRouterTeam/typescript-sdk
published: true
persistentEdits:
generation_id: 65f6ab08-cc04-4c8e-9092-2b1c060f99c1
pristine_commit_hash: 565f74d31f4b796d1d13973952ccadd9aa156f8e
pristine_tree_hash: 95dc95a551697c2a0d583e2734010a48650d7e5d
generation_id: d06a8169-5e97-44ce-a8ec-7568d3f332ea
pristine_commit_hash: a31b7c4e33000aee4a76cbf61eafe7e03c6fc264
pristine_tree_hash: 13522672f0615caea1f0575178f67c37629c952a
features:
typescript:
acceptHeaders: 2.81.2
Expand Down Expand Up @@ -1759,8 +1759,8 @@ trackedFiles:
deleted: true
docs/models/chatfunctiontool.mdx:
id: e28b59b74948
last_write_checksum: sha1:2a3c8dc2c81c7e32fbb80d941f38fc87aa1cd1ff
pristine_git_object: fb6f97d158d66186edfe45ce84e00fce764959ff
last_write_checksum: sha1:6cb20085bc78661d82a94fb4bf0a4e4e5d4050b8
pristine_git_object: 493488ea9e5dfddbd8e2a5f641d3906d0b6dce3c
docs/models/chatfunctiontoolfunction.md:
id: 65b6def5d64c
last_write_checksum: sha1:81df3aaa4027a07024ea00917b0efd6e03bfe23a
Expand Down Expand Up @@ -4026,8 +4026,12 @@ trackedFiles:
deleted: true
docs/models/fusionservertoolopenrouter.mdx:
id: c11761c11056
last_write_checksum: sha1:2962902d3cd265dbe512429aeae198c75464b102
pristine_git_object: d03fbf496751ea42ceeb6bcd32fc858ba9b70a3d
last_write_checksum: sha1:ebf450ede7b88d6206562311304389d32a94f220
pristine_git_object: 91d1545ad992008a4a0469e20ee4796149d2fd1d
docs/models/fusionservertoolopenroutertype.mdx:
id: a708fee8d1ae
last_write_checksum: sha1:c83f5724e221956284152d25dff8d9d42816abf7
pristine_git_object: a980b2ac432fd6c85bf3b2d7bd15a0a825bc8c46
docs/models/fusionsource.md:
id: bb7d98b85302
last_write_checksum: sha1:288a75eed2f247aa31279077a9b2c423151f03f7
Expand Down Expand Up @@ -12128,12 +12132,12 @@ trackedFiles:
pristine_git_object: 410efafd6a7f50d91ccb87131fedbe0c3d47e15a
jsr.json:
id: 7f6ab7767282
last_write_checksum: sha1:097d6ae93ed4a6195ff5133f160e0be922af99fe
pristine_git_object: 8f7254e1fd295e730e9dc654e64d1bd739c36668
last_write_checksum: sha1:df14da06c80788f9808b32031508c0296b46414d
pristine_git_object: 29ce32a2ae24c97c6d3cb2cab6ad5e75fd763331
package.json:
id: 7030d0b2f71b
last_write_checksum: sha1:89c242673393c12fe7eaccd2228d21ffc3e577c9
pristine_git_object: c7058b79798893f7e856038c6c814d6cae243496
last_write_checksum: sha1:9bcdede4e82e0d29e5baaf1cbf6b7e0dc9f41d86
pristine_git_object: 34864d948b6f002c8f94af490f57a4a222a212f6
src/core.ts:
id: f431fdbcd144
last_write_checksum: sha1:5aa66b0b6a5964f3eea7f3098c2eb3c0ee9c0131
Expand Down Expand Up @@ -12508,8 +12512,8 @@ trackedFiles:
pristine_git_object: a187e58707bdb726ca2aff74941efe7493422d4e
src/lib/config.ts:
id: 320761608fb3
last_write_checksum: sha1:3b6a61c4011ea5dfe871e7d5ccb745a18471f3ce
pristine_git_object: c550996e218ff881e9fef33367ae17815283b46b
last_write_checksum: sha1:09a0570c082c0fba4fdf285de9ef934f50eaee5c
pristine_git_object: 1c480b16af24e15af269daf76c598df4cd8ded06
src/lib/dlv.ts:
id: b1988214835a
last_write_checksum: sha1:eaac763b22717206a6199104e0403ed17a4e2711
Expand Down Expand Up @@ -12980,8 +12984,8 @@ trackedFiles:
pristine_git_object: d082d241abf206468fe635e7c47dca140e3bfd90
src/models/chatfunctiontool.ts:
id: 400104319b29
last_write_checksum: sha1:957c436c4f563e763e5d001d12e0352cea479856
pristine_git_object: 7d36ed69505cef9467c072e06aff9cec9c3c68cb
last_write_checksum: sha1:b11ec65ff58826a92f6c3189c77f7e0456c2eaab
pristine_git_object: 340f8b5fd7c72ff2da4700b0cd068a5d1900924d
src/models/chatjsonschemaconfig.ts:
id: 1ad0e5d930fb
last_write_checksum: sha1:9af3223f14c0c9d62046de826a737544b86d222e
Expand Down Expand Up @@ -13508,8 +13512,8 @@ trackedFiles:
pristine_git_object: f57120b07a4a34ef4e29347c5b9ceef74c344f3f
src/models/fusionservertoolopenrouter.ts:
id: 01d346f44f6d
last_write_checksum: sha1:4c457a429fb12cb9e6d41fc188ff590f19ccdb35
pristine_git_object: 38c9b62ddc7d74ad74b243a8d55391e4ee7da7cb
last_write_checksum: sha1:d2b7f3537702d2045b9c482be8d20445fccec521
pristine_git_object: e5f0bd84e515abddb61d716ceb208e9e5bf11f8c
src/models/fusionsource.ts:
id: 36747573906e
last_write_checksum: sha1:c42536e207e17dcf5e6aa2fece823ccb6d0ac672
Expand Down Expand Up @@ -14740,8 +14744,8 @@ trackedFiles:
pristine_git_object: 584f66cd23f2e112b14f8d0b23aea1cd4532c412
src/models/responsesrequest.ts:
id: 39799702f982
last_write_checksum: sha1:585c43bff7aad1022e82b8a85fbf9150b152265d
pristine_git_object: 642ff9bae5061ed9f1af68a0c21d830a4f39b502
last_write_checksum: sha1:7ca19ab773af4d724d6005d458bca6b1feb18ce5
pristine_git_object: 63e71f2ec198e47d97fdf9350373f8d440781f3f
src/models/responsesstreamingresponse.ts:
id: 69284d63df45
last_write_checksum: sha1:14c843dba32fef31c8684c4f363bf32b17d9dc97
Expand Down Expand Up @@ -16833,4 +16837,4 @@ examples:
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2
releaseNotes: "## Typescript SDK Changes:\n* `openrouter.stt.createTranscription()`: \n * `request.sttRequest` **Changed**\n * `response` **Changed**\n* `openrouter.stt.createTranscriptionMultipart()`: \n * `request.requestBody` **Changed**\n * `response` **Changed**\n* `openrouter.datasets.getRankingsDaily()`: `request` **Changed**\n"
releaseNotes: "## Typescript SDK Changes:\n* `openrouter.beta.responses.send()`: \n * `request.responsesRequest.tools[].union(openrouter:fusion).type` **Changed** (Breaking ⚠️)\n* `openrouter.presets.createPresetsResponses()`: \n * `request.responsesRequest.tools[].union(openrouter:fusion).type` **Changed** (Breaking ⚠️)\n* `openrouter.chat.send()`: \n * `request.chatRequest.tools[].union(FusionServerTool_OpenRouter)` **Added**\n* `openrouter.presets.createPresetsChatCompletions()`: \n * `request.chatRequest.tools[].union(FusionServerTool_OpenRouter)` **Added**\n"
2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
typescript:
version: 0.13.28
version: 0.13.29
acceptHeaderEnum: false
additionalDependencies:
dependencies:
Expand Down
1 change: 1 addition & 0 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4542,6 +4542,7 @@ components:
- $ref: '#/components/schemas/BashServerTool'
- $ref: '#/components/schemas/DatetimeServerTool'
- $ref: '#/components/schemas/FilesServerTool'
- $ref: '#/components/schemas/FusionServerTool_OpenRouter'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/SubagentServerTool_OpenRouter'
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ speakeasyVersion: 1.763.2
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:4ffc9fdd0407af4d86e8e3a5bbbc96102772248af9f12b6fe6ac66c4455b46f3
sourceBlobDigest: sha256:052977af275318cfdcbbc6cb8c36cef93812c28d93ada67f06074ea8c54dd1b9
sourceRevisionDigest: sha256:05154633bcc5482eadf69f4b83381f1eb5626a28baa0b11ef7b4308044895afd
sourceBlobDigest: sha256:d4bd918ae4190759162b760ff6264e25784adb9336e6af31b0a435b557ff5e14
tags:
- latest
- 1.0.0
targets:
openrouter:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:4ffc9fdd0407af4d86e8e3a5bbbc96102772248af9f12b6fe6ac66c4455b46f3
sourceBlobDigest: sha256:052977af275318cfdcbbc6cb8c36cef93812c28d93ada67f06074ea8c54dd1b9
sourceRevisionDigest: sha256:05154633bcc5482eadf69f4b83381f1eb5626a28baa0b11ef7b4308044895afd
sourceBlobDigest: sha256:d4bd918ae4190759162b760ff6264e25784adb9336e6af31b0a435b557ff5e14
codeSamplesNamespace: open-router-chat-completions-api-typescript-code-samples
codeSamplesRevisionDigest: sha256:f1d13a7ce3aaac022623ed8e85172e23c394a581805aec99e7dffd0211f59145
codeSamplesRevisionDigest: sha256:b2fcac27aa277c3d6a70138d74952826fad6e461e85387fa5e9da85f32c0ff33
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.763.2
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -1516,4 +1516,14 @@ Based on:
### Generated
- [typescript v0.13.28] .
### Releases
- [NPM v0.13.28] https://www.npmjs.com/package/@openrouter/sdk/v/0.13.28 - .
- [NPM v0.13.28] https://www.npmjs.com/package/@openrouter/sdk/v/0.13.28 - .

## 2026-07-08 03:28:57
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.763.2 (2.884.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.13.29] .
### Releases
- [NPM v0.13.29] https://www.npmjs.com/package/@openrouter/sdk/v/0.13.29 - .
8 changes: 8 additions & 0 deletions docs/models/chatfunctiontool.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ const value: models.FilesServerTool = {
};
```

### `models.FusionServerToolOpenRouter`

```typescript
const value: models.FusionServerToolOpenRouter = {
type: "openrouter:fusion",
};
```

### `models.ImageGenerationServerToolOpenRouter`

```typescript
Expand Down
2 changes: 1 addition & 1 deletion docs/models/fusionservertoolopenrouter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ let value: FusionServerToolOpenRouter = {
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `parameters` | [models.FusionServerToolConfig](../models/fusionservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:fusion server tool. | \{<br/>"analysis_models": [<br/>"~anthropic/claude-opus-latest",<br/>"~openai/gpt-latest",<br/>"~google/gemini-pro-latest"<br/>]<br/>} |
| `type` | *"openrouter:fusion"* | :heavy_check_mark: | N/A | |
| `type` | [models.FusionServerToolOpenRouterType](../models/fusionservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
17 changes: 17 additions & 0 deletions docs/models/fusionservertoolopenroutertype.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "FusionServerToolOpenRouterType"
---

## Example Usage

```typescript
import { FusionServerToolOpenRouterType } from "@openrouter/sdk/models";

let value: FusionServerToolOpenRouterType = "openrouter:fusion";
```

## Values

```typescript
"openrouter:fusion"
```
2 changes: 1 addition & 1 deletion jsr.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

{
"name": "@openrouter/sdk",
"version": "0.13.28",
"version": "0.13.29",
"exports": {
".": "./src/index.ts",
"./models/errors": "./src/models/errors/index.ts",
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@openrouter/sdk",
"version": "0.13.28",
"version": "0.13.29",
"author": "OpenRouter",
"description": "The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 400+ language models through a unified API.",
"keywords": [
Expand Down Expand Up @@ -73,15 +73,15 @@
"lint": "eslint --cache --max-warnings=0 src",
"build": "tsc",
"prepublishOnly": "npm run build",
"prepare": "npm run build",
"test:transit": "exit 0",
"typecheck": "tsc --noEmit",
"compile": "tsc",
"postinstall": "node scripts/check-types.js || true",
"test": "vitest --run --project unit",
"test:e2e": "vitest --run --project e2e",
"test:watch": "vitest --watch --project unit",
"typecheck:transit": "exit 0"
"typecheck": "tsc --noEmit",
"typecheck:transit": "exit 0",
"prepare": "npm run build",
"test:transit": "exit 0",
"test:watch": "vitest --watch --project unit"
},
"peerDependencies": {},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions src/lib/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "1.0.0",
sdkVersion: "0.13.28",
sdkVersion: "0.13.29",
genVersion: "2.884.4",
userAgent: "speakeasy-sdk/typescript 0.13.28 2.884.4 1.0.0 @openrouter/sdk",
userAgent: "speakeasy-sdk/typescript 0.13.29 2.884.4 1.0.0 @openrouter/sdk",
} as const;
8 changes: 8 additions & 0 deletions src/models/chatfunctiontool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ import {
FilesServerTool$Outbound,
FilesServerTool$outboundSchema,
} from "./filesservertool.js";
import {
FusionServerToolOpenRouter,
FusionServerToolOpenRouter$Outbound,
FusionServerToolOpenRouter$outboundSchema,
} from "./fusionservertoolopenrouter.js";
import {
ImageGenerationServerToolOpenRouter,
ImageGenerationServerToolOpenRouter$Outbound,
Expand Down Expand Up @@ -110,6 +115,7 @@ export type ChatFunctionTool =
| BashServerTool
| DatetimeServerTool
| FilesServerTool
| FusionServerToolOpenRouter
| ImageGenerationServerToolOpenRouter
| ChatSearchModelsServerTool
| SubagentServerToolOpenRouter
Expand Down Expand Up @@ -187,6 +193,7 @@ export type ChatFunctionTool$Outbound =
| BashServerTool$Outbound
| DatetimeServerTool$Outbound
| FilesServerTool$Outbound
| FusionServerToolOpenRouter$Outbound
| ImageGenerationServerToolOpenRouter$Outbound
| ChatSearchModelsServerTool$Outbound
| SubagentServerToolOpenRouter$Outbound
Expand All @@ -204,6 +211,7 @@ export const ChatFunctionTool$outboundSchema: z.ZodType<
BashServerTool$outboundSchema,
DatetimeServerTool$outboundSchema,
FilesServerTool$outboundSchema,
FusionServerToolOpenRouter$outboundSchema,
ImageGenerationServerToolOpenRouter$outboundSchema,
ChatSearchModelsServerTool$outboundSchema,
SubagentServerToolOpenRouter$outboundSchema,
Expand Down
19 changes: 16 additions & 3 deletions src/models/fusionservertoolopenrouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,20 @@
*/

import * as z from "zod/v4";
import { ClosedEnum } from "../types/enums.js";
import {
FusionServerToolConfig,
FusionServerToolConfig$Outbound,
FusionServerToolConfig$outboundSchema,
} from "./fusionservertoolconfig.js";

export const FusionServerToolOpenRouterType = {
OpenrouterFusion: "openrouter:fusion",
} as const;
export type FusionServerToolOpenRouterType = ClosedEnum<
typeof FusionServerToolOpenRouterType
>;

/**
* OpenRouter built-in server tool: fans out the user prompt to a panel of analysis models, then asks a judge model to summarize their collective output as structured JSON the outer model can synthesize from.
*/
Expand All @@ -18,13 +26,18 @@ export type FusionServerToolOpenRouter = {
* Configuration for the openrouter:fusion server tool.
*/
parameters?: FusionServerToolConfig | undefined;
type: "openrouter:fusion";
type: FusionServerToolOpenRouterType;
};

/** @internal */
export const FusionServerToolOpenRouterType$outboundSchema: z.ZodEnum<
typeof FusionServerToolOpenRouterType
> = z.enum(FusionServerToolOpenRouterType);

/** @internal */
export type FusionServerToolOpenRouter$Outbound = {
parameters?: FusionServerToolConfig$Outbound | undefined;
type: "openrouter:fusion";
type: string;
};

/** @internal */
Expand All @@ -33,7 +46,7 @@ export const FusionServerToolOpenRouter$outboundSchema: z.ZodType<
FusionServerToolOpenRouter
> = z.object({
parameters: FusionServerToolConfig$outboundSchema.optional(),
type: z.literal("openrouter:fusion"),
type: FusionServerToolOpenRouterType$outboundSchema,
});

export function fusionServerToolOpenRouterToJSON(
Expand Down
Loading
Loading