@dexto/core 1.6.0 → 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 (188) hide show
  1. package/dist/agent/DextoAgent.cjs +79 -5
  2. package/dist/agent/DextoAgent.d.ts +24 -2
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +79 -5
  5. package/dist/agent/agent-options.d.ts +6 -1
  6. package/dist/agent/agent-options.d.ts.map +1 -1
  7. package/dist/agent/schemas.d.ts +18 -18
  8. package/dist/approval/manager.cjs +87 -27
  9. package/dist/approval/manager.d.ts +10 -1
  10. package/dist/approval/manager.d.ts.map +1 -1
  11. package/dist/approval/manager.js +87 -27
  12. package/dist/approval/schemas.cjs +22 -8
  13. package/dist/approval/schemas.d.ts +276 -102
  14. package/dist/approval/schemas.d.ts.map +1 -1
  15. package/dist/approval/schemas.js +22 -8
  16. package/dist/context/manager.cjs +2 -2
  17. package/dist/context/manager.d.ts +2 -1
  18. package/dist/context/manager.d.ts.map +1 -1
  19. package/dist/context/manager.js +2 -2
  20. package/dist/context/types.d.ts +3 -2
  21. package/dist/context/types.d.ts.map +1 -1
  22. package/dist/events/index.d.ts +26 -13
  23. package/dist/events/index.d.ts.map +1 -1
  24. package/dist/hooks/index.d.ts +1 -1
  25. package/dist/hooks/index.d.ts.map +1 -1
  26. package/dist/hooks/types.d.ts +1 -22
  27. package/dist/hooks/types.d.ts.map +1 -1
  28. package/dist/llm/executor/provider-options.cjs +223 -28
  29. package/dist/llm/executor/provider-options.d.ts +3 -37
  30. package/dist/llm/executor/provider-options.d.ts.map +1 -1
  31. package/dist/llm/executor/provider-options.js +227 -27
  32. package/dist/llm/executor/stream-processor.cjs +57 -34
  33. package/dist/llm/executor/stream-processor.d.ts +12 -4
  34. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  35. package/dist/llm/executor/stream-processor.js +55 -32
  36. package/dist/llm/executor/turn-executor.cjs +66 -44
  37. package/dist/llm/executor/turn-executor.d.ts +3 -3
  38. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  39. package/dist/llm/executor/turn-executor.js +56 -34
  40. package/dist/llm/formatters/vercel.cjs +15 -3
  41. package/dist/llm/formatters/vercel.d.ts +1 -0
  42. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  43. package/dist/llm/formatters/vercel.js +15 -3
  44. package/dist/llm/index.cjs +8 -0
  45. package/dist/llm/index.d.ts +2 -1
  46. package/dist/llm/index.d.ts.map +1 -1
  47. package/dist/llm/index.js +7 -0
  48. package/dist/llm/providers/local/schemas.d.ts +2 -2
  49. package/dist/llm/providers/openrouter-model-registry.cjs +66 -11
  50. package/dist/llm/providers/openrouter-model-registry.d.ts +26 -0
  51. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -1
  52. package/dist/llm/providers/openrouter-model-registry.js +65 -11
  53. package/dist/llm/reasoning/anthropic-betas.cjs +31 -0
  54. package/dist/llm/reasoning/anthropic-betas.d.ts +3 -0
  55. package/dist/llm/reasoning/anthropic-betas.d.ts.map +1 -0
  56. package/dist/llm/reasoning/anthropic-betas.js +7 -0
  57. package/dist/llm/reasoning/anthropic-thinking.cjs +79 -0
  58. package/dist/llm/reasoning/anthropic-thinking.d.ts +15 -0
  59. package/dist/llm/reasoning/anthropic-thinking.d.ts.map +1 -0
  60. package/dist/llm/reasoning/anthropic-thinking.js +52 -0
  61. package/dist/llm/reasoning/openai-reasoning-effort.cjs +86 -0
  62. package/dist/llm/reasoning/openai-reasoning-effort.d.ts +5 -0
  63. package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +1 -0
  64. package/dist/llm/reasoning/openai-reasoning-effort.js +61 -0
  65. package/dist/llm/reasoning/profile.cjs +113 -0
  66. package/dist/llm/reasoning/profile.d.ts +13 -0
  67. package/dist/llm/reasoning/profile.d.ts.map +1 -0
  68. package/dist/llm/reasoning/profile.js +92 -0
  69. package/dist/llm/reasoning/profiles/anthropic.cjs +61 -0
  70. package/dist/llm/reasoning/profiles/anthropic.d.ts +8 -0
  71. package/dist/llm/reasoning/profiles/anthropic.d.ts.map +1 -0
  72. package/dist/llm/reasoning/profiles/anthropic.js +45 -0
  73. package/dist/llm/reasoning/profiles/bedrock.cjs +54 -0
  74. package/dist/llm/reasoning/profiles/bedrock.d.ts +3 -0
  75. package/dist/llm/reasoning/profiles/bedrock.d.ts.map +1 -0
  76. package/dist/llm/reasoning/profiles/bedrock.js +36 -0
  77. package/dist/llm/reasoning/profiles/google.cjs +45 -0
  78. package/dist/llm/reasoning/profiles/google.d.ts +9 -0
  79. package/dist/llm/reasoning/profiles/google.d.ts.map +1 -0
  80. package/dist/llm/reasoning/profiles/google.js +21 -0
  81. package/dist/llm/reasoning/profiles/openai-compatible.cjs +39 -0
  82. package/dist/llm/reasoning/profiles/openai-compatible.d.ts +3 -0
  83. package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +1 -0
  84. package/dist/llm/reasoning/profiles/openai-compatible.js +16 -0
  85. package/dist/llm/reasoning/profiles/openai.cjs +41 -0
  86. package/dist/llm/reasoning/profiles/openai.d.ts +3 -0
  87. package/dist/llm/reasoning/profiles/openai.d.ts.map +1 -0
  88. package/dist/llm/reasoning/profiles/openai.js +18 -0
  89. package/dist/llm/reasoning/profiles/openrouter.cjs +83 -0
  90. package/dist/llm/reasoning/profiles/openrouter.d.ts +10 -0
  91. package/dist/llm/reasoning/profiles/openrouter.d.ts.map +1 -0
  92. package/dist/llm/reasoning/profiles/openrouter.js +59 -0
  93. package/dist/llm/reasoning/profiles/shared.cjs +80 -0
  94. package/dist/llm/reasoning/profiles/shared.d.ts +25 -0
  95. package/dist/llm/reasoning/profiles/shared.d.ts.map +1 -0
  96. package/dist/llm/reasoning/profiles/shared.js +53 -0
  97. package/dist/llm/reasoning/profiles/vertex.cjs +46 -0
  98. package/dist/llm/reasoning/profiles/vertex.d.ts +3 -0
  99. package/dist/llm/reasoning/profiles/vertex.d.ts.map +1 -0
  100. package/dist/llm/reasoning/profiles/vertex.js +23 -0
  101. package/dist/llm/registry/auto-update.cjs +18 -0
  102. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  103. package/dist/llm/registry/auto-update.js +18 -0
  104. package/dist/llm/registry/index.cjs +126 -26
  105. package/dist/llm/registry/index.d.ts +48 -4
  106. package/dist/llm/registry/index.d.ts.map +1 -1
  107. package/dist/llm/registry/index.js +136 -28
  108. package/dist/llm/registry/models.generated.cjs +5198 -59
  109. package/dist/llm/registry/models.generated.d.ts +1893 -76
  110. package/dist/llm/registry/models.generated.d.ts.map +1 -1
  111. package/dist/llm/registry/models.generated.js +5196 -58
  112. package/dist/llm/registry/sync.cjs +72 -1
  113. package/dist/llm/registry/sync.d.ts +21 -1
  114. package/dist/llm/registry/sync.d.ts.map +1 -1
  115. package/dist/llm/registry/sync.js +72 -1
  116. package/dist/llm/resolver.cjs +13 -1
  117. package/dist/llm/resolver.d.ts.map +1 -1
  118. package/dist/llm/resolver.js +13 -1
  119. package/dist/llm/schemas.cjs +75 -14
  120. package/dist/llm/schemas.d.ts +84 -27
  121. package/dist/llm/schemas.d.ts.map +1 -1
  122. package/dist/llm/schemas.js +75 -14
  123. package/dist/llm/services/factory.cjs +55 -8
  124. package/dist/llm/services/factory.d.ts +1 -1
  125. package/dist/llm/services/factory.d.ts.map +1 -1
  126. package/dist/llm/services/factory.js +58 -8
  127. package/dist/llm/services/vercel.cjs +2 -2
  128. package/dist/llm/services/vercel.js +2 -2
  129. package/dist/llm/types.d.ts +9 -0
  130. package/dist/llm/types.d.ts.map +1 -1
  131. package/dist/logger/default-logger-factory.d.ts +12 -12
  132. package/dist/logger/v2/dexto-logger.cjs +35 -0
  133. package/dist/logger/v2/dexto-logger.d.ts +19 -0
  134. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  135. package/dist/logger/v2/dexto-logger.js +35 -0
  136. package/dist/logger/v2/schemas.d.ts +6 -6
  137. package/dist/logger/v2/test-utils.cjs +2 -0
  138. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  139. package/dist/logger/v2/test-utils.js +2 -0
  140. package/dist/logger/v2/types.d.ts +14 -1
  141. package/dist/logger/v2/types.d.ts.map +1 -1
  142. package/dist/mcp/schemas.d.ts +15 -15
  143. package/dist/memory/schemas.d.ts +4 -4
  144. package/dist/prompts/index.cjs +9 -0
  145. package/dist/prompts/index.d.ts +1 -0
  146. package/dist/prompts/index.d.ts.map +1 -1
  147. package/dist/prompts/index.js +10 -0
  148. package/dist/prompts/prompt-manager.cjs +2 -0
  149. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  150. package/dist/prompts/prompt-manager.js +2 -0
  151. package/dist/prompts/providers/config-prompt-provider.cjs +11 -1
  152. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  153. package/dist/prompts/providers/config-prompt-provider.js +11 -1
  154. package/dist/prompts/schemas.cjs +2 -2
  155. package/dist/prompts/schemas.d.ts +7 -7
  156. package/dist/prompts/schemas.js +2 -2
  157. package/dist/prompts/types.d.ts +6 -2
  158. package/dist/prompts/types.d.ts.map +1 -1
  159. package/dist/systemPrompt/in-built-prompts.cjs +5 -5
  160. package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
  161. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  162. package/dist/systemPrompt/in-built-prompts.js +5 -5
  163. package/dist/systemPrompt/schemas.d.ts +5 -5
  164. package/dist/systemPrompt/types.d.ts +11 -0
  165. package/dist/systemPrompt/types.d.ts.map +1 -1
  166. package/dist/tools/display-types.d.ts +10 -0
  167. package/dist/tools/display-types.d.ts.map +1 -1
  168. package/dist/tools/index.cjs +3 -1
  169. package/dist/tools/index.d.ts +1 -0
  170. package/dist/tools/index.d.ts.map +1 -1
  171. package/dist/tools/index.js +1 -0
  172. package/dist/tools/presentation.cjs +49 -0
  173. package/dist/tools/presentation.d.ts +11 -0
  174. package/dist/tools/presentation.d.ts.map +1 -0
  175. package/dist/tools/presentation.js +24 -0
  176. package/dist/tools/tool-manager.cjs +389 -136
  177. package/dist/tools/tool-manager.d.ts +36 -24
  178. package/dist/tools/tool-manager.d.ts.map +1 -1
  179. package/dist/tools/tool-manager.js +389 -136
  180. package/dist/tools/types.d.ts +134 -55
  181. package/dist/tools/types.d.ts.map +1 -1
  182. package/dist/utils/path.cjs +10 -1
  183. package/dist/utils/path.d.ts +5 -2
  184. package/dist/utils/path.d.ts.map +1 -1
  185. package/dist/utils/path.js +10 -1
  186. package/dist/utils/service-initializer.d.ts +1 -0
  187. package/dist/utils/service-initializer.d.ts.map +1 -1
  188. package/package.json +7 -5
@@ -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