@openrouter/ai-sdk-provider 0.7.2 → 1.0.0-beta.1

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/dist/index.d.mts CHANGED
@@ -1,7 +1,46 @@
1
- import { LanguageModelV1 } from '@ai-sdk/provider';
2
- export { LanguageModelV1 } from '@ai-sdk/provider';
1
+ import { LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Content, LanguageModelV2FinishReason, LanguageModelV2Usage, LanguageModelV2CallWarning, LanguageModelV2ResponseMetadata, SharedV2Headers, LanguageModelV2StreamPart } from '@ai-sdk/provider';
2
+ export { LanguageModelV2, LanguageModelV2Prompt } from '@ai-sdk/provider';
3
+
4
+ type OpenRouterChatModelId = string;
5
+ type OpenRouterChatSettings = {
6
+ /**
7
+ Modify the likelihood of specified tokens appearing in the completion.
8
+
9
+ Accepts a JSON object that maps tokens (specified by their token ID in
10
+ the GPT tokenizer) to an associated bias value from -100 to 100. You
11
+ can use this tokenizer tool to convert text to token IDs. Mathematically,
12
+ the bias is added to the logits generated by the model prior to sampling.
13
+ The exact effect will vary per model, but values between -1 and 1 should
14
+ decrease or increase likelihood of selection; values like -100 or 100
15
+ should result in a ban or exclusive selection of the relevant token.
16
+
17
+ As an example, you can pass {"50256": -100} to prevent the <|endoftext|>
18
+ token from being generated.
19
+ */
20
+ logitBias?: Record<number, number>;
21
+ /**s
22
+ Return the log probabilities of the tokens. Including logprobs will increase
23
+ the response size and can slow down response times. However, it can
24
+ be useful to better understand how the model is behaving.
25
+
26
+ Setting to true will return the log probabilities of the tokens that
27
+ were generated.
28
+
29
+ Setting to a number will return the log probabilities of the top n
30
+ tokens that were generated.
31
+ */
32
+ logprobs?: boolean | number;
33
+ /**
34
+ Whether to enable parallel function calling during tool use. Default to true.
35
+ */
36
+ parallelToolCalls?: boolean;
37
+ /**
38
+ A unique identifier representing your end-user, which can help OpenRouter to
39
+ monitor and detect abuse. Learn more.
40
+ */
41
+ user?: string;
42
+ } & OpenRouterSharedSettings;
3
43
 
4
- type OpenRouterLanguageModel = LanguageModelV1;
5
44
  type OpenRouterProviderOptions = {
6
45
  models?: string[];
7
46
  /**
@@ -10,6 +49,7 @@ type OpenRouterProviderOptions = {
10
49
  * If `exclude` is true, reasoning will be removed from the response. Default is false.
11
50
  */
12
51
  reasoning?: {
52
+ enabled?: boolean;
13
53
  exclude?: boolean;
14
54
  } & ({
15
55
  max_tokens: number;
@@ -91,46 +131,6 @@ type OpenRouterCompletionSettings = {
91
131
  suffix?: string;
92
132
  } & OpenRouterSharedSettings;
93
133
 
94
- type OpenRouterChatModelId = string;
95
- type OpenRouterChatSettings = {
96
- /**
97
- Modify the likelihood of specified tokens appearing in the completion.
98
-
99
- Accepts a JSON object that maps tokens (specified by their token ID in
100
- the GPT tokenizer) to an associated bias value from -100 to 100. You
101
- can use this tokenizer tool to convert text to token IDs. Mathematically,
102
- the bias is added to the logits generated by the model prior to sampling.
103
- The exact effect will vary per model, but values between -1 and 1 should
104
- decrease or increase likelihood of selection; values like -100 or 100
105
- should result in a ban or exclusive selection of the relevant token.
106
-
107
- As an example, you can pass {"50256": -100} to prevent the <|endoftext|>
108
- token from being generated.
109
- */
110
- logitBias?: Record<number, number>;
111
- /**
112
- Return the log probabilities of the tokens. Including logprobs will increase
113
- the response size and can slow down response times. However, it can
114
- be useful to better understand how the model is behaving.
115
-
116
- Setting to true will return the log probabilities of the tokens that
117
- were generated.
118
-
119
- Setting to a number will return the log probabilities of the top n
120
- tokens that were generated.
121
- */
122
- logprobs?: boolean | number;
123
- /**
124
- Whether to enable parallel function calling during tool use. Default to true.
125
- */
126
- parallelToolCalls?: boolean;
127
- /**
128
- A unique identifier representing your end-user, which can help OpenRouter to
129
- monitor and detect abuse. Learn more.
130
- */
131
- user?: string;
132
- } & OpenRouterSharedSettings;
133
-
134
134
  type OpenRouterChatConfig = {
135
135
  provider: string;
136
136
  compatibility: 'strict' | 'compatible';
@@ -142,19 +142,45 @@ type OpenRouterChatConfig = {
142
142
  fetch?: typeof fetch;
143
143
  extraBody?: Record<string, unknown>;
144
144
  };
145
- type DoGenerateOutput = Awaited<ReturnType<LanguageModelV1['doGenerate']>>;
146
- type DoStreamOutput = Awaited<ReturnType<LanguageModelV1['doStream']>>;
147
- declare class OpenRouterChatLanguageModel implements LanguageModelV1 {
148
- readonly specificationVersion = "v1";
149
- readonly defaultObjectGenerationMode = "tool";
145
+ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
146
+ readonly specificationVersion: "v2";
147
+ readonly provider = "openrouter";
148
+ readonly defaultObjectGenerationMode: "tool";
150
149
  readonly modelId: OpenRouterChatModelId;
150
+ readonly supportedUrls: Record<string, RegExp[]>;
151
151
  readonly settings: OpenRouterChatSettings;
152
152
  private readonly config;
153
153
  constructor(modelId: OpenRouterChatModelId, settings: OpenRouterChatSettings, config: OpenRouterChatConfig);
154
- get provider(): string;
155
154
  private getArgs;
156
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<DoGenerateOutput>;
157
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<DoStreamOutput>;
155
+ doGenerate(options: LanguageModelV2CallOptions): Promise<{
156
+ content: Array<LanguageModelV2Content>;
157
+ finishReason: LanguageModelV2FinishReason;
158
+ usage: LanguageModelV2Usage;
159
+ warnings: Array<LanguageModelV2CallWarning>;
160
+ providerMetadata?: {
161
+ openrouter: {
162
+ usage: OpenRouterUsageAccounting;
163
+ };
164
+ };
165
+ request?: {
166
+ body?: unknown;
167
+ };
168
+ response?: LanguageModelV2ResponseMetadata & {
169
+ headers?: SharedV2Headers;
170
+ body?: unknown;
171
+ };
172
+ }>;
173
+ doStream(options: LanguageModelV2CallOptions): Promise<{
174
+ stream: ReadableStream<LanguageModelV2StreamPart>;
175
+ warnings: Array<LanguageModelV2CallWarning>;
176
+ request?: {
177
+ body?: unknown;
178
+ };
179
+ response?: LanguageModelV2ResponseMetadata & {
180
+ headers?: SharedV2Headers;
181
+ body?: unknown;
182
+ };
183
+ }>;
158
184
  }
159
185
 
160
186
  type OpenRouterCompletionConfig = {
@@ -168,20 +194,21 @@ type OpenRouterCompletionConfig = {
168
194
  fetch?: typeof fetch;
169
195
  extraBody?: Record<string, unknown>;
170
196
  };
171
- declare class OpenRouterCompletionLanguageModel implements LanguageModelV1 {
172
- readonly specificationVersion = "v1";
173
- readonly defaultObjectGenerationMode: undefined;
197
+ declare class OpenRouterCompletionLanguageModel implements LanguageModelV2 {
198
+ readonly specificationVersion: "v2";
199
+ readonly provider = "openrouter";
174
200
  readonly modelId: OpenRouterCompletionModelId;
201
+ readonly supportedUrls: Record<string, RegExp[]>;
202
+ readonly defaultObjectGenerationMode: undefined;
175
203
  readonly settings: OpenRouterCompletionSettings;
176
204
  private readonly config;
177
205
  constructor(modelId: OpenRouterCompletionModelId, settings: OpenRouterCompletionSettings, config: OpenRouterCompletionConfig);
178
- get provider(): string;
179
206
  private getArgs;
180
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
181
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
207
+ doGenerate(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
208
+ doStream(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
182
209
  }
183
210
 
184
- interface OpenRouterProvider {
211
+ interface OpenRouterProvider extends LanguageModelV2 {
185
212
  (modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
186
213
  (modelId: OpenRouterChatModelId, settings?: OpenRouterChatSettings): OpenRouterChatLanguageModel;
187
214
  languageModel(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
@@ -264,4 +291,4 @@ declare class OpenRouter {
264
291
  completion(modelId: OpenRouterCompletionModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
265
292
  }
266
293
 
267
- export { OpenRouter, type OpenRouterCompletionSettings, type OpenRouterLanguageModel, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };
294
+ export { OpenRouter, type OpenRouterCompletionSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,46 @@
1
- import { LanguageModelV1 } from '@ai-sdk/provider';
2
- export { LanguageModelV1 } from '@ai-sdk/provider';
1
+ import { LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Content, LanguageModelV2FinishReason, LanguageModelV2Usage, LanguageModelV2CallWarning, LanguageModelV2ResponseMetadata, SharedV2Headers, LanguageModelV2StreamPart } from '@ai-sdk/provider';
2
+ export { LanguageModelV2, LanguageModelV2Prompt } from '@ai-sdk/provider';
3
+
4
+ type OpenRouterChatModelId = string;
5
+ type OpenRouterChatSettings = {
6
+ /**
7
+ Modify the likelihood of specified tokens appearing in the completion.
8
+
9
+ Accepts a JSON object that maps tokens (specified by their token ID in
10
+ the GPT tokenizer) to an associated bias value from -100 to 100. You
11
+ can use this tokenizer tool to convert text to token IDs. Mathematically,
12
+ the bias is added to the logits generated by the model prior to sampling.
13
+ The exact effect will vary per model, but values between -1 and 1 should
14
+ decrease or increase likelihood of selection; values like -100 or 100
15
+ should result in a ban or exclusive selection of the relevant token.
16
+
17
+ As an example, you can pass {"50256": -100} to prevent the <|endoftext|>
18
+ token from being generated.
19
+ */
20
+ logitBias?: Record<number, number>;
21
+ /**s
22
+ Return the log probabilities of the tokens. Including logprobs will increase
23
+ the response size and can slow down response times. However, it can
24
+ be useful to better understand how the model is behaving.
25
+
26
+ Setting to true will return the log probabilities of the tokens that
27
+ were generated.
28
+
29
+ Setting to a number will return the log probabilities of the top n
30
+ tokens that were generated.
31
+ */
32
+ logprobs?: boolean | number;
33
+ /**
34
+ Whether to enable parallel function calling during tool use. Default to true.
35
+ */
36
+ parallelToolCalls?: boolean;
37
+ /**
38
+ A unique identifier representing your end-user, which can help OpenRouter to
39
+ monitor and detect abuse. Learn more.
40
+ */
41
+ user?: string;
42
+ } & OpenRouterSharedSettings;
3
43
 
4
- type OpenRouterLanguageModel = LanguageModelV1;
5
44
  type OpenRouterProviderOptions = {
6
45
  models?: string[];
7
46
  /**
@@ -10,6 +49,7 @@ type OpenRouterProviderOptions = {
10
49
  * If `exclude` is true, reasoning will be removed from the response. Default is false.
11
50
  */
12
51
  reasoning?: {
52
+ enabled?: boolean;
13
53
  exclude?: boolean;
14
54
  } & ({
15
55
  max_tokens: number;
@@ -91,46 +131,6 @@ type OpenRouterCompletionSettings = {
91
131
  suffix?: string;
92
132
  } & OpenRouterSharedSettings;
93
133
 
94
- type OpenRouterChatModelId = string;
95
- type OpenRouterChatSettings = {
96
- /**
97
- Modify the likelihood of specified tokens appearing in the completion.
98
-
99
- Accepts a JSON object that maps tokens (specified by their token ID in
100
- the GPT tokenizer) to an associated bias value from -100 to 100. You
101
- can use this tokenizer tool to convert text to token IDs. Mathematically,
102
- the bias is added to the logits generated by the model prior to sampling.
103
- The exact effect will vary per model, but values between -1 and 1 should
104
- decrease or increase likelihood of selection; values like -100 or 100
105
- should result in a ban or exclusive selection of the relevant token.
106
-
107
- As an example, you can pass {"50256": -100} to prevent the <|endoftext|>
108
- token from being generated.
109
- */
110
- logitBias?: Record<number, number>;
111
- /**
112
- Return the log probabilities of the tokens. Including logprobs will increase
113
- the response size and can slow down response times. However, it can
114
- be useful to better understand how the model is behaving.
115
-
116
- Setting to true will return the log probabilities of the tokens that
117
- were generated.
118
-
119
- Setting to a number will return the log probabilities of the top n
120
- tokens that were generated.
121
- */
122
- logprobs?: boolean | number;
123
- /**
124
- Whether to enable parallel function calling during tool use. Default to true.
125
- */
126
- parallelToolCalls?: boolean;
127
- /**
128
- A unique identifier representing your end-user, which can help OpenRouter to
129
- monitor and detect abuse. Learn more.
130
- */
131
- user?: string;
132
- } & OpenRouterSharedSettings;
133
-
134
134
  type OpenRouterChatConfig = {
135
135
  provider: string;
136
136
  compatibility: 'strict' | 'compatible';
@@ -142,19 +142,45 @@ type OpenRouterChatConfig = {
142
142
  fetch?: typeof fetch;
143
143
  extraBody?: Record<string, unknown>;
144
144
  };
145
- type DoGenerateOutput = Awaited<ReturnType<LanguageModelV1['doGenerate']>>;
146
- type DoStreamOutput = Awaited<ReturnType<LanguageModelV1['doStream']>>;
147
- declare class OpenRouterChatLanguageModel implements LanguageModelV1 {
148
- readonly specificationVersion = "v1";
149
- readonly defaultObjectGenerationMode = "tool";
145
+ declare class OpenRouterChatLanguageModel implements LanguageModelV2 {
146
+ readonly specificationVersion: "v2";
147
+ readonly provider = "openrouter";
148
+ readonly defaultObjectGenerationMode: "tool";
150
149
  readonly modelId: OpenRouterChatModelId;
150
+ readonly supportedUrls: Record<string, RegExp[]>;
151
151
  readonly settings: OpenRouterChatSettings;
152
152
  private readonly config;
153
153
  constructor(modelId: OpenRouterChatModelId, settings: OpenRouterChatSettings, config: OpenRouterChatConfig);
154
- get provider(): string;
155
154
  private getArgs;
156
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<DoGenerateOutput>;
157
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<DoStreamOutput>;
155
+ doGenerate(options: LanguageModelV2CallOptions): Promise<{
156
+ content: Array<LanguageModelV2Content>;
157
+ finishReason: LanguageModelV2FinishReason;
158
+ usage: LanguageModelV2Usage;
159
+ warnings: Array<LanguageModelV2CallWarning>;
160
+ providerMetadata?: {
161
+ openrouter: {
162
+ usage: OpenRouterUsageAccounting;
163
+ };
164
+ };
165
+ request?: {
166
+ body?: unknown;
167
+ };
168
+ response?: LanguageModelV2ResponseMetadata & {
169
+ headers?: SharedV2Headers;
170
+ body?: unknown;
171
+ };
172
+ }>;
173
+ doStream(options: LanguageModelV2CallOptions): Promise<{
174
+ stream: ReadableStream<LanguageModelV2StreamPart>;
175
+ warnings: Array<LanguageModelV2CallWarning>;
176
+ request?: {
177
+ body?: unknown;
178
+ };
179
+ response?: LanguageModelV2ResponseMetadata & {
180
+ headers?: SharedV2Headers;
181
+ body?: unknown;
182
+ };
183
+ }>;
158
184
  }
159
185
 
160
186
  type OpenRouterCompletionConfig = {
@@ -168,20 +194,21 @@ type OpenRouterCompletionConfig = {
168
194
  fetch?: typeof fetch;
169
195
  extraBody?: Record<string, unknown>;
170
196
  };
171
- declare class OpenRouterCompletionLanguageModel implements LanguageModelV1 {
172
- readonly specificationVersion = "v1";
173
- readonly defaultObjectGenerationMode: undefined;
197
+ declare class OpenRouterCompletionLanguageModel implements LanguageModelV2 {
198
+ readonly specificationVersion: "v2";
199
+ readonly provider = "openrouter";
174
200
  readonly modelId: OpenRouterCompletionModelId;
201
+ readonly supportedUrls: Record<string, RegExp[]>;
202
+ readonly defaultObjectGenerationMode: undefined;
175
203
  readonly settings: OpenRouterCompletionSettings;
176
204
  private readonly config;
177
205
  constructor(modelId: OpenRouterCompletionModelId, settings: OpenRouterCompletionSettings, config: OpenRouterCompletionConfig);
178
- get provider(): string;
179
206
  private getArgs;
180
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
181
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
207
+ doGenerate(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
208
+ doStream(options: LanguageModelV2CallOptions): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
182
209
  }
183
210
 
184
- interface OpenRouterProvider {
211
+ interface OpenRouterProvider extends LanguageModelV2 {
185
212
  (modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
186
213
  (modelId: OpenRouterChatModelId, settings?: OpenRouterChatSettings): OpenRouterChatLanguageModel;
187
214
  languageModel(modelId: OpenRouterChatModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
@@ -264,4 +291,4 @@ declare class OpenRouter {
264
291
  completion(modelId: OpenRouterCompletionModelId, settings?: OpenRouterCompletionSettings): OpenRouterCompletionLanguageModel;
265
292
  }
266
293
 
267
- export { OpenRouter, type OpenRouterCompletionSettings, type OpenRouterLanguageModel, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };
294
+ export { OpenRouter, type OpenRouterCompletionSettings, type OpenRouterProvider, type OpenRouterProviderOptions, type OpenRouterProviderSettings, type OpenRouterSharedSettings, type OpenRouterUsageAccounting, createOpenRouter, openrouter };