@dexto/core 1.6.1 → 1.6.2

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 (132) hide show
  1. package/dist/agent/DextoAgent.cjs +54 -0
  2. package/dist/agent/DextoAgent.d.ts +12 -1
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +54 -0
  5. package/dist/agent/agent-options.d.ts +6 -1
  6. package/dist/agent/agent-options.d.ts.map +1 -1
  7. package/dist/events/index.d.ts +9 -1
  8. package/dist/events/index.d.ts.map +1 -1
  9. package/dist/llm/executor/provider-options.cjs +223 -28
  10. package/dist/llm/executor/provider-options.d.ts +3 -37
  11. package/dist/llm/executor/provider-options.d.ts.map +1 -1
  12. package/dist/llm/executor/provider-options.js +227 -27
  13. package/dist/llm/executor/stream-processor.cjs +54 -31
  14. package/dist/llm/executor/stream-processor.d.ts +9 -2
  15. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  16. package/dist/llm/executor/stream-processor.js +52 -29
  17. package/dist/llm/executor/turn-executor.cjs +63 -41
  18. package/dist/llm/executor/turn-executor.d.ts +2 -2
  19. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  20. package/dist/llm/executor/turn-executor.js +53 -31
  21. package/dist/llm/formatters/vercel.cjs +15 -3
  22. package/dist/llm/formatters/vercel.d.ts +1 -0
  23. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  24. package/dist/llm/formatters/vercel.js +15 -3
  25. package/dist/llm/index.cjs +8 -0
  26. package/dist/llm/index.d.ts +2 -1
  27. package/dist/llm/index.d.ts.map +1 -1
  28. package/dist/llm/index.js +7 -0
  29. package/dist/llm/providers/local/schemas.d.ts +2 -2
  30. package/dist/llm/providers/openrouter-model-registry.cjs +66 -11
  31. package/dist/llm/providers/openrouter-model-registry.d.ts +26 -0
  32. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -1
  33. package/dist/llm/providers/openrouter-model-registry.js +65 -11
  34. package/dist/llm/reasoning/anthropic-betas.cjs +31 -0
  35. package/dist/llm/reasoning/anthropic-betas.d.ts +3 -0
  36. package/dist/llm/reasoning/anthropic-betas.d.ts.map +1 -0
  37. package/dist/llm/reasoning/anthropic-betas.js +7 -0
  38. package/dist/llm/reasoning/anthropic-thinking.cjs +79 -0
  39. package/dist/llm/reasoning/anthropic-thinking.d.ts +15 -0
  40. package/dist/llm/reasoning/anthropic-thinking.d.ts.map +1 -0
  41. package/dist/llm/reasoning/anthropic-thinking.js +52 -0
  42. package/dist/llm/reasoning/openai-reasoning-effort.cjs +86 -0
  43. package/dist/llm/reasoning/openai-reasoning-effort.d.ts +5 -0
  44. package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +1 -0
  45. package/dist/llm/reasoning/openai-reasoning-effort.js +61 -0
  46. package/dist/llm/reasoning/profile.cjs +113 -0
  47. package/dist/llm/reasoning/profile.d.ts +13 -0
  48. package/dist/llm/reasoning/profile.d.ts.map +1 -0
  49. package/dist/llm/reasoning/profile.js +92 -0
  50. package/dist/llm/reasoning/profiles/anthropic.cjs +61 -0
  51. package/dist/llm/reasoning/profiles/anthropic.d.ts +8 -0
  52. package/dist/llm/reasoning/profiles/anthropic.d.ts.map +1 -0
  53. package/dist/llm/reasoning/profiles/anthropic.js +45 -0
  54. package/dist/llm/reasoning/profiles/bedrock.cjs +54 -0
  55. package/dist/llm/reasoning/profiles/bedrock.d.ts +3 -0
  56. package/dist/llm/reasoning/profiles/bedrock.d.ts.map +1 -0
  57. package/dist/llm/reasoning/profiles/bedrock.js +36 -0
  58. package/dist/llm/reasoning/profiles/google.cjs +45 -0
  59. package/dist/llm/reasoning/profiles/google.d.ts +9 -0
  60. package/dist/llm/reasoning/profiles/google.d.ts.map +1 -0
  61. package/dist/llm/reasoning/profiles/google.js +21 -0
  62. package/dist/llm/reasoning/profiles/openai-compatible.cjs +39 -0
  63. package/dist/llm/reasoning/profiles/openai-compatible.d.ts +3 -0
  64. package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +1 -0
  65. package/dist/llm/reasoning/profiles/openai-compatible.js +16 -0
  66. package/dist/llm/reasoning/profiles/openai.cjs +41 -0
  67. package/dist/llm/reasoning/profiles/openai.d.ts +3 -0
  68. package/dist/llm/reasoning/profiles/openai.d.ts.map +1 -0
  69. package/dist/llm/reasoning/profiles/openai.js +18 -0
  70. package/dist/llm/reasoning/profiles/openrouter.cjs +83 -0
  71. package/dist/llm/reasoning/profiles/openrouter.d.ts +10 -0
  72. package/dist/llm/reasoning/profiles/openrouter.d.ts.map +1 -0
  73. package/dist/llm/reasoning/profiles/openrouter.js +59 -0
  74. package/dist/llm/reasoning/profiles/shared.cjs +80 -0
  75. package/dist/llm/reasoning/profiles/shared.d.ts +25 -0
  76. package/dist/llm/reasoning/profiles/shared.d.ts.map +1 -0
  77. package/dist/llm/reasoning/profiles/shared.js +53 -0
  78. package/dist/llm/reasoning/profiles/vertex.cjs +46 -0
  79. package/dist/llm/reasoning/profiles/vertex.d.ts +3 -0
  80. package/dist/llm/reasoning/profiles/vertex.d.ts.map +1 -0
  81. package/dist/llm/reasoning/profiles/vertex.js +23 -0
  82. package/dist/llm/registry/auto-update.cjs +18 -0
  83. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  84. package/dist/llm/registry/auto-update.js +18 -0
  85. package/dist/llm/registry/index.cjs +126 -26
  86. package/dist/llm/registry/index.d.ts +48 -4
  87. package/dist/llm/registry/index.d.ts.map +1 -1
  88. package/dist/llm/registry/index.js +136 -28
  89. package/dist/llm/registry/models.generated.cjs +5198 -59
  90. package/dist/llm/registry/models.generated.d.ts +1893 -76
  91. package/dist/llm/registry/models.generated.d.ts.map +1 -1
  92. package/dist/llm/registry/models.generated.js +5196 -58
  93. package/dist/llm/registry/sync.cjs +72 -1
  94. package/dist/llm/registry/sync.d.ts +21 -1
  95. package/dist/llm/registry/sync.d.ts.map +1 -1
  96. package/dist/llm/registry/sync.js +72 -1
  97. package/dist/llm/resolver.cjs +13 -1
  98. package/dist/llm/resolver.d.ts.map +1 -1
  99. package/dist/llm/resolver.js +13 -1
  100. package/dist/llm/schemas.cjs +75 -14
  101. package/dist/llm/schemas.d.ts +80 -23
  102. package/dist/llm/schemas.d.ts.map +1 -1
  103. package/dist/llm/schemas.js +75 -14
  104. package/dist/llm/services/factory.cjs +55 -8
  105. package/dist/llm/services/factory.d.ts +1 -1
  106. package/dist/llm/services/factory.d.ts.map +1 -1
  107. package/dist/llm/services/factory.js +58 -8
  108. package/dist/llm/services/vercel.cjs +1 -1
  109. package/dist/llm/services/vercel.js +1 -1
  110. package/dist/llm/types.d.ts +9 -0
  111. package/dist/llm/types.d.ts.map +1 -1
  112. package/dist/prompts/index.cjs +9 -0
  113. package/dist/prompts/index.d.ts +1 -0
  114. package/dist/prompts/index.d.ts.map +1 -1
  115. package/dist/prompts/index.js +10 -0
  116. package/dist/prompts/prompt-manager.cjs +2 -0
  117. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  118. package/dist/prompts/prompt-manager.js +2 -0
  119. package/dist/prompts/providers/config-prompt-provider.cjs +11 -1
  120. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  121. package/dist/prompts/providers/config-prompt-provider.js +11 -1
  122. package/dist/prompts/schemas.cjs +2 -2
  123. package/dist/prompts/schemas.js +2 -2
  124. package/dist/prompts/types.d.ts +6 -2
  125. package/dist/prompts/types.d.ts.map +1 -1
  126. package/dist/tools/tool-manager.cjs +88 -2
  127. package/dist/tools/tool-manager.d.ts +15 -1
  128. package/dist/tools/tool-manager.d.ts.map +1 -1
  129. package/dist/tools/tool-manager.js +88 -2
  130. package/dist/utils/service-initializer.d.ts +1 -0
  131. package/dist/utils/service-initializer.d.ts.map +1 -1
  132. package/package.json +6 -4
@@ -1,50 +1,1352 @@
1
1
  export declare const MODELS_BY_PROVIDER: {
2
2
  openai: ({
3
+ name: string;
4
+ displayName: string;
5
+ maxInputTokens: number;
6
+ supportedFileTypes: never[];
7
+ reasoning: false;
8
+ supportsTemperature: true;
9
+ supportsToolCall: false;
10
+ releaseDate: string;
11
+ modalities: {
12
+ input: "text"[];
13
+ output: "text"[];
14
+ };
15
+ pricing: {
16
+ inputPerM: number;
17
+ outputPerM: number;
18
+ cacheReadPerM: number;
19
+ currency: "USD";
20
+ unit: "per_million_tokens";
21
+ };
22
+ default?: never;
23
+ } | {
24
+ name: string;
25
+ displayName: string;
26
+ maxInputTokens: number;
27
+ supportedFileTypes: ("pdf" | "image")[];
28
+ reasoning: false;
29
+ supportsTemperature: true;
30
+ supportsToolCall: true;
31
+ releaseDate: string;
32
+ modalities: {
33
+ input: ("image" | "text")[];
34
+ output: "text"[];
35
+ };
36
+ pricing: {
37
+ inputPerM: number;
38
+ outputPerM: number;
39
+ currency: "USD";
40
+ unit: "per_million_tokens";
41
+ cacheReadPerM?: never;
42
+ };
43
+ default?: never;
44
+ } | {
45
+ name: string;
46
+ displayName: string;
47
+ maxInputTokens: number;
48
+ supportedFileTypes: ("pdf" | "image")[];
49
+ reasoning: false;
50
+ supportsTemperature: true;
51
+ supportsToolCall: true;
52
+ releaseDate: string;
53
+ modalities: {
54
+ input: ("image" | "text")[];
55
+ output: "text"[];
56
+ };
57
+ pricing: {
58
+ inputPerM: number;
59
+ outputPerM: number;
60
+ cacheReadPerM: number;
61
+ currency: "USD";
62
+ unit: "per_million_tokens";
63
+ };
64
+ default?: never;
65
+ } | {
66
+ name: string;
67
+ displayName: string;
68
+ maxInputTokens: number;
69
+ supportedFileTypes: ("pdf" | "image")[];
70
+ reasoning: true;
71
+ supportsTemperature: true;
72
+ supportsToolCall: false;
73
+ releaseDate: string;
74
+ modalities: {
75
+ input: ("image" | "text")[];
76
+ output: "text"[];
77
+ };
78
+ pricing: {
79
+ inputPerM: number;
80
+ outputPerM: number;
81
+ currency: "USD";
82
+ unit: "per_million_tokens";
83
+ cacheReadPerM?: never;
84
+ };
85
+ default?: never;
86
+ } | {
87
+ name: string;
88
+ displayName: string;
89
+ maxInputTokens: number;
90
+ supportedFileTypes: ("pdf" | "image")[];
91
+ reasoning: true;
92
+ supportsTemperature: false;
93
+ supportsToolCall: true;
94
+ releaseDate: string;
95
+ modalities: {
96
+ input: ("image" | "text")[];
97
+ output: "text"[];
98
+ };
99
+ pricing: {
100
+ inputPerM: number;
101
+ outputPerM: number;
102
+ cacheReadPerM: number;
103
+ currency: "USD";
104
+ unit: "per_million_tokens";
105
+ };
106
+ default: true;
107
+ } | {
108
+ name: string;
109
+ displayName: string;
110
+ maxInputTokens: number;
111
+ supportedFileTypes: ("pdf" | "image")[];
112
+ reasoning: true;
113
+ supportsTemperature: false;
114
+ supportsToolCall: true;
115
+ releaseDate: string;
116
+ modalities: {
117
+ input: ("image" | "text")[];
118
+ output: "text"[];
119
+ };
120
+ pricing: {
121
+ inputPerM: number;
122
+ outputPerM: number;
123
+ currency: "USD";
124
+ unit: "per_million_tokens";
125
+ cacheReadPerM?: never;
126
+ };
127
+ default?: never;
128
+ } | {
129
+ name: string;
130
+ displayName: string;
131
+ maxInputTokens: number;
132
+ supportedFileTypes: ("pdf" | "image")[];
133
+ reasoning: true;
134
+ supportsTemperature: false;
135
+ supportsToolCall: true;
136
+ releaseDate: string;
137
+ modalities: {
138
+ input: ("pdf" | "image" | "text")[];
139
+ output: "text"[];
140
+ };
141
+ pricing: {
142
+ inputPerM: number;
143
+ outputPerM: number;
144
+ cacheReadPerM: number;
145
+ currency: "USD";
146
+ unit: "per_million_tokens";
147
+ };
148
+ default?: never;
149
+ } | {
150
+ name: string;
151
+ displayName: string;
152
+ maxInputTokens: number;
153
+ supportedFileTypes: never[];
154
+ reasoning: true;
155
+ supportsTemperature: false;
156
+ supportsToolCall: false;
157
+ releaseDate: string;
158
+ modalities: {
159
+ input: "text"[];
160
+ output: "text"[];
161
+ };
162
+ pricing: {
163
+ inputPerM: number;
164
+ outputPerM: number;
165
+ cacheReadPerM: number;
166
+ currency: "USD";
167
+ unit: "per_million_tokens";
168
+ };
169
+ default?: never;
170
+ } | {
171
+ name: string;
172
+ displayName: string;
173
+ maxInputTokens: number;
174
+ supportedFileTypes: never[];
175
+ reasoning: true;
176
+ supportsTemperature: true;
177
+ supportsToolCall: false;
178
+ releaseDate: string;
179
+ modalities: {
180
+ input: "text"[];
181
+ output: "text"[];
182
+ };
183
+ pricing: {
184
+ inputPerM: number;
185
+ outputPerM: number;
186
+ cacheReadPerM: number;
187
+ currency: "USD";
188
+ unit: "per_million_tokens";
189
+ };
190
+ default?: never;
191
+ })[];
192
+ 'openai-compatible': never[];
193
+ anthropic: ({
194
+ name: string;
195
+ displayName: string;
196
+ maxInputTokens: number;
197
+ supportedFileTypes: ("pdf" | "image")[];
198
+ reasoning: false;
199
+ supportsTemperature: true;
200
+ supportsToolCall: true;
201
+ releaseDate: string;
202
+ modalities: {
203
+ input: ("pdf" | "image" | "text")[];
204
+ output: "text"[];
205
+ };
206
+ pricing: {
207
+ inputPerM: number;
208
+ outputPerM: number;
209
+ cacheReadPerM: number;
210
+ cacheWritePerM: number;
211
+ currency: "USD";
212
+ unit: "per_million_tokens";
213
+ contextOver200kPerM?: never;
214
+ };
215
+ default?: never;
216
+ } | {
217
+ name: string;
218
+ displayName: string;
219
+ maxInputTokens: number;
220
+ supportedFileTypes: ("pdf" | "image")[];
221
+ reasoning: true;
222
+ supportsTemperature: true;
223
+ supportsToolCall: true;
224
+ releaseDate: string;
225
+ modalities: {
226
+ input: ("pdf" | "image" | "text")[];
227
+ output: "text"[];
228
+ };
229
+ pricing: {
230
+ inputPerM: number;
231
+ outputPerM: number;
232
+ cacheReadPerM: number;
233
+ cacheWritePerM: number;
234
+ currency: "USD";
235
+ unit: "per_million_tokens";
236
+ contextOver200kPerM?: never;
237
+ };
238
+ default?: never;
239
+ } | {
240
+ name: string;
241
+ displayName: string;
242
+ maxInputTokens: number;
243
+ supportedFileTypes: ("pdf" | "image")[];
244
+ reasoning: true;
245
+ supportsTemperature: true;
246
+ supportsToolCall: true;
247
+ releaseDate: string;
248
+ modalities: {
249
+ input: ("pdf" | "image" | "text")[];
250
+ output: "text"[];
251
+ };
252
+ pricing: {
253
+ inputPerM: number;
254
+ outputPerM: number;
255
+ cacheReadPerM: number;
256
+ cacheWritePerM: number;
257
+ currency: "USD";
258
+ unit: "per_million_tokens";
259
+ contextOver200kPerM?: never;
260
+ };
261
+ default: true;
262
+ } | {
263
+ name: string;
264
+ displayName: string;
265
+ maxInputTokens: number;
266
+ supportedFileTypes: ("pdf" | "image")[];
267
+ reasoning: true;
268
+ supportsTemperature: true;
269
+ supportsToolCall: true;
270
+ releaseDate: string;
271
+ modalities: {
272
+ input: ("pdf" | "image" | "text")[];
273
+ output: "text"[];
274
+ };
275
+ pricing: {
276
+ inputPerM: number;
277
+ outputPerM: number;
278
+ cacheReadPerM: number;
279
+ cacheWritePerM: number;
280
+ contextOver200kPerM: {
281
+ inputPerM: number;
282
+ outputPerM: number;
283
+ };
284
+ currency: "USD";
285
+ unit: "per_million_tokens";
286
+ };
287
+ default?: never;
288
+ })[];
289
+ google: ({
290
+ name: string;
291
+ displayName: string;
292
+ maxInputTokens: number;
293
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
294
+ reasoning: false;
295
+ supportsTemperature: true;
296
+ supportsToolCall: true;
297
+ releaseDate: string;
298
+ modalities: {
299
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
300
+ output: "text"[];
301
+ };
302
+ pricing: {
303
+ inputPerM: number;
304
+ outputPerM: number;
305
+ cacheReadPerM: number;
306
+ currency: "USD";
307
+ unit: "per_million_tokens";
308
+ inputAudioPerM?: never;
309
+ contextOver200kPerM?: never;
310
+ outputAudioPerM?: never;
311
+ };
312
+ default?: never;
313
+ } | {
314
+ name: string;
315
+ displayName: string;
316
+ maxInputTokens: number;
317
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
318
+ reasoning: false;
319
+ supportsTemperature: true;
320
+ supportsToolCall: true;
321
+ releaseDate: string;
322
+ modalities: {
323
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
324
+ output: "text"[];
325
+ };
326
+ pricing: {
327
+ inputPerM: number;
328
+ outputPerM: number;
329
+ currency: "USD";
330
+ unit: "per_million_tokens";
331
+ cacheReadPerM?: never;
332
+ inputAudioPerM?: never;
333
+ contextOver200kPerM?: never;
334
+ outputAudioPerM?: never;
335
+ };
336
+ default?: never;
337
+ } | {
338
+ name: string;
339
+ displayName: string;
340
+ maxInputTokens: number;
341
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
342
+ reasoning: true;
343
+ supportsTemperature: true;
344
+ supportsToolCall: true;
345
+ releaseDate: string;
346
+ modalities: {
347
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
348
+ output: "text"[];
349
+ };
350
+ pricing: {
351
+ inputPerM: number;
352
+ outputPerM: number;
353
+ cacheReadPerM: number;
354
+ inputAudioPerM: number;
355
+ currency: "USD";
356
+ unit: "per_million_tokens";
357
+ contextOver200kPerM?: never;
358
+ outputAudioPerM?: never;
359
+ };
360
+ default?: never;
361
+ } | {
362
+ name: string;
363
+ displayName: string;
364
+ maxInputTokens: number;
365
+ supportedFileTypes: "image"[];
366
+ reasoning: true;
367
+ supportsTemperature: true;
368
+ supportsToolCall: false;
369
+ releaseDate: string;
370
+ modalities: {
371
+ input: ("image" | "text")[];
372
+ output: ("image" | "text")[];
373
+ };
374
+ pricing: {
375
+ inputPerM: number;
376
+ outputPerM: number;
377
+ cacheReadPerM: number;
378
+ currency: "USD";
379
+ unit: "per_million_tokens";
380
+ inputAudioPerM?: never;
381
+ contextOver200kPerM?: never;
382
+ outputAudioPerM?: never;
383
+ };
384
+ default?: never;
385
+ } | {
386
+ name: string;
387
+ displayName: string;
388
+ maxInputTokens: number;
389
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
390
+ reasoning: true;
391
+ supportsTemperature: true;
392
+ supportsToolCall: true;
393
+ releaseDate: string;
394
+ modalities: {
395
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
396
+ output: "text"[];
397
+ };
398
+ pricing: {
399
+ inputPerM: number;
400
+ outputPerM: number;
401
+ cacheReadPerM: number;
402
+ currency: "USD";
403
+ unit: "per_million_tokens";
404
+ inputAudioPerM?: never;
405
+ contextOver200kPerM?: never;
406
+ outputAudioPerM?: never;
407
+ };
408
+ default?: never;
409
+ } | {
410
+ name: string;
411
+ displayName: string;
412
+ maxInputTokens: number;
413
+ supportedFileTypes: never[];
414
+ reasoning: false;
415
+ supportsTemperature: false;
416
+ supportsToolCall: false;
417
+ releaseDate: string;
418
+ modalities: {
419
+ input: "text"[];
420
+ output: "audio"[];
421
+ };
422
+ pricing: {
423
+ inputPerM: number;
424
+ outputPerM: number;
425
+ currency: "USD";
426
+ unit: "per_million_tokens";
427
+ cacheReadPerM?: never;
428
+ inputAudioPerM?: never;
429
+ contextOver200kPerM?: never;
430
+ outputAudioPerM?: never;
431
+ };
432
+ default?: never;
433
+ } | {
434
+ name: string;
435
+ displayName: string;
436
+ maxInputTokens: number;
437
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
438
+ reasoning: true;
439
+ supportsTemperature: true;
440
+ supportsToolCall: true;
441
+ releaseDate: string;
442
+ modalities: {
443
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
444
+ output: "text"[];
445
+ };
446
+ pricing: {
447
+ inputPerM: number;
448
+ outputPerM: number;
449
+ cacheReadPerM: number;
450
+ contextOver200kPerM: {
451
+ inputPerM: number;
452
+ outputPerM: number;
453
+ };
454
+ currency: "USD";
455
+ unit: "per_million_tokens";
456
+ inputAudioPerM?: never;
457
+ outputAudioPerM?: never;
458
+ };
459
+ default: true;
460
+ } | {
461
+ name: string;
462
+ displayName: string;
463
+ maxInputTokens: number;
464
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
465
+ reasoning: true;
466
+ supportsTemperature: true;
467
+ supportsToolCall: true;
468
+ releaseDate: string;
469
+ modalities: {
470
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
471
+ output: "text"[];
472
+ };
473
+ pricing: {
474
+ inputPerM: number;
475
+ outputPerM: number;
476
+ cacheReadPerM: number;
477
+ contextOver200kPerM: {
478
+ inputPerM: number;
479
+ outputPerM: number;
480
+ };
481
+ currency: "USD";
482
+ unit: "per_million_tokens";
483
+ inputAudioPerM?: never;
484
+ outputAudioPerM?: never;
485
+ };
486
+ default?: never;
487
+ } | {
488
+ name: string;
489
+ displayName: string;
490
+ maxInputTokens: number;
491
+ supportedFileTypes: never[];
492
+ reasoning: false;
493
+ supportsTemperature: false;
494
+ supportsToolCall: false;
495
+ releaseDate: string;
496
+ modalities: {
497
+ input: "text"[];
498
+ output: "text"[];
499
+ };
500
+ pricing: {
501
+ inputPerM: number;
502
+ outputPerM: number;
503
+ currency: "USD";
504
+ unit: "per_million_tokens";
505
+ cacheReadPerM?: never;
506
+ inputAudioPerM?: never;
507
+ contextOver200kPerM?: never;
508
+ outputAudioPerM?: never;
509
+ };
510
+ default?: never;
511
+ } | {
512
+ name: string;
513
+ displayName: string;
514
+ maxInputTokens: number;
515
+ supportedFileTypes: ("image" | "audio")[];
516
+ reasoning: true;
517
+ supportsTemperature: true;
518
+ supportsToolCall: true;
519
+ releaseDate: string;
520
+ modalities: {
521
+ input: ("image" | "audio" | "text" | "video")[];
522
+ output: ("audio" | "text")[];
523
+ };
524
+ pricing: {
525
+ inputPerM: number;
526
+ outputPerM: number;
527
+ inputAudioPerM: number;
528
+ outputAudioPerM: number;
529
+ currency: "USD";
530
+ unit: "per_million_tokens";
531
+ cacheReadPerM?: never;
532
+ contextOver200kPerM?: never;
533
+ };
534
+ default?: never;
535
+ } | {
536
+ name: string;
537
+ displayName: string;
538
+ maxInputTokens: number;
539
+ supportedFileTypes: "audio"[];
540
+ reasoning: true;
541
+ supportsTemperature: false;
542
+ supportsToolCall: true;
543
+ releaseDate: string;
544
+ modalities: {
545
+ input: ("audio" | "text" | "video")[];
546
+ output: ("audio" | "text")[];
547
+ };
548
+ pricing: {
549
+ inputPerM: number;
550
+ outputPerM: number;
551
+ inputAudioPerM: number;
552
+ outputAudioPerM: number;
553
+ currency: "USD";
554
+ unit: "per_million_tokens";
555
+ cacheReadPerM?: never;
556
+ contextOver200kPerM?: never;
557
+ };
558
+ default?: never;
559
+ })[];
560
+ groq: ({
561
+ name: string;
562
+ displayName: string;
563
+ maxInputTokens: number;
564
+ supportedFileTypes: never[];
565
+ reasoning: true;
566
+ supportsTemperature: true;
567
+ supportsToolCall: true;
568
+ releaseDate: string;
569
+ status: string;
570
+ modalities: {
571
+ input: "text"[];
572
+ output: "text"[];
573
+ };
574
+ pricing: {
575
+ inputPerM: number;
576
+ outputPerM: number;
577
+ currency: "USD";
578
+ unit: "per_million_tokens";
579
+ };
580
+ default?: never;
581
+ } | {
582
+ name: string;
583
+ displayName: string;
584
+ maxInputTokens: number;
585
+ supportedFileTypes: never[];
586
+ reasoning: false;
587
+ supportsTemperature: true;
588
+ supportsToolCall: true;
589
+ releaseDate: string;
590
+ status: string;
591
+ modalities: {
592
+ input: "text"[];
593
+ output: "text"[];
594
+ };
595
+ pricing: {
596
+ inputPerM: number;
597
+ outputPerM: number;
598
+ currency: "USD";
599
+ unit: "per_million_tokens";
600
+ };
601
+ default?: never;
602
+ } | {
603
+ name: string;
604
+ displayName: string;
605
+ maxInputTokens: number;
606
+ supportedFileTypes: never[];
607
+ reasoning: false;
608
+ supportsTemperature: true;
609
+ supportsToolCall: true;
610
+ releaseDate: string;
611
+ modalities: {
612
+ input: "text"[];
613
+ output: "text"[];
614
+ };
615
+ pricing: {
616
+ inputPerM: number;
617
+ outputPerM: number;
618
+ currency: "USD";
619
+ unit: "per_million_tokens";
620
+ };
621
+ default: true;
622
+ status?: never;
623
+ } | {
624
+ name: string;
625
+ displayName: string;
626
+ maxInputTokens: number;
627
+ supportedFileTypes: never[];
628
+ reasoning: false;
629
+ supportsTemperature: true;
630
+ supportsToolCall: false;
631
+ releaseDate: string;
632
+ status: string;
633
+ modalities: {
634
+ input: "text"[];
635
+ output: "text"[];
636
+ };
637
+ pricing: {
638
+ inputPerM: number;
639
+ outputPerM: number;
640
+ currency: "USD";
641
+ unit: "per_million_tokens";
642
+ };
643
+ default?: never;
644
+ } | {
645
+ name: string;
646
+ displayName: string;
647
+ maxInputTokens: number;
648
+ supportedFileTypes: "image"[];
649
+ reasoning: false;
650
+ supportsTemperature: true;
651
+ supportsToolCall: true;
652
+ releaseDate: string;
653
+ modalities: {
654
+ input: ("image" | "text")[];
655
+ output: "text"[];
656
+ };
657
+ pricing: {
658
+ inputPerM: number;
659
+ outputPerM: number;
660
+ currency: "USD";
661
+ unit: "per_million_tokens";
662
+ };
663
+ status?: never;
664
+ default?: never;
665
+ } | {
666
+ name: string;
667
+ displayName: string;
668
+ maxInputTokens: number;
669
+ supportedFileTypes: "image"[];
670
+ reasoning: false;
671
+ supportsTemperature: true;
672
+ supportsToolCall: false;
673
+ releaseDate: string;
674
+ modalities: {
675
+ input: ("image" | "text")[];
676
+ output: "text"[];
677
+ };
678
+ pricing: {
679
+ inputPerM: number;
680
+ outputPerM: number;
681
+ currency: "USD";
682
+ unit: "per_million_tokens";
683
+ };
684
+ status?: never;
685
+ default?: never;
686
+ } | {
687
+ name: string;
688
+ displayName: string;
689
+ maxInputTokens: number;
690
+ supportedFileTypes: never[];
691
+ reasoning: true;
692
+ supportsTemperature: true;
693
+ supportsToolCall: true;
694
+ releaseDate: string;
695
+ modalities: {
696
+ input: "text"[];
697
+ output: "text"[];
698
+ };
699
+ pricing: {
700
+ inputPerM: number;
701
+ outputPerM: number;
702
+ currency: "USD";
703
+ unit: "per_million_tokens";
704
+ };
705
+ status?: never;
706
+ default?: never;
707
+ })[];
708
+ xai: ({
709
+ name: string;
710
+ displayName: string;
711
+ maxInputTokens: number;
712
+ supportedFileTypes: "image"[];
713
+ reasoning: false;
714
+ supportsTemperature: true;
715
+ supportsToolCall: true;
716
+ releaseDate: string;
717
+ modalities: {
718
+ input: ("image" | "text")[];
719
+ output: "text"[];
720
+ };
721
+ pricing: {
722
+ inputPerM: number;
723
+ outputPerM: number;
724
+ cacheReadPerM: number;
725
+ currency: "USD";
726
+ unit: "per_million_tokens";
727
+ reasoningPerM?: never;
728
+ };
729
+ default?: never;
730
+ } | {
731
+ name: string;
732
+ displayName: string;
733
+ maxInputTokens: number;
734
+ supportedFileTypes: never[];
735
+ reasoning: true;
736
+ supportsTemperature: true;
737
+ supportsToolCall: true;
738
+ releaseDate: string;
739
+ modalities: {
740
+ input: "text"[];
741
+ output: "text"[];
742
+ };
743
+ pricing: {
744
+ inputPerM: number;
745
+ outputPerM: number;
746
+ cacheReadPerM: number;
747
+ reasoningPerM: number;
748
+ currency: "USD";
749
+ unit: "per_million_tokens";
750
+ };
751
+ default?: never;
752
+ } | {
753
+ name: string;
754
+ displayName: string;
755
+ maxInputTokens: number;
756
+ supportedFileTypes: never[];
757
+ reasoning: true;
758
+ supportsTemperature: true;
759
+ supportsToolCall: true;
760
+ releaseDate: string;
761
+ modalities: {
762
+ input: "text"[];
763
+ output: "text"[];
764
+ };
765
+ pricing: {
766
+ inputPerM: number;
767
+ outputPerM: number;
768
+ cacheReadPerM: number;
769
+ reasoningPerM: number;
770
+ currency: "USD";
771
+ unit: "per_million_tokens";
772
+ };
773
+ default: true;
774
+ } | {
775
+ name: string;
776
+ displayName: string;
777
+ maxInputTokens: number;
778
+ supportedFileTypes: "image"[];
779
+ reasoning: true;
780
+ supportsTemperature: true;
781
+ supportsToolCall: true;
782
+ releaseDate: string;
783
+ modalities: {
784
+ input: ("image" | "text")[];
785
+ output: "text"[];
786
+ };
787
+ pricing: {
788
+ inputPerM: number;
789
+ outputPerM: number;
790
+ cacheReadPerM: number;
791
+ currency: "USD";
792
+ unit: "per_million_tokens";
793
+ reasoningPerM?: never;
794
+ };
795
+ default?: never;
796
+ })[];
797
+ cohere: ({
798
+ name: string;
799
+ displayName: string;
800
+ maxInputTokens: number;
801
+ supportedFileTypes: never[];
802
+ reasoning: true;
803
+ supportsTemperature: true;
804
+ supportsToolCall: true;
805
+ releaseDate: string;
806
+ modalities: {
807
+ input: "text"[];
808
+ output: "text"[];
809
+ };
810
+ pricing: {
811
+ inputPerM: number;
812
+ outputPerM: number;
813
+ currency: "USD";
814
+ unit: "per_million_tokens";
815
+ };
816
+ default: true;
817
+ } | {
818
+ name: string;
819
+ displayName: string;
820
+ maxInputTokens: number;
821
+ supportedFileTypes: never[];
822
+ reasoning: true;
823
+ supportsTemperature: true;
824
+ supportsToolCall: true;
825
+ releaseDate: string;
826
+ modalities: {
827
+ input: "text"[];
828
+ output: "text"[];
829
+ };
830
+ pricing: {
831
+ inputPerM: number;
832
+ outputPerM: number;
833
+ currency: "USD";
834
+ unit: "per_million_tokens";
835
+ };
836
+ default?: never;
837
+ } | {
838
+ name: string;
839
+ displayName: string;
840
+ maxInputTokens: number;
841
+ supportedFileTypes: never[];
842
+ reasoning: false;
843
+ supportsTemperature: true;
844
+ supportsToolCall: true;
845
+ releaseDate: string;
846
+ modalities: {
847
+ input: "text"[];
848
+ output: "text"[];
849
+ };
850
+ pricing: {
851
+ inputPerM: number;
852
+ outputPerM: number;
853
+ currency: "USD";
854
+ unit: "per_million_tokens";
855
+ };
856
+ default?: never;
857
+ } | {
858
+ name: string;
859
+ displayName: string;
860
+ maxInputTokens: number;
861
+ supportedFileTypes: "image"[];
862
+ reasoning: false;
863
+ supportsTemperature: true;
864
+ supportsToolCall: false;
865
+ releaseDate: string;
866
+ modalities: {
867
+ input: ("image" | "text")[];
868
+ output: "text"[];
869
+ };
870
+ pricing: {
871
+ inputPerM: number;
872
+ outputPerM: number;
873
+ currency: "USD";
874
+ unit: "per_million_tokens";
875
+ };
876
+ default?: never;
877
+ })[];
878
+ minimax: ({
879
+ name: string;
880
+ displayName: string;
881
+ maxInputTokens: number;
882
+ supportedFileTypes: never[];
883
+ reasoning: true;
884
+ supportsTemperature: true;
885
+ supportsToolCall: true;
886
+ releaseDate: string;
887
+ modalities: {
888
+ input: "text"[];
889
+ output: "text"[];
890
+ };
891
+ pricing: {
892
+ inputPerM: number;
893
+ outputPerM: number;
894
+ currency: "USD";
895
+ unit: "per_million_tokens";
896
+ cacheReadPerM?: never;
897
+ cacheWritePerM?: never;
898
+ };
899
+ default?: never;
900
+ } | {
901
+ name: string;
902
+ displayName: string;
903
+ maxInputTokens: number;
904
+ supportedFileTypes: never[];
905
+ reasoning: true;
906
+ supportsTemperature: true;
907
+ supportsToolCall: true;
908
+ releaseDate: string;
909
+ modalities: {
910
+ input: "text"[];
911
+ output: "text"[];
912
+ };
913
+ pricing: {
914
+ inputPerM: number;
915
+ outputPerM: number;
916
+ currency: "USD";
917
+ unit: "per_million_tokens";
918
+ cacheReadPerM?: never;
919
+ cacheWritePerM?: never;
920
+ };
921
+ default: true;
922
+ } | {
923
+ name: string;
924
+ displayName: string;
925
+ maxInputTokens: number;
926
+ supportedFileTypes: never[];
927
+ reasoning: true;
928
+ supportsTemperature: true;
929
+ supportsToolCall: true;
930
+ releaseDate: string;
931
+ modalities: {
932
+ input: "text"[];
933
+ output: "text"[];
934
+ };
935
+ pricing: {
936
+ inputPerM: number;
937
+ outputPerM: number;
938
+ cacheReadPerM: number;
939
+ cacheWritePerM: number;
940
+ currency: "USD";
941
+ unit: "per_million_tokens";
942
+ };
943
+ default?: never;
944
+ })[];
945
+ glm: ({
946
+ name: string;
947
+ displayName: string;
948
+ maxInputTokens: number;
949
+ supportedFileTypes: never[];
950
+ reasoning: true;
951
+ supportsTemperature: true;
952
+ supportsToolCall: true;
953
+ releaseDate: string;
954
+ modalities: {
955
+ input: "text"[];
956
+ output: "text"[];
957
+ };
958
+ pricing: {
959
+ inputPerM: number;
960
+ outputPerM: number;
961
+ cacheReadPerM: number;
962
+ cacheWritePerM: number;
963
+ currency: "USD";
964
+ unit: "per_million_tokens";
965
+ };
966
+ interleaved?: never;
967
+ supportsInterleaved?: never;
968
+ default?: never;
969
+ } | {
970
+ name: string;
971
+ displayName: string;
972
+ maxInputTokens: number;
973
+ supportedFileTypes: "image"[];
974
+ reasoning: true;
975
+ supportsTemperature: true;
976
+ supportsToolCall: true;
977
+ releaseDate: string;
978
+ modalities: {
979
+ input: ("image" | "text" | "video")[];
980
+ output: "text"[];
981
+ };
982
+ pricing: {
983
+ inputPerM: number;
984
+ outputPerM: number;
985
+ currency: "USD";
986
+ unit: "per_million_tokens";
987
+ cacheReadPerM?: never;
988
+ cacheWritePerM?: never;
989
+ };
990
+ interleaved?: never;
991
+ supportsInterleaved?: never;
992
+ default?: never;
993
+ } | {
994
+ name: string;
995
+ displayName: string;
996
+ maxInputTokens: number;
997
+ supportedFileTypes: never[];
998
+ reasoning: true;
999
+ supportsTemperature: true;
1000
+ supportsToolCall: true;
1001
+ releaseDate: string;
1002
+ modalities: {
1003
+ input: "text"[];
1004
+ output: "text"[];
1005
+ };
1006
+ interleaved: {
1007
+ field: string;
1008
+ };
1009
+ supportsInterleaved: true;
1010
+ pricing: {
1011
+ inputPerM: number;
1012
+ outputPerM: number;
1013
+ cacheReadPerM: number;
1014
+ cacheWritePerM: number;
1015
+ currency: "USD";
1016
+ unit: "per_million_tokens";
1017
+ };
1018
+ default: true;
1019
+ } | {
1020
+ name: string;
1021
+ displayName: string;
1022
+ maxInputTokens: number;
1023
+ supportedFileTypes: never[];
1024
+ reasoning: true;
1025
+ supportsTemperature: true;
1026
+ supportsToolCall: true;
1027
+ releaseDate: string;
1028
+ modalities: {
1029
+ input: "text"[];
1030
+ output: "text"[];
1031
+ };
1032
+ interleaved: {
1033
+ field: string;
1034
+ };
1035
+ supportsInterleaved: true;
1036
+ pricing: {
1037
+ inputPerM: number;
1038
+ outputPerM: number;
1039
+ cacheReadPerM: number;
1040
+ cacheWritePerM: number;
1041
+ currency: "USD";
1042
+ unit: "per_million_tokens";
1043
+ };
1044
+ default?: never;
1045
+ })[];
1046
+ openrouter: ({
1047
+ name: string;
1048
+ displayName: string;
1049
+ maxInputTokens: number;
1050
+ supportedFileTypes: "image"[];
1051
+ reasoning: true;
1052
+ supportsTemperature: true;
1053
+ supportsToolCall: false;
1054
+ releaseDate: string;
1055
+ modalities: {
1056
+ input: ("image" | "text" | "video")[];
1057
+ output: "text"[];
1058
+ };
1059
+ pricing: {
1060
+ inputPerM: number;
1061
+ outputPerM: number;
1062
+ currency: "USD";
1063
+ unit: "per_million_tokens";
1064
+ cacheReadPerM?: never;
1065
+ cacheWritePerM?: never;
1066
+ contextOver200kPerM?: never;
1067
+ reasoningPerM?: never;
1068
+ };
1069
+ interleaved?: never;
1070
+ supportsInterleaved?: never;
1071
+ } | {
1072
+ name: string;
1073
+ displayName: string;
1074
+ maxInputTokens: number;
1075
+ supportedFileTypes: ("pdf" | "image")[];
1076
+ reasoning: false;
1077
+ supportsTemperature: true;
1078
+ supportsToolCall: true;
1079
+ releaseDate: string;
1080
+ modalities: {
1081
+ input: ("pdf" | "image" | "text")[];
1082
+ output: "text"[];
1083
+ };
1084
+ pricing: {
1085
+ inputPerM: number;
1086
+ outputPerM: number;
1087
+ cacheReadPerM: number;
1088
+ cacheWritePerM: number;
1089
+ currency: "USD";
1090
+ unit: "per_million_tokens";
1091
+ contextOver200kPerM?: never;
1092
+ reasoningPerM?: never;
1093
+ };
1094
+ interleaved?: never;
1095
+ supportsInterleaved?: never;
1096
+ } | {
1097
+ name: string;
1098
+ displayName: string;
1099
+ maxInputTokens: number;
1100
+ supportedFileTypes: ("pdf" | "image")[];
1101
+ reasoning: true;
1102
+ supportsTemperature: true;
1103
+ supportsToolCall: true;
1104
+ releaseDate: string;
1105
+ modalities: {
1106
+ input: ("pdf" | "image" | "text")[];
1107
+ output: "text"[];
1108
+ };
1109
+ pricing: {
1110
+ inputPerM: number;
1111
+ outputPerM: number;
1112
+ cacheReadPerM: number;
1113
+ cacheWritePerM: number;
1114
+ currency: "USD";
1115
+ unit: "per_million_tokens";
1116
+ contextOver200kPerM?: never;
1117
+ reasoningPerM?: never;
1118
+ };
1119
+ interleaved?: never;
1120
+ supportsInterleaved?: never;
1121
+ } | {
3
1122
  name: string;
4
1123
  displayName: string;
5
1124
  maxInputTokens: number;
6
1125
  supportedFileTypes: ("pdf" | "image")[];
1126
+ reasoning: true;
1127
+ supportsTemperature: true;
1128
+ supportsToolCall: true;
1129
+ releaseDate: string;
1130
+ modalities: {
1131
+ input: ("pdf" | "image" | "text")[];
1132
+ output: "text"[];
1133
+ };
1134
+ pricing: {
1135
+ inputPerM: number;
1136
+ outputPerM: number;
1137
+ cacheReadPerM: number;
1138
+ cacheWritePerM: number;
1139
+ contextOver200kPerM: {
1140
+ inputPerM: number;
1141
+ outputPerM: number;
1142
+ };
1143
+ currency: "USD";
1144
+ unit: "per_million_tokens";
1145
+ reasoningPerM?: never;
1146
+ };
1147
+ interleaved?: never;
1148
+ supportsInterleaved?: never;
1149
+ } | {
1150
+ name: string;
1151
+ displayName: string;
1152
+ maxInputTokens: number;
1153
+ supportedFileTypes: "image"[];
1154
+ reasoning: false;
1155
+ supportsTemperature: true;
1156
+ supportsToolCall: false;
1157
+ releaseDate: string;
1158
+ modalities: {
1159
+ input: ("image" | "text")[];
1160
+ output: "image"[];
1161
+ };
1162
+ pricing: {
1163
+ inputPerM: number;
1164
+ outputPerM: number;
1165
+ currency: "USD";
1166
+ unit: "per_million_tokens";
1167
+ cacheReadPerM?: never;
1168
+ cacheWritePerM?: never;
1169
+ contextOver200kPerM?: never;
1170
+ reasoningPerM?: never;
1171
+ };
1172
+ interleaved?: never;
1173
+ supportsInterleaved?: never;
1174
+ } | {
1175
+ name: string;
1176
+ displayName: string;
1177
+ maxInputTokens: number;
1178
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1179
+ reasoning: false;
1180
+ supportsTemperature: true;
1181
+ supportsToolCall: true;
1182
+ releaseDate: string;
1183
+ modalities: {
1184
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1185
+ output: "text"[];
1186
+ };
1187
+ pricing: {
1188
+ inputPerM: number;
1189
+ outputPerM: number;
1190
+ cacheReadPerM: number;
1191
+ currency: "USD";
1192
+ unit: "per_million_tokens";
1193
+ cacheWritePerM?: never;
1194
+ contextOver200kPerM?: never;
1195
+ reasoningPerM?: never;
1196
+ };
1197
+ interleaved?: never;
1198
+ supportsInterleaved?: never;
1199
+ } | {
1200
+ name: string;
1201
+ displayName: string;
1202
+ maxInputTokens: number;
1203
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1204
+ reasoning: true;
1205
+ supportsTemperature: true;
1206
+ supportsToolCall: true;
1207
+ releaseDate: string;
1208
+ modalities: {
1209
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1210
+ output: "text"[];
1211
+ };
1212
+ pricing: {
1213
+ inputPerM: number;
1214
+ outputPerM: number;
1215
+ cacheReadPerM: number;
1216
+ currency: "USD";
1217
+ unit: "per_million_tokens";
1218
+ cacheWritePerM?: never;
1219
+ contextOver200kPerM?: never;
1220
+ reasoningPerM?: never;
1221
+ };
1222
+ interleaved?: never;
1223
+ supportsInterleaved?: never;
1224
+ } | {
1225
+ name: string;
1226
+ displayName: string;
1227
+ maxInputTokens: number;
1228
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1229
+ reasoning: true;
1230
+ supportsTemperature: true;
1231
+ supportsToolCall: true;
1232
+ releaseDate: string;
1233
+ modalities: {
1234
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1235
+ output: "text"[];
1236
+ };
1237
+ interleaved: {
1238
+ field: string;
1239
+ };
1240
+ supportsInterleaved: true;
1241
+ pricing: {
1242
+ inputPerM: number;
1243
+ outputPerM: number;
1244
+ cacheReadPerM: number;
1245
+ currency: "USD";
1246
+ unit: "per_million_tokens";
1247
+ cacheWritePerM?: never;
1248
+ contextOver200kPerM?: never;
1249
+ reasoningPerM?: never;
1250
+ };
1251
+ } | {
1252
+ name: string;
1253
+ displayName: string;
1254
+ maxInputTokens: number;
1255
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1256
+ reasoning: true;
1257
+ supportsTemperature: true;
1258
+ supportsToolCall: true;
1259
+ releaseDate: string;
1260
+ modalities: {
1261
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1262
+ output: "text"[];
1263
+ };
1264
+ interleaved: {
1265
+ field: string;
1266
+ };
1267
+ supportsInterleaved: true;
7
1268
  pricing: {
8
1269
  inputPerM: number;
9
1270
  outputPerM: number;
10
1271
  currency: "USD";
11
1272
  unit: "per_million_tokens";
12
1273
  cacheReadPerM?: never;
1274
+ cacheWritePerM?: never;
1275
+ contextOver200kPerM?: never;
1276
+ reasoningPerM?: never;
13
1277
  };
14
- default?: never;
15
1278
  } | {
16
1279
  name: string;
17
1280
  displayName: string;
18
1281
  maxInputTokens: number;
19
- supportedFileTypes: ("pdf" | "image")[];
1282
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1283
+ reasoning: true;
1284
+ supportsTemperature: true;
1285
+ supportsToolCall: true;
1286
+ releaseDate: string;
1287
+ modalities: {
1288
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1289
+ output: "text"[];
1290
+ };
1291
+ interleaved: {
1292
+ field: string;
1293
+ };
1294
+ supportsInterleaved: true;
20
1295
  pricing: {
21
1296
  inputPerM: number;
22
1297
  outputPerM: number;
23
- cacheReadPerM: number;
1298
+ reasoningPerM: number;
1299
+ contextOver200kPerM: {
1300
+ inputPerM: number;
1301
+ outputPerM: number;
1302
+ };
24
1303
  currency: "USD";
25
1304
  unit: "per_million_tokens";
1305
+ cacheReadPerM?: never;
1306
+ cacheWritePerM?: never;
26
1307
  };
27
- default?: never;
28
1308
  } | {
29
1309
  name: string;
30
1310
  displayName: string;
31
1311
  maxInputTokens: number;
32
- supportedFileTypes: ("pdf" | "image")[];
1312
+ supportedFileTypes: "image"[];
1313
+ reasoning: false;
1314
+ supportsTemperature: true;
1315
+ supportsToolCall: false;
1316
+ releaseDate: string;
1317
+ modalities: {
1318
+ input: ("image" | "text")[];
1319
+ output: "text"[];
1320
+ };
33
1321
  pricing: {
34
1322
  inputPerM: number;
35
1323
  outputPerM: number;
36
- cacheReadPerM: number;
37
1324
  currency: "USD";
38
1325
  unit: "per_million_tokens";
1326
+ cacheReadPerM?: never;
1327
+ cacheWritePerM?: never;
1328
+ contextOver200kPerM?: never;
1329
+ reasoningPerM?: never;
39
1330
  };
40
- default: true;
41
- })[];
42
- 'openai-compatible': never[];
43
- anthropic: ({
1331
+ interleaved?: never;
1332
+ supportsInterleaved?: never;
1333
+ } | {
44
1334
  name: string;
45
1335
  displayName: string;
46
1336
  maxInputTokens: number;
47
- supportedFileTypes: ("pdf" | "image")[];
1337
+ supportedFileTypes: never[];
1338
+ reasoning: true;
1339
+ supportsTemperature: true;
1340
+ supportsToolCall: true;
1341
+ releaseDate: string;
1342
+ modalities: {
1343
+ input: "text"[];
1344
+ output: "text"[];
1345
+ };
1346
+ interleaved: {
1347
+ field: string;
1348
+ };
1349
+ supportsInterleaved: true;
48
1350
  pricing: {
49
1351
  inputPerM: number;
50
1352
  outputPerM: number;
@@ -52,184 +1354,426 @@ export declare const MODELS_BY_PROVIDER: {
52
1354
  cacheWritePerM: number;
53
1355
  currency: "USD";
54
1356
  unit: "per_million_tokens";
1357
+ contextOver200kPerM?: never;
1358
+ reasoningPerM?: never;
55
1359
  };
56
- default?: never;
57
1360
  } | {
58
1361
  name: string;
59
1362
  displayName: string;
60
1363
  maxInputTokens: number;
61
1364
  supportedFileTypes: ("pdf" | "image")[];
1365
+ reasoning: true;
1366
+ supportsTemperature: true;
1367
+ supportsToolCall: true;
1368
+ releaseDate: string;
1369
+ modalities: {
1370
+ input: ("pdf" | "image" | "text")[];
1371
+ output: ("image" | "text")[];
1372
+ };
62
1373
  pricing: {
63
1374
  inputPerM: number;
64
1375
  outputPerM: number;
65
1376
  cacheReadPerM: number;
66
- cacheWritePerM: number;
67
1377
  currency: "USD";
68
1378
  unit: "per_million_tokens";
1379
+ cacheWritePerM?: never;
1380
+ contextOver200kPerM?: never;
1381
+ reasoningPerM?: never;
69
1382
  };
70
- default: true;
71
- })[];
72
- google: ({
1383
+ interleaved?: never;
1384
+ supportsInterleaved?: never;
1385
+ } | {
73
1386
  name: string;
74
1387
  displayName: string;
75
1388
  maxInputTokens: number;
76
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1389
+ supportedFileTypes: "image"[];
1390
+ reasoning: true;
1391
+ supportsTemperature: false;
1392
+ supportsToolCall: true;
1393
+ releaseDate: string;
1394
+ modalities: {
1395
+ input: ("image" | "text")[];
1396
+ output: "text"[];
1397
+ };
1398
+ pricing: {
1399
+ inputPerM: number;
1400
+ outputPerM: number;
1401
+ currency: "USD";
1402
+ unit: "per_million_tokens";
1403
+ cacheReadPerM?: never;
1404
+ cacheWritePerM?: never;
1405
+ contextOver200kPerM?: never;
1406
+ reasoningPerM?: never;
1407
+ };
1408
+ interleaved?: never;
1409
+ supportsInterleaved?: never;
1410
+ } | {
1411
+ name: string;
1412
+ displayName: string;
1413
+ maxInputTokens: number;
1414
+ supportedFileTypes: "image"[];
1415
+ reasoning: true;
1416
+ supportsTemperature: false;
1417
+ supportsToolCall: true;
1418
+ releaseDate: string;
1419
+ modalities: {
1420
+ input: ("image" | "text")[];
1421
+ output: "text"[];
1422
+ };
77
1423
  pricing: {
78
1424
  inputPerM: number;
79
1425
  outputPerM: number;
80
1426
  cacheReadPerM: number;
81
1427
  currency: "USD";
82
1428
  unit: "per_million_tokens";
1429
+ cacheWritePerM?: never;
1430
+ contextOver200kPerM?: never;
1431
+ reasoningPerM?: never;
83
1432
  };
84
- default?: never;
1433
+ interleaved?: never;
1434
+ supportsInterleaved?: never;
85
1435
  } | {
86
1436
  name: string;
87
1437
  displayName: string;
88
1438
  maxInputTokens: number;
89
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1439
+ supportedFileTypes: "image"[];
1440
+ reasoning: false;
1441
+ supportsTemperature: true;
1442
+ supportsToolCall: true;
1443
+ releaseDate: string;
1444
+ modalities: {
1445
+ input: ("image" | "text" | "video")[];
1446
+ output: "text"[];
1447
+ };
90
1448
  pricing: {
91
1449
  inputPerM: number;
92
1450
  outputPerM: number;
93
1451
  currency: "USD";
94
1452
  unit: "per_million_tokens";
95
1453
  cacheReadPerM?: never;
1454
+ cacheWritePerM?: never;
1455
+ contextOver200kPerM?: never;
1456
+ reasoningPerM?: never;
96
1457
  };
97
- default?: never;
1458
+ interleaved?: never;
1459
+ supportsInterleaved?: never;
98
1460
  } | {
99
1461
  name: string;
100
1462
  displayName: string;
101
1463
  maxInputTokens: number;
102
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1464
+ supportedFileTypes: "image"[];
1465
+ reasoning: true;
1466
+ supportsTemperature: true;
1467
+ supportsToolCall: true;
1468
+ releaseDate: string;
1469
+ modalities: {
1470
+ input: ("image" | "text" | "video")[];
1471
+ output: "text"[];
1472
+ };
103
1473
  pricing: {
104
1474
  inputPerM: number;
105
1475
  outputPerM: number;
106
- cacheReadPerM: number;
107
1476
  currency: "USD";
108
1477
  unit: "per_million_tokens";
1478
+ cacheReadPerM?: never;
1479
+ cacheWritePerM?: never;
1480
+ contextOver200kPerM?: never;
1481
+ reasoningPerM?: never;
109
1482
  };
110
- default: true;
1483
+ interleaved?: never;
1484
+ supportsInterleaved?: never;
111
1485
  })[];
112
- groq: ({
1486
+ litellm: never[];
1487
+ glama: never[];
1488
+ vertex: ({
113
1489
  name: string;
114
1490
  displayName: string;
115
1491
  maxInputTokens: number;
116
- supportedFileTypes: never[];
1492
+ supportedFileTypes: ("pdf" | "image")[];
1493
+ reasoning: false;
1494
+ supportsTemperature: true;
1495
+ supportsToolCall: true;
1496
+ releaseDate: string;
1497
+ modalities: {
1498
+ input: ("pdf" | "image" | "text")[];
1499
+ output: "text"[];
1500
+ };
117
1501
  pricing: {
118
1502
  inputPerM: number;
119
1503
  outputPerM: number;
1504
+ cacheReadPerM: number;
1505
+ cacheWritePerM: number;
120
1506
  currency: "USD";
121
1507
  unit: "per_million_tokens";
1508
+ contextOver200kPerM?: never;
122
1509
  };
123
- default: true;
1510
+ providerMetadata?: never;
1511
+ default?: never;
1512
+ interleaved?: never;
1513
+ supportsInterleaved?: never;
124
1514
  } | {
125
1515
  name: string;
126
1516
  displayName: string;
127
1517
  maxInputTokens: number;
128
- supportedFileTypes: "image"[];
1518
+ supportedFileTypes: ("pdf" | "image")[];
1519
+ reasoning: true;
1520
+ supportsTemperature: true;
1521
+ supportsToolCall: true;
1522
+ releaseDate: string;
1523
+ modalities: {
1524
+ input: ("pdf" | "image" | "text")[];
1525
+ output: "text"[];
1526
+ };
129
1527
  pricing: {
130
1528
  inputPerM: number;
131
1529
  outputPerM: number;
1530
+ cacheReadPerM: number;
1531
+ cacheWritePerM: number;
1532
+ contextOver200kPerM: {
1533
+ inputPerM: number;
1534
+ outputPerM: number;
1535
+ };
132
1536
  currency: "USD";
133
1537
  unit: "per_million_tokens";
134
1538
  };
1539
+ providerMetadata?: never;
135
1540
  default?: never;
136
- })[];
137
- xai: ({
1541
+ interleaved?: never;
1542
+ supportsInterleaved?: never;
1543
+ } | {
138
1544
  name: string;
139
1545
  displayName: string;
140
1546
  maxInputTokens: number;
141
- supportedFileTypes: "image"[];
1547
+ supportedFileTypes: "pdf"[];
1548
+ reasoning: true;
1549
+ supportsTemperature: true;
1550
+ supportsToolCall: true;
1551
+ releaseDate: string;
1552
+ modalities: {
1553
+ input: ("pdf" | "text")[];
1554
+ output: "text"[];
1555
+ };
1556
+ providerMetadata: {
1557
+ npm: string;
1558
+ api: string;
1559
+ };
142
1560
  pricing: {
143
1561
  inputPerM: number;
144
1562
  outputPerM: number;
145
- cacheReadPerM: number;
146
1563
  currency: "USD";
147
1564
  unit: "per_million_tokens";
1565
+ cacheReadPerM?: never;
1566
+ cacheWritePerM?: never;
1567
+ contextOver200kPerM?: never;
148
1568
  };
149
1569
  default?: never;
1570
+ interleaved?: never;
1571
+ supportsInterleaved?: never;
150
1572
  } | {
151
1573
  name: string;
152
1574
  displayName: string;
153
1575
  maxInputTokens: number;
154
- supportedFileTypes: never[];
1576
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1577
+ reasoning: false;
1578
+ supportsTemperature: true;
1579
+ supportsToolCall: true;
1580
+ releaseDate: string;
1581
+ modalities: {
1582
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1583
+ output: "text"[];
1584
+ };
155
1585
  pricing: {
156
1586
  inputPerM: number;
157
1587
  outputPerM: number;
158
1588
  cacheReadPerM: number;
159
1589
  currency: "USD";
160
1590
  unit: "per_million_tokens";
1591
+ cacheWritePerM?: never;
1592
+ contextOver200kPerM?: never;
161
1593
  };
162
- default: true;
163
- })[];
164
- cohere: ({
1594
+ providerMetadata?: never;
1595
+ default?: never;
1596
+ interleaved?: never;
1597
+ supportsInterleaved?: never;
1598
+ } | {
165
1599
  name: string;
166
1600
  displayName: string;
167
1601
  maxInputTokens: number;
168
- supportedFileTypes: never[];
1602
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1603
+ reasoning: false;
1604
+ supportsTemperature: true;
1605
+ supportsToolCall: true;
1606
+ releaseDate: string;
1607
+ modalities: {
1608
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1609
+ output: "text"[];
1610
+ };
169
1611
  pricing: {
170
1612
  inputPerM: number;
171
1613
  outputPerM: number;
172
1614
  currency: "USD";
173
1615
  unit: "per_million_tokens";
1616
+ cacheReadPerM?: never;
1617
+ cacheWritePerM?: never;
1618
+ contextOver200kPerM?: never;
174
1619
  };
175
- default: true;
1620
+ providerMetadata?: never;
1621
+ default?: never;
1622
+ interleaved?: never;
1623
+ supportsInterleaved?: never;
176
1624
  } | {
177
1625
  name: string;
178
1626
  displayName: string;
179
1627
  maxInputTokens: number;
180
- supportedFileTypes: "image"[];
1628
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1629
+ reasoning: true;
1630
+ supportsTemperature: true;
1631
+ supportsToolCall: true;
1632
+ releaseDate: string;
1633
+ modalities: {
1634
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1635
+ output: "text"[];
1636
+ };
181
1637
  pricing: {
182
1638
  inputPerM: number;
183
1639
  outputPerM: number;
1640
+ cacheReadPerM: number;
1641
+ cacheWritePerM: number;
184
1642
  currency: "USD";
185
1643
  unit: "per_million_tokens";
1644
+ contextOver200kPerM?: never;
186
1645
  };
1646
+ providerMetadata?: never;
187
1647
  default?: never;
188
- })[];
189
- minimax: ({
1648
+ interleaved?: never;
1649
+ supportsInterleaved?: never;
1650
+ } | {
190
1651
  name: string;
191
1652
  displayName: string;
192
1653
  maxInputTokens: number;
193
- supportedFileTypes: never[];
1654
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1655
+ reasoning: true;
1656
+ supportsTemperature: true;
1657
+ supportsToolCall: true;
1658
+ releaseDate: string;
1659
+ modalities: {
1660
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1661
+ output: "text"[];
1662
+ };
194
1663
  pricing: {
195
1664
  inputPerM: number;
196
1665
  outputPerM: number;
1666
+ cacheReadPerM: number;
197
1667
  currency: "USD";
198
1668
  unit: "per_million_tokens";
1669
+ cacheWritePerM?: never;
1670
+ contextOver200kPerM?: never;
199
1671
  };
1672
+ providerMetadata?: never;
200
1673
  default?: never;
1674
+ interleaved?: never;
1675
+ supportsInterleaved?: never;
201
1676
  } | {
202
1677
  name: string;
203
1678
  displayName: string;
204
1679
  maxInputTokens: number;
205
- supportedFileTypes: never[];
1680
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1681
+ reasoning: true;
1682
+ supportsTemperature: true;
1683
+ supportsToolCall: true;
1684
+ releaseDate: string;
1685
+ modalities: {
1686
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1687
+ output: "text"[];
1688
+ };
206
1689
  pricing: {
207
1690
  inputPerM: number;
208
1691
  outputPerM: number;
1692
+ cacheReadPerM: number;
1693
+ contextOver200kPerM: {
1694
+ inputPerM: number;
1695
+ outputPerM: number;
1696
+ };
209
1697
  currency: "USD";
210
1698
  unit: "per_million_tokens";
1699
+ cacheWritePerM?: never;
211
1700
  };
212
1701
  default: true;
213
- })[];
214
- glm: ({
1702
+ providerMetadata?: never;
1703
+ interleaved?: never;
1704
+ supportsInterleaved?: never;
1705
+ } | {
215
1706
  name: string;
216
1707
  displayName: string;
217
1708
  maxInputTokens: number;
218
- supportedFileTypes: never[];
1709
+ supportedFileTypes: ("pdf" | "image" | "audio")[];
1710
+ reasoning: true;
1711
+ supportsTemperature: true;
1712
+ supportsToolCall: true;
1713
+ releaseDate: string;
1714
+ modalities: {
1715
+ input: ("pdf" | "image" | "audio" | "text" | "video")[];
1716
+ output: "text"[];
1717
+ };
219
1718
  pricing: {
220
1719
  inputPerM: number;
221
1720
  outputPerM: number;
222
1721
  cacheReadPerM: number;
223
- cacheWritePerM: number;
1722
+ contextOver200kPerM: {
1723
+ inputPerM: number;
1724
+ outputPerM: number;
1725
+ };
1726
+ currency: "USD";
1727
+ unit: "per_million_tokens";
1728
+ cacheWritePerM?: never;
1729
+ };
1730
+ providerMetadata?: never;
1731
+ default?: never;
1732
+ interleaved?: never;
1733
+ supportsInterleaved?: never;
1734
+ } | {
1735
+ name: string;
1736
+ displayName: string;
1737
+ maxInputTokens: number;
1738
+ supportedFileTypes: never[];
1739
+ reasoning: false;
1740
+ supportsTemperature: false;
1741
+ supportsToolCall: false;
1742
+ releaseDate: string;
1743
+ modalities: {
1744
+ input: "text"[];
1745
+ output: "text"[];
1746
+ };
1747
+ pricing: {
1748
+ inputPerM: number;
1749
+ outputPerM: number;
224
1750
  currency: "USD";
225
1751
  unit: "per_million_tokens";
1752
+ cacheReadPerM?: never;
1753
+ cacheWritePerM?: never;
1754
+ contextOver200kPerM?: never;
226
1755
  };
1756
+ providerMetadata?: never;
227
1757
  default?: never;
1758
+ interleaved?: never;
1759
+ supportsInterleaved?: never;
228
1760
  } | {
229
1761
  name: string;
230
1762
  displayName: string;
231
1763
  maxInputTokens: number;
232
1764
  supportedFileTypes: "image"[];
1765
+ reasoning: false;
1766
+ supportsTemperature: true;
1767
+ supportsToolCall: true;
1768
+ releaseDate: string;
1769
+ modalities: {
1770
+ input: ("image" | "text")[];
1771
+ output: "text"[];
1772
+ };
1773
+ providerMetadata: {
1774
+ npm: string;
1775
+ api: string;
1776
+ };
233
1777
  pricing: {
234
1778
  inputPerM: number;
235
1779
  outputPerM: number;
@@ -237,41 +1781,89 @@ export declare const MODELS_BY_PROVIDER: {
237
1781
  unit: "per_million_tokens";
238
1782
  cacheReadPerM?: never;
239
1783
  cacheWritePerM?: never;
1784
+ contextOver200kPerM?: never;
240
1785
  };
241
1786
  default?: never;
1787
+ interleaved?: never;
1788
+ supportsInterleaved?: never;
242
1789
  } | {
243
1790
  name: string;
244
1791
  displayName: string;
245
1792
  maxInputTokens: number;
246
1793
  supportedFileTypes: never[];
1794
+ reasoning: true;
1795
+ supportsTemperature: true;
1796
+ supportsToolCall: true;
1797
+ releaseDate: string;
1798
+ modalities: {
1799
+ input: "text"[];
1800
+ output: "text"[];
1801
+ };
247
1802
  pricing: {
248
1803
  inputPerM: number;
249
1804
  outputPerM: number;
250
- cacheReadPerM: number;
251
- cacheWritePerM: number;
252
1805
  currency: "USD";
253
1806
  unit: "per_million_tokens";
1807
+ cacheReadPerM?: never;
1808
+ cacheWritePerM?: never;
1809
+ contextOver200kPerM?: never;
254
1810
  };
255
- default: true;
256
- })[];
257
- openrouter: ({
1811
+ providerMetadata?: never;
1812
+ default?: never;
1813
+ interleaved?: never;
1814
+ supportsInterleaved?: never;
1815
+ } | {
258
1816
  name: string;
259
1817
  displayName: string;
260
1818
  maxInputTokens: number;
261
- supportedFileTypes: ("pdf" | "image")[];
1819
+ supportedFileTypes: "pdf"[];
1820
+ reasoning: true;
1821
+ supportsTemperature: true;
1822
+ supportsToolCall: true;
1823
+ releaseDate: string;
1824
+ modalities: {
1825
+ input: ("pdf" | "text")[];
1826
+ output: "text"[];
1827
+ };
1828
+ providerMetadata: {
1829
+ npm: string;
1830
+ api: string;
1831
+ };
1832
+ interleaved: {
1833
+ field: string;
1834
+ };
1835
+ supportsInterleaved: true;
262
1836
  pricing: {
263
1837
  inputPerM: number;
264
1838
  outputPerM: number;
265
- cacheReadPerM: number;
266
- cacheWritePerM: number;
267
1839
  currency: "USD";
268
1840
  unit: "per_million_tokens";
1841
+ cacheReadPerM?: never;
1842
+ cacheWritePerM?: never;
1843
+ contextOver200kPerM?: never;
269
1844
  };
1845
+ default?: never;
270
1846
  } | {
271
1847
  name: string;
272
1848
  displayName: string;
273
1849
  maxInputTokens: number;
274
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1850
+ supportedFileTypes: never[];
1851
+ reasoning: true;
1852
+ supportsTemperature: true;
1853
+ supportsToolCall: true;
1854
+ releaseDate: string;
1855
+ modalities: {
1856
+ input: "text"[];
1857
+ output: "text"[];
1858
+ };
1859
+ providerMetadata: {
1860
+ npm: string;
1861
+ api: string;
1862
+ };
1863
+ interleaved: {
1864
+ field: string;
1865
+ };
1866
+ supportsInterleaved: true;
275
1867
  pricing: {
276
1868
  inputPerM: number;
277
1869
  outputPerM: number;
@@ -279,12 +1871,23 @@ export declare const MODELS_BY_PROVIDER: {
279
1871
  currency: "USD";
280
1872
  unit: "per_million_tokens";
281
1873
  cacheWritePerM?: never;
1874
+ contextOver200kPerM?: never;
282
1875
  };
283
- } | {
1876
+ default?: never;
1877
+ })[];
1878
+ bedrock: ({
284
1879
  name: string;
285
1880
  displayName: string;
286
1881
  maxInputTokens: number;
287
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1882
+ supportedFileTypes: "image"[];
1883
+ reasoning: false;
1884
+ supportsTemperature: true;
1885
+ supportsToolCall: true;
1886
+ releaseDate: string;
1887
+ modalities: {
1888
+ input: ("image" | "text" | "video")[];
1889
+ output: "text"[];
1890
+ };
288
1891
  pricing: {
289
1892
  inputPerM: number;
290
1893
  outputPerM: number;
@@ -292,15 +1895,24 @@ export declare const MODELS_BY_PROVIDER: {
292
1895
  unit: "per_million_tokens";
293
1896
  cacheReadPerM?: never;
294
1897
  cacheWritePerM?: never;
1898
+ contextOver200kPerM?: never;
295
1899
  };
296
- })[];
297
- litellm: never[];
298
- glama: never[];
299
- vertex: ({
1900
+ default?: never;
1901
+ interleaved?: never;
1902
+ supportsInterleaved?: never;
1903
+ } | {
300
1904
  name: string;
301
1905
  displayName: string;
302
1906
  maxInputTokens: number;
303
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1907
+ supportedFileTypes: "image"[];
1908
+ reasoning: false;
1909
+ supportsTemperature: true;
1910
+ supportsToolCall: true;
1911
+ releaseDate: string;
1912
+ modalities: {
1913
+ input: ("image" | "text" | "video")[];
1914
+ output: "text"[];
1915
+ };
304
1916
  pricing: {
305
1917
  inputPerM: number;
306
1918
  outputPerM: number;
@@ -308,13 +1920,24 @@ export declare const MODELS_BY_PROVIDER: {
308
1920
  currency: "USD";
309
1921
  unit: "per_million_tokens";
310
1922
  cacheWritePerM?: never;
1923
+ contextOver200kPerM?: never;
311
1924
  };
312
1925
  default?: never;
1926
+ interleaved?: never;
1927
+ supportsInterleaved?: never;
313
1928
  } | {
314
1929
  name: string;
315
1930
  displayName: string;
316
1931
  maxInputTokens: number;
317
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1932
+ supportedFileTypes: "image"[];
1933
+ reasoning: true;
1934
+ supportsTemperature: true;
1935
+ supportsToolCall: true;
1936
+ releaseDate: string;
1937
+ modalities: {
1938
+ input: ("image" | "text" | "video")[];
1939
+ output: "text"[];
1940
+ };
318
1941
  pricing: {
319
1942
  inputPerM: number;
320
1943
  outputPerM: number;
@@ -322,13 +1945,24 @@ export declare const MODELS_BY_PROVIDER: {
322
1945
  unit: "per_million_tokens";
323
1946
  cacheReadPerM?: never;
324
1947
  cacheWritePerM?: never;
1948
+ contextOver200kPerM?: never;
325
1949
  };
326
1950
  default?: never;
1951
+ interleaved?: never;
1952
+ supportsInterleaved?: never;
327
1953
  } | {
328
1954
  name: string;
329
1955
  displayName: string;
330
1956
  maxInputTokens: number;
331
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1957
+ supportedFileTypes: ("pdf" | "image")[];
1958
+ reasoning: false;
1959
+ supportsTemperature: true;
1960
+ supportsToolCall: true;
1961
+ releaseDate: string;
1962
+ modalities: {
1963
+ input: ("pdf" | "image" | "text")[];
1964
+ output: "text"[];
1965
+ };
332
1966
  pricing: {
333
1967
  inputPerM: number;
334
1968
  outputPerM: number;
@@ -336,56 +1970,127 @@ export declare const MODELS_BY_PROVIDER: {
336
1970
  cacheWritePerM: number;
337
1971
  currency: "USD";
338
1972
  unit: "per_million_tokens";
1973
+ contextOver200kPerM?: never;
339
1974
  };
340
1975
  default?: never;
1976
+ interleaved?: never;
1977
+ supportsInterleaved?: never;
341
1978
  } | {
342
1979
  name: string;
343
1980
  displayName: string;
344
1981
  maxInputTokens: number;
345
- supportedFileTypes: ("pdf" | "image" | "audio")[];
1982
+ supportedFileTypes: ("pdf" | "image")[];
1983
+ reasoning: false;
1984
+ supportsTemperature: true;
1985
+ supportsToolCall: true;
1986
+ releaseDate: string;
1987
+ modalities: {
1988
+ input: ("pdf" | "image" | "text")[];
1989
+ output: "text"[];
1990
+ };
346
1991
  pricing: {
347
1992
  inputPerM: number;
348
1993
  outputPerM: number;
349
- cacheReadPerM: number;
350
1994
  currency: "USD";
351
1995
  unit: "per_million_tokens";
1996
+ cacheReadPerM?: never;
352
1997
  cacheWritePerM?: never;
1998
+ contextOver200kPerM?: never;
353
1999
  };
354
- default: true;
355
- })[];
356
- bedrock: ({
2000
+ default?: never;
2001
+ interleaved?: never;
2002
+ supportsInterleaved?: never;
2003
+ } | {
357
2004
  name: string;
358
2005
  displayName: string;
359
2006
  maxInputTokens: number;
360
- supportedFileTypes: "image"[];
2007
+ supportedFileTypes: ("pdf" | "image")[];
2008
+ reasoning: true;
2009
+ supportsTemperature: true;
2010
+ supportsToolCall: true;
2011
+ releaseDate: string;
2012
+ modalities: {
2013
+ input: ("pdf" | "image" | "text")[];
2014
+ output: "text"[];
2015
+ };
361
2016
  pricing: {
362
2017
  inputPerM: number;
363
2018
  outputPerM: number;
364
2019
  cacheReadPerM: number;
2020
+ cacheWritePerM: number;
365
2021
  currency: "USD";
366
2022
  unit: "per_million_tokens";
367
- cacheWritePerM?: never;
2023
+ contextOver200kPerM?: never;
368
2024
  };
369
2025
  default?: never;
2026
+ interleaved?: never;
2027
+ supportsInterleaved?: never;
370
2028
  } | {
371
2029
  name: string;
372
2030
  displayName: string;
373
2031
  maxInputTokens: number;
374
2032
  supportedFileTypes: ("pdf" | "image")[];
2033
+ reasoning: true;
2034
+ supportsTemperature: true;
2035
+ supportsToolCall: true;
2036
+ releaseDate: string;
2037
+ modalities: {
2038
+ input: ("pdf" | "image" | "text")[];
2039
+ output: "text"[];
2040
+ };
375
2041
  pricing: {
376
2042
  inputPerM: number;
377
2043
  outputPerM: number;
378
2044
  cacheReadPerM: number;
379
2045
  cacheWritePerM: number;
2046
+ contextOver200kPerM: {
2047
+ inputPerM: number;
2048
+ outputPerM: number;
2049
+ };
380
2050
  currency: "USD";
381
2051
  unit: "per_million_tokens";
382
2052
  };
383
2053
  default?: never;
2054
+ interleaved?: never;
2055
+ supportsInterleaved?: never;
384
2056
  } | {
385
2057
  name: string;
386
2058
  displayName: string;
387
2059
  maxInputTokens: number;
388
2060
  supportedFileTypes: ("pdf" | "image")[];
2061
+ reasoning: true;
2062
+ supportsTemperature: true;
2063
+ supportsToolCall: true;
2064
+ releaseDate: string;
2065
+ modalities: {
2066
+ input: ("pdf" | "image" | "text")[];
2067
+ output: "text"[];
2068
+ };
2069
+ pricing: {
2070
+ inputPerM: number;
2071
+ outputPerM: number;
2072
+ cacheReadPerM: number;
2073
+ cacheWritePerM: number;
2074
+ currency: "USD";
2075
+ unit: "per_million_tokens";
2076
+ contextOver200kPerM?: never;
2077
+ };
2078
+ default: true;
2079
+ interleaved?: never;
2080
+ supportsInterleaved?: never;
2081
+ } | {
2082
+ name: string;
2083
+ displayName: string;
2084
+ maxInputTokens: number;
2085
+ supportedFileTypes: "image"[];
2086
+ reasoning: false;
2087
+ supportsTemperature: true;
2088
+ supportsToolCall: false;
2089
+ releaseDate: string;
2090
+ modalities: {
2091
+ input: ("image" | "text")[];
2092
+ output: "text"[];
2093
+ };
389
2094
  pricing: {
390
2095
  inputPerM: number;
391
2096
  outputPerM: number;
@@ -393,27 +2098,78 @@ export declare const MODELS_BY_PROVIDER: {
393
2098
  unit: "per_million_tokens";
394
2099
  cacheReadPerM?: never;
395
2100
  cacheWritePerM?: never;
2101
+ contextOver200kPerM?: never;
396
2102
  };
397
2103
  default?: never;
2104
+ interleaved?: never;
2105
+ supportsInterleaved?: never;
398
2106
  } | {
399
2107
  name: string;
400
2108
  displayName: string;
401
2109
  maxInputTokens: number;
402
- supportedFileTypes: ("pdf" | "image")[];
2110
+ supportedFileTypes: "audio"[];
2111
+ reasoning: false;
2112
+ supportsTemperature: true;
2113
+ supportsToolCall: true;
2114
+ releaseDate: string;
2115
+ modalities: {
2116
+ input: ("audio" | "text")[];
2117
+ output: "text"[];
2118
+ };
403
2119
  pricing: {
404
2120
  inputPerM: number;
405
2121
  outputPerM: number;
406
- cacheReadPerM: number;
407
- cacheWritePerM: number;
408
2122
  currency: "USD";
409
2123
  unit: "per_million_tokens";
2124
+ cacheReadPerM?: never;
2125
+ cacheWritePerM?: never;
2126
+ contextOver200kPerM?: never;
410
2127
  };
411
- default: true;
2128
+ default?: never;
2129
+ interleaved?: never;
2130
+ supportsInterleaved?: never;
412
2131
  } | {
413
2132
  name: string;
414
2133
  displayName: string;
415
2134
  maxInputTokens: number;
416
- supportedFileTypes: "audio"[];
2135
+ supportedFileTypes: "image"[];
2136
+ reasoning: true;
2137
+ supportsTemperature: true;
2138
+ supportsToolCall: true;
2139
+ releaseDate: string;
2140
+ modalities: {
2141
+ input: ("image" | "text")[];
2142
+ output: "text"[];
2143
+ };
2144
+ interleaved: true;
2145
+ supportsInterleaved: true;
2146
+ pricing: {
2147
+ inputPerM: number;
2148
+ outputPerM: number;
2149
+ currency: "USD";
2150
+ unit: "per_million_tokens";
2151
+ cacheReadPerM?: never;
2152
+ cacheWritePerM?: never;
2153
+ contextOver200kPerM?: never;
2154
+ };
2155
+ default?: never;
2156
+ } | {
2157
+ name: string;
2158
+ displayName: string;
2159
+ maxInputTokens: number;
2160
+ supportedFileTypes: never[];
2161
+ reasoning: true;
2162
+ supportsTemperature: true;
2163
+ supportsToolCall: true;
2164
+ releaseDate: string;
2165
+ modalities: {
2166
+ input: "text"[];
2167
+ output: "text"[];
2168
+ };
2169
+ interleaved: {
2170
+ field: string;
2171
+ };
2172
+ supportsInterleaved: true;
417
2173
  pricing: {
418
2174
  inputPerM: number;
419
2175
  outputPerM: number;
@@ -421,6 +2177,7 @@ export declare const MODELS_BY_PROVIDER: {
421
2177
  unit: "per_million_tokens";
422
2178
  cacheReadPerM?: never;
423
2179
  cacheWritePerM?: never;
2180
+ contextOver200kPerM?: never;
424
2181
  };
425
2182
  default?: never;
426
2183
  })[];
@@ -428,4 +2185,64 @@ export declare const MODELS_BY_PROVIDER: {
428
2185
  ollama: never[];
429
2186
  'dexto-nova': never[];
430
2187
  };
2188
+ export declare const MODELS_DEV_PROVIDER_METADATA_BY_PROVIDER: {
2189
+ openai: {
2190
+ env: string[];
2191
+ npm: string;
2192
+ doc: string;
2193
+ };
2194
+ anthropic: {
2195
+ env: string[];
2196
+ npm: string;
2197
+ doc: string;
2198
+ };
2199
+ google: {
2200
+ env: string[];
2201
+ npm: string;
2202
+ doc: string;
2203
+ };
2204
+ groq: {
2205
+ env: string[];
2206
+ npm: string;
2207
+ doc: string;
2208
+ };
2209
+ xai: {
2210
+ env: string[];
2211
+ npm: string;
2212
+ doc: string;
2213
+ };
2214
+ cohere: {
2215
+ env: string[];
2216
+ npm: string;
2217
+ doc: string;
2218
+ };
2219
+ minimax: {
2220
+ env: string[];
2221
+ npm: string;
2222
+ api: string;
2223
+ doc: string;
2224
+ };
2225
+ glm: {
2226
+ env: string[];
2227
+ npm: string;
2228
+ api: string;
2229
+ doc: string;
2230
+ };
2231
+ openrouter: {
2232
+ env: string[];
2233
+ npm: string;
2234
+ api: string;
2235
+ doc: string;
2236
+ };
2237
+ vertex: {
2238
+ env: string[];
2239
+ npm: string;
2240
+ doc: string;
2241
+ };
2242
+ bedrock: {
2243
+ env: string[];
2244
+ npm: string;
2245
+ doc: string;
2246
+ };
2247
+ };
431
2248
  //# sourceMappingURL=models.generated.d.ts.map