llm-strings 1.1.1 → 1.2.0
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/README.md +117 -45
- package/dist/ai-sdk.cjs +831 -0
- package/dist/ai-sdk.cjs.map +1 -0
- package/dist/ai-sdk.d.cts +27 -0
- package/dist/ai-sdk.d.ts +27 -0
- package/dist/ai-sdk.js +465 -0
- package/dist/ai-sdk.js.map +1 -0
- package/dist/{chunk-MPIHGH6L.js → chunk-2ARD4TFU.js} +5 -4
- package/dist/chunk-2ARD4TFU.js.map +1 -0
- package/dist/{chunk-FCEV23OT.js → chunk-BCOUH7LH.js} +9 -3
- package/dist/chunk-BCOUH7LH.js.map +1 -0
- package/dist/{chunk-UYMVUTLV.js → chunk-RPXK2A7O.js} +5 -9
- package/dist/chunk-RPXK2A7O.js.map +1 -0
- package/dist/{chunk-XID353H7.js → chunk-W4NIQY7M.js} +412 -52
- package/dist/chunk-W4NIQY7M.js.map +1 -0
- package/dist/index.cjs +1032 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +9 -4
- package/dist/normalize.cjs +370 -4
- package/dist/normalize.cjs.map +1 -1
- package/dist/normalize.d.cts +1 -1
- package/dist/normalize.d.ts +1 -1
- package/dist/normalize.js +2 -2
- package/dist/parse.cjs +129 -5
- package/dist/parse.cjs.map +1 -1
- package/dist/parse.d.cts +5 -1
- package/dist/parse.d.ts +5 -1
- package/dist/parse.js +2 -1
- package/dist/{provider-core-DinpG40u.d.ts → provider-core-BiAl8MCV.d.cts} +20 -1
- package/dist/{provider-core-DinpG40u.d.cts → provider-core-BiAl8MCV.d.ts} +20 -1
- package/dist/providers.cjs +1145 -90
- package/dist/providers.cjs.map +1 -1
- package/dist/providers.d.cts +2 -2
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +379 -60
- package/dist/providers.js.map +1 -1
- package/dist/validate.cjs +1017 -6
- package/dist/validate.cjs.map +1 -1
- package/dist/validate.js +4 -4
- package/package.json +13 -2
- package/dist/chunk-FCEV23OT.js.map +0 -1
- package/dist/chunk-MGWGNZDJ.cjs +0 -116
- package/dist/chunk-MGWGNZDJ.cjs.map +0 -1
- package/dist/chunk-MPIHGH6L.js.map +0 -1
- package/dist/chunk-N6NVBE43.cjs +0 -37
- package/dist/chunk-N6NVBE43.cjs.map +0 -1
- package/dist/chunk-NSCBY4VD.cjs +0 -370
- package/dist/chunk-NSCBY4VD.cjs.map +0 -1
- package/dist/chunk-RSUXM42X.cjs +0 -180
- package/dist/chunk-RSUXM42X.cjs.map +0 -1
- package/dist/chunk-UYMVUTLV.js.map +0 -1
- package/dist/chunk-XID353H7.js.map +0 -1
package/dist/providers.js
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
CACHE_TTLS,
|
|
4
4
|
CACHE_VALUES,
|
|
5
5
|
DURATION_RE,
|
|
6
|
+
HOST_ALIASES,
|
|
6
7
|
PARAM_SPECS,
|
|
7
8
|
PROVIDER_PARAMS,
|
|
8
9
|
REASONING_MODEL_UNSUPPORTED,
|
|
@@ -12,19 +13,46 @@ import {
|
|
|
12
13
|
detectGatewaySubProvider,
|
|
13
14
|
detectProvider,
|
|
14
15
|
isGatewayProvider,
|
|
15
|
-
isReasoningModel
|
|
16
|
-
|
|
16
|
+
isReasoningModel,
|
|
17
|
+
providerFromHostAlias,
|
|
18
|
+
resolveHostAlias
|
|
19
|
+
} from "./chunk-W4NIQY7M.js";
|
|
17
20
|
|
|
18
21
|
// src/provider-meta.ts
|
|
19
22
|
var PROVIDER_META = [
|
|
20
23
|
{ id: "openai", name: "OpenAI", host: "api.openai.com", color: "#10a37f" },
|
|
21
|
-
{
|
|
22
|
-
|
|
24
|
+
{
|
|
25
|
+
id: "anthropic",
|
|
26
|
+
name: "Anthropic",
|
|
27
|
+
host: "api.anthropic.com",
|
|
28
|
+
color: "#e8956a"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "google",
|
|
32
|
+
name: "Google",
|
|
33
|
+
host: "generativelanguage.googleapis.com",
|
|
34
|
+
color: "#4285f4"
|
|
35
|
+
},
|
|
23
36
|
{ id: "mistral", name: "Mistral", host: "api.mistral.ai", color: "#ff7000" },
|
|
24
37
|
{ id: "cohere", name: "Cohere", host: "api.cohere.com", color: "#39594d" },
|
|
25
|
-
{
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
{
|
|
39
|
+
id: "bedrock",
|
|
40
|
+
name: "Bedrock",
|
|
41
|
+
host: "bedrock-runtime.us-east-1.amazonaws.com",
|
|
42
|
+
color: "#ff9900"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "openrouter",
|
|
46
|
+
name: "OpenRouter",
|
|
47
|
+
host: "openrouter.ai",
|
|
48
|
+
color: "#818cf8"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "vercel",
|
|
52
|
+
name: "Vercel",
|
|
53
|
+
host: "gateway.ai.vercel.app",
|
|
54
|
+
color: "#ededed"
|
|
55
|
+
}
|
|
28
56
|
];
|
|
29
57
|
var MODELS = {
|
|
30
58
|
openai: [
|
|
@@ -89,99 +117,387 @@ var MODELS = {
|
|
|
89
117
|
};
|
|
90
118
|
var CANONICAL_PARAM_SPECS = {
|
|
91
119
|
openai: {
|
|
92
|
-
temperature: {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
120
|
+
temperature: {
|
|
121
|
+
type: "number",
|
|
122
|
+
min: 0,
|
|
123
|
+
max: 2,
|
|
124
|
+
default: 0.7,
|
|
125
|
+
description: "Controls randomness"
|
|
126
|
+
},
|
|
127
|
+
max_tokens: {
|
|
128
|
+
type: "number",
|
|
129
|
+
min: 1,
|
|
130
|
+
default: 4096,
|
|
131
|
+
description: "Maximum output tokens"
|
|
132
|
+
},
|
|
133
|
+
top_p: {
|
|
134
|
+
type: "number",
|
|
135
|
+
min: 0,
|
|
136
|
+
max: 1,
|
|
137
|
+
default: 1,
|
|
138
|
+
description: "Nucleus sampling"
|
|
139
|
+
},
|
|
140
|
+
frequency_penalty: {
|
|
141
|
+
type: "number",
|
|
142
|
+
min: -2,
|
|
143
|
+
max: 2,
|
|
144
|
+
default: 0,
|
|
145
|
+
description: "Penalize frequent tokens"
|
|
146
|
+
},
|
|
147
|
+
presence_penalty: {
|
|
148
|
+
type: "number",
|
|
149
|
+
min: -2,
|
|
150
|
+
max: 2,
|
|
151
|
+
default: 0,
|
|
152
|
+
description: "Penalize repeated topics"
|
|
153
|
+
},
|
|
97
154
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
98
155
|
n: { type: "number", min: 1, default: 1, description: "Completions count" },
|
|
99
156
|
seed: { type: "number", default: "", description: "Random seed" },
|
|
100
157
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
101
|
-
effort: {
|
|
158
|
+
effort: {
|
|
159
|
+
type: "enum",
|
|
160
|
+
values: ["none", "minimal", "low", "medium", "high", "xhigh"],
|
|
161
|
+
default: "medium",
|
|
162
|
+
description: "Reasoning effort"
|
|
163
|
+
}
|
|
102
164
|
},
|
|
103
165
|
anthropic: {
|
|
104
|
-
temperature: {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
166
|
+
temperature: {
|
|
167
|
+
type: "number",
|
|
168
|
+
min: 0,
|
|
169
|
+
max: 1,
|
|
170
|
+
default: 0.7,
|
|
171
|
+
description: "Controls randomness"
|
|
172
|
+
},
|
|
173
|
+
max_tokens: {
|
|
174
|
+
type: "number",
|
|
175
|
+
min: 1,
|
|
176
|
+
default: 4096,
|
|
177
|
+
description: "Maximum output tokens"
|
|
178
|
+
},
|
|
179
|
+
top_p: {
|
|
180
|
+
type: "number",
|
|
181
|
+
min: 0,
|
|
182
|
+
max: 1,
|
|
183
|
+
default: 1,
|
|
184
|
+
description: "Nucleus sampling"
|
|
185
|
+
},
|
|
186
|
+
top_k: {
|
|
187
|
+
type: "number",
|
|
188
|
+
min: 0,
|
|
189
|
+
default: 40,
|
|
190
|
+
description: "Top-K sampling"
|
|
191
|
+
},
|
|
108
192
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
109
193
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
110
|
-
effort: {
|
|
111
|
-
|
|
112
|
-
|
|
194
|
+
effort: {
|
|
195
|
+
type: "enum",
|
|
196
|
+
values: ["low", "medium", "high", "max"],
|
|
197
|
+
default: "medium",
|
|
198
|
+
description: "Thinking effort"
|
|
199
|
+
},
|
|
200
|
+
cache: {
|
|
201
|
+
type: "enum",
|
|
202
|
+
values: ["ephemeral"],
|
|
203
|
+
default: "ephemeral",
|
|
204
|
+
description: "Cache control"
|
|
205
|
+
},
|
|
206
|
+
cache_ttl: {
|
|
207
|
+
type: "enum",
|
|
208
|
+
values: ["5m", "1h"],
|
|
209
|
+
default: "5m",
|
|
210
|
+
description: "Cache TTL"
|
|
211
|
+
}
|
|
113
212
|
},
|
|
114
213
|
google: {
|
|
115
|
-
temperature: {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
214
|
+
temperature: {
|
|
215
|
+
type: "number",
|
|
216
|
+
min: 0,
|
|
217
|
+
max: 2,
|
|
218
|
+
default: 0.7,
|
|
219
|
+
description: "Controls randomness"
|
|
220
|
+
},
|
|
221
|
+
max_tokens: {
|
|
222
|
+
type: "number",
|
|
223
|
+
min: 1,
|
|
224
|
+
default: 4096,
|
|
225
|
+
description: "Maximum output tokens"
|
|
226
|
+
},
|
|
227
|
+
top_p: {
|
|
228
|
+
type: "number",
|
|
229
|
+
min: 0,
|
|
230
|
+
max: 1,
|
|
231
|
+
default: 1,
|
|
232
|
+
description: "Nucleus sampling"
|
|
233
|
+
},
|
|
234
|
+
top_k: {
|
|
235
|
+
type: "number",
|
|
236
|
+
min: 0,
|
|
237
|
+
default: 40,
|
|
238
|
+
description: "Top-K sampling"
|
|
239
|
+
},
|
|
240
|
+
frequency_penalty: {
|
|
241
|
+
type: "number",
|
|
242
|
+
min: -2,
|
|
243
|
+
max: 2,
|
|
244
|
+
default: 0,
|
|
245
|
+
description: "Penalize frequent tokens"
|
|
246
|
+
},
|
|
247
|
+
presence_penalty: {
|
|
248
|
+
type: "number",
|
|
249
|
+
min: -2,
|
|
250
|
+
max: 2,
|
|
251
|
+
default: 0,
|
|
252
|
+
description: "Penalize repeated topics"
|
|
253
|
+
},
|
|
121
254
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
122
255
|
n: { type: "number", min: 1, default: 1, description: "Candidate count" },
|
|
123
256
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
124
257
|
seed: { type: "number", default: "", description: "Random seed" }
|
|
125
258
|
},
|
|
126
259
|
mistral: {
|
|
127
|
-
temperature: {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
260
|
+
temperature: {
|
|
261
|
+
type: "number",
|
|
262
|
+
min: 0,
|
|
263
|
+
max: 1,
|
|
264
|
+
default: 0.7,
|
|
265
|
+
description: "Controls randomness"
|
|
266
|
+
},
|
|
267
|
+
max_tokens: {
|
|
268
|
+
type: "number",
|
|
269
|
+
min: 1,
|
|
270
|
+
default: 4096,
|
|
271
|
+
description: "Maximum output tokens"
|
|
272
|
+
},
|
|
273
|
+
top_p: {
|
|
274
|
+
type: "number",
|
|
275
|
+
min: 0,
|
|
276
|
+
max: 1,
|
|
277
|
+
default: 1,
|
|
278
|
+
description: "Nucleus sampling"
|
|
279
|
+
},
|
|
280
|
+
frequency_penalty: {
|
|
281
|
+
type: "number",
|
|
282
|
+
min: -2,
|
|
283
|
+
max: 2,
|
|
284
|
+
default: 0,
|
|
285
|
+
description: "Penalize frequent tokens"
|
|
286
|
+
},
|
|
287
|
+
presence_penalty: {
|
|
288
|
+
type: "number",
|
|
289
|
+
min: -2,
|
|
290
|
+
max: 2,
|
|
291
|
+
default: 0,
|
|
292
|
+
description: "Penalize repeated topics"
|
|
293
|
+
},
|
|
132
294
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
133
295
|
n: { type: "number", min: 1, default: 1, description: "Completions count" },
|
|
134
296
|
seed: { type: "number", default: "", description: "Random seed" },
|
|
135
297
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
136
|
-
safe_prompt: {
|
|
137
|
-
|
|
298
|
+
safe_prompt: {
|
|
299
|
+
type: "boolean",
|
|
300
|
+
default: false,
|
|
301
|
+
description: "Enable safe prompt"
|
|
302
|
+
},
|
|
303
|
+
min_tokens: {
|
|
304
|
+
type: "number",
|
|
305
|
+
min: 0,
|
|
306
|
+
default: 0,
|
|
307
|
+
description: "Minimum tokens"
|
|
308
|
+
}
|
|
138
309
|
},
|
|
139
310
|
cohere: {
|
|
140
|
-
temperature: {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
311
|
+
temperature: {
|
|
312
|
+
type: "number",
|
|
313
|
+
min: 0,
|
|
314
|
+
max: 1,
|
|
315
|
+
default: 0.7,
|
|
316
|
+
description: "Controls randomness"
|
|
317
|
+
},
|
|
318
|
+
max_tokens: {
|
|
319
|
+
type: "number",
|
|
320
|
+
min: 1,
|
|
321
|
+
default: 4096,
|
|
322
|
+
description: "Maximum output tokens"
|
|
323
|
+
},
|
|
324
|
+
top_p: {
|
|
325
|
+
type: "number",
|
|
326
|
+
min: 0,
|
|
327
|
+
max: 1,
|
|
328
|
+
default: 1,
|
|
329
|
+
description: "Nucleus sampling (p)"
|
|
330
|
+
},
|
|
331
|
+
top_k: {
|
|
332
|
+
type: "number",
|
|
333
|
+
min: 0,
|
|
334
|
+
max: 500,
|
|
335
|
+
default: 40,
|
|
336
|
+
description: "Top-K sampling (k)"
|
|
337
|
+
},
|
|
338
|
+
frequency_penalty: {
|
|
339
|
+
type: "number",
|
|
340
|
+
min: 0,
|
|
341
|
+
max: 1,
|
|
342
|
+
default: 0,
|
|
343
|
+
description: "Penalize frequent tokens"
|
|
344
|
+
},
|
|
345
|
+
presence_penalty: {
|
|
346
|
+
type: "number",
|
|
347
|
+
min: 0,
|
|
348
|
+
max: 1,
|
|
349
|
+
default: 0,
|
|
350
|
+
description: "Penalize repeated topics"
|
|
351
|
+
},
|
|
146
352
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
147
353
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
148
354
|
seed: { type: "number", default: "", description: "Random seed" }
|
|
149
355
|
},
|
|
150
356
|
bedrock: {
|
|
151
|
-
temperature: {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
357
|
+
temperature: {
|
|
358
|
+
type: "number",
|
|
359
|
+
min: 0,
|
|
360
|
+
max: 1,
|
|
361
|
+
default: 0.7,
|
|
362
|
+
description: "Controls randomness"
|
|
363
|
+
},
|
|
364
|
+
max_tokens: {
|
|
365
|
+
type: "number",
|
|
366
|
+
min: 1,
|
|
367
|
+
default: 4096,
|
|
368
|
+
description: "Maximum output tokens"
|
|
369
|
+
},
|
|
370
|
+
top_p: {
|
|
371
|
+
type: "number",
|
|
372
|
+
min: 0,
|
|
373
|
+
max: 1,
|
|
374
|
+
default: 1,
|
|
375
|
+
description: "Nucleus sampling"
|
|
376
|
+
},
|
|
377
|
+
top_k: {
|
|
378
|
+
type: "number",
|
|
379
|
+
min: 0,
|
|
380
|
+
default: 40,
|
|
381
|
+
description: "Top-K sampling"
|
|
382
|
+
},
|
|
155
383
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
156
384
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
157
|
-
cache: {
|
|
158
|
-
|
|
385
|
+
cache: {
|
|
386
|
+
type: "enum",
|
|
387
|
+
values: ["ephemeral"],
|
|
388
|
+
default: "ephemeral",
|
|
389
|
+
description: "Cache control"
|
|
390
|
+
},
|
|
391
|
+
cache_ttl: {
|
|
392
|
+
type: "enum",
|
|
393
|
+
values: ["5m", "1h"],
|
|
394
|
+
default: "5m",
|
|
395
|
+
description: "Cache TTL"
|
|
396
|
+
}
|
|
159
397
|
},
|
|
160
398
|
openrouter: {
|
|
161
|
-
temperature: {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
399
|
+
temperature: {
|
|
400
|
+
type: "number",
|
|
401
|
+
min: 0,
|
|
402
|
+
max: 2,
|
|
403
|
+
default: 0.7,
|
|
404
|
+
description: "Controls randomness"
|
|
405
|
+
},
|
|
406
|
+
max_tokens: {
|
|
407
|
+
type: "number",
|
|
408
|
+
min: 1,
|
|
409
|
+
default: 4096,
|
|
410
|
+
description: "Maximum output tokens"
|
|
411
|
+
},
|
|
412
|
+
top_p: {
|
|
413
|
+
type: "number",
|
|
414
|
+
min: 0,
|
|
415
|
+
max: 1,
|
|
416
|
+
default: 1,
|
|
417
|
+
description: "Nucleus sampling"
|
|
418
|
+
},
|
|
419
|
+
top_k: {
|
|
420
|
+
type: "number",
|
|
421
|
+
min: 0,
|
|
422
|
+
default: 40,
|
|
423
|
+
description: "Top-K sampling"
|
|
424
|
+
},
|
|
425
|
+
frequency_penalty: {
|
|
426
|
+
type: "number",
|
|
427
|
+
min: -2,
|
|
428
|
+
max: 2,
|
|
429
|
+
default: 0,
|
|
430
|
+
description: "Penalize frequent tokens"
|
|
431
|
+
},
|
|
432
|
+
presence_penalty: {
|
|
433
|
+
type: "number",
|
|
434
|
+
min: -2,
|
|
435
|
+
max: 2,
|
|
436
|
+
default: 0,
|
|
437
|
+
description: "Penalize repeated topics"
|
|
438
|
+
},
|
|
167
439
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
168
440
|
n: { type: "number", min: 1, default: 1, description: "Completions count" },
|
|
169
441
|
seed: { type: "number", default: "", description: "Random seed" },
|
|
170
442
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
171
|
-
effort: {
|
|
443
|
+
effort: {
|
|
444
|
+
type: "enum",
|
|
445
|
+
values: ["none", "minimal", "low", "medium", "high", "xhigh"],
|
|
446
|
+
default: "medium",
|
|
447
|
+
description: "Reasoning effort"
|
|
448
|
+
}
|
|
172
449
|
},
|
|
173
450
|
vercel: {
|
|
174
|
-
temperature: {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
451
|
+
temperature: {
|
|
452
|
+
type: "number",
|
|
453
|
+
min: 0,
|
|
454
|
+
max: 2,
|
|
455
|
+
default: 0.7,
|
|
456
|
+
description: "Controls randomness"
|
|
457
|
+
},
|
|
458
|
+
max_tokens: {
|
|
459
|
+
type: "number",
|
|
460
|
+
min: 1,
|
|
461
|
+
default: 4096,
|
|
462
|
+
description: "Maximum output tokens"
|
|
463
|
+
},
|
|
464
|
+
top_p: {
|
|
465
|
+
type: "number",
|
|
466
|
+
min: 0,
|
|
467
|
+
max: 1,
|
|
468
|
+
default: 1,
|
|
469
|
+
description: "Nucleus sampling"
|
|
470
|
+
},
|
|
471
|
+
top_k: {
|
|
472
|
+
type: "number",
|
|
473
|
+
min: 0,
|
|
474
|
+
default: 40,
|
|
475
|
+
description: "Top-K sampling"
|
|
476
|
+
},
|
|
477
|
+
frequency_penalty: {
|
|
478
|
+
type: "number",
|
|
479
|
+
min: -2,
|
|
480
|
+
max: 2,
|
|
481
|
+
default: 0,
|
|
482
|
+
description: "Penalize frequent tokens"
|
|
483
|
+
},
|
|
484
|
+
presence_penalty: {
|
|
485
|
+
type: "number",
|
|
486
|
+
min: -2,
|
|
487
|
+
max: 2,
|
|
488
|
+
default: 0,
|
|
489
|
+
description: "Penalize repeated topics"
|
|
490
|
+
},
|
|
180
491
|
stop: { type: "string", default: "", description: "Stop sequences" },
|
|
181
492
|
n: { type: "number", min: 1, default: 1, description: "Completions count" },
|
|
182
493
|
seed: { type: "number", default: "", description: "Random seed" },
|
|
183
494
|
stream: { type: "boolean", default: false, description: "Stream response" },
|
|
184
|
-
effort: {
|
|
495
|
+
effort: {
|
|
496
|
+
type: "enum",
|
|
497
|
+
values: ["none", "minimal", "low", "medium", "high", "xhigh"],
|
|
498
|
+
default: "medium",
|
|
499
|
+
description: "Reasoning effort"
|
|
500
|
+
}
|
|
185
501
|
}
|
|
186
502
|
};
|
|
187
503
|
export {
|
|
@@ -190,6 +506,7 @@ export {
|
|
|
190
506
|
CACHE_VALUES,
|
|
191
507
|
CANONICAL_PARAM_SPECS,
|
|
192
508
|
DURATION_RE,
|
|
509
|
+
HOST_ALIASES,
|
|
193
510
|
MODELS,
|
|
194
511
|
PARAM_SPECS,
|
|
195
512
|
PROVIDER_META,
|
|
@@ -201,6 +518,8 @@ export {
|
|
|
201
518
|
detectGatewaySubProvider,
|
|
202
519
|
detectProvider,
|
|
203
520
|
isGatewayProvider,
|
|
204
|
-
isReasoningModel
|
|
521
|
+
isReasoningModel,
|
|
522
|
+
providerFromHostAlias,
|
|
523
|
+
resolveHostAlias
|
|
205
524
|
};
|
|
206
525
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/provider-meta.ts"],"sourcesContent":["import type { Provider } from \"./provider-core.js\";\n\n/* ------------------------------------------------------------------ */\n/* UI-consumable metadata for 3rd-party integrations */\n/* ------------------------------------------------------------------ */\n\nexport interface ProviderMeta {\n /** Provider identifier — matches the Provider union type. */\n id: Provider;\n /** Human-readable display name. */\n name: string;\n /** Default / canonical API hostname. */\n host: string;\n /** Brand color as a CSS hex value. */\n color: string;\n}\n\nexport const PROVIDER_META: ProviderMeta[] = [\n { id: \"openai\", name: \"OpenAI\", host: \"api.openai.com\", color: \"#10a37f\" },\n { id: \"anthropic\", name: \"Anthropic\", host: \"api.anthropic.com\", color: \"#e8956a\" },\n { id: \"google\", name: \"Google\", host: \"generativelanguage.googleapis.com\", color: \"#4285f4\" },\n { id: \"mistral\", name: \"Mistral\", host: \"api.mistral.ai\", color: \"#ff7000\" },\n { id: \"cohere\", name: \"Cohere\", host: \"api.cohere.com\", color: \"#39594d\" },\n { id: \"bedrock\", name: \"Bedrock\", host: \"bedrock-runtime.us-east-1.amazonaws.com\", color: \"#ff9900\" },\n { id: \"openrouter\", name: \"OpenRouter\", host: \"openrouter.ai\", color: \"#818cf8\" },\n { id: \"vercel\", name: \"Vercel\", host: \"gateway.ai.vercel.app\", color: \"#ededed\" },\n];\n\n/**\n * Suggested / common model IDs per provider, ordered by recency.\n * Not exhaustive — providers add models frequently.\n */\nexport const MODELS: Record<Provider, string[]> = {\n openai: [\n \"gpt-5.2\", \"gpt-5.2-pro\",\n \"gpt-4.1\", \"gpt-4.1-mini\", \"gpt-4.1-nano\",\n \"o3\", \"o3-mini\", \"o4-mini\", \"o1-pro\",\n ],\n anthropic: [\n \"claude-opus-4-6\", \"claude-sonnet-4-6\",\n \"claude-sonnet-4-5\", \"claude-haiku-4-5\",\n ],\n google: [\n \"gemini-3-pro-preview\", \"gemini-3-flash-preview\",\n \"gemini-2.5-pro\", \"gemini-2.5-flash\",\n ],\n mistral: [\n \"mistral-large-latest\", \"mistral-medium-latest\",\n \"mistral-small-latest\", \"codestral-latest\",\n \"magistral-medium-latest\",\n ],\n cohere: [\n \"command-a-03-2025\",\n \"command-r-plus-08-2024\", \"command-r-08-2024\",\n \"command-r7b-12-2024\",\n ],\n bedrock: [\n \"anthropic.claude-opus-4-6-v1\", \"anthropic.claude-sonnet-4-6-v1\",\n \"anthropic.claude-haiku-4-5-v1\",\n \"amazon.nova-pro-v1\", \"amazon.nova-lite-v1\",\n \"meta.llama3-70b-instruct-v1:0\",\n ],\n openrouter: [\n \"openai/gpt-5.2\", \"anthropic/claude-opus-4-6\",\n \"google/gemini-2.5-pro\", \"mistral/mistral-large-latest\",\n ],\n vercel: [\n \"openai/gpt-5.2\", \"anthropic/claude-opus-4-6\",\n \"google/gemini-2.5-pro\", \"google/gemini-3-pro-preview\",\n \"google/gemini-3-flash-preview\", \"mistral/mistral-large-latest\",\n \"qwen/qwen2.5-pro\",\n ],\n};\n\n/**\n * Canonical parameter spec — keyed by canonical (snake_case) param names\n * with defaults and descriptions for UI consumption.\n */\nexport interface CanonicalParamSpec {\n type: \"number\" | \"string\" | \"boolean\" | \"enum\";\n min?: number;\n max?: number;\n values?: string[];\n default?: string | number | boolean;\n description?: string;\n}\n\nexport const CANONICAL_PARAM_SPECS: Record<Provider, Record<string, CanonicalParamSpec>> = {\n openai: {\n temperature: { type: \"number\", min: 0, max: 2, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n frequency_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: { type: \"enum\", values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"], default: \"medium\", description: \"Reasoning effort\" },\n },\n anthropic: {\n temperature: { type: \"number\", min: 0, max: 1, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n top_k: { type: \"number\", min: 0, default: 40, description: \"Top-K sampling\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: { type: \"enum\", values: [\"low\", \"medium\", \"high\", \"max\"], default: \"medium\", description: \"Thinking effort\" },\n cache: { type: \"enum\", values: [\"ephemeral\"], default: \"ephemeral\", description: \"Cache control\" },\n cache_ttl: { type: \"enum\", values: [\"5m\", \"1h\"], default: \"5m\", description: \"Cache TTL\" },\n },\n google: {\n temperature: { type: \"number\", min: 0, max: 2, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n top_k: { type: \"number\", min: 0, default: 40, description: \"Top-K sampling\" },\n frequency_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Candidate count\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n },\n mistral: {\n temperature: { type: \"number\", min: 0, max: 1, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n frequency_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n safe_prompt: { type: \"boolean\", default: false, description: \"Enable safe prompt\" },\n min_tokens: { type: \"number\", min: 0, default: 0, description: \"Minimum tokens\" },\n },\n cohere: {\n temperature: { type: \"number\", min: 0, max: 1, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling (p)\" },\n top_k: { type: \"number\", min: 0, max: 500, default: 40, description: \"Top-K sampling (k)\" },\n frequency_penalty: { type: \"number\", min: 0, max: 1, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: 0, max: 1, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n },\n bedrock: {\n temperature: { type: \"number\", min: 0, max: 1, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n top_k: { type: \"number\", min: 0, default: 40, description: \"Top-K sampling\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n cache: { type: \"enum\", values: [\"ephemeral\"], default: \"ephemeral\", description: \"Cache control\" },\n cache_ttl: { type: \"enum\", values: [\"5m\", \"1h\"], default: \"5m\", description: \"Cache TTL\" },\n },\n openrouter: {\n temperature: { type: \"number\", min: 0, max: 2, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n top_k: { type: \"number\", min: 0, default: 40, description: \"Top-K sampling\" },\n frequency_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: { type: \"enum\", values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"], default: \"medium\", description: \"Reasoning effort\" },\n },\n vercel: {\n temperature: { type: \"number\", min: 0, max: 2, default: 0.7, description: \"Controls randomness\" },\n max_tokens: { type: \"number\", min: 1, default: 4096, description: \"Maximum output tokens\" },\n top_p: { type: \"number\", min: 0, max: 1, default: 1, description: \"Nucleus sampling\" },\n top_k: { type: \"number\", min: 0, default: 40, description: \"Top-K sampling\" },\n frequency_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize frequent tokens\" },\n presence_penalty: { type: \"number\", min: -2, max: 2, default: 0, description: \"Penalize repeated topics\" },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: { type: \"enum\", values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"], default: \"medium\", description: \"Reasoning effort\" },\n },\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/provider-meta.ts"],"sourcesContent":["import type { Provider } from \"./provider-core.js\";\n\n/* ------------------------------------------------------------------ */\n/* UI-consumable metadata for 3rd-party integrations */\n/* ------------------------------------------------------------------ */\n\nexport interface ProviderMeta {\n /** Provider identifier — matches the Provider union type. */\n id: Provider;\n /** Human-readable display name. */\n name: string;\n /** Default / canonical API hostname. */\n host: string;\n /** Brand color as a CSS hex value. */\n color: string;\n}\n\nexport const PROVIDER_META: ProviderMeta[] = [\n { id: \"openai\", name: \"OpenAI\", host: \"api.openai.com\", color: \"#10a37f\" },\n {\n id: \"anthropic\",\n name: \"Anthropic\",\n host: \"api.anthropic.com\",\n color: \"#e8956a\",\n },\n {\n id: \"google\",\n name: \"Google\",\n host: \"generativelanguage.googleapis.com\",\n color: \"#4285f4\",\n },\n { id: \"mistral\", name: \"Mistral\", host: \"api.mistral.ai\", color: \"#ff7000\" },\n { id: \"cohere\", name: \"Cohere\", host: \"api.cohere.com\", color: \"#39594d\" },\n {\n id: \"bedrock\",\n name: \"Bedrock\",\n host: \"bedrock-runtime.us-east-1.amazonaws.com\",\n color: \"#ff9900\",\n },\n {\n id: \"openrouter\",\n name: \"OpenRouter\",\n host: \"openrouter.ai\",\n color: \"#818cf8\",\n },\n {\n id: \"vercel\",\n name: \"Vercel\",\n host: \"gateway.ai.vercel.app\",\n color: \"#ededed\",\n },\n];\n\n/**\n * Suggested / common model IDs per provider, ordered by recency.\n * Not exhaustive — providers add models frequently.\n */\nexport const MODELS: Record<Provider, string[]> = {\n openai: [\n \"gpt-5.2\",\n \"gpt-5.2-pro\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"o3\",\n \"o3-mini\",\n \"o4-mini\",\n \"o1-pro\",\n ],\n anthropic: [\n \"claude-opus-4-6\",\n \"claude-sonnet-4-6\",\n \"claude-sonnet-4-5\",\n \"claude-haiku-4-5\",\n ],\n google: [\n \"gemini-3-pro-preview\",\n \"gemini-3-flash-preview\",\n \"gemini-2.5-pro\",\n \"gemini-2.5-flash\",\n ],\n mistral: [\n \"mistral-large-latest\",\n \"mistral-medium-latest\",\n \"mistral-small-latest\",\n \"codestral-latest\",\n \"magistral-medium-latest\",\n ],\n cohere: [\n \"command-a-03-2025\",\n \"command-r-plus-08-2024\",\n \"command-r-08-2024\",\n \"command-r7b-12-2024\",\n ],\n bedrock: [\n \"anthropic.claude-opus-4-6-v1\",\n \"anthropic.claude-sonnet-4-6-v1\",\n \"anthropic.claude-haiku-4-5-v1\",\n \"amazon.nova-pro-v1\",\n \"amazon.nova-lite-v1\",\n \"meta.llama3-70b-instruct-v1:0\",\n ],\n openrouter: [\n \"openai/gpt-5.2\",\n \"anthropic/claude-opus-4-6\",\n \"google/gemini-2.5-pro\",\n \"mistral/mistral-large-latest\",\n ],\n vercel: [\n \"openai/gpt-5.2\",\n \"anthropic/claude-opus-4-6\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3-flash-preview\",\n \"mistral/mistral-large-latest\",\n \"qwen/qwen2.5-pro\",\n ],\n};\n\n/**\n * Canonical parameter spec — keyed by canonical (snake_case) param names\n * with defaults and descriptions for UI consumption.\n */\nexport interface CanonicalParamSpec {\n type: \"number\" | \"string\" | \"boolean\" | \"enum\";\n min?: number;\n max?: number;\n values?: string[];\n default?: string | number | boolean;\n description?: string;\n}\n\nexport const CANONICAL_PARAM_SPECS: Record<\n Provider,\n Record<string, CanonicalParamSpec>\n> = {\n openai: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 2,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n frequency_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: {\n type: \"enum\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n default: \"medium\",\n description: \"Reasoning effort\",\n },\n },\n anthropic: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n default: 40,\n description: \"Top-K sampling\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: {\n type: \"enum\",\n values: [\"low\", \"medium\", \"high\", \"max\"],\n default: \"medium\",\n description: \"Thinking effort\",\n },\n cache: {\n type: \"enum\",\n values: [\"ephemeral\"],\n default: \"ephemeral\",\n description: \"Cache control\",\n },\n cache_ttl: {\n type: \"enum\",\n values: [\"5m\", \"1h\"],\n default: \"5m\",\n description: \"Cache TTL\",\n },\n },\n google: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 2,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n default: 40,\n description: \"Top-K sampling\",\n },\n frequency_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Candidate count\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n },\n mistral: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n frequency_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n safe_prompt: {\n type: \"boolean\",\n default: false,\n description: \"Enable safe prompt\",\n },\n min_tokens: {\n type: \"number\",\n min: 0,\n default: 0,\n description: \"Minimum tokens\",\n },\n },\n cohere: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling (p)\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n max: 500,\n default: 40,\n description: \"Top-K sampling (k)\",\n },\n frequency_penalty: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n },\n bedrock: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n default: 40,\n description: \"Top-K sampling\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n cache: {\n type: \"enum\",\n values: [\"ephemeral\"],\n default: \"ephemeral\",\n description: \"Cache control\",\n },\n cache_ttl: {\n type: \"enum\",\n values: [\"5m\", \"1h\"],\n default: \"5m\",\n description: \"Cache TTL\",\n },\n },\n openrouter: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 2,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n default: 40,\n description: \"Top-K sampling\",\n },\n frequency_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: {\n type: \"enum\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n default: \"medium\",\n description: \"Reasoning effort\",\n },\n },\n vercel: {\n temperature: {\n type: \"number\",\n min: 0,\n max: 2,\n default: 0.7,\n description: \"Controls randomness\",\n },\n max_tokens: {\n type: \"number\",\n min: 1,\n default: 4096,\n description: \"Maximum output tokens\",\n },\n top_p: {\n type: \"number\",\n min: 0,\n max: 1,\n default: 1,\n description: \"Nucleus sampling\",\n },\n top_k: {\n type: \"number\",\n min: 0,\n default: 40,\n description: \"Top-K sampling\",\n },\n frequency_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize frequent tokens\",\n },\n presence_penalty: {\n type: \"number\",\n min: -2,\n max: 2,\n default: 0,\n description: \"Penalize repeated topics\",\n },\n stop: { type: \"string\", default: \"\", description: \"Stop sequences\" },\n n: { type: \"number\", min: 1, default: 1, description: \"Completions count\" },\n seed: { type: \"number\", default: \"\", description: \"Random seed\" },\n stream: { type: \"boolean\", default: false, description: \"Stream response\" },\n effort: {\n type: \"enum\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n default: \"medium\",\n description: \"Reasoning effort\",\n },\n },\n};\n"],"mappings":"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","names":[]}
|