@lenylvt/pi-ai 0.64.0

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