@contractspec/lib.ai-providers 3.7.13 → 3.7.14

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.
@@ -1,448 +1 @@
1
- // src/models.ts
2
- var DEFAULT_MODELS = {
3
- ollama: "llama3.2",
4
- openai: "gpt-5.4",
5
- anthropic: "claude-sonnet-4-6",
6
- mistral: "mistral-large-latest",
7
- gemini: "gemini-2.5-flash"
8
- };
9
- var MODELS = [
10
- {
11
- id: "llama3.2",
12
- name: "Llama 3.2",
13
- provider: "ollama",
14
- contextWindow: 128000,
15
- capabilities: {
16
- vision: false,
17
- tools: true,
18
- reasoning: false,
19
- streaming: true
20
- }
21
- },
22
- {
23
- id: "codellama",
24
- name: "Code Llama",
25
- provider: "ollama",
26
- contextWindow: 16000,
27
- capabilities: {
28
- vision: false,
29
- tools: false,
30
- reasoning: false,
31
- streaming: true
32
- }
33
- },
34
- {
35
- id: "deepseek-coder",
36
- name: "DeepSeek Coder",
37
- provider: "ollama",
38
- contextWindow: 16000,
39
- capabilities: {
40
- vision: false,
41
- tools: false,
42
- reasoning: false,
43
- streaming: true
44
- }
45
- },
46
- {
47
- id: "mistral",
48
- name: "Mistral 7B",
49
- provider: "ollama",
50
- contextWindow: 32000,
51
- capabilities: {
52
- vision: false,
53
- tools: false,
54
- reasoning: false,
55
- streaming: true
56
- }
57
- },
58
- {
59
- id: "gpt-5.4",
60
- name: "GPT-5.4",
61
- provider: "openai",
62
- contextWindow: 1e6,
63
- capabilities: {
64
- vision: true,
65
- tools: true,
66
- reasoning: true,
67
- streaming: true
68
- },
69
- costPerMillion: { input: 2.5, output: 15 }
70
- },
71
- {
72
- id: "gpt-4o",
73
- name: "GPT-4o",
74
- provider: "openai",
75
- contextWindow: 128000,
76
- capabilities: {
77
- vision: true,
78
- tools: true,
79
- reasoning: false,
80
- streaming: true
81
- },
82
- costPerMillion: { input: 2.5, output: 10 }
83
- },
84
- {
85
- id: "gpt-4o-mini",
86
- name: "GPT-4o Mini",
87
- provider: "openai",
88
- contextWindow: 128000,
89
- capabilities: {
90
- vision: true,
91
- tools: true,
92
- reasoning: false,
93
- streaming: true
94
- },
95
- costPerMillion: { input: 0.15, output: 0.6 }
96
- },
97
- {
98
- id: "o1",
99
- name: "o1",
100
- provider: "openai",
101
- contextWindow: 200000,
102
- capabilities: {
103
- vision: true,
104
- tools: true,
105
- reasoning: true,
106
- streaming: true
107
- },
108
- costPerMillion: { input: 15, output: 60 }
109
- },
110
- {
111
- id: "o1-mini",
112
- name: "o1 Mini",
113
- provider: "openai",
114
- contextWindow: 128000,
115
- capabilities: {
116
- vision: false,
117
- tools: true,
118
- reasoning: true,
119
- streaming: true
120
- },
121
- costPerMillion: { input: 3, output: 12 }
122
- },
123
- {
124
- id: "gpt-5-mini",
125
- name: "GPT-5 Mini",
126
- provider: "openai",
127
- contextWindow: 400000,
128
- capabilities: {
129
- vision: true,
130
- tools: true,
131
- reasoning: false,
132
- streaming: true
133
- },
134
- costPerMillion: { input: 0.25, output: 2 }
135
- },
136
- {
137
- id: "claude-opus-4-6",
138
- name: "Claude Opus 4.6",
139
- provider: "anthropic",
140
- contextWindow: 200000,
141
- capabilities: {
142
- vision: true,
143
- tools: true,
144
- reasoning: true,
145
- streaming: true
146
- },
147
- costPerMillion: { input: 5, output: 25 }
148
- },
149
- {
150
- id: "claude-sonnet-4-6",
151
- name: "Claude Sonnet 4.6",
152
- provider: "anthropic",
153
- contextWindow: 200000,
154
- capabilities: {
155
- vision: true,
156
- tools: true,
157
- reasoning: true,
158
- streaming: true
159
- },
160
- costPerMillion: { input: 3, output: 15 }
161
- },
162
- {
163
- id: "claude-haiku-4-5",
164
- name: "Claude Haiku 4.5",
165
- provider: "anthropic",
166
- contextWindow: 200000,
167
- capabilities: {
168
- vision: true,
169
- tools: true,
170
- reasoning: false,
171
- streaming: true
172
- },
173
- costPerMillion: { input: 1, output: 5 }
174
- },
175
- {
176
- id: "claude-sonnet-4-20250514",
177
- name: "Claude Sonnet 4",
178
- provider: "anthropic",
179
- contextWindow: 200000,
180
- capabilities: {
181
- vision: true,
182
- tools: true,
183
- reasoning: true,
184
- streaming: true
185
- },
186
- costPerMillion: { input: 3, output: 15 }
187
- },
188
- {
189
- id: "claude-3-5-sonnet-20241022",
190
- name: "Claude 3.5 Sonnet",
191
- provider: "anthropic",
192
- contextWindow: 200000,
193
- capabilities: {
194
- vision: true,
195
- tools: true,
196
- reasoning: false,
197
- streaming: true
198
- },
199
- costPerMillion: { input: 3, output: 15 }
200
- },
201
- {
202
- id: "claude-3-5-haiku-20241022",
203
- name: "Claude 3.5 Haiku",
204
- provider: "anthropic",
205
- contextWindow: 200000,
206
- capabilities: {
207
- vision: true,
208
- tools: true,
209
- reasoning: false,
210
- streaming: true
211
- },
212
- costPerMillion: { input: 0.8, output: 4 }
213
- },
214
- {
215
- id: "mistral-large-2512",
216
- name: "Mistral Large 3",
217
- provider: "mistral",
218
- contextWindow: 256000,
219
- capabilities: {
220
- vision: true,
221
- tools: true,
222
- reasoning: false,
223
- streaming: true
224
- },
225
- costPerMillion: { input: 0.5, output: 1.5 }
226
- },
227
- {
228
- id: "devstral-2512",
229
- name: "Devstral 2",
230
- provider: "mistral",
231
- contextWindow: 256000,
232
- capabilities: {
233
- vision: false,
234
- tools: true,
235
- reasoning: true,
236
- streaming: true
237
- },
238
- costPerMillion: { input: 0.4, output: 2 }
239
- },
240
- {
241
- id: "mistral-medium-2508",
242
- name: "Mistral Medium 3.1",
243
- provider: "mistral",
244
- contextWindow: 128000,
245
- capabilities: {
246
- vision: true,
247
- tools: true,
248
- reasoning: false,
249
- streaming: true
250
- },
251
- costPerMillion: { input: 0.4, output: 2 }
252
- },
253
- {
254
- id: "mistral-small-2506",
255
- name: "Mistral Small 3.2",
256
- provider: "mistral",
257
- contextWindow: 128000,
258
- capabilities: {
259
- vision: false,
260
- tools: true,
261
- reasoning: false,
262
- streaming: true
263
- }
264
- },
265
- {
266
- id: "mistral-large-latest",
267
- name: "Mistral Large",
268
- provider: "mistral",
269
- contextWindow: 128000,
270
- capabilities: {
271
- vision: false,
272
- tools: true,
273
- reasoning: false,
274
- streaming: true
275
- },
276
- costPerMillion: { input: 2, output: 6 }
277
- },
278
- {
279
- id: "mistral-medium-latest",
280
- name: "Mistral Medium",
281
- provider: "mistral",
282
- contextWindow: 128000,
283
- capabilities: {
284
- vision: false,
285
- tools: true,
286
- reasoning: false,
287
- streaming: true
288
- }
289
- },
290
- {
291
- id: "codestral-latest",
292
- name: "Codestral",
293
- provider: "mistral",
294
- contextWindow: 256000,
295
- capabilities: {
296
- vision: false,
297
- tools: true,
298
- reasoning: false,
299
- streaming: true
300
- },
301
- costPerMillion: { input: 0.2, output: 0.6 }
302
- },
303
- {
304
- id: "devstral-small-latest",
305
- name: "Devstral Small",
306
- provider: "mistral",
307
- contextWindow: 128000,
308
- capabilities: {
309
- vision: false,
310
- tools: true,
311
- reasoning: true,
312
- streaming: true
313
- }
314
- },
315
- {
316
- id: "magistral-medium-latest",
317
- name: "Magistral Medium",
318
- provider: "mistral",
319
- contextWindow: 128000,
320
- capabilities: {
321
- vision: false,
322
- tools: true,
323
- reasoning: true,
324
- streaming: true
325
- }
326
- },
327
- {
328
- id: "pixtral-large-latest",
329
- name: "Pixtral Large",
330
- provider: "mistral",
331
- contextWindow: 128000,
332
- capabilities: {
333
- vision: true,
334
- tools: true,
335
- reasoning: false,
336
- streaming: true
337
- }
338
- },
339
- {
340
- id: "mistral-small-latest",
341
- name: "Mistral Small",
342
- provider: "mistral",
343
- contextWindow: 32000,
344
- capabilities: {
345
- vision: false,
346
- tools: true,
347
- reasoning: false,
348
- streaming: true
349
- },
350
- costPerMillion: { input: 0.2, output: 0.6 }
351
- },
352
- {
353
- id: "gemini-2.0-flash",
354
- name: "Gemini 2.0 Flash",
355
- provider: "gemini",
356
- contextWindow: 1e6,
357
- capabilities: {
358
- vision: true,
359
- tools: true,
360
- reasoning: false,
361
- streaming: true
362
- },
363
- costPerMillion: { input: 0.075, output: 0.3 }
364
- },
365
- {
366
- id: "gemini-2.5-pro-preview-06-05",
367
- name: "Gemini 2.5 Pro",
368
- provider: "gemini",
369
- contextWindow: 1e6,
370
- capabilities: {
371
- vision: true,
372
- tools: true,
373
- reasoning: true,
374
- streaming: true
375
- },
376
- costPerMillion: { input: 1.25, output: 10 }
377
- },
378
- {
379
- id: "gemini-2.5-flash-preview-05-20",
380
- name: "Gemini 2.5 Flash",
381
- provider: "gemini",
382
- contextWindow: 1e6,
383
- capabilities: {
384
- vision: true,
385
- tools: true,
386
- reasoning: true,
387
- streaming: true
388
- },
389
- costPerMillion: { input: 0.15, output: 0.6 }
390
- },
391
- {
392
- id: "gemini-3.1-pro-preview",
393
- name: "Gemini 3.1 Pro",
394
- provider: "gemini",
395
- contextWindow: 1e6,
396
- capabilities: {
397
- vision: true,
398
- tools: true,
399
- reasoning: true,
400
- streaming: true
401
- }
402
- },
403
- {
404
- id: "gemini-3.1-flash-lite-preview",
405
- name: "Gemini 3.1 Flash-Lite",
406
- provider: "gemini",
407
- contextWindow: 1e6,
408
- capabilities: {
409
- vision: true,
410
- tools: true,
411
- reasoning: true,
412
- streaming: true
413
- }
414
- },
415
- {
416
- id: "gemini-3-flash-preview",
417
- name: "Gemini 3 Flash",
418
- provider: "gemini",
419
- contextWindow: 1e6,
420
- capabilities: {
421
- vision: true,
422
- tools: true,
423
- reasoning: false,
424
- streaming: true
425
- }
426
- }
427
- ];
428
- function getModelsForProvider(provider) {
429
- return MODELS.filter((m) => m.provider === provider);
430
- }
431
- function getModelInfo(modelId) {
432
- return MODELS.find((m) => m.id === modelId);
433
- }
434
- function getRecommendedModels(provider) {
435
- const normalizedProvider = provider === "claude" ? "anthropic" : provider === "custom" ? "openai" : provider;
436
- return getModelsForProvider(normalizedProvider).map((m) => m.id);
437
- }
438
- function getDefaultModel(provider) {
439
- return DEFAULT_MODELS[provider];
440
- }
441
- export {
442
- getRecommendedModels,
443
- getModelsForProvider,
444
- getModelInfo,
445
- getDefaultModel,
446
- MODELS,
447
- DEFAULT_MODELS
448
- };
1
+ var k={ollama:"llama3.2",openai:"gpt-5.4",anthropic:"claude-sonnet-4-6",mistral:"mistral-large-latest",gemini:"gemini-2.5-flash"},h=[{id:"llama3.2",name:"Llama 3.2",provider:"ollama",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0}},{id:"codellama",name:"Code Llama",provider:"ollama",contextWindow:16000,capabilities:{vision:!1,tools:!1,reasoning:!1,streaming:!0}},{id:"deepseek-coder",name:"DeepSeek Coder",provider:"ollama",contextWindow:16000,capabilities:{vision:!1,tools:!1,reasoning:!1,streaming:!0}},{id:"mistral",name:"Mistral 7B",provider:"ollama",contextWindow:32000,capabilities:{vision:!1,tools:!1,reasoning:!1,streaming:!0}},{id:"gpt-5.4",name:"GPT-5.4",provider:"openai",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:2.5,output:15}},{id:"gpt-4o",name:"GPT-4o",provider:"openai",contextWindow:128000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:2.5,output:10}},{id:"gpt-4o-mini",name:"GPT-4o Mini",provider:"openai",contextWindow:128000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.15,output:0.6}},{id:"o1",name:"o1",provider:"openai",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:15,output:60}},{id:"o1-mini",name:"o1 Mini",provider:"openai",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:3,output:12}},{id:"gpt-5-mini",name:"GPT-5 Mini",provider:"openai",contextWindow:400000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.25,output:2}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:5,output:25}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:3,output:15}},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:1,output:5}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:3,output:15}},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:3,output:15}},{id:"claude-3-5-haiku-20241022",name:"Claude 3.5 Haiku",provider:"anthropic",contextWindow:200000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.8,output:4}},{id:"mistral-large-2512",name:"Mistral Large 3",provider:"mistral",contextWindow:256000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.5,output:1.5}},{id:"devstral-2512",name:"Devstral 2",provider:"mistral",contextWindow:256000,capabilities:{vision:!1,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:0.4,output:2}},{id:"mistral-medium-2508",name:"Mistral Medium 3.1",provider:"mistral",contextWindow:128000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.4,output:2}},{id:"mistral-small-2506",name:"Mistral Small 3.2",provider:"mistral",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0}},{id:"mistral-large-latest",name:"Mistral Large",provider:"mistral",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:2,output:6}},{id:"mistral-medium-latest",name:"Mistral Medium",provider:"mistral",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0}},{id:"codestral-latest",name:"Codestral",provider:"mistral",contextWindow:256000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.2,output:0.6}},{id:"devstral-small-latest",name:"Devstral Small",provider:"mistral",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!0,streaming:!0}},{id:"magistral-medium-latest",name:"Magistral Medium",provider:"mistral",contextWindow:128000,capabilities:{vision:!1,tools:!0,reasoning:!0,streaming:!0}},{id:"pixtral-large-latest",name:"Pixtral Large",provider:"mistral",contextWindow:128000,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0}},{id:"mistral-small-latest",name:"Mistral Small",provider:"mistral",contextWindow:32000,capabilities:{vision:!1,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.2,output:0.6}},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0},costPerMillion:{input:0.075,output:0.3}},{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:1.25,output:10}},{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0},costPerMillion:{input:0.15,output:0.6}},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0}},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash-Lite",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!0,streaming:!0}},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",provider:"gemini",contextWindow:1e6,capabilities:{vision:!0,tools:!0,reasoning:!1,streaming:!0}}];function n(b){return h.filter((c)=>c.provider===b)}function q(b){return h.find((c)=>c.id===b)}function w(b){return n(b==="claude"?"anthropic":b==="custom"?"openai":b).map((j)=>j.id)}function x(b){return k[b]}export{w as getRecommendedModels,n as getModelsForProvider,q as getModelInfo,x as getDefaultModel,h as MODELS,k as DEFAULT_MODELS};