llm-strings 1.0.1 → 1.1.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/README.md +95 -14
- package/dist/chunk-FCEV23OT.js +37 -0
- package/dist/chunk-FCEV23OT.js.map +1 -0
- package/dist/chunk-MGWGNZDJ.cjs +116 -0
- package/dist/chunk-MGWGNZDJ.cjs.map +1 -0
- package/dist/chunk-MPIHGH6L.js +116 -0
- package/dist/chunk-MPIHGH6L.js.map +1 -0
- package/dist/chunk-N6NVBE43.cjs +37 -0
- package/dist/chunk-N6NVBE43.cjs.map +1 -0
- package/dist/chunk-NSCBY4VD.cjs +370 -0
- package/dist/chunk-NSCBY4VD.cjs.map +1 -0
- package/dist/chunk-RSUXM42X.cjs +180 -0
- package/dist/chunk-RSUXM42X.cjs.map +1 -0
- package/dist/chunk-UYMVUTLV.js +180 -0
- package/dist/chunk-UYMVUTLV.js.map +1 -0
- package/dist/chunk-XID353H7.js +370 -0
- package/dist/chunk-XID353H7.js.map +1 -0
- package/dist/index.cjs +12 -806
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -80
- package/dist/index.d.ts +4 -80
- package/dist/index.js +11 -764
- package/dist/index.js.map +1 -1
- package/dist/normalize.cjs +8 -0
- package/dist/normalize.cjs.map +1 -0
- package/dist/normalize.d.cts +33 -0
- package/dist/normalize.d.ts +33 -0
- package/dist/normalize.js +8 -0
- package/dist/normalize.js.map +1 -0
- package/dist/parse.cjs +9 -0
- package/dist/parse.cjs.map +1 -0
- package/dist/parse.d.cts +32 -0
- package/dist/parse.d.ts +32 -0
- package/dist/parse.js +9 -0
- package/dist/parse.js.map +1 -0
- package/dist/provider-core-DinpG40u.d.cts +53 -0
- package/dist/provider-core-DinpG40u.d.ts +53 -0
- package/dist/providers.cjs +37 -392
- package/dist/providers.cjs.map +1 -1
- package/dist/providers.d.cts +4 -42
- package/dist/providers.d.ts +4 -42
- package/dist/providers.js +20 -336
- package/dist/providers.js.map +1 -1
- package/dist/validate.cjs +10 -0
- package/dist/validate.cjs.map +1 -0
- package/dist/validate.d.cts +21 -0
- package/dist/validate.d.ts +21 -0
- package/dist/validate.js +10 -0
- package/dist/validate.js.map +1 -0
- package/package.json +33 -1
package/dist/providers.cjs
CHANGED
|
@@ -1,377 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// src/providers.ts
|
|
21
|
-
var providers_exports = {};
|
|
22
|
-
__export(providers_exports, {
|
|
23
|
-
ALIASES: () => ALIASES,
|
|
24
|
-
CACHE_TTLS: () => CACHE_TTLS,
|
|
25
|
-
CACHE_VALUES: () => CACHE_VALUES,
|
|
26
|
-
CANONICAL_PARAM_SPECS: () => CANONICAL_PARAM_SPECS,
|
|
27
|
-
DURATION_RE: () => DURATION_RE,
|
|
28
|
-
MODELS: () => MODELS,
|
|
29
|
-
PARAM_SPECS: () => PARAM_SPECS,
|
|
30
|
-
PROVIDER_META: () => PROVIDER_META,
|
|
31
|
-
PROVIDER_PARAMS: () => PROVIDER_PARAMS,
|
|
32
|
-
REASONING_MODEL_UNSUPPORTED: () => REASONING_MODEL_UNSUPPORTED,
|
|
33
|
-
bedrockSupportsCaching: () => bedrockSupportsCaching,
|
|
34
|
-
canHostOpenAIModels: () => canHostOpenAIModels,
|
|
35
|
-
detectBedrockModelFamily: () => detectBedrockModelFamily,
|
|
36
|
-
detectProvider: () => detectProvider,
|
|
37
|
-
isReasoningModel: () => isReasoningModel
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(providers_exports);
|
|
40
|
-
function detectProvider(host) {
|
|
41
|
-
if (host.includes("openrouter")) return "openrouter";
|
|
42
|
-
if (host.includes("gateway.ai.vercel")) return "vercel";
|
|
43
|
-
if (host.includes("amazonaws") || host.includes("bedrock")) return "bedrock";
|
|
44
|
-
if (host.includes("openai")) return "openai";
|
|
45
|
-
if (host.includes("anthropic") || host.includes("claude")) return "anthropic";
|
|
46
|
-
if (host.includes("googleapis") || host.includes("google")) return "google";
|
|
47
|
-
if (host.includes("mistral")) return "mistral";
|
|
48
|
-
if (host.includes("cohere")) return "cohere";
|
|
49
|
-
return void 0;
|
|
50
|
-
}
|
|
51
|
-
var ALIASES = {
|
|
52
|
-
// temperature
|
|
53
|
-
temp: "temperature",
|
|
54
|
-
// max_tokens
|
|
55
|
-
max: "max_tokens",
|
|
56
|
-
max_out: "max_tokens",
|
|
57
|
-
max_output: "max_tokens",
|
|
58
|
-
max_output_tokens: "max_tokens",
|
|
59
|
-
max_completion_tokens: "max_tokens",
|
|
60
|
-
maxOutputTokens: "max_tokens",
|
|
61
|
-
maxTokens: "max_tokens",
|
|
62
|
-
// top_p
|
|
63
|
-
topp: "top_p",
|
|
64
|
-
topP: "top_p",
|
|
65
|
-
nucleus: "top_p",
|
|
66
|
-
// top_k
|
|
67
|
-
topk: "top_k",
|
|
68
|
-
topK: "top_k",
|
|
69
|
-
// frequency_penalty
|
|
70
|
-
freq: "frequency_penalty",
|
|
71
|
-
freq_penalty: "frequency_penalty",
|
|
72
|
-
frequencyPenalty: "frequency_penalty",
|
|
73
|
-
repetition_penalty: "frequency_penalty",
|
|
74
|
-
// presence_penalty
|
|
75
|
-
pres: "presence_penalty",
|
|
76
|
-
pres_penalty: "presence_penalty",
|
|
77
|
-
presencePenalty: "presence_penalty",
|
|
78
|
-
// stop
|
|
79
|
-
stop_sequences: "stop",
|
|
80
|
-
stopSequences: "stop",
|
|
81
|
-
stop_sequence: "stop",
|
|
82
|
-
// seed
|
|
83
|
-
random_seed: "seed",
|
|
84
|
-
randomSeed: "seed",
|
|
85
|
-
// n (completions count)
|
|
86
|
-
candidateCount: "n",
|
|
87
|
-
candidate_count: "n",
|
|
88
|
-
num_completions: "n",
|
|
89
|
-
// effort / reasoning
|
|
90
|
-
reasoning_effort: "effort",
|
|
91
|
-
reasoning: "effort",
|
|
92
|
-
// cache
|
|
93
|
-
cache_control: "cache",
|
|
94
|
-
cacheControl: "cache",
|
|
95
|
-
cachePoint: "cache",
|
|
96
|
-
cache_point: "cache"
|
|
97
|
-
};
|
|
98
|
-
var PROVIDER_PARAMS = {
|
|
99
|
-
openai: {
|
|
100
|
-
temperature: "temperature",
|
|
101
|
-
max_tokens: "max_tokens",
|
|
102
|
-
top_p: "top_p",
|
|
103
|
-
frequency_penalty: "frequency_penalty",
|
|
104
|
-
presence_penalty: "presence_penalty",
|
|
105
|
-
stop: "stop",
|
|
106
|
-
n: "n",
|
|
107
|
-
seed: "seed",
|
|
108
|
-
stream: "stream",
|
|
109
|
-
effort: "reasoning_effort"
|
|
110
|
-
},
|
|
111
|
-
anthropic: {
|
|
112
|
-
temperature: "temperature",
|
|
113
|
-
max_tokens: "max_tokens",
|
|
114
|
-
top_p: "top_p",
|
|
115
|
-
top_k: "top_k",
|
|
116
|
-
stop: "stop_sequences",
|
|
117
|
-
stream: "stream",
|
|
118
|
-
effort: "effort",
|
|
119
|
-
cache: "cache_control",
|
|
120
|
-
cache_ttl: "cache_ttl"
|
|
121
|
-
},
|
|
122
|
-
google: {
|
|
123
|
-
temperature: "temperature",
|
|
124
|
-
max_tokens: "maxOutputTokens",
|
|
125
|
-
top_p: "topP",
|
|
126
|
-
top_k: "topK",
|
|
127
|
-
frequency_penalty: "frequencyPenalty",
|
|
128
|
-
presence_penalty: "presencePenalty",
|
|
129
|
-
stop: "stopSequences",
|
|
130
|
-
n: "candidateCount",
|
|
131
|
-
stream: "stream",
|
|
132
|
-
seed: "seed",
|
|
133
|
-
responseMimeType: "responseMimeType",
|
|
134
|
-
responseSchema: "responseSchema"
|
|
135
|
-
},
|
|
136
|
-
mistral: {
|
|
137
|
-
temperature: "temperature",
|
|
138
|
-
max_tokens: "max_tokens",
|
|
139
|
-
top_p: "top_p",
|
|
140
|
-
frequency_penalty: "frequency_penalty",
|
|
141
|
-
presence_penalty: "presence_penalty",
|
|
142
|
-
stop: "stop",
|
|
143
|
-
n: "n",
|
|
144
|
-
seed: "random_seed",
|
|
145
|
-
stream: "stream",
|
|
146
|
-
safe_prompt: "safe_prompt",
|
|
147
|
-
min_tokens: "min_tokens"
|
|
148
|
-
},
|
|
149
|
-
cohere: {
|
|
150
|
-
temperature: "temperature",
|
|
151
|
-
max_tokens: "max_tokens",
|
|
152
|
-
top_p: "p",
|
|
153
|
-
top_k: "k",
|
|
154
|
-
frequency_penalty: "frequency_penalty",
|
|
155
|
-
presence_penalty: "presence_penalty",
|
|
156
|
-
stop: "stop_sequences",
|
|
157
|
-
stream: "stream",
|
|
158
|
-
seed: "seed"
|
|
159
|
-
},
|
|
160
|
-
bedrock: {
|
|
161
|
-
// Bedrock Converse API uses camelCase
|
|
162
|
-
temperature: "temperature",
|
|
163
|
-
max_tokens: "maxTokens",
|
|
164
|
-
top_p: "topP",
|
|
165
|
-
top_k: "topK",
|
|
166
|
-
// Claude models via additionalModelRequestFields
|
|
167
|
-
stop: "stopSequences",
|
|
168
|
-
stream: "stream",
|
|
169
|
-
cache: "cache_control",
|
|
170
|
-
cache_ttl: "cache_ttl"
|
|
171
|
-
},
|
|
172
|
-
openrouter: {
|
|
173
|
-
// OpenAI-compatible API with extra routing params
|
|
174
|
-
temperature: "temperature",
|
|
175
|
-
max_tokens: "max_tokens",
|
|
176
|
-
top_p: "top_p",
|
|
177
|
-
top_k: "top_k",
|
|
178
|
-
frequency_penalty: "frequency_penalty",
|
|
179
|
-
presence_penalty: "presence_penalty",
|
|
180
|
-
stop: "stop",
|
|
181
|
-
n: "n",
|
|
182
|
-
seed: "seed",
|
|
183
|
-
stream: "stream",
|
|
184
|
-
effort: "reasoning_effort"
|
|
185
|
-
},
|
|
186
|
-
vercel: {
|
|
187
|
-
// OpenAI-compatible gateway
|
|
188
|
-
temperature: "temperature",
|
|
189
|
-
max_tokens: "max_tokens",
|
|
190
|
-
top_p: "top_p",
|
|
191
|
-
top_k: "top_k",
|
|
192
|
-
frequency_penalty: "frequency_penalty",
|
|
193
|
-
presence_penalty: "presence_penalty",
|
|
194
|
-
stop: "stop",
|
|
195
|
-
n: "n",
|
|
196
|
-
seed: "seed",
|
|
197
|
-
stream: "stream",
|
|
198
|
-
effort: "reasoning_effort"
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
var PARAM_SPECS = {
|
|
202
|
-
openai: {
|
|
203
|
-
temperature: { type: "number", min: 0, max: 2 },
|
|
204
|
-
max_tokens: { type: "number", min: 1 },
|
|
205
|
-
top_p: { type: "number", min: 0, max: 1 },
|
|
206
|
-
frequency_penalty: { type: "number", min: -2, max: 2 },
|
|
207
|
-
presence_penalty: { type: "number", min: -2, max: 2 },
|
|
208
|
-
stop: { type: "string" },
|
|
209
|
-
n: { type: "number", min: 1 },
|
|
210
|
-
seed: { type: "number" },
|
|
211
|
-
stream: { type: "boolean" },
|
|
212
|
-
reasoning_effort: {
|
|
213
|
-
type: "string",
|
|
214
|
-
values: ["none", "minimal", "low", "medium", "high", "xhigh"]
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
anthropic: {
|
|
218
|
-
temperature: { type: "number", min: 0, max: 1 },
|
|
219
|
-
max_tokens: { type: "number", min: 1 },
|
|
220
|
-
top_p: { type: "number", min: 0, max: 1 },
|
|
221
|
-
top_k: { type: "number", min: 0 },
|
|
222
|
-
stop_sequences: { type: "string" },
|
|
223
|
-
stream: { type: "boolean" },
|
|
224
|
-
effort: { type: "string", values: ["low", "medium", "high", "max"] },
|
|
225
|
-
cache_control: { type: "string", values: ["ephemeral"] },
|
|
226
|
-
cache_ttl: { type: "string", values: ["5m", "1h"] }
|
|
227
|
-
},
|
|
228
|
-
google: {
|
|
229
|
-
temperature: { type: "number", min: 0, max: 2 },
|
|
230
|
-
maxOutputTokens: { type: "number", min: 1 },
|
|
231
|
-
topP: { type: "number", min: 0, max: 1 },
|
|
232
|
-
topK: { type: "number", min: 0 },
|
|
233
|
-
frequencyPenalty: { type: "number", min: -2, max: 2 },
|
|
234
|
-
presencePenalty: { type: "number", min: -2, max: 2 },
|
|
235
|
-
stopSequences: { type: "string" },
|
|
236
|
-
candidateCount: { type: "number", min: 1 },
|
|
237
|
-
stream: { type: "boolean" },
|
|
238
|
-
seed: { type: "number" },
|
|
239
|
-
responseMimeType: { type: "string" },
|
|
240
|
-
responseSchema: { type: "string" }
|
|
241
|
-
},
|
|
242
|
-
mistral: {
|
|
243
|
-
temperature: { type: "number", min: 0, max: 1 },
|
|
244
|
-
max_tokens: { type: "number", min: 1 },
|
|
245
|
-
top_p: { type: "number", min: 0, max: 1 },
|
|
246
|
-
frequency_penalty: { type: "number", min: -2, max: 2 },
|
|
247
|
-
presence_penalty: { type: "number", min: -2, max: 2 },
|
|
248
|
-
stop: { type: "string" },
|
|
249
|
-
n: { type: "number", min: 1 },
|
|
250
|
-
random_seed: { type: "number" },
|
|
251
|
-
stream: { type: "boolean" },
|
|
252
|
-
safe_prompt: { type: "boolean" },
|
|
253
|
-
min_tokens: { type: "number", min: 0 }
|
|
254
|
-
},
|
|
255
|
-
cohere: {
|
|
256
|
-
temperature: { type: "number", min: 0, max: 1 },
|
|
257
|
-
max_tokens: { type: "number", min: 1 },
|
|
258
|
-
p: { type: "number", min: 0, max: 1 },
|
|
259
|
-
k: { type: "number", min: 0, max: 500 },
|
|
260
|
-
frequency_penalty: { type: "number", min: 0, max: 1 },
|
|
261
|
-
presence_penalty: { type: "number", min: 0, max: 1 },
|
|
262
|
-
stop_sequences: { type: "string" },
|
|
263
|
-
stream: { type: "boolean" },
|
|
264
|
-
seed: { type: "number" }
|
|
265
|
-
},
|
|
266
|
-
bedrock: {
|
|
267
|
-
// Converse API inferenceConfig params
|
|
268
|
-
temperature: { type: "number", min: 0, max: 1 },
|
|
269
|
-
maxTokens: { type: "number", min: 1 },
|
|
270
|
-
topP: { type: "number", min: 0, max: 1 },
|
|
271
|
-
topK: { type: "number", min: 0 },
|
|
272
|
-
stopSequences: { type: "string" },
|
|
273
|
-
stream: { type: "boolean" },
|
|
274
|
-
cache_control: { type: "string", values: ["ephemeral"] },
|
|
275
|
-
cache_ttl: { type: "string", values: ["5m", "1h"] }
|
|
276
|
-
},
|
|
277
|
-
openrouter: {
|
|
278
|
-
// Loose validation — proxies to many providers with varying ranges
|
|
279
|
-
temperature: { type: "number", min: 0, max: 2 },
|
|
280
|
-
max_tokens: { type: "number", min: 1 },
|
|
281
|
-
top_p: { type: "number", min: 0, max: 1 },
|
|
282
|
-
top_k: { type: "number", min: 0 },
|
|
283
|
-
frequency_penalty: { type: "number", min: -2, max: 2 },
|
|
284
|
-
presence_penalty: { type: "number", min: -2, max: 2 },
|
|
285
|
-
stop: { type: "string" },
|
|
286
|
-
n: { type: "number", min: 1 },
|
|
287
|
-
seed: { type: "number" },
|
|
288
|
-
stream: { type: "boolean" },
|
|
289
|
-
reasoning_effort: {
|
|
290
|
-
type: "string",
|
|
291
|
-
values: ["none", "minimal", "low", "medium", "high", "xhigh"]
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
vercel: {
|
|
295
|
-
// Loose validation — proxies to many providers with varying ranges
|
|
296
|
-
temperature: { type: "number", min: 0, max: 2 },
|
|
297
|
-
max_tokens: { type: "number", min: 1 },
|
|
298
|
-
top_p: { type: "number", min: 0, max: 1 },
|
|
299
|
-
top_k: { type: "number", min: 0 },
|
|
300
|
-
frequency_penalty: { type: "number", min: -2, max: 2 },
|
|
301
|
-
presence_penalty: { type: "number", min: -2, max: 2 },
|
|
302
|
-
stop: { type: "string" },
|
|
303
|
-
n: { type: "number", min: 1 },
|
|
304
|
-
seed: { type: "number" },
|
|
305
|
-
stream: { type: "boolean" },
|
|
306
|
-
reasoning_effort: {
|
|
307
|
-
type: "string",
|
|
308
|
-
values: ["none", "minimal", "low", "medium", "high", "xhigh"]
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
};
|
|
312
|
-
function isReasoningModel(model) {
|
|
313
|
-
const name = model.includes("/") ? model.split("/").pop() : model;
|
|
314
|
-
return /^o[134]/.test(name);
|
|
315
|
-
}
|
|
316
|
-
function canHostOpenAIModels(provider) {
|
|
317
|
-
return provider === "openai" || provider === "openrouter" || provider === "vercel";
|
|
318
|
-
}
|
|
319
|
-
var REASONING_MODEL_UNSUPPORTED = /* @__PURE__ */ new Set([
|
|
320
|
-
"temperature",
|
|
321
|
-
"top_p",
|
|
322
|
-
"frequency_penalty",
|
|
323
|
-
"presence_penalty",
|
|
324
|
-
"n"
|
|
325
|
-
]);
|
|
326
|
-
function detectBedrockModelFamily(model) {
|
|
327
|
-
const parts = model.split(".");
|
|
328
|
-
let prefix = parts[0];
|
|
329
|
-
if (["us", "eu", "apac", "global"].includes(prefix) && parts.length > 1) {
|
|
330
|
-
prefix = parts[1];
|
|
331
|
-
}
|
|
332
|
-
const families = [
|
|
333
|
-
"anthropic",
|
|
334
|
-
"meta",
|
|
335
|
-
"amazon",
|
|
336
|
-
"mistral",
|
|
337
|
-
"cohere",
|
|
338
|
-
"ai21"
|
|
339
|
-
];
|
|
340
|
-
return families.find((f) => prefix === f);
|
|
341
|
-
}
|
|
342
|
-
function bedrockSupportsCaching(model) {
|
|
343
|
-
const family = detectBedrockModelFamily(model);
|
|
344
|
-
if (family === "anthropic") return true;
|
|
345
|
-
if (family === "amazon" && model.includes("nova")) return true;
|
|
346
|
-
return false;
|
|
347
|
-
}
|
|
348
|
-
var CACHE_VALUES = {
|
|
349
|
-
openai: void 0,
|
|
350
|
-
// OpenAI auto-caches; no explicit param
|
|
351
|
-
anthropic: "ephemeral",
|
|
352
|
-
google: void 0,
|
|
353
|
-
// Google uses explicit caching API, not a param
|
|
354
|
-
mistral: void 0,
|
|
355
|
-
cohere: void 0,
|
|
356
|
-
bedrock: "ephemeral",
|
|
357
|
-
// Supported for Claude models on Bedrock
|
|
358
|
-
openrouter: void 0,
|
|
359
|
-
// Depends on underlying provider
|
|
360
|
-
vercel: void 0
|
|
361
|
-
// Depends on underlying provider
|
|
362
|
-
};
|
|
363
|
-
var CACHE_TTLS = {
|
|
364
|
-
openai: void 0,
|
|
365
|
-
anthropic: ["5m", "1h"],
|
|
366
|
-
google: void 0,
|
|
367
|
-
mistral: void 0,
|
|
368
|
-
cohere: void 0,
|
|
369
|
-
bedrock: ["5m", "1h"],
|
|
370
|
-
// Claude on Bedrock uses same TTLs as direct Anthropic
|
|
371
|
-
openrouter: void 0,
|
|
372
|
-
vercel: void 0
|
|
373
|
-
};
|
|
374
|
-
var DURATION_RE = /^\d+[mh]$/;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _chunkNSCBY4VDcjs = require('./chunk-NSCBY4VD.cjs');
|
|
17
|
+
|
|
18
|
+
// src/provider-meta.ts
|
|
375
19
|
var PROVIDER_META = [
|
|
376
20
|
{ id: "openai", name: "OpenAI", host: "api.openai.com", color: "#10a37f" },
|
|
377
21
|
{ id: "anthropic", name: "Anthropic", host: "api.anthropic.com", color: "#e8956a" },
|
|
@@ -540,22 +184,23 @@ var CANONICAL_PARAM_SPECS = {
|
|
|
540
184
|
effort: { type: "enum", values: ["none", "minimal", "low", "medium", "high", "xhigh"], default: "medium", description: "Reasoning effort" }
|
|
541
185
|
}
|
|
542
186
|
};
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
exports.ALIASES = _chunkNSCBY4VDcjs.ALIASES; exports.CACHE_TTLS = _chunkNSCBY4VDcjs.CACHE_TTLS; exports.CACHE_VALUES = _chunkNSCBY4VDcjs.CACHE_VALUES; exports.CANONICAL_PARAM_SPECS = CANONICAL_PARAM_SPECS; exports.DURATION_RE = _chunkNSCBY4VDcjs.DURATION_RE; exports.MODELS = MODELS; exports.PARAM_SPECS = _chunkNSCBY4VDcjs.PARAM_SPECS; exports.PROVIDER_META = PROVIDER_META; exports.PROVIDER_PARAMS = _chunkNSCBY4VDcjs.PROVIDER_PARAMS; exports.REASONING_MODEL_UNSUPPORTED = _chunkNSCBY4VDcjs.REASONING_MODEL_UNSUPPORTED; exports.bedrockSupportsCaching = _chunkNSCBY4VDcjs.bedrockSupportsCaching; exports.canHostOpenAIModels = _chunkNSCBY4VDcjs.canHostOpenAIModels; exports.detectBedrockModelFamily = _chunkNSCBY4VDcjs.detectBedrockModelFamily; exports.detectGatewaySubProvider = _chunkNSCBY4VDcjs.detectGatewaySubProvider; exports.detectProvider = _chunkNSCBY4VDcjs.detectProvider; exports.isGatewayProvider = _chunkNSCBY4VDcjs.isGatewayProvider; exports.isReasoningModel = _chunkNSCBY4VDcjs.isReasoningModel;
|
|
561
206
|
//# sourceMappingURL=providers.cjs.map
|
package/dist/providers.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers.ts"],"sourcesContent":["export type Provider =\n | \"openai\"\n | \"anthropic\"\n | \"google\"\n | \"mistral\"\n | \"cohere\"\n | \"bedrock\"\n | \"openrouter\"\n | \"vercel\";\n\nexport function detectProvider(host: string): Provider | undefined {\n // Gateways and aggregators first — they proxy to other providers\n if (host.includes(\"openrouter\")) return \"openrouter\";\n if (host.includes(\"gateway.ai.vercel\")) return \"vercel\";\n // Bedrock before native providers since it hosts models from multiple vendors\n if (host.includes(\"amazonaws\") || host.includes(\"bedrock\")) return \"bedrock\";\n if (host.includes(\"openai\")) return \"openai\";\n if (host.includes(\"anthropic\") || host.includes(\"claude\")) return \"anthropic\";\n if (host.includes(\"googleapis\") || host.includes(\"google\")) return \"google\";\n if (host.includes(\"mistral\")) return \"mistral\";\n if (host.includes(\"cohere\")) return \"cohere\";\n return undefined;\n}\n\n/**\n * Shorthand aliases → canonical param name.\n * Canonical names use snake_case and follow OpenAI conventions where possible.\n */\nexport const ALIASES: Record<string, string> = {\n // temperature\n temp: \"temperature\",\n\n // max_tokens\n max: \"max_tokens\",\n max_out: \"max_tokens\",\n max_output: \"max_tokens\",\n max_output_tokens: \"max_tokens\",\n max_completion_tokens: \"max_tokens\",\n maxOutputTokens: \"max_tokens\",\n maxTokens: \"max_tokens\",\n\n // top_p\n topp: \"top_p\",\n topP: \"top_p\",\n nucleus: \"top_p\",\n\n // top_k\n topk: \"top_k\",\n topK: \"top_k\",\n\n // frequency_penalty\n freq: \"frequency_penalty\",\n freq_penalty: \"frequency_penalty\",\n frequencyPenalty: \"frequency_penalty\",\n repetition_penalty: \"frequency_penalty\",\n\n // presence_penalty\n pres: \"presence_penalty\",\n pres_penalty: \"presence_penalty\",\n presencePenalty: \"presence_penalty\",\n\n // stop\n stop_sequences: \"stop\",\n stopSequences: \"stop\",\n stop_sequence: \"stop\",\n\n // seed\n random_seed: \"seed\",\n randomSeed: \"seed\",\n\n // n (completions count)\n candidateCount: \"n\",\n candidate_count: \"n\",\n num_completions: \"n\",\n\n // effort / reasoning\n reasoning_effort: \"effort\",\n reasoning: \"effort\",\n\n // cache\n cache_control: \"cache\",\n cacheControl: \"cache\",\n cachePoint: \"cache\",\n cache_point: \"cache\",\n};\n\n/**\n * Canonical param name → provider-specific API param name.\n * Only includes params the provider actually supports.\n */\nexport const PROVIDER_PARAMS: Record<Provider, Record<string, string>> = {\n openai: {\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"top_p\",\n frequency_penalty: \"frequency_penalty\",\n presence_penalty: \"presence_penalty\",\n stop: \"stop\",\n n: \"n\",\n seed: \"seed\",\n stream: \"stream\",\n effort: \"reasoning_effort\",\n },\n anthropic: {\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"top_p\",\n top_k: \"top_k\",\n stop: \"stop_sequences\",\n stream: \"stream\",\n effort: \"effort\",\n cache: \"cache_control\",\n cache_ttl: \"cache_ttl\",\n },\n google: {\n temperature: \"temperature\",\n max_tokens: \"maxOutputTokens\",\n top_p: \"topP\",\n top_k: \"topK\",\n frequency_penalty: \"frequencyPenalty\",\n presence_penalty: \"presencePenalty\",\n stop: \"stopSequences\",\n n: \"candidateCount\",\n stream: \"stream\",\n seed: \"seed\",\n responseMimeType: \"responseMimeType\",\n responseSchema: \"responseSchema\",\n },\n mistral: {\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"top_p\",\n frequency_penalty: \"frequency_penalty\",\n presence_penalty: \"presence_penalty\",\n stop: \"stop\",\n n: \"n\",\n seed: \"random_seed\",\n stream: \"stream\",\n safe_prompt: \"safe_prompt\",\n min_tokens: \"min_tokens\",\n },\n cohere: {\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"p\",\n top_k: \"k\",\n frequency_penalty: \"frequency_penalty\",\n presence_penalty: \"presence_penalty\",\n stop: \"stop_sequences\",\n stream: \"stream\",\n seed: \"seed\",\n },\n bedrock: {\n // Bedrock Converse API uses camelCase\n temperature: \"temperature\",\n max_tokens: \"maxTokens\",\n top_p: \"topP\",\n top_k: \"topK\", // Claude models via additionalModelRequestFields\n stop: \"stopSequences\",\n stream: \"stream\",\n cache: \"cache_control\",\n cache_ttl: \"cache_ttl\",\n },\n openrouter: {\n // OpenAI-compatible API with extra routing params\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"top_p\",\n top_k: \"top_k\",\n frequency_penalty: \"frequency_penalty\",\n presence_penalty: \"presence_penalty\",\n stop: \"stop\",\n n: \"n\",\n seed: \"seed\",\n stream: \"stream\",\n effort: \"reasoning_effort\",\n },\n vercel: {\n // OpenAI-compatible gateway\n temperature: \"temperature\",\n max_tokens: \"max_tokens\",\n top_p: \"top_p\",\n top_k: \"top_k\",\n frequency_penalty: \"frequency_penalty\",\n presence_penalty: \"presence_penalty\",\n stop: \"stop\",\n n: \"n\",\n seed: \"seed\",\n stream: \"stream\",\n effort: \"reasoning_effort\",\n },\n};\n\n/**\n * Validation specs per provider, keyed by provider-specific param name.\n */\nexport interface ParamSpec {\n type: \"number\" | \"string\" | \"boolean\";\n min?: number;\n max?: number;\n values?: string[];\n}\n\nexport const PARAM_SPECS: Record<Provider, Record<string, ParamSpec>> = {\n openai: {\n temperature: { type: \"number\", min: 0, max: 2 },\n max_tokens: { type: \"number\", min: 1 },\n top_p: { type: \"number\", min: 0, max: 1 },\n frequency_penalty: { type: \"number\", min: -2, max: 2 },\n presence_penalty: { type: \"number\", min: -2, max: 2 },\n stop: { type: \"string\" },\n n: { type: \"number\", min: 1 },\n seed: { type: \"number\" },\n stream: { type: \"boolean\" },\n reasoning_effort: {\n type: \"string\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n },\n },\n anthropic: {\n temperature: { type: \"number\", min: 0, max: 1 },\n max_tokens: { type: \"number\", min: 1 },\n top_p: { type: \"number\", min: 0, max: 1 },\n top_k: { type: \"number\", min: 0 },\n stop_sequences: { type: \"string\" },\n stream: { type: \"boolean\" },\n effort: { type: \"string\", values: [\"low\", \"medium\", \"high\", \"max\"] },\n cache_control: { type: \"string\", values: [\"ephemeral\"] },\n cache_ttl: { type: \"string\", values: [\"5m\", \"1h\"] },\n },\n google: {\n temperature: { type: \"number\", min: 0, max: 2 },\n maxOutputTokens: { type: \"number\", min: 1 },\n topP: { type: \"number\", min: 0, max: 1 },\n topK: { type: \"number\", min: 0 },\n frequencyPenalty: { type: \"number\", min: -2, max: 2 },\n presencePenalty: { type: \"number\", min: -2, max: 2 },\n stopSequences: { type: \"string\" },\n candidateCount: { type: \"number\", min: 1 },\n stream: { type: \"boolean\" },\n seed: { type: \"number\" },\n responseMimeType: { type: \"string\" },\n responseSchema: { type: \"string\" },\n },\n mistral: {\n temperature: { type: \"number\", min: 0, max: 1 },\n max_tokens: { type: \"number\", min: 1 },\n top_p: { type: \"number\", min: 0, max: 1 },\n frequency_penalty: { type: \"number\", min: -2, max: 2 },\n presence_penalty: { type: \"number\", min: -2, max: 2 },\n stop: { type: \"string\" },\n n: { type: \"number\", min: 1 },\n random_seed: { type: \"number\" },\n stream: { type: \"boolean\" },\n safe_prompt: { type: \"boolean\" },\n min_tokens: { type: \"number\", min: 0 },\n },\n cohere: {\n temperature: { type: \"number\", min: 0, max: 1 },\n max_tokens: { type: \"number\", min: 1 },\n p: { type: \"number\", min: 0, max: 1 },\n k: { type: \"number\", min: 0, max: 500 },\n frequency_penalty: { type: \"number\", min: 0, max: 1 },\n presence_penalty: { type: \"number\", min: 0, max: 1 },\n stop_sequences: { type: \"string\" },\n stream: { type: \"boolean\" },\n seed: { type: \"number\" },\n },\n bedrock: {\n // Converse API inferenceConfig params\n temperature: { type: \"number\", min: 0, max: 1 },\n maxTokens: { type: \"number\", min: 1 },\n topP: { type: \"number\", min: 0, max: 1 },\n topK: { type: \"number\", min: 0 },\n stopSequences: { type: \"string\" },\n stream: { type: \"boolean\" },\n cache_control: { type: \"string\", values: [\"ephemeral\"] },\n cache_ttl: { type: \"string\", values: [\"5m\", \"1h\"] },\n },\n openrouter: {\n // Loose validation — proxies to many providers with varying ranges\n temperature: { type: \"number\", min: 0, max: 2 },\n max_tokens: { type: \"number\", min: 1 },\n top_p: { type: \"number\", min: 0, max: 1 },\n top_k: { type: \"number\", min: 0 },\n frequency_penalty: { type: \"number\", min: -2, max: 2 },\n presence_penalty: { type: \"number\", min: -2, max: 2 },\n stop: { type: \"string\" },\n n: { type: \"number\", min: 1 },\n seed: { type: \"number\" },\n stream: { type: \"boolean\" },\n reasoning_effort: {\n type: \"string\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n },\n },\n vercel: {\n // Loose validation — proxies to many providers with varying ranges\n temperature: { type: \"number\", min: 0, max: 2 },\n max_tokens: { type: \"number\", min: 1 },\n top_p: { type: \"number\", min: 0, max: 1 },\n top_k: { type: \"number\", min: 0 },\n frequency_penalty: { type: \"number\", min: -2, max: 2 },\n presence_penalty: { type: \"number\", min: -2, max: 2 },\n stop: { type: \"string\" },\n n: { type: \"number\", min: 1 },\n seed: { type: \"number\" },\n stream: { type: \"boolean\" },\n reasoning_effort: {\n type: \"string\",\n values: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"],\n },\n },\n};\n\n/** OpenAI reasoning models don't support standard sampling params. */\nexport function isReasoningModel(model: string): boolean {\n // Strip gateway prefix: \"openai/o3\" → \"o3\"\n const name = model.includes(\"/\") ? model.split(\"/\").pop()! : model;\n return /^o[134]/.test(name);\n}\n\n/** Providers that can route to OpenAI models (and need reasoning-model checks). */\nexport function canHostOpenAIModels(provider: Provider): boolean {\n return provider === \"openai\" || provider === \"openrouter\" || provider === \"vercel\";\n}\n\nexport const REASONING_MODEL_UNSUPPORTED = new Set([\n \"temperature\",\n \"top_p\",\n \"frequency_penalty\",\n \"presence_penalty\",\n \"n\",\n]);\n\n/**\n * Bedrock model IDs are prefixed with the vendor name.\n * e.g. \"anthropic.claude-sonnet-4-5-20250929-v1:0\"\n */\nexport type BedrockModelFamily =\n | \"anthropic\"\n | \"meta\"\n | \"amazon\"\n | \"mistral\"\n | \"cohere\"\n | \"ai21\";\n\nexport function detectBedrockModelFamily(\n model: string,\n): BedrockModelFamily | undefined {\n // Handle cross-region inference profiles (e.g. \"us.anthropic.claude-sonnet-4-5...\")\n // and global inference profiles (e.g. \"global.anthropic.claude-sonnet-4-5...\")\n const parts = model.split(\".\");\n\n // If first part is a region prefix (us, eu, apac) or global, skip it\n let prefix = parts[0];\n if ([\"us\", \"eu\", \"apac\", \"global\"].includes(prefix) && parts.length > 1) {\n prefix = parts[1];\n }\n\n const families: BedrockModelFamily[] = [\n \"anthropic\",\n \"meta\",\n \"amazon\",\n \"mistral\",\n \"cohere\",\n \"ai21\",\n ];\n return families.find((f) => prefix === f);\n}\n\n/** Whether a Bedrock model supports prompt caching (Claude and Nova only). */\nexport function bedrockSupportsCaching(model: string): boolean {\n const family = detectBedrockModelFamily(model);\n if (family === \"anthropic\") return true;\n if (family === \"amazon\" && model.includes(\"nova\")) return true;\n return false;\n}\n\n/** Cache value normalization per provider. */\nexport const CACHE_VALUES: Record<Provider, string | undefined> = {\n openai: undefined, // OpenAI auto-caches; no explicit param\n anthropic: \"ephemeral\",\n google: undefined, // Google uses explicit caching API, not a param\n mistral: undefined,\n cohere: undefined,\n bedrock: \"ephemeral\", // Supported for Claude models on Bedrock\n openrouter: undefined, // Depends on underlying provider\n vercel: undefined, // Depends on underlying provider\n};\n\n/** Valid cache TTL values per provider. */\nexport const CACHE_TTLS: Record<Provider, string[] | undefined> = {\n openai: undefined,\n anthropic: [\"5m\", \"1h\"],\n google: undefined,\n mistral: undefined,\n cohere: undefined,\n bedrock: [\"5m\", \"1h\"], // Claude on Bedrock uses same TTLs as direct Anthropic\n openrouter: undefined,\n vercel: undefined,\n};\n\n/** Match a duration expression like \"5m\", \"1h\", \"30m\". */\nexport const DURATION_RE = /^\\d+[mh]$/;\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":["/Users/dan/code/oss/llm-strings/dist/providers.cjs","../src/provider-meta.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACAO,IAAM,cAAA,EAAgC;AAAA,EAC3C,EAAE,EAAA,EAAI,QAAA,EAAc,IAAA,EAAM,QAAA,EAAc,IAAA,EAAM,gBAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC1G,EAAE,EAAA,EAAI,WAAA,EAAc,IAAA,EAAM,WAAA,EAAe,IAAA,EAAM,mBAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC3G,EAAE,EAAA,EAAI,QAAA,EAAc,IAAA,EAAM,QAAA,EAAe,IAAA,EAAM,mCAAA,EAA4C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC5G,EAAE,EAAA,EAAI,SAAA,EAAc,IAAA,EAAM,SAAA,EAAe,IAAA,EAAM,gBAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC3G,EAAE,EAAA,EAAI,QAAA,EAAc,IAAA,EAAM,QAAA,EAAe,IAAA,EAAM,gBAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC3G,EAAE,EAAA,EAAI,SAAA,EAAc,IAAA,EAAM,SAAA,EAAe,IAAA,EAAM,yCAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC3G,EAAE,EAAA,EAAI,YAAA,EAAc,IAAA,EAAM,YAAA,EAAe,IAAA,EAAM,eAAA,EAA2C,KAAA,EAAO,UAAU,CAAA;AAAA,EAC3G,EAAE,EAAA,EAAI,QAAA,EAAc,IAAA,EAAM,QAAA,EAAe,IAAA,EAAM,uBAAA,EAA2C,KAAA,EAAO,UAAU;AAC7G,CAAA;AAMO,IAAM,OAAA,EAAqC;AAAA,EAChD,MAAA,EAAQ;AAAA,IACN,SAAA;AAAA,IAAW,aAAA;AAAA,IACX,SAAA;AAAA,IAAW,cAAA;AAAA,IAAgB,cAAA;AAAA,IAC3B,IAAA;AAAA,IAAM,SAAA;AAAA,IAAW,SAAA;AAAA,IAAW;AAAA,EAC9B,CAAA;AAAA,EACA,SAAA,EAAW;AAAA,IACT,iBAAA;AAAA,IAAmB,mBAAA;AAAA,IACnB,mBAAA;AAAA,IAAqB;AAAA,EACvB,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,sBAAA;AAAA,IAAwB,wBAAA;AAAA,IACxB,gBAAA;AAAA,IAAkB;AAAA,EACpB,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,sBAAA;AAAA,IAAwB,uBAAA;AAAA,IACxB,sBAAA;AAAA,IAAwB,kBAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,mBAAA;AAAA,IACA,wBAAA;AAAA,IAA0B,mBAAA;AAAA,IAC1B;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,8BAAA;AAAA,IAAgC,gCAAA;AAAA,IAChC,+BAAA;AAAA,IACA,oBAAA;AAAA,IAAsB,qBAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,gBAAA;AAAA,IAAkB,2BAAA;AAAA,IAClB,uBAAA;AAAA,IAAyB;AAAA,EAC3B,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,gBAAA;AAAA,IAAkB,2BAAA;AAAA,IAClB,uBAAA;AAAA,IAAyB,6BAAA;AAAA,IACzB,+BAAA;AAAA,IAAiC,8BAAA;AAAA,IACjC;AAAA,EACF;AACF,CAAA;AAeO,IAAM,sBAAA,EAA8E;AAAA,EACzF,MAAA,EAAQ;AAAA,IACN,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IACzG,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAC3G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACtG,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACrG,CAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAa,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,oBAAoB,CAAA;AAAA,IACxG,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc,CAAA;AAAA,IAClG,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACvG,MAAA,EAAmB,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAA,EAAG,OAAA,EAAS,QAAA,EAAU,WAAA,EAAa,mBAAmB;AAAA,EACvJ,CAAA;AAAA,EACA,SAAA,EAAW;AAAA,IACT,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IAClG,UAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAW,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IACpG,KAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IAC/F,KAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAW,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IAC7F,IAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAA4B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IAC9F,MAAA,EAAa,EAAE,IAAA,EAAM,SAAA,EAA4B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IAChG,MAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,KAAK,CAAA,EAAG,OAAA,EAAS,QAAA,EAAU,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACzH,KAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,WAAW,CAAA,EAAK,OAAA,EAAS,WAAA,EAAa,WAAA,EAAa,gBAAgB,CAAA;AAAA,IACzG,SAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA,EAAM,OAAA,EAAS,IAAA,EAAa,WAAA,EAAa,YAAY;AAAA,EACvG,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IACzG,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAC3G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACtG,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACpG,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACrG,CAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAa,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACtG,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACvG,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc;AAAA,EACpG,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IACzG,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAC3G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACtG,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACrG,CAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAa,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,oBAAoB,CAAA;AAAA,IACxG,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc,CAAA;AAAA,IAClG,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACvG,WAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,qBAAqB,CAAA;AAAA,IAC1G,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,iBAAiB;AAAA,EACtG,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAS,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IAC9G,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAiB,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAChH,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAS,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,uBAAuB,CAAA;AAAA,IAC/G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,GAAA,EAAS,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,qBAAqB,CAAA;AAAA,IAC7G,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAS,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IACnH,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAS,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IACnH,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAkC,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IAC1G,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAAkC,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IAC5G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAkC,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc;AAAA,EACzG,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IAClG,UAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAW,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IACpG,KAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IAC/F,KAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAW,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IAC7F,IAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAA4B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IAC9F,MAAA,EAAa,EAAE,IAAA,EAAM,SAAA,EAA4B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IAChG,KAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,WAAW,CAAA,EAAK,OAAA,EAAS,WAAA,EAAa,WAAA,EAAa,gBAAgB,CAAA;AAAA,IACzG,SAAA,EAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA,EAAM,OAAA,EAAS,IAAA,EAAa,WAAA,EAAa,YAAY;AAAA,EACvG,CAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IACzG,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAC3G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACtG,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACpG,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACrG,CAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAa,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,oBAAoB,CAAA;AAAA,IACxG,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc,CAAA;AAAA,IAClG,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACvG,MAAA,EAAmB,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAA,EAAG,OAAA,EAAS,QAAA,EAAU,WAAA,EAAa,mBAAmB;AAAA,EACvJ,CAAA;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,WAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,GAAA,EAAM,WAAA,EAAa,sBAAsB,CAAA;AAAA,IACzG,UAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,wBAAwB,CAAA;AAAA,IAC3G,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAA,EAAI,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACtG,KAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAY,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACpG,iBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,gBAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAC9G,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,iBAAiB,CAAA;AAAA,IACrG,CAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAAW,GAAA,EAAK,CAAA,EAAa,OAAA,EAAS,CAAA,EAAM,WAAA,EAAa,oBAAoB,CAAA;AAAA,IACxG,IAAA,EAAmB,EAAE,IAAA,EAAM,QAAA,EAA6B,OAAA,EAAS,EAAA,EAAM,WAAA,EAAa,cAAc,CAAA;AAAA,IAClG,MAAA,EAAmB,EAAE,IAAA,EAAM,SAAA,EAA6B,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,kBAAkB,CAAA;AAAA,IACvG,MAAA,EAAmB,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,CAAC,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAA,EAAG,OAAA,EAAS,QAAA,EAAU,WAAA,EAAa,mBAAmB;AAAA,EACvJ;AACF,CAAA;ADGA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,k/BAAC","file":"/Users/dan/code/oss/llm-strings/dist/providers.cjs","sourcesContent":[null,"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"]}
|