@openrouter/sdk 0.13.49 → 0.13.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/lib/config.d.ts +2 -2
- package/esm/lib/config.js +2 -2
- package/esm/models/chatusage.d.ts +1 -20
- package/esm/models/chatusage.js +3 -16
- package/esm/models/index.d.ts +1 -0
- package/esm/models/index.js +1 -0
- package/esm/models/pricingoverride.d.ts +9 -1
- package/esm/models/pricingoverride.js +4 -0
- package/esm/models/publicendpoint.d.ts +1 -1
- package/esm/models/publicpricing.d.ts +1 -1
- package/esm/models/servertoolusedetails.d.ts +24 -0
- package/esm/models/servertoolusedetails.js +23 -0
- package/esm/models/usage.d.ts +5 -0
- package/esm/models/usage.js +4 -0
- package/jsr.json +1 -1
- package/package.json +5 -5
package/esm/lib/config.d.ts
CHANGED
|
@@ -49,8 +49,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
|
|
|
49
49
|
export declare const SDK_METADATA: {
|
|
50
50
|
readonly language: "typescript";
|
|
51
51
|
readonly openapiDocVersion: "1.0.0";
|
|
52
|
-
readonly sdkVersion: "0.13.
|
|
52
|
+
readonly sdkVersion: "0.13.51";
|
|
53
53
|
readonly genVersion: "2.884.4";
|
|
54
|
-
readonly userAgent: "speakeasy-sdk/typescript 0.13.
|
|
54
|
+
readonly userAgent: "speakeasy-sdk/typescript 0.13.51 2.884.4 1.0.0 @openrouter/sdk";
|
|
55
55
|
};
|
|
56
56
|
//# sourceMappingURL=config.d.ts.map
|
package/esm/lib/config.js
CHANGED
|
@@ -26,8 +26,8 @@ export function serverURLFromOptions(options) {
|
|
|
26
26
|
export const SDK_METADATA = {
|
|
27
27
|
language: "typescript",
|
|
28
28
|
openapiDocVersion: "1.0.0",
|
|
29
|
-
sdkVersion: "0.13.
|
|
29
|
+
sdkVersion: "0.13.51",
|
|
30
30
|
genVersion: "2.884.4",
|
|
31
|
-
userAgent: "speakeasy-sdk/typescript 0.13.
|
|
31
|
+
userAgent: "speakeasy-sdk/typescript 0.13.51 2.884.4 1.0.0 @openrouter/sdk",
|
|
32
32
|
};
|
|
33
33
|
//# sourceMappingURL=config.js.map
|
|
@@ -2,6 +2,7 @@ import * as z from "zod/v4";
|
|
|
2
2
|
import { Result as SafeParseResult } from "../types/fp.js";
|
|
3
3
|
import { CostDetails } from "./costdetails.js";
|
|
4
4
|
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
5
|
+
import { ServerToolUseDetails } from "./servertoolusedetails.js";
|
|
5
6
|
/**
|
|
6
7
|
* Detailed completion token usage
|
|
7
8
|
*/
|
|
@@ -44,23 +45,6 @@ export type ChatUsagePromptTokensDetails = {
|
|
|
44
45
|
*/
|
|
45
46
|
videoTokens?: number | undefined;
|
|
46
47
|
};
|
|
47
|
-
/**
|
|
48
|
-
* Usage for server-side tool execution (e.g., web search)
|
|
49
|
-
*/
|
|
50
|
-
export type ServerToolUseDetails = {
|
|
51
|
-
/**
|
|
52
|
-
* Number of OpenRouter server tool calls that executed and produced a result
|
|
53
|
-
*/
|
|
54
|
-
toolCallsExecuted?: number | null | undefined;
|
|
55
|
-
/**
|
|
56
|
-
* Total number of OpenRouter server-orchestrated tool calls the model requested, across all tool types. Provider-native tools (e.g. native web search) are not counted here.
|
|
57
|
-
*/
|
|
58
|
-
toolCallsRequested?: number | null | undefined;
|
|
59
|
-
/**
|
|
60
|
-
* Number of web searches performed by server-side tools. For server-orchestrated tool calls a web search is also counted in tool_calls_requested; provider-native web search may report web_search_requests only. Do not sum the two.
|
|
61
|
-
*/
|
|
62
|
-
webSearchRequests?: number | null | undefined;
|
|
63
|
-
};
|
|
64
48
|
/**
|
|
65
49
|
* Token usage statistics
|
|
66
50
|
*/
|
|
@@ -109,9 +93,6 @@ export declare function chatUsageCompletionTokensDetailsFromJSON(jsonString: str
|
|
|
109
93
|
export declare const ChatUsagePromptTokensDetails$inboundSchema: z.ZodType<ChatUsagePromptTokensDetails, unknown>;
|
|
110
94
|
export declare function chatUsagePromptTokensDetailsFromJSON(jsonString: string): SafeParseResult<ChatUsagePromptTokensDetails, SDKValidationError>;
|
|
111
95
|
/** @internal */
|
|
112
|
-
export declare const ServerToolUseDetails$inboundSchema: z.ZodType<ServerToolUseDetails, unknown>;
|
|
113
|
-
export declare function serverToolUseDetailsFromJSON(jsonString: string): SafeParseResult<ServerToolUseDetails, SDKValidationError>;
|
|
114
|
-
/** @internal */
|
|
115
96
|
export declare const ChatUsage$inboundSchema: z.ZodType<ChatUsage, unknown>;
|
|
116
97
|
export declare function chatUsageFromJSON(jsonString: string): SafeParseResult<ChatUsage, SDKValidationError>;
|
|
117
98
|
//# sourceMappingURL=chatusage.d.ts.map
|
package/esm/models/chatusage.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as z from "zod/v4";
|
|
|
6
6
|
import { remap as remap$ } from "../lib/primitives.js";
|
|
7
7
|
import { safeParse } from "../lib/schemas.js";
|
|
8
8
|
import { CostDetails$inboundSchema } from "./costdetails.js";
|
|
9
|
+
import { ServerToolUseDetails$inboundSchema, } from "./servertoolusedetails.js";
|
|
9
10
|
/** @internal */
|
|
10
11
|
export const ChatUsageCompletionTokensDetails$inboundSchema = z.object({
|
|
11
12
|
accepted_prediction_tokens: z.nullable(z.int()).optional(),
|
|
@@ -41,21 +42,6 @@ export function chatUsagePromptTokensDetailsFromJSON(jsonString) {
|
|
|
41
42
|
return safeParse(jsonString, (x) => ChatUsagePromptTokensDetails$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ChatUsagePromptTokensDetails' from JSON`);
|
|
42
43
|
}
|
|
43
44
|
/** @internal */
|
|
44
|
-
export const ServerToolUseDetails$inboundSchema = z.object({
|
|
45
|
-
tool_calls_executed: z.nullable(z.int()).optional(),
|
|
46
|
-
tool_calls_requested: z.nullable(z.int()).optional(),
|
|
47
|
-
web_search_requests: z.nullable(z.int()).optional(),
|
|
48
|
-
}).transform((v) => {
|
|
49
|
-
return remap$(v, {
|
|
50
|
-
"tool_calls_executed": "toolCallsExecuted",
|
|
51
|
-
"tool_calls_requested": "toolCallsRequested",
|
|
52
|
-
"web_search_requests": "webSearchRequests",
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
export function serverToolUseDetailsFromJSON(jsonString) {
|
|
56
|
-
return safeParse(jsonString, (x) => ServerToolUseDetails$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ServerToolUseDetails' from JSON`);
|
|
57
|
-
}
|
|
58
|
-
/** @internal */
|
|
59
45
|
export const ChatUsage$inboundSchema = z.object({
|
|
60
46
|
completion_tokens: z.int(),
|
|
61
47
|
completion_tokens_details: z.nullable(z.lazy(() => ChatUsageCompletionTokensDetails$inboundSchema)).optional(),
|
|
@@ -64,7 +50,8 @@ export const ChatUsage$inboundSchema = z.object({
|
|
|
64
50
|
is_byok: z.boolean().optional(),
|
|
65
51
|
prompt_tokens: z.int(),
|
|
66
52
|
prompt_tokens_details: z.nullable(z.lazy(() => ChatUsagePromptTokensDetails$inboundSchema)).optional(),
|
|
67
|
-
server_tool_use_details: z.nullable(
|
|
53
|
+
server_tool_use_details: z.nullable(ServerToolUseDetails$inboundSchema)
|
|
54
|
+
.optional(),
|
|
68
55
|
total_tokens: z.int(),
|
|
69
56
|
}).transform((v) => {
|
|
70
57
|
return remap$(v, {
|
package/esm/models/index.d.ts
CHANGED
|
@@ -458,6 +458,7 @@ export * from "./searchmodelsservertoolconfig.js";
|
|
|
458
458
|
export * from "./searchmodelsservertoolopenrouter.js";
|
|
459
459
|
export * from "./searchqualitylevel.js";
|
|
460
460
|
export * from "./security.js";
|
|
461
|
+
export * from "./servertoolusedetails.js";
|
|
461
462
|
export * from "./serviceunavailableresponseerrordata.js";
|
|
462
463
|
export * from "./shellcallitem.js";
|
|
463
464
|
export * from "./shellcalloutputitem.js";
|
package/esm/models/index.js
CHANGED
|
@@ -462,6 +462,7 @@ export * from "./searchmodelsservertoolconfig.js";
|
|
|
462
462
|
export * from "./searchmodelsservertoolopenrouter.js";
|
|
463
463
|
export * from "./searchqualitylevel.js";
|
|
464
464
|
export * from "./security.js";
|
|
465
|
+
export * from "./servertoolusedetails.js";
|
|
465
466
|
export * from "./serviceunavailableresponseerrordata.js";
|
|
466
467
|
export * from "./shellcallitem.js";
|
|
467
468
|
export * from "./shellcalloutputitem.js";
|
|
@@ -2,7 +2,7 @@ import * as z from "zod/v4";
|
|
|
2
2
|
import { Result as SafeParseResult } from "../types/fp.js";
|
|
3
3
|
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
4
4
|
/**
|
|
5
|
-
* A conditional override of the base pricing. An entry applies only when all of its condition fields (e.g. min_prompt_tokens) match the request; among applicable entries, later entries win per price key; price keys absent from an entry inherit the base price.
|
|
5
|
+
* A conditional override of the base pricing. An entry applies only when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per price key; price keys absent from an entry inherit the base price.
|
|
6
6
|
*/
|
|
7
7
|
export type PricingOverride = {
|
|
8
8
|
/**
|
|
@@ -37,6 +37,14 @@ export type PricingOverride = {
|
|
|
37
37
|
* Overridden price in USD per token for prompt (input) processing
|
|
38
38
|
*/
|
|
39
39
|
prompt?: string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Condition: exclusive end of a daily UTC time window as an HHMM clock number (e.g. 400 = 04:00)
|
|
42
|
+
*/
|
|
43
|
+
utcEnd?: number | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Condition: inclusive start of a daily UTC time window as an HHMM clock number (e.g. 100 = 01:00, 1030 = 10:30). The entry applies while the current UTC time is inside the half-open window [utc_start, utc_end), which may wrap past midnight (utc_start > utc_end).
|
|
46
|
+
*/
|
|
47
|
+
utcStart?: number | undefined;
|
|
40
48
|
};
|
|
41
49
|
/** @internal */
|
|
42
50
|
export declare const PricingOverride$inboundSchema: z.ZodType<PricingOverride, unknown>;
|
|
@@ -15,6 +15,8 @@ export const PricingOverride$inboundSchema = z.object({
|
|
|
15
15
|
input_cache_write_1h: z.string().optional(),
|
|
16
16
|
min_prompt_tokens: z.number().optional(),
|
|
17
17
|
prompt: z.string().optional(),
|
|
18
|
+
utc_end: z.number().optional(),
|
|
19
|
+
utc_start: z.number().optional(),
|
|
18
20
|
}).transform((v) => {
|
|
19
21
|
return remap$(v, {
|
|
20
22
|
"input_audio_cache": "inputAudioCache",
|
|
@@ -22,6 +24,8 @@ export const PricingOverride$inboundSchema = z.object({
|
|
|
22
24
|
"input_cache_write": "inputCacheWrite",
|
|
23
25
|
"input_cache_write_1h": "inputCacheWrite1h",
|
|
24
26
|
"min_prompt_tokens": "minPromptTokens",
|
|
27
|
+
"utc_end": "utcEnd",
|
|
28
|
+
"utc_start": "utcStart",
|
|
25
29
|
});
|
|
26
30
|
});
|
|
27
31
|
export function pricingOverrideFromJSON(jsonString) {
|
|
@@ -57,7 +57,7 @@ export type Pricing = {
|
|
|
57
57
|
*/
|
|
58
58
|
internalReasoning?: string | undefined;
|
|
59
59
|
/**
|
|
60
|
-
* Conditional overrides of the base pricing (e.g. long-context pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions.
|
|
60
|
+
* Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions.
|
|
61
61
|
*/
|
|
62
62
|
overrides?: Array<PricingOverride> | undefined;
|
|
63
63
|
/**
|
|
@@ -55,7 +55,7 @@ export type PublicPricing = {
|
|
|
55
55
|
*/
|
|
56
56
|
internalReasoning?: string | undefined;
|
|
57
57
|
/**
|
|
58
|
-
* Conditional overrides of the base pricing (e.g. long-context pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions.
|
|
58
|
+
* Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions.
|
|
59
59
|
*/
|
|
60
60
|
overrides?: Array<PricingOverride> | undefined;
|
|
61
61
|
/**
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { Result as SafeParseResult } from "../types/fp.js";
|
|
3
|
+
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
4
|
+
/**
|
|
5
|
+
* Usage for server-side tool execution (e.g., web search)
|
|
6
|
+
*/
|
|
7
|
+
export type ServerToolUseDetails = {
|
|
8
|
+
/**
|
|
9
|
+
* Number of OpenRouter server tool calls that executed and produced a result.
|
|
10
|
+
*/
|
|
11
|
+
toolCallsExecuted?: number | null | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Total number of OpenRouter server-orchestrated tool calls the model requested, across all tool types. Provider-native tools (e.g. native web search) are not counted here.
|
|
14
|
+
*/
|
|
15
|
+
toolCallsRequested?: number | null | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Number of web searches performed by server-side tools. For server-orchestrated tool calls a web search is also counted in tool_calls_requested; provider-native web search may report web_search_requests only. Do not sum the two.
|
|
18
|
+
*/
|
|
19
|
+
webSearchRequests?: number | null | undefined;
|
|
20
|
+
};
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare const ServerToolUseDetails$inboundSchema: z.ZodType<ServerToolUseDetails, unknown>;
|
|
23
|
+
export declare function serverToolUseDetailsFromJSON(jsonString: string): SafeParseResult<ServerToolUseDetails, SDKValidationError>;
|
|
24
|
+
//# sourceMappingURL=servertoolusedetails.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 5d4b052ad0ed
|
|
4
|
+
*/
|
|
5
|
+
import * as z from "zod/v4";
|
|
6
|
+
import { remap as remap$ } from "../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../lib/schemas.js";
|
|
8
|
+
/** @internal */
|
|
9
|
+
export const ServerToolUseDetails$inboundSchema = z.object({
|
|
10
|
+
tool_calls_executed: z.nullable(z.int()).optional(),
|
|
11
|
+
tool_calls_requested: z.nullable(z.int()).optional(),
|
|
12
|
+
web_search_requests: z.nullable(z.int()).optional(),
|
|
13
|
+
}).transform((v) => {
|
|
14
|
+
return remap$(v, {
|
|
15
|
+
"tool_calls_executed": "toolCallsExecuted",
|
|
16
|
+
"tool_calls_requested": "toolCallsRequested",
|
|
17
|
+
"web_search_requests": "webSearchRequests",
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
export function serverToolUseDetailsFromJSON(jsonString) {
|
|
21
|
+
return safeParse(jsonString, (x) => ServerToolUseDetails$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ServerToolUseDetails' from JSON`);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=servertoolusedetails.js.map
|
package/esm/models/usage.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as z from "zod/v4";
|
|
2
2
|
import { Result as SafeParseResult } from "../types/fp.js";
|
|
3
3
|
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
|
|
4
|
+
import { ServerToolUseDetails } from "./servertoolusedetails.js";
|
|
4
5
|
export type InputTokensDetails = {
|
|
5
6
|
cacheWriteTokens?: number | null | undefined;
|
|
6
7
|
cachedTokens: number;
|
|
@@ -31,6 +32,10 @@ export type Usage = {
|
|
|
31
32
|
* Whether a request was made using a Bring Your Own Key configuration
|
|
32
33
|
*/
|
|
33
34
|
isByok?: boolean | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Usage for server-side tool execution (e.g., web search)
|
|
37
|
+
*/
|
|
38
|
+
serverToolUseDetails?: ServerToolUseDetails | null | undefined;
|
|
34
39
|
};
|
|
35
40
|
/** @internal */
|
|
36
41
|
export declare const InputTokensDetails$inboundSchema: z.ZodType<InputTokensDetails, unknown>;
|
package/esm/models/usage.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as z from "zod/v4";
|
|
6
6
|
import { remap as remap$ } from "../lib/primitives.js";
|
|
7
7
|
import { safeParse } from "../lib/schemas.js";
|
|
8
|
+
import { ServerToolUseDetails$inboundSchema, } from "./servertoolusedetails.js";
|
|
8
9
|
/** @internal */
|
|
9
10
|
export const InputTokensDetails$inboundSchema = z.object({
|
|
10
11
|
cache_write_tokens: z.nullable(z.int()).optional(),
|
|
@@ -54,6 +55,8 @@ export const Usage$inboundSchema = z.object({
|
|
|
54
55
|
cost: z.nullable(z.number()).optional(),
|
|
55
56
|
cost_details: z.lazy(() => UsageCostDetails$inboundSchema).optional(),
|
|
56
57
|
is_byok: z.boolean().optional(),
|
|
58
|
+
server_tool_use_details: z.nullable(ServerToolUseDetails$inboundSchema)
|
|
59
|
+
.optional(),
|
|
57
60
|
}).transform((v) => {
|
|
58
61
|
return remap$(v, {
|
|
59
62
|
"input_tokens": "inputTokens",
|
|
@@ -63,6 +66,7 @@ export const Usage$inboundSchema = z.object({
|
|
|
63
66
|
"total_tokens": "totalTokens",
|
|
64
67
|
"cost_details": "costDetails",
|
|
65
68
|
"is_byok": "isByok",
|
|
69
|
+
"server_tool_use_details": "serverToolUseDetails",
|
|
66
70
|
});
|
|
67
71
|
});
|
|
68
72
|
export function usageFromJSON(jsonString) {
|
package/jsr.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openrouter/sdk",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.51",
|
|
4
4
|
"author": "OpenRouter",
|
|
5
5
|
"description": "The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 400+ language models through a unified API.",
|
|
6
6
|
"keywords": [
|
|
@@ -73,15 +73,15 @@
|
|
|
73
73
|
"lint": "eslint --cache --max-warnings=0 src",
|
|
74
74
|
"build": "tsc",
|
|
75
75
|
"prepublishOnly": "npm run build",
|
|
76
|
+
"typecheck:transit": "exit 0",
|
|
77
|
+
"compile": "tsc",
|
|
76
78
|
"postinstall": "node scripts/check-types.js || true",
|
|
79
|
+
"test:watch": "vitest --watch --project unit",
|
|
77
80
|
"prepare": "npm run build",
|
|
78
81
|
"test": "vitest --run --project unit",
|
|
79
82
|
"test:e2e": "vitest --run --project e2e",
|
|
80
|
-
"typecheck": "tsc --noEmit",
|
|
81
|
-
"compile": "tsc",
|
|
82
83
|
"test:transit": "exit 0",
|
|
83
|
-
"
|
|
84
|
-
"typecheck:transit": "exit 0"
|
|
84
|
+
"typecheck": "tsc --noEmit"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {},
|
|
87
87
|
"devDependencies": {
|