@funkai/models 0.1.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.
Files changed (213) hide show
  1. package/.generated/entries.json +23 -0
  2. package/.generated/req.txt +1 -0
  3. package/.turbo/turbo-build.log +145 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +23 -0
  6. package/README.md +95 -0
  7. package/dist/alibaba-B6q4Ng1R.mjs +957 -0
  8. package/dist/alibaba-B6q4Ng1R.mjs.map +1 -0
  9. package/dist/amazon-bedrock-Cv9AHQBH.mjs +2070 -0
  10. package/dist/amazon-bedrock-Cv9AHQBH.mjs.map +1 -0
  11. package/dist/anthropic-yB7ST97_.mjs +651 -0
  12. package/dist/anthropic-yB7ST97_.mjs.map +1 -0
  13. package/dist/cerebras-COfl7XM-.mjs +95 -0
  14. package/dist/cerebras-COfl7XM-.mjs.map +1 -0
  15. package/dist/cohere-B7TgO0hT.mjs +271 -0
  16. package/dist/cohere-B7TgO0hT.mjs.map +1 -0
  17. package/dist/deepinfra-B0GxUwCG.mjs +636 -0
  18. package/dist/deepinfra-B0GxUwCG.mjs.map +1 -0
  19. package/dist/deepseek-D64ZEsvS.mjs +50 -0
  20. package/dist/deepseek-D64ZEsvS.mjs.map +1 -0
  21. package/dist/fireworks-ai-DJYvdAi_.mjs +304 -0
  22. package/dist/fireworks-ai-DJYvdAi_.mjs.map +1 -0
  23. package/dist/google-BypRl349.mjs +833 -0
  24. package/dist/google-BypRl349.mjs.map +1 -0
  25. package/dist/google-vertex-DbS-zTGD.mjs +730 -0
  26. package/dist/google-vertex-DbS-zTGD.mjs.map +1 -0
  27. package/dist/groq-ei_PerYi.mjs +381 -0
  28. package/dist/groq-ei_PerYi.mjs.map +1 -0
  29. package/dist/huggingface-DaM1EeLP.mjs +456 -0
  30. package/dist/huggingface-DaM1EeLP.mjs.map +1 -0
  31. package/dist/inception-CspEzqNV.mjs +101 -0
  32. package/dist/inception-CspEzqNV.mjs.map +1 -0
  33. package/dist/index.d.mts +30314 -0
  34. package/dist/index.d.mts.map +1 -0
  35. package/dist/index.mjs +271 -0
  36. package/dist/index.mjs.map +1 -0
  37. package/dist/llama-Cf3-koap.mjs +161 -0
  38. package/dist/llama-Cf3-koap.mjs.map +1 -0
  39. package/dist/mistral-BI9MdAO4.mjs +579 -0
  40. package/dist/mistral-BI9MdAO4.mjs.map +1 -0
  41. package/dist/nvidia-COHacuoa.mjs +1625 -0
  42. package/dist/nvidia-COHacuoa.mjs.map +1 -0
  43. package/dist/openai-C0nCfZUq.mjs +1023 -0
  44. package/dist/openai-C0nCfZUq.mjs.map +1 -0
  45. package/dist/openrouter-DSFzxKQb.mjs +4608 -0
  46. package/dist/openrouter-DSFzxKQb.mjs.map +1 -0
  47. package/dist/perplexity-zeZ2WlBU.mjs +96 -0
  48. package/dist/perplexity-zeZ2WlBU.mjs.map +1 -0
  49. package/dist/providers/alibaba.d.mts +1795 -0
  50. package/dist/providers/alibaba.d.mts.map +1 -0
  51. package/dist/providers/alibaba.mjs +39 -0
  52. package/dist/providers/alibaba.mjs.map +1 -0
  53. package/dist/providers/amazon-bedrock.d.mts +3713 -0
  54. package/dist/providers/amazon-bedrock.d.mts.map +1 -0
  55. package/dist/providers/amazon-bedrock.mjs +39 -0
  56. package/dist/providers/amazon-bedrock.mjs.map +1 -0
  57. package/dist/providers/anthropic.d.mts +1109 -0
  58. package/dist/providers/anthropic.d.mts.map +1 -0
  59. package/dist/providers/anthropic.mjs +39 -0
  60. package/dist/providers/anthropic.mjs.map +1 -0
  61. package/dist/providers/cerebras.d.mts +219 -0
  62. package/dist/providers/cerebras.d.mts.map +1 -0
  63. package/dist/providers/cerebras.mjs +39 -0
  64. package/dist/providers/cerebras.mjs.map +1 -0
  65. package/dist/providers/cohere.d.mts +555 -0
  66. package/dist/providers/cohere.d.mts.map +1 -0
  67. package/dist/providers/cohere.mjs +39 -0
  68. package/dist/providers/cohere.mjs.map +1 -0
  69. package/dist/providers/deepinfra.d.mts +1245 -0
  70. package/dist/providers/deepinfra.d.mts.map +1 -0
  71. package/dist/providers/deepinfra.mjs +39 -0
  72. package/dist/providers/deepinfra.mjs.map +1 -0
  73. package/dist/providers/deepseek.d.mts +139 -0
  74. package/dist/providers/deepseek.d.mts.map +1 -0
  75. package/dist/providers/deepseek.mjs +39 -0
  76. package/dist/providers/deepseek.mjs.map +1 -0
  77. package/dist/providers/fireworks-ai.d.mts +611 -0
  78. package/dist/providers/fireworks-ai.d.mts.map +1 -0
  79. package/dist/providers/fireworks-ai.mjs +39 -0
  80. package/dist/providers/fireworks-ai.mjs.map +1 -0
  81. package/dist/providers/google-vertex.d.mts +1227 -0
  82. package/dist/providers/google-vertex.d.mts.map +1 -0
  83. package/dist/providers/google-vertex.mjs +39 -0
  84. package/dist/providers/google-vertex.mjs.map +1 -0
  85. package/dist/providers/google.d.mts +1359 -0
  86. package/dist/providers/google.d.mts.map +1 -0
  87. package/dist/providers/google.mjs +39 -0
  88. package/dist/providers/google.mjs.map +1 -0
  89. package/dist/providers/groq.d.mts +765 -0
  90. package/dist/providers/groq.d.mts.map +1 -0
  91. package/dist/providers/groq.mjs +39 -0
  92. package/dist/providers/groq.mjs.map +1 -0
  93. package/dist/providers/huggingface.d.mts +901 -0
  94. package/dist/providers/huggingface.d.mts.map +1 -0
  95. package/dist/providers/huggingface.mjs +39 -0
  96. package/dist/providers/huggingface.mjs.map +1 -0
  97. package/dist/providers/inception.d.mts +231 -0
  98. package/dist/providers/inception.d.mts.map +1 -0
  99. package/dist/providers/inception.mjs +39 -0
  100. package/dist/providers/inception.mjs.map +1 -0
  101. package/dist/providers/llama.d.mts +345 -0
  102. package/dist/providers/llama.d.mts.map +1 -0
  103. package/dist/providers/llama.mjs +39 -0
  104. package/dist/providers/llama.mjs.map +1 -0
  105. package/dist/providers/mistral.d.mts +1143 -0
  106. package/dist/providers/mistral.d.mts.map +1 -0
  107. package/dist/providers/mistral.mjs +39 -0
  108. package/dist/providers/mistral.mjs.map +1 -0
  109. package/dist/providers/nvidia.d.mts +3117 -0
  110. package/dist/providers/nvidia.d.mts.map +1 -0
  111. package/dist/providers/nvidia.mjs +39 -0
  112. package/dist/providers/nvidia.mjs.map +1 -0
  113. package/dist/providers/openai.d.mts +1963 -0
  114. package/dist/providers/openai.d.mts.map +1 -0
  115. package/dist/providers/openai.mjs +39 -0
  116. package/dist/providers/openai.mjs.map +1 -0
  117. package/dist/providers/openrouter.d.mts +8531 -0
  118. package/dist/providers/openrouter.d.mts.map +1 -0
  119. package/dist/providers/openrouter.mjs +39 -0
  120. package/dist/providers/openrouter.mjs.map +1 -0
  121. package/dist/providers/perplexity.d.mts +221 -0
  122. package/dist/providers/perplexity.d.mts.map +1 -0
  123. package/dist/providers/perplexity.mjs +39 -0
  124. package/dist/providers/perplexity.mjs.map +1 -0
  125. package/dist/providers/togetherai.d.mts +767 -0
  126. package/dist/providers/togetherai.d.mts.map +1 -0
  127. package/dist/providers/togetherai.mjs +39 -0
  128. package/dist/providers/togetherai.mjs.map +1 -0
  129. package/dist/providers/xai.d.mts +1161 -0
  130. package/dist/providers/xai.d.mts.map +1 -0
  131. package/dist/providers/xai.mjs +39 -0
  132. package/dist/providers/xai.mjs.map +1 -0
  133. package/dist/togetherai-BvcxUfPE.mjs +382 -0
  134. package/dist/togetherai-BvcxUfPE.mjs.map +1 -0
  135. package/dist/types-DjdaZckF.d.mts +71 -0
  136. package/dist/types-DjdaZckF.d.mts.map +1 -0
  137. package/dist/xai-fSuAkQJo.mjs +587 -0
  138. package/dist/xai-fSuAkQJo.mjs.map +1 -0
  139. package/docs/catalog/filtering.md +102 -0
  140. package/docs/catalog/overview.md +168 -0
  141. package/docs/catalog/providers.md +73 -0
  142. package/docs/cost/overview.md +125 -0
  143. package/docs/guides/filter-models.md +113 -0
  144. package/docs/guides/setup-resolver.md +106 -0
  145. package/docs/guides/track-costs.md +133 -0
  146. package/docs/overview.md +139 -0
  147. package/docs/provider/configuration.md +100 -0
  148. package/docs/provider/openrouter.md +105 -0
  149. package/docs/provider/overview.md +131 -0
  150. package/docs/troubleshooting.md +100 -0
  151. package/package.json +142 -0
  152. package/providers.json +39 -0
  153. package/scripts/generate-models.ts +392 -0
  154. package/src/catalog/index.test.ts +124 -0
  155. package/src/catalog/index.ts +65 -0
  156. package/src/catalog/providers/alibaba.ts +468 -0
  157. package/src/catalog/providers/amazon-bedrock.ts +941 -0
  158. package/src/catalog/providers/anthropic.ts +270 -0
  159. package/src/catalog/providers/cerebras.ts +61 -0
  160. package/src/catalog/providers/cohere.ts +149 -0
  161. package/src/catalog/providers/deepinfra.ts +325 -0
  162. package/src/catalog/providers/deepseek.ts +39 -0
  163. package/src/catalog/providers/fireworks-ai.ts +160 -0
  164. package/src/catalog/providers/google-vertex.ts +314 -0
  165. package/src/catalog/providers/google.ts +347 -0
  166. package/src/catalog/providers/groq.ts +204 -0
  167. package/src/catalog/providers/huggingface.ts +237 -0
  168. package/src/catalog/providers/inception.ts +61 -0
  169. package/src/catalog/providers/index.ts +59 -0
  170. package/src/catalog/providers/llama.ts +94 -0
  171. package/src/catalog/providers/mistral.ts +303 -0
  172. package/src/catalog/providers/nvidia.ts +820 -0
  173. package/src/catalog/providers/openai.ts +501 -0
  174. package/src/catalog/providers/openrouter.ts +2201 -0
  175. package/src/catalog/providers/perplexity.ts +61 -0
  176. package/src/catalog/providers/togetherai.ts +204 -0
  177. package/src/catalog/providers/xai.ts +292 -0
  178. package/src/catalog/types.ts +86 -0
  179. package/src/cost/calculate.test.ts +157 -0
  180. package/src/cost/calculate.ts +43 -0
  181. package/src/cost/index.ts +2 -0
  182. package/src/cost/types.ts +25 -0
  183. package/src/index.ts +25 -0
  184. package/src/provider/index.ts +9 -0
  185. package/src/provider/openrouter.test.ts +125 -0
  186. package/src/provider/openrouter.ts +110 -0
  187. package/src/provider/resolver.test.ts +138 -0
  188. package/src/provider/resolver.ts +125 -0
  189. package/src/provider/types.ts +39 -0
  190. package/src/providers/alibaba.ts +65 -0
  191. package/src/providers/amazon-bedrock.ts +67 -0
  192. package/src/providers/anthropic.ts +65 -0
  193. package/src/providers/cerebras.ts +65 -0
  194. package/src/providers/cohere.ts +65 -0
  195. package/src/providers/deepinfra.ts +65 -0
  196. package/src/providers/deepseek.ts +65 -0
  197. package/src/providers/fireworks-ai.ts +65 -0
  198. package/src/providers/google-vertex.ts +67 -0
  199. package/src/providers/google.ts +65 -0
  200. package/src/providers/groq.ts +65 -0
  201. package/src/providers/huggingface.ts +67 -0
  202. package/src/providers/inception.ts +65 -0
  203. package/src/providers/llama.ts +65 -0
  204. package/src/providers/mistral.ts +65 -0
  205. package/src/providers/nvidia.ts +65 -0
  206. package/src/providers/openai.ts +65 -0
  207. package/src/providers/openrouter.ts +67 -0
  208. package/src/providers/perplexity.ts +67 -0
  209. package/src/providers/togetherai.ts +65 -0
  210. package/src/providers/xai.ts +65 -0
  211. package/tsconfig.json +25 -0
  212. package/tsdown.config.ts +23 -0
  213. package/vitest.config.ts +29 -0
@@ -0,0 +1,579 @@
1
+ //#region src/catalog/providers/mistral.ts
2
+ const MISTRAL_MODELS = [
3
+ {
4
+ id: "devstral-medium-2507",
5
+ name: "Devstral Medium",
6
+ provider: "mistral",
7
+ family: "devstral",
8
+ pricing: {
9
+ input: 4e-7,
10
+ output: 2e-6
11
+ },
12
+ contextWindow: 128e3,
13
+ maxOutput: 128e3,
14
+ modalities: {
15
+ input: ["text"],
16
+ output: ["text"]
17
+ },
18
+ capabilities: {
19
+ reasoning: false,
20
+ toolCall: true,
21
+ attachment: false,
22
+ structuredOutput: false
23
+ }
24
+ },
25
+ {
26
+ id: "labs-devstral-small-2512",
27
+ name: "Devstral Small 2",
28
+ provider: "mistral",
29
+ family: "devstral",
30
+ pricing: {
31
+ input: 0,
32
+ output: 0
33
+ },
34
+ contextWindow: 256e3,
35
+ maxOutput: 256e3,
36
+ modalities: {
37
+ input: ["text", "image"],
38
+ output: ["text"]
39
+ },
40
+ capabilities: {
41
+ reasoning: false,
42
+ toolCall: true,
43
+ attachment: false,
44
+ structuredOutput: false
45
+ }
46
+ },
47
+ {
48
+ id: "devstral-medium-latest",
49
+ name: "Devstral 2 (latest)",
50
+ provider: "mistral",
51
+ family: "devstral",
52
+ pricing: {
53
+ input: 4e-7,
54
+ output: 2e-6
55
+ },
56
+ contextWindow: 262144,
57
+ maxOutput: 262144,
58
+ modalities: {
59
+ input: ["text"],
60
+ output: ["text"]
61
+ },
62
+ capabilities: {
63
+ reasoning: false,
64
+ toolCall: true,
65
+ attachment: false,
66
+ structuredOutput: false
67
+ }
68
+ },
69
+ {
70
+ id: "open-mistral-7b",
71
+ name: "Mistral 7B",
72
+ provider: "mistral",
73
+ family: "mistral",
74
+ pricing: {
75
+ input: 25e-8,
76
+ output: 25e-8
77
+ },
78
+ contextWindow: 8e3,
79
+ maxOutput: 8e3,
80
+ modalities: {
81
+ input: ["text"],
82
+ output: ["text"]
83
+ },
84
+ capabilities: {
85
+ reasoning: false,
86
+ toolCall: true,
87
+ attachment: false,
88
+ structuredOutput: false
89
+ }
90
+ },
91
+ {
92
+ id: "mistral-small-2506",
93
+ name: "Mistral Small 3.2",
94
+ provider: "mistral",
95
+ family: "mistral-small",
96
+ pricing: {
97
+ input: 1e-7,
98
+ output: 3e-7
99
+ },
100
+ contextWindow: 128e3,
101
+ maxOutput: 16384,
102
+ modalities: {
103
+ input: ["text", "image"],
104
+ output: ["text"]
105
+ },
106
+ capabilities: {
107
+ reasoning: false,
108
+ toolCall: true,
109
+ attachment: false,
110
+ structuredOutput: false
111
+ }
112
+ },
113
+ {
114
+ id: "mistral-medium-2505",
115
+ name: "Mistral Medium 3",
116
+ provider: "mistral",
117
+ family: "mistral-medium",
118
+ pricing: {
119
+ input: 4e-7,
120
+ output: 2e-6
121
+ },
122
+ contextWindow: 131072,
123
+ maxOutput: 131072,
124
+ modalities: {
125
+ input: ["text", "image"],
126
+ output: ["text"]
127
+ },
128
+ capabilities: {
129
+ reasoning: false,
130
+ toolCall: true,
131
+ attachment: true,
132
+ structuredOutput: false
133
+ }
134
+ },
135
+ {
136
+ id: "codestral-latest",
137
+ name: "Codestral (latest)",
138
+ provider: "mistral",
139
+ family: "codestral",
140
+ pricing: {
141
+ input: 3e-7,
142
+ output: 9e-7
143
+ },
144
+ contextWindow: 256e3,
145
+ maxOutput: 4096,
146
+ modalities: {
147
+ input: ["text"],
148
+ output: ["text"]
149
+ },
150
+ capabilities: {
151
+ reasoning: false,
152
+ toolCall: true,
153
+ attachment: false,
154
+ structuredOutput: false
155
+ }
156
+ },
157
+ {
158
+ id: "ministral-8b-latest",
159
+ name: "Ministral 8B (latest)",
160
+ provider: "mistral",
161
+ family: "ministral",
162
+ pricing: {
163
+ input: 1e-7,
164
+ output: 1e-7
165
+ },
166
+ contextWindow: 128e3,
167
+ maxOutput: 128e3,
168
+ modalities: {
169
+ input: ["text"],
170
+ output: ["text"]
171
+ },
172
+ capabilities: {
173
+ reasoning: false,
174
+ toolCall: true,
175
+ attachment: false,
176
+ structuredOutput: false
177
+ }
178
+ },
179
+ {
180
+ id: "magistral-small",
181
+ name: "Magistral Small",
182
+ provider: "mistral",
183
+ family: "magistral-small",
184
+ pricing: {
185
+ input: 5e-7,
186
+ output: 15e-7
187
+ },
188
+ contextWindow: 128e3,
189
+ maxOutput: 128e3,
190
+ modalities: {
191
+ input: ["text"],
192
+ output: ["text"]
193
+ },
194
+ capabilities: {
195
+ reasoning: true,
196
+ toolCall: true,
197
+ attachment: false,
198
+ structuredOutput: false
199
+ }
200
+ },
201
+ {
202
+ id: "mistral-large-2512",
203
+ name: "Mistral Large 3",
204
+ provider: "mistral",
205
+ family: "mistral-large",
206
+ pricing: {
207
+ input: 5e-7,
208
+ output: 15e-7
209
+ },
210
+ contextWindow: 262144,
211
+ maxOutput: 262144,
212
+ modalities: {
213
+ input: ["text", "image"],
214
+ output: ["text"]
215
+ },
216
+ capabilities: {
217
+ reasoning: false,
218
+ toolCall: true,
219
+ attachment: true,
220
+ structuredOutput: false
221
+ }
222
+ },
223
+ {
224
+ id: "ministral-3b-latest",
225
+ name: "Ministral 3B (latest)",
226
+ provider: "mistral",
227
+ family: "ministral",
228
+ pricing: {
229
+ input: 4e-8,
230
+ output: 4e-8
231
+ },
232
+ contextWindow: 128e3,
233
+ maxOutput: 128e3,
234
+ modalities: {
235
+ input: ["text"],
236
+ output: ["text"]
237
+ },
238
+ capabilities: {
239
+ reasoning: false,
240
+ toolCall: true,
241
+ attachment: false,
242
+ structuredOutput: false
243
+ }
244
+ },
245
+ {
246
+ id: "mistral-embed",
247
+ name: "Mistral Embed",
248
+ provider: "mistral",
249
+ family: "mistral-embed",
250
+ pricing: {
251
+ input: 1e-7,
252
+ output: 0
253
+ },
254
+ contextWindow: 8e3,
255
+ maxOutput: 3072,
256
+ modalities: {
257
+ input: ["text"],
258
+ output: ["text"]
259
+ },
260
+ capabilities: {
261
+ reasoning: false,
262
+ toolCall: false,
263
+ attachment: false,
264
+ structuredOutput: false
265
+ }
266
+ },
267
+ {
268
+ id: "devstral-small-2505",
269
+ name: "Devstral Small 2505",
270
+ provider: "mistral",
271
+ family: "devstral",
272
+ pricing: {
273
+ input: 1e-7,
274
+ output: 3e-7
275
+ },
276
+ contextWindow: 128e3,
277
+ maxOutput: 128e3,
278
+ modalities: {
279
+ input: ["text"],
280
+ output: ["text"]
281
+ },
282
+ capabilities: {
283
+ reasoning: false,
284
+ toolCall: true,
285
+ attachment: false,
286
+ structuredOutput: false
287
+ }
288
+ },
289
+ {
290
+ id: "pixtral-12b",
291
+ name: "Pixtral 12B",
292
+ provider: "mistral",
293
+ family: "pixtral",
294
+ pricing: {
295
+ input: 15e-8,
296
+ output: 15e-8
297
+ },
298
+ contextWindow: 128e3,
299
+ maxOutput: 128e3,
300
+ modalities: {
301
+ input: ["text", "image"],
302
+ output: ["text"]
303
+ },
304
+ capabilities: {
305
+ reasoning: false,
306
+ toolCall: true,
307
+ attachment: true,
308
+ structuredOutput: false
309
+ }
310
+ },
311
+ {
312
+ id: "open-mixtral-8x7b",
313
+ name: "Mixtral 8x7B",
314
+ provider: "mistral",
315
+ family: "mixtral",
316
+ pricing: {
317
+ input: 7e-7,
318
+ output: 7e-7
319
+ },
320
+ contextWindow: 32e3,
321
+ maxOutput: 32e3,
322
+ modalities: {
323
+ input: ["text"],
324
+ output: ["text"]
325
+ },
326
+ capabilities: {
327
+ reasoning: false,
328
+ toolCall: true,
329
+ attachment: false,
330
+ structuredOutput: false
331
+ }
332
+ },
333
+ {
334
+ id: "pixtral-large-latest",
335
+ name: "Pixtral Large (latest)",
336
+ provider: "mistral",
337
+ family: "pixtral",
338
+ pricing: {
339
+ input: 2e-6,
340
+ output: 6e-6
341
+ },
342
+ contextWindow: 128e3,
343
+ maxOutput: 128e3,
344
+ modalities: {
345
+ input: ["text", "image"],
346
+ output: ["text"]
347
+ },
348
+ capabilities: {
349
+ reasoning: false,
350
+ toolCall: true,
351
+ attachment: true,
352
+ structuredOutput: false
353
+ }
354
+ },
355
+ {
356
+ id: "mistral-nemo",
357
+ name: "Mistral Nemo",
358
+ provider: "mistral",
359
+ family: "mistral-nemo",
360
+ pricing: {
361
+ input: 15e-8,
362
+ output: 15e-8
363
+ },
364
+ contextWindow: 128e3,
365
+ maxOutput: 128e3,
366
+ modalities: {
367
+ input: ["text"],
368
+ output: ["text"]
369
+ },
370
+ capabilities: {
371
+ reasoning: false,
372
+ toolCall: true,
373
+ attachment: false,
374
+ structuredOutput: false
375
+ }
376
+ },
377
+ {
378
+ id: "devstral-2512",
379
+ name: "Devstral 2",
380
+ provider: "mistral",
381
+ family: "devstral",
382
+ pricing: {
383
+ input: 4e-7,
384
+ output: 2e-6
385
+ },
386
+ contextWindow: 262144,
387
+ maxOutput: 262144,
388
+ modalities: {
389
+ input: ["text"],
390
+ output: ["text"]
391
+ },
392
+ capabilities: {
393
+ reasoning: false,
394
+ toolCall: true,
395
+ attachment: false,
396
+ structuredOutput: false
397
+ }
398
+ },
399
+ {
400
+ id: "mistral-large-latest",
401
+ name: "Mistral Large (latest)",
402
+ provider: "mistral",
403
+ family: "mistral-large",
404
+ pricing: {
405
+ input: 5e-7,
406
+ output: 15e-7
407
+ },
408
+ contextWindow: 262144,
409
+ maxOutput: 262144,
410
+ modalities: {
411
+ input: ["text", "image"],
412
+ output: ["text"]
413
+ },
414
+ capabilities: {
415
+ reasoning: false,
416
+ toolCall: true,
417
+ attachment: true,
418
+ structuredOutput: false
419
+ }
420
+ },
421
+ {
422
+ id: "mistral-medium-2508",
423
+ name: "Mistral Medium 3.1",
424
+ provider: "mistral",
425
+ family: "mistral-medium",
426
+ pricing: {
427
+ input: 4e-7,
428
+ output: 2e-6
429
+ },
430
+ contextWindow: 262144,
431
+ maxOutput: 262144,
432
+ modalities: {
433
+ input: ["text", "image"],
434
+ output: ["text"]
435
+ },
436
+ capabilities: {
437
+ reasoning: false,
438
+ toolCall: true,
439
+ attachment: true,
440
+ structuredOutput: false
441
+ }
442
+ },
443
+ {
444
+ id: "mistral-large-2411",
445
+ name: "Mistral Large 2.1",
446
+ provider: "mistral",
447
+ family: "mistral-large",
448
+ pricing: {
449
+ input: 2e-6,
450
+ output: 6e-6
451
+ },
452
+ contextWindow: 131072,
453
+ maxOutput: 16384,
454
+ modalities: {
455
+ input: ["text"],
456
+ output: ["text"]
457
+ },
458
+ capabilities: {
459
+ reasoning: false,
460
+ toolCall: true,
461
+ attachment: false,
462
+ structuredOutput: false
463
+ }
464
+ },
465
+ {
466
+ id: "mistral-small-latest",
467
+ name: "Mistral Small (latest)",
468
+ provider: "mistral",
469
+ family: "mistral-small",
470
+ pricing: {
471
+ input: 1e-7,
472
+ output: 3e-7
473
+ },
474
+ contextWindow: 128e3,
475
+ maxOutput: 16384,
476
+ modalities: {
477
+ input: ["text", "image"],
478
+ output: ["text"]
479
+ },
480
+ capabilities: {
481
+ reasoning: false,
482
+ toolCall: true,
483
+ attachment: false,
484
+ structuredOutput: false
485
+ }
486
+ },
487
+ {
488
+ id: "open-mixtral-8x22b",
489
+ name: "Mixtral 8x22B",
490
+ provider: "mistral",
491
+ family: "mixtral",
492
+ pricing: {
493
+ input: 2e-6,
494
+ output: 6e-6
495
+ },
496
+ contextWindow: 64e3,
497
+ maxOutput: 64e3,
498
+ modalities: {
499
+ input: ["text"],
500
+ output: ["text"]
501
+ },
502
+ capabilities: {
503
+ reasoning: false,
504
+ toolCall: true,
505
+ attachment: false,
506
+ structuredOutput: false
507
+ }
508
+ },
509
+ {
510
+ id: "mistral-medium-latest",
511
+ name: "Mistral Medium (latest)",
512
+ provider: "mistral",
513
+ family: "mistral-medium",
514
+ pricing: {
515
+ input: 4e-7,
516
+ output: 2e-6
517
+ },
518
+ contextWindow: 128e3,
519
+ maxOutput: 16384,
520
+ modalities: {
521
+ input: ["text", "image"],
522
+ output: ["text"]
523
+ },
524
+ capabilities: {
525
+ reasoning: false,
526
+ toolCall: true,
527
+ attachment: false,
528
+ structuredOutput: false
529
+ }
530
+ },
531
+ {
532
+ id: "devstral-small-2507",
533
+ name: "Devstral Small",
534
+ provider: "mistral",
535
+ family: "devstral",
536
+ pricing: {
537
+ input: 1e-7,
538
+ output: 3e-7
539
+ },
540
+ contextWindow: 128e3,
541
+ maxOutput: 128e3,
542
+ modalities: {
543
+ input: ["text"],
544
+ output: ["text"]
545
+ },
546
+ capabilities: {
547
+ reasoning: false,
548
+ toolCall: true,
549
+ attachment: false,
550
+ structuredOutput: false
551
+ }
552
+ },
553
+ {
554
+ id: "magistral-medium-latest",
555
+ name: "Magistral Medium (latest)",
556
+ provider: "mistral",
557
+ family: "magistral-medium",
558
+ pricing: {
559
+ input: 2e-6,
560
+ output: 5e-6
561
+ },
562
+ contextWindow: 128e3,
563
+ maxOutput: 16384,
564
+ modalities: {
565
+ input: ["text"],
566
+ output: ["text"]
567
+ },
568
+ capabilities: {
569
+ reasoning: true,
570
+ toolCall: true,
571
+ attachment: false,
572
+ structuredOutput: false
573
+ }
574
+ }
575
+ ];
576
+ //#endregion
577
+ export { MISTRAL_MODELS as t };
578
+
579
+ //# sourceMappingURL=mistral-BI9MdAO4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral-BI9MdAO4.mjs","names":[],"sources":["../src/catalog/providers/mistral.ts"],"sourcesContent":["// ──────────────────────────────────────────────────────────────\n// ███████╗██╗ ██╗███╗ ██╗██╗ ██╗ █████╗ ██╗\n// ██╔════╝██║ ██║████╗ ██║██║ ██╔╝██╔══██╗██║\n// █████╗ ██║ ██║██╔██╗ ██║█████╔╝ ███████║██║\n// ██╔══╝ ██║ ██║██║╚██╗██║██╔═██╗ ██╔══██║██║\n// ██║ ╚██████╔╝██║ ╚████║██║ ██╗██║ ██║██║\n// ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝\n//\n// AUTO-GENERATED — DO NOT EDIT\n// Source: https://models.dev\n// Update: pnpm --filter=@funkai/models generate:models\n// ──────────────────────────────────────────────────────────────\n\nimport type { ModelDefinition } from \"../types.js\";\n\nexport const MISTRAL_MODELS = [\n {\n id: \"devstral-medium-2507\",\n name: \"Devstral Medium\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"labs-devstral-small-2512\",\n name: \"Devstral Small 2\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 256000,\n maxOutput: 256000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"devstral-medium-latest\",\n name: \"Devstral 2 (latest)\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"open-mistral-7b\",\n name: \"Mistral 7B\",\n provider: \"mistral\",\n family: \"mistral\",\n pricing: { input: 2.5e-7, output: 2.5e-7 },\n contextWindow: 8000,\n maxOutput: 8000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-small-2506\",\n name: \"Mistral Small 3.2\",\n provider: \"mistral\",\n family: \"mistral-small\",\n pricing: { input: 1e-7, output: 3e-7 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-medium-2505\",\n name: \"Mistral Medium 3\",\n provider: \"mistral\",\n family: \"mistral-medium\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"codestral-latest\",\n name: \"Codestral (latest)\",\n provider: \"mistral\",\n family: \"codestral\",\n pricing: { input: 3e-7, output: 9e-7 },\n contextWindow: 256000,\n maxOutput: 4096,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"ministral-8b-latest\",\n name: \"Ministral 8B (latest)\",\n provider: \"mistral\",\n family: \"ministral\",\n pricing: { input: 1e-7, output: 1e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"magistral-small\",\n name: \"Magistral Small\",\n provider: \"mistral\",\n family: \"magistral-small\",\n pricing: { input: 5e-7, output: 0.0000015 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-large-2512\",\n name: \"Mistral Large 3\",\n provider: \"mistral\",\n family: \"mistral-large\",\n pricing: { input: 5e-7, output: 0.0000015 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"ministral-3b-latest\",\n name: \"Ministral 3B (latest)\",\n provider: \"mistral\",\n family: \"ministral\",\n pricing: { input: 4e-8, output: 4e-8 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-embed\",\n name: \"Mistral Embed\",\n provider: \"mistral\",\n family: \"mistral-embed\",\n pricing: { input: 1e-7, output: 0 },\n contextWindow: 8000,\n maxOutput: 3072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"devstral-small-2505\",\n name: \"Devstral Small 2505\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 1e-7, output: 3e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"pixtral-12b\",\n name: \"Pixtral 12B\",\n provider: \"mistral\",\n family: \"pixtral\",\n pricing: { input: 1.5e-7, output: 1.5e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"open-mixtral-8x7b\",\n name: \"Mixtral 8x7B\",\n provider: \"mistral\",\n family: \"mixtral\",\n pricing: { input: 7e-7, output: 7e-7 },\n contextWindow: 32000,\n maxOutput: 32000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"pixtral-large-latest\",\n name: \"Pixtral Large (latest)\",\n provider: \"mistral\",\n family: \"pixtral\",\n pricing: { input: 0.000002, output: 0.000006 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"mistral-nemo\",\n name: \"Mistral Nemo\",\n provider: \"mistral\",\n family: \"mistral-nemo\",\n pricing: { input: 1.5e-7, output: 1.5e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"devstral-2512\",\n name: \"Devstral 2\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-large-latest\",\n name: \"Mistral Large (latest)\",\n provider: \"mistral\",\n family: \"mistral-large\",\n pricing: { input: 5e-7, output: 0.0000015 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"mistral-medium-2508\",\n name: \"Mistral Medium 3.1\",\n provider: \"mistral\",\n family: \"mistral-medium\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"mistral-large-2411\",\n name: \"Mistral Large 2.1\",\n provider: \"mistral\",\n family: \"mistral-large\",\n pricing: { input: 0.000002, output: 0.000006 },\n contextWindow: 131072,\n maxOutput: 16384,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-small-latest\",\n name: \"Mistral Small (latest)\",\n provider: \"mistral\",\n family: \"mistral-small\",\n pricing: { input: 1e-7, output: 3e-7 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"open-mixtral-8x22b\",\n name: \"Mixtral 8x22B\",\n provider: \"mistral\",\n family: \"mixtral\",\n pricing: { input: 0.000002, output: 0.000006 },\n contextWindow: 64000,\n maxOutput: 64000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistral-medium-latest\",\n name: \"Mistral Medium (latest)\",\n provider: \"mistral\",\n family: \"mistral-medium\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"devstral-small-2507\",\n name: \"Devstral Small\",\n provider: \"mistral\",\n family: \"devstral\",\n pricing: { input: 1e-7, output: 3e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"magistral-medium-latest\",\n name: \"Magistral Medium (latest)\",\n provider: \"mistral\",\n family: \"magistral-medium\",\n pricing: { input: 0.000002, output: 0.000005 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n] as const satisfies readonly ModelDefinition[];\n"],"mappings":"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"}