@earendil-works/pi-ai 0.76.0 → 0.78.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 (61) hide show
  1. package/README.md +1 -1
  2. package/dist/models.generated.d.ts +315 -103
  3. package/dist/models.generated.d.ts.map +1 -1
  4. package/dist/models.generated.js +291 -135
  5. package/dist/models.generated.js.map +1 -1
  6. package/dist/providers/amazon-bedrock.d.ts +1 -1
  7. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  8. package/dist/providers/amazon-bedrock.js +38 -2
  9. package/dist/providers/amazon-bedrock.js.map +1 -1
  10. package/dist/providers/anthropic.d.ts.map +1 -1
  11. package/dist/providers/anthropic.js +20 -11
  12. package/dist/providers/anthropic.js.map +1 -1
  13. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  14. package/dist/providers/azure-openai-responses.js +5 -9
  15. package/dist/providers/azure-openai-responses.js.map +1 -1
  16. package/dist/providers/google-vertex.d.ts.map +1 -1
  17. package/dist/providers/google-vertex.js +1 -1
  18. package/dist/providers/google-vertex.js.map +1 -1
  19. package/dist/providers/google.d.ts.map +1 -1
  20. package/dist/providers/google.js +5 -3
  21. package/dist/providers/google.js.map +1 -1
  22. package/dist/providers/images/openrouter.d.ts.map +1 -1
  23. package/dist/providers/images/openrouter.js +2 -3
  24. package/dist/providers/images/openrouter.js.map +1 -1
  25. package/dist/providers/mistral.d.ts.map +1 -1
  26. package/dist/providers/mistral.js +2 -3
  27. package/dist/providers/mistral.js.map +1 -1
  28. package/dist/providers/openai-codex-responses.d.ts.map +1 -1
  29. package/dist/providers/openai-codex-responses.js +15 -5
  30. package/dist/providers/openai-codex-responses.js.map +1 -1
  31. package/dist/providers/openai-completions.d.ts.map +1 -1
  32. package/dist/providers/openai-completions.js +15 -10
  33. package/dist/providers/openai-completions.js.map +1 -1
  34. package/dist/providers/openai-responses-shared.d.ts.map +1 -1
  35. package/dist/providers/openai-responses-shared.js +4 -1
  36. package/dist/providers/openai-responses-shared.js.map +1 -1
  37. package/dist/providers/openai-responses.d.ts.map +1 -1
  38. package/dist/providers/openai-responses.js +5 -9
  39. package/dist/providers/openai-responses.js.map +1 -1
  40. package/dist/stream.d.ts.map +1 -1
  41. package/dist/stream.js +14 -2
  42. package/dist/stream.js.map +1 -1
  43. package/dist/types.d.ts +8 -4
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/dist/utils/oauth/device-code.d.ts +9 -7
  47. package/dist/utils/oauth/device-code.d.ts.map +1 -1
  48. package/dist/utils/oauth/device-code.js +8 -7
  49. package/dist/utils/oauth/device-code.js.map +1 -1
  50. package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  51. package/dist/utils/oauth/github-copilot.js +1 -1
  52. package/dist/utils/oauth/github-copilot.js.map +1 -1
  53. package/dist/utils/oauth/index.d.ts +1 -1
  54. package/dist/utils/oauth/index.d.ts.map +1 -1
  55. package/dist/utils/oauth/index.js +1 -1
  56. package/dist/utils/oauth/index.js.map +1 -1
  57. package/dist/utils/oauth/openai-codex.d.ts +10 -1
  58. package/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  59. package/dist/utils/oauth/openai-codex.js +179 -79
  60. package/dist/utils/oauth/openai-codex.js.map +1 -1
  61. package/package.json +2 -2
@@ -157,6 +157,24 @@ export const MODELS = {
157
157
  contextWindow: 1000000,
158
158
  maxTokens: 128000,
159
159
  },
160
+ "anthropic.claude-opus-4-8": {
161
+ id: "anthropic.claude-opus-4-8",
162
+ name: "Claude Opus 4.8",
163
+ api: "bedrock-converse-stream",
164
+ provider: "amazon-bedrock",
165
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
166
+ reasoning: true,
167
+ thinkingLevelMap: { "xhigh": "xhigh" },
168
+ input: ["text", "image"],
169
+ cost: {
170
+ input: 5,
171
+ output: 25,
172
+ cacheRead: 0.5,
173
+ cacheWrite: 6.25,
174
+ },
175
+ contextWindow: 1000000,
176
+ maxTokens: 128000,
177
+ },
160
178
  "anthropic.claude-sonnet-4-5-20250929-v1:0": {
161
179
  id: "anthropic.claude-sonnet-4-5-20250929-v1:0",
162
180
  name: "Claude Sonnet 4.5",
@@ -226,6 +244,24 @@ export const MODELS = {
226
244
  contextWindow: 1000000,
227
245
  maxTokens: 128000,
228
246
  },
247
+ "au.anthropic.claude-opus-4-8": {
248
+ id: "au.anthropic.claude-opus-4-8",
249
+ name: "Claude Opus 4.8 (AU)",
250
+ api: "bedrock-converse-stream",
251
+ provider: "amazon-bedrock",
252
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
253
+ reasoning: true,
254
+ thinkingLevelMap: { "xhigh": "xhigh" },
255
+ input: ["text", "image"],
256
+ cost: {
257
+ input: 5,
258
+ output: 25,
259
+ cacheRead: 0.5,
260
+ cacheWrite: 6.25,
261
+ },
262
+ contextWindow: 1000000,
263
+ maxTokens: 128000,
264
+ },
229
265
  "au.anthropic.claude-sonnet-4-5-20250929-v1:0": {
230
266
  id: "au.anthropic.claude-sonnet-4-5-20250929-v1:0",
231
267
  name: "Claude Sonnet 4.5 (AU)",
@@ -381,6 +417,24 @@ export const MODELS = {
381
417
  contextWindow: 1000000,
382
418
  maxTokens: 128000,
383
419
  },
420
+ "eu.anthropic.claude-opus-4-8": {
421
+ id: "eu.anthropic.claude-opus-4-8",
422
+ name: "Claude Opus 4.8 (EU)",
423
+ api: "bedrock-converse-stream",
424
+ provider: "amazon-bedrock",
425
+ baseUrl: "https://bedrock-runtime.eu-central-1.amazonaws.com",
426
+ reasoning: true,
427
+ thinkingLevelMap: { "xhigh": "xhigh" },
428
+ input: ["text", "image"],
429
+ cost: {
430
+ input: 5,
431
+ output: 25,
432
+ cacheRead: 0.5,
433
+ cacheWrite: 6.25,
434
+ },
435
+ contextWindow: 1000000,
436
+ maxTokens: 128000,
437
+ },
384
438
  "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": {
385
439
  id: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0",
386
440
  name: "Claude Sonnet 4.5 (EU)",
@@ -485,6 +539,24 @@ export const MODELS = {
485
539
  contextWindow: 1000000,
486
540
  maxTokens: 128000,
487
541
  },
542
+ "global.anthropic.claude-opus-4-8": {
543
+ id: "global.anthropic.claude-opus-4-8",
544
+ name: "Claude Opus 4.8 (Global)",
545
+ api: "bedrock-converse-stream",
546
+ provider: "amazon-bedrock",
547
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
548
+ reasoning: true,
549
+ thinkingLevelMap: { "xhigh": "xhigh" },
550
+ input: ["text", "image"],
551
+ cost: {
552
+ input: 5,
553
+ output: 25,
554
+ cacheRead: 0.5,
555
+ cacheWrite: 6.25,
556
+ },
557
+ contextWindow: 1000000,
558
+ maxTokens: 128000,
559
+ },
488
560
  "global.anthropic.claude-sonnet-4-5-20250929-v1:0": {
489
561
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
490
562
  name: "Claude Sonnet 4.5 (Global)",
@@ -571,6 +643,24 @@ export const MODELS = {
571
643
  contextWindow: 1000000,
572
644
  maxTokens: 128000,
573
645
  },
646
+ "jp.anthropic.claude-opus-4-8": {
647
+ id: "jp.anthropic.claude-opus-4-8",
648
+ name: "Claude Opus 4.8 (JP)",
649
+ api: "bedrock-converse-stream",
650
+ provider: "amazon-bedrock",
651
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
652
+ reasoning: true,
653
+ thinkingLevelMap: { "xhigh": "xhigh" },
654
+ input: ["text", "image"],
655
+ cost: {
656
+ input: 5,
657
+ output: 25,
658
+ cacheRead: 0.5,
659
+ cacheWrite: 6.25,
660
+ },
661
+ contextWindow: 1000000,
662
+ maxTokens: 128000,
663
+ },
574
664
  "jp.anthropic.claude-sonnet-4-5-20250929-v1:0": {
575
665
  id: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0",
576
666
  name: "Claude Sonnet 4.5 (JP)",
@@ -1270,6 +1360,24 @@ export const MODELS = {
1270
1360
  contextWindow: 1000000,
1271
1361
  maxTokens: 128000,
1272
1362
  },
1363
+ "us.anthropic.claude-opus-4-8": {
1364
+ id: "us.anthropic.claude-opus-4-8",
1365
+ name: "Claude Opus 4.8 (US)",
1366
+ api: "bedrock-converse-stream",
1367
+ provider: "amazon-bedrock",
1368
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1369
+ reasoning: true,
1370
+ thinkingLevelMap: { "xhigh": "xhigh" },
1371
+ input: ["text", "image"],
1372
+ cost: {
1373
+ input: 5,
1374
+ output: 25,
1375
+ cacheRead: 0.5,
1376
+ cacheWrite: 6.25,
1377
+ },
1378
+ contextWindow: 1000000,
1379
+ maxTokens: 128000,
1380
+ },
1273
1381
  "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
1274
1382
  id: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
1275
1383
  name: "Claude Sonnet 4.5 (US)",
@@ -1752,6 +1860,25 @@ export const MODELS = {
1752
1860
  contextWindow: 1000000,
1753
1861
  maxTokens: 128000,
1754
1862
  },
1863
+ "claude-opus-4-8": {
1864
+ id: "claude-opus-4-8",
1865
+ name: "Claude Opus 4.8",
1866
+ api: "anthropic-messages",
1867
+ provider: "anthropic",
1868
+ baseUrl: "https://api.anthropic.com",
1869
+ compat: { "forceAdaptiveThinking": true },
1870
+ reasoning: true,
1871
+ thinkingLevelMap: { "xhigh": "xhigh" },
1872
+ input: ["text", "image"],
1873
+ cost: {
1874
+ input: 5,
1875
+ output: 25,
1876
+ cacheRead: 0.5,
1877
+ cacheWrite: 6.25,
1878
+ },
1879
+ contextWindow: 1000000,
1880
+ maxTokens: 128000,
1881
+ },
1755
1882
  "claude-sonnet-4-0": {
1756
1883
  id: "claude-sonnet-4-0",
1757
1884
  name: "Claude Sonnet 4 (latest)",
@@ -2431,7 +2558,7 @@ export const MODELS = {
2431
2558
  provider: "azure-openai-responses",
2432
2559
  baseUrl: "",
2433
2560
  reasoning: true,
2434
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
2561
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
2435
2562
  input: ["text", "image"],
2436
2563
  cost: {
2437
2564
  input: 30,
@@ -3738,8 +3865,8 @@ export const MODELS = {
3738
3865
  cacheRead: 0,
3739
3866
  cacheWrite: 0,
3740
3867
  },
3741
- contextWindow: 144000,
3742
- maxTokens: 32000,
3868
+ contextWindow: 200000,
3869
+ maxTokens: 64000,
3743
3870
  },
3744
3871
  "claude-opus-4.5": {
3745
3872
  id: "claude-opus-4.5",
@@ -3756,7 +3883,7 @@ export const MODELS = {
3756
3883
  cacheRead: 0,
3757
3884
  cacheWrite: 0,
3758
3885
  },
3759
- contextWindow: 160000,
3886
+ contextWindow: 200000,
3760
3887
  maxTokens: 32000,
3761
3888
  },
3762
3889
  "claude-opus-4.6": {
@@ -3777,7 +3904,7 @@ export const MODELS = {
3777
3904
  cacheWrite: 0,
3778
3905
  },
3779
3906
  contextWindow: 1000000,
3780
- maxTokens: 64000,
3907
+ maxTokens: 32000,
3781
3908
  },
3782
3909
  "claude-opus-4.7": {
3783
3910
  id: "claude-opus-4.7",
@@ -3796,7 +3923,27 @@ export const MODELS = {
3796
3923
  cacheRead: 0,
3797
3924
  cacheWrite: 0,
3798
3925
  },
3799
- contextWindow: 144000,
3926
+ contextWindow: 200000,
3927
+ maxTokens: 32000,
3928
+ },
3929
+ "claude-opus-4.8": {
3930
+ id: "claude-opus-4.8",
3931
+ name: "Claude Opus 4.8",
3932
+ api: "anthropic-messages",
3933
+ provider: "github-copilot",
3934
+ baseUrl: "https://api.individual.githubcopilot.com",
3935
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
3936
+ compat: { "forceAdaptiveThinking": true },
3937
+ reasoning: true,
3938
+ thinkingLevelMap: { "xhigh": "xhigh" },
3939
+ input: ["text", "image"],
3940
+ cost: {
3941
+ input: 0,
3942
+ output: 0,
3943
+ cacheRead: 0,
3944
+ cacheWrite: 0,
3945
+ },
3946
+ contextWindow: 200000,
3800
3947
  maxTokens: 64000,
3801
3948
  },
3802
3949
  "claude-sonnet-4.5": {
@@ -3815,7 +3962,7 @@ export const MODELS = {
3815
3962
  cacheRead: 0,
3816
3963
  cacheWrite: 0,
3817
3964
  },
3818
- contextWindow: 144000,
3965
+ contextWindow: 200000,
3819
3966
  maxTokens: 32000,
3820
3967
  },
3821
3968
  "claude-sonnet-4.6": {
@@ -3891,7 +4038,7 @@ export const MODELS = {
3891
4038
  cacheRead: 0,
3892
4039
  cacheWrite: 0,
3893
4040
  },
3894
- contextWindow: 128000,
4041
+ contextWindow: 200000,
3895
4042
  maxTokens: 64000,
3896
4043
  },
3897
4044
  "gemini-3.5-flash": {
@@ -3910,7 +4057,7 @@ export const MODELS = {
3910
4057
  cacheRead: 0,
3911
4058
  cacheWrite: 0,
3912
4059
  },
3913
- contextWindow: 128000,
4060
+ contextWindow: 200000,
3914
4061
  maxTokens: 64000,
3915
4062
  },
3916
4063
  "gpt-4.1": {
@@ -3986,8 +4133,8 @@ export const MODELS = {
3986
4133
  cacheRead: 0,
3987
4134
  cacheWrite: 0,
3988
4135
  },
3989
- contextWindow: 264000,
3990
- maxTokens: 64000,
4136
+ contextWindow: 400000,
4137
+ maxTokens: 128000,
3991
4138
  },
3992
4139
  "gpt-5.2-codex": {
3993
4140
  id: "gpt-5.2-codex",
@@ -6757,7 +6904,7 @@ export const MODELS = {
6757
6904
  provider: "openai",
6758
6905
  baseUrl: "https://api.openai.com/v1",
6759
6906
  reasoning: true,
6760
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
6907
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
6761
6908
  input: ["text", "image"],
6762
6909
  cost: {
6763
6910
  input: 30,
@@ -7122,6 +7269,25 @@ export const MODELS = {
7122
7269
  contextWindow: 1000000,
7123
7270
  maxTokens: 128000,
7124
7271
  },
7272
+ "claude-opus-4-8": {
7273
+ id: "claude-opus-4-8",
7274
+ name: "Claude Opus 4.8",
7275
+ api: "anthropic-messages",
7276
+ provider: "opencode",
7277
+ baseUrl: "https://opencode.ai/zen",
7278
+ compat: { "forceAdaptiveThinking": true },
7279
+ reasoning: true,
7280
+ thinkingLevelMap: { "xhigh": "xhigh" },
7281
+ input: ["text", "image"],
7282
+ cost: {
7283
+ input: 5,
7284
+ output: 25,
7285
+ cacheRead: 0.5,
7286
+ cacheWrite: 6.25,
7287
+ },
7288
+ contextWindow: 1000000,
7289
+ maxTokens: 128000,
7290
+ },
7125
7291
  "claude-sonnet-4": {
7126
7292
  id: "claude-sonnet-4",
7127
7293
  name: "Claude Sonnet 4",
@@ -7558,7 +7724,7 @@ export const MODELS = {
7558
7724
  provider: "opencode",
7559
7725
  baseUrl: "https://opencode.ai/zen/v1",
7560
7726
  reasoning: true,
7561
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
7727
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
7562
7728
  input: ["text", "image"],
7563
7729
  cost: {
7564
7730
  input: 30,
@@ -7575,7 +7741,9 @@ export const MODELS = {
7575
7741
  api: "openai-completions",
7576
7742
  provider: "opencode",
7577
7743
  baseUrl: "https://opencode.ai/zen/v1",
7744
+ compat: { "supportsReasoningEffort": false },
7578
7745
  reasoning: true,
7746
+ thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
7579
7747
  input: ["text", "image"],
7580
7748
  cost: {
7581
7749
  input: 1,
@@ -7609,6 +7777,7 @@ export const MODELS = {
7609
7777
  api: "openai-completions",
7610
7778
  provider: "opencode",
7611
7779
  baseUrl: "https://opencode.ai/zen/v1",
7780
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7612
7781
  reasoning: true,
7613
7782
  input: ["text", "image"],
7614
7783
  cost: {
@@ -7819,7 +7988,9 @@ export const MODELS = {
7819
7988
  api: "openai-completions",
7820
7989
  provider: "opencode-go",
7821
7990
  baseUrl: "https://opencode.ai/zen/go/v1",
7991
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7822
7992
  reasoning: true,
7993
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
7823
7994
  input: ["text", "image"],
7824
7995
  cost: {
7825
7996
  input: 0.95,
@@ -7898,24 +8069,6 @@ export const MODELS = {
7898
8069
  contextWindow: 204800,
7899
8070
  maxTokens: 131072,
7900
8071
  },
7901
- "qwen3.5-plus": {
7902
- id: "qwen3.5-plus",
7903
- name: "Qwen3.5 Plus",
7904
- api: "openai-completions",
7905
- provider: "opencode-go",
7906
- baseUrl: "https://opencode.ai/zen/go/v1",
7907
- compat: { "thinkingFormat": "qwen" },
7908
- reasoning: true,
7909
- input: ["text", "image"],
7910
- cost: {
7911
- input: 0.2,
7912
- output: 1.2,
7913
- cacheRead: 0.02,
7914
- cacheWrite: 0.25,
7915
- },
7916
- contextWindow: 262144,
7917
- maxTokens: 65536,
7918
- },
7919
8072
  "qwen3.6-plus": {
7920
8073
  id: "qwen3.6-plus",
7921
8074
  name: "Qwen3.6 Plus",
@@ -8229,6 +8382,42 @@ export const MODELS = {
8229
8382
  contextWindow: 1000000,
8230
8383
  maxTokens: 128000,
8231
8384
  },
8385
+ "anthropic/claude-opus-4.8": {
8386
+ id: "anthropic/claude-opus-4.8",
8387
+ name: "Anthropic: Claude Opus 4.8",
8388
+ api: "openai-completions",
8389
+ provider: "openrouter",
8390
+ baseUrl: "https://openrouter.ai/api/v1",
8391
+ reasoning: true,
8392
+ thinkingLevelMap: { "xhigh": "xhigh" },
8393
+ input: ["text", "image"],
8394
+ cost: {
8395
+ input: 5,
8396
+ output: 25,
8397
+ cacheRead: 0.5,
8398
+ cacheWrite: 6.25,
8399
+ },
8400
+ contextWindow: 1000000,
8401
+ maxTokens: 128000,
8402
+ },
8403
+ "anthropic/claude-opus-4.8-fast": {
8404
+ id: "anthropic/claude-opus-4.8-fast",
8405
+ name: "Anthropic: Claude Opus 4.8 (Fast)",
8406
+ api: "openai-completions",
8407
+ provider: "openrouter",
8408
+ baseUrl: "https://openrouter.ai/api/v1",
8409
+ reasoning: true,
8410
+ thinkingLevelMap: { "xhigh": "xhigh" },
8411
+ input: ["text", "image"],
8412
+ cost: {
8413
+ input: 10,
8414
+ output: 50,
8415
+ cacheRead: 1,
8416
+ cacheWrite: 12.5,
8417
+ },
8418
+ contextWindow: 1000000,
8419
+ maxTokens: 128000,
8420
+ },
8232
8421
  "anthropic/claude-sonnet-4": {
8233
8422
  id: "anthropic/claude-sonnet-4",
8234
8423
  name: "Anthropic: Claude Sonnet 4",
@@ -8626,18 +8815,18 @@ export const MODELS = {
8626
8815
  api: "openai-completions",
8627
8816
  provider: "openrouter",
8628
8817
  baseUrl: "https://openrouter.ai/api/v1",
8629
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8818
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8630
8819
  reasoning: true,
8631
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8820
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8632
8821
  input: ["text"],
8633
8822
  cost: {
8634
- input: 0.09999999999999999,
8635
- output: 0.19999999999999998,
8636
- cacheRead: 0.02,
8823
+ input: 0.0983,
8824
+ output: 0.1966,
8825
+ cacheRead: 0.019700000000000002,
8637
8826
  cacheWrite: 0,
8638
8827
  },
8639
8828
  contextWindow: 1048576,
8640
- maxTokens: 16384,
8829
+ maxTokens: 131072,
8641
8830
  },
8642
8831
  "deepseek/deepseek-v4-flash:free": {
8643
8832
  id: "deepseek/deepseek-v4-flash:free",
@@ -8645,9 +8834,9 @@ export const MODELS = {
8645
8834
  api: "openai-completions",
8646
8835
  provider: "openrouter",
8647
8836
  baseUrl: "https://openrouter.ai/api/v1",
8648
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8837
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8649
8838
  reasoning: true,
8650
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8839
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8651
8840
  input: ["text"],
8652
8841
  cost: {
8653
8842
  input: 0,
@@ -8664,9 +8853,9 @@ export const MODELS = {
8664
8853
  api: "openai-completions",
8665
8854
  provider: "openrouter",
8666
8855
  baseUrl: "https://openrouter.ai/api/v1",
8667
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8856
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8668
8857
  reasoning: true,
8669
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8858
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8670
8859
  input: ["text"],
8671
8860
  cost: {
8672
8861
  input: 0.435,
@@ -8708,7 +8897,7 @@ export const MODELS = {
8708
8897
  cacheRead: 0.024999999999999998,
8709
8898
  cacheWrite: 0.08333333333333334,
8710
8899
  },
8711
- contextWindow: 1000000,
8900
+ contextWindow: 1048576,
8712
8901
  maxTokens: 8192,
8713
8902
  },
8714
8903
  "google/gemini-2.0-flash-lite-001": {
@@ -9755,16 +9944,17 @@ export const MODELS = {
9755
9944
  api: "openai-completions",
9756
9945
  provider: "openrouter",
9757
9946
  baseUrl: "https://openrouter.ai/api/v1",
9947
+ compat: { "supportsDeveloperRole": false },
9758
9948
  reasoning: true,
9759
9949
  input: ["text", "image"],
9760
9950
  cost: {
9761
- input: 0.73,
9762
- output: 3.49,
9763
- cacheRead: 0.25,
9951
+ input: 0.684,
9952
+ output: 3.42,
9953
+ cacheRead: 0.144,
9764
9954
  cacheWrite: 0,
9765
9955
  },
9766
9956
  contextWindow: 262144,
9767
- maxTokens: 262142,
9957
+ maxTokens: 262144,
9768
9958
  },
9769
9959
  "moonshotai/kimi-k2.6:free": {
9770
9960
  id: "moonshotai/kimi-k2.6:free",
@@ -9772,6 +9962,7 @@ export const MODELS = {
9772
9962
  api: "openai-completions",
9773
9963
  provider: "openrouter",
9774
9964
  baseUrl: "https://openrouter.ai/api/v1",
9965
+ compat: { "supportsDeveloperRole": false },
9775
9966
  reasoning: true,
9776
9967
  input: ["text", "image"],
9777
9968
  cost: {
@@ -10208,23 +10399,6 @@ export const MODELS = {
10208
10399
  contextWindow: 128000,
10209
10400
  maxTokens: 16384,
10210
10401
  },
10211
- "openai/gpt-4o-audio-preview": {
10212
- id: "openai/gpt-4o-audio-preview",
10213
- name: "OpenAI: GPT-4o Audio",
10214
- api: "openai-completions",
10215
- provider: "openrouter",
10216
- baseUrl: "https://openrouter.ai/api/v1",
10217
- reasoning: false,
10218
- input: ["text"],
10219
- cost: {
10220
- input: 2.5,
10221
- output: 10,
10222
- cacheRead: 0,
10223
- cacheWrite: 0,
10224
- },
10225
- contextWindow: 128000,
10226
- maxTokens: 16384,
10227
- },
10228
10402
  "openai/gpt-4o-mini": {
10229
10403
  id: "openai/gpt-4o-mini",
10230
10404
  name: "OpenAI: GPT-4o-mini",
@@ -10634,7 +10808,7 @@ export const MODELS = {
10634
10808
  provider: "openrouter",
10635
10809
  baseUrl: "https://openrouter.ai/api/v1",
10636
10810
  reasoning: true,
10637
- thinkingLevelMap: { "xhigh": "xhigh" },
10811
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
10638
10812
  input: ["text", "image"],
10639
10813
  cost: {
10640
10814
  input: 30,
@@ -11903,6 +12077,23 @@ export const MODELS = {
11903
12077
  contextWindow: 262144,
11904
12078
  maxTokens: 16384,
11905
12079
  },
12080
+ "stepfun/step-3.7-flash": {
12081
+ id: "stepfun/step-3.7-flash",
12082
+ name: "StepFun: Step 3.7 Flash",
12083
+ api: "openai-completions",
12084
+ provider: "openrouter",
12085
+ baseUrl: "https://openrouter.ai/api/v1",
12086
+ reasoning: true,
12087
+ input: ["text", "image"],
12088
+ cost: {
12089
+ input: 0.19999999999999998,
12090
+ output: 1.15,
12091
+ cacheRead: 0.04,
12092
+ cacheWrite: 0,
12093
+ },
12094
+ contextWindow: 256000,
12095
+ maxTokens: 256000,
12096
+ },
11906
12097
  "tencent/hy3-preview": {
11907
12098
  id: "tencent/hy3-preview",
11908
12099
  name: "Tencent: Hy3 preview",
@@ -11912,13 +12103,13 @@ export const MODELS = {
11912
12103
  reasoning: true,
11913
12104
  input: ["text"],
11914
12105
  cost: {
11915
- input: 0.06599999999999999,
11916
- output: 0.26,
11917
- cacheRead: 0.029,
12106
+ input: 0.063,
12107
+ output: 0.21,
12108
+ cacheRead: 0.020999999999999998,
11918
12109
  cacheWrite: 0,
11919
12110
  },
11920
12111
  contextWindow: 262144,
11921
- maxTokens: 262144,
12112
+ maxTokens: 4096,
11922
12113
  },
11923
12114
  "thedrummer/rocinante-12b": {
11924
12115
  id: "thedrummer/rocinante-12b",
@@ -12151,8 +12342,8 @@ export const MODELS = {
12151
12342
  input: ["text"],
12152
12343
  cost: {
12153
12344
  input: 0.125,
12154
- output: 0.84,
12155
- cacheRead: 0,
12345
+ output: 0.85,
12346
+ cacheRead: 0.06,
12156
12347
  cacheWrite: 0,
12157
12348
  },
12158
12349
  contextWindow: 131072,
@@ -12422,13 +12613,13 @@ export const MODELS = {
12422
12613
  reasoning: true,
12423
12614
  input: ["text", "image"],
12424
12615
  cost: {
12425
- input: 0.73,
12426
- output: 3.49,
12427
- cacheRead: 0.25,
12616
+ input: 0.684,
12617
+ output: 3.42,
12618
+ cacheRead: 0.144,
12428
12619
  cacheWrite: 0,
12429
12620
  },
12430
12621
  contextWindow: 262144,
12431
- maxTokens: 262142,
12622
+ maxTokens: 262144,
12432
12623
  },
12433
12624
  "~openai/gpt-latest": {
12434
12625
  id: "~openai/gpt-latest",
@@ -12826,20 +13017,20 @@ export const MODELS = {
12826
13017
  },
12827
13018
  "alibaba/qwen-3-235b": {
12828
13019
  id: "alibaba/qwen-3-235b",
12829
- name: "Qwen3 235B A22b Instruct 2507",
13020
+ name: "Qwen3 235B A22B",
12830
13021
  api: "anthropic-messages",
12831
13022
  provider: "vercel-ai-gateway",
12832
13023
  baseUrl: "https://ai-gateway.vercel.sh",
12833
13024
  reasoning: false,
12834
13025
  input: ["text"],
12835
13026
  cost: {
12836
- input: 0.6,
12837
- output: 1.2,
12838
- cacheRead: 0.6,
13027
+ input: 0.22,
13028
+ output: 0.88,
13029
+ cacheRead: 0,
12839
13030
  cacheWrite: 0,
12840
13031
  },
12841
- contextWindow: 131000,
12842
- maxTokens: 40000,
13032
+ contextWindow: 262144,
13033
+ maxTokens: 16384,
12843
13034
  },
12844
13035
  "alibaba/qwen-3-30b": {
12845
13036
  id: "alibaba/qwen-3-30b",
@@ -13270,6 +13461,25 @@ export const MODELS = {
13270
13461
  contextWindow: 1000000,
13271
13462
  maxTokens: 128000,
13272
13463
  },
13464
+ "anthropic/claude-opus-4.8": {
13465
+ id: "anthropic/claude-opus-4.8",
13466
+ name: "Claude Opus 4.8",
13467
+ api: "anthropic-messages",
13468
+ provider: "vercel-ai-gateway",
13469
+ baseUrl: "https://ai-gateway.vercel.sh",
13470
+ compat: { "forceAdaptiveThinking": true },
13471
+ reasoning: true,
13472
+ thinkingLevelMap: { "xhigh": "xhigh" },
13473
+ input: ["text", "image"],
13474
+ cost: {
13475
+ input: 5,
13476
+ output: 25,
13477
+ cacheRead: 0.5,
13478
+ cacheWrite: 6.25,
13479
+ },
13480
+ contextWindow: 1000000,
13481
+ maxTokens: 128000,
13482
+ },
13273
13483
  "anthropic/claude-sonnet-4": {
13274
13484
  id: "anthropic/claude-sonnet-4",
13275
13485
  name: "Claude Sonnet 4",
@@ -14870,7 +15080,7 @@ export const MODELS = {
14870
15080
  provider: "vercel-ai-gateway",
14871
15081
  baseUrl: "https://ai-gateway.vercel.sh",
14872
15082
  reasoning: true,
14873
- thinkingLevelMap: { "xhigh": "xhigh" },
15083
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
14874
15084
  input: ["text", "image"],
14875
15085
  cost: {
14876
15086
  input: 30,
@@ -15725,24 +15935,6 @@ export const MODELS = {
15725
15935
  },
15726
15936
  },
15727
15937
  "xiaomi-token-plan-ams": {
15728
- "mimo-v2-flash": {
15729
- id: "mimo-v2-flash",
15730
- name: "MiMo-V2-Flash",
15731
- api: "openai-completions",
15732
- provider: "xiaomi-token-plan-ams",
15733
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
15734
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15735
- reasoning: true,
15736
- input: ["text"],
15737
- cost: {
15738
- input: 0.1,
15739
- output: 0.3,
15740
- cacheRead: 0.01,
15741
- cacheWrite: 0,
15742
- },
15743
- contextWindow: 262144,
15744
- maxTokens: 65536,
15745
- },
15746
15938
  "mimo-v2-omni": {
15747
15939
  id: "mimo-v2-omni",
15748
15940
  name: "MiMo-V2-Omni",
@@ -15817,24 +16009,6 @@ export const MODELS = {
15817
16009
  },
15818
16010
  },
15819
16011
  "xiaomi-token-plan-cn": {
15820
- "mimo-v2-flash": {
15821
- id: "mimo-v2-flash",
15822
- name: "MiMo-V2-Flash",
15823
- api: "openai-completions",
15824
- provider: "xiaomi-token-plan-cn",
15825
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
15826
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15827
- reasoning: true,
15828
- input: ["text"],
15829
- cost: {
15830
- input: 0.1,
15831
- output: 0.3,
15832
- cacheRead: 0.01,
15833
- cacheWrite: 0,
15834
- },
15835
- contextWindow: 262144,
15836
- maxTokens: 65536,
15837
- },
15838
16012
  "mimo-v2-omni": {
15839
16013
  id: "mimo-v2-omni",
15840
16014
  name: "MiMo-V2-Omni",
@@ -15909,24 +16083,6 @@ export const MODELS = {
15909
16083
  },
15910
16084
  },
15911
16085
  "xiaomi-token-plan-sgp": {
15912
- "mimo-v2-flash": {
15913
- id: "mimo-v2-flash",
15914
- name: "MiMo-V2-Flash",
15915
- api: "openai-completions",
15916
- provider: "xiaomi-token-plan-sgp",
15917
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
15918
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15919
- reasoning: true,
15920
- input: ["text"],
15921
- cost: {
15922
- input: 0.1,
15923
- output: 0.3,
15924
- cacheRead: 0.01,
15925
- cacheWrite: 0,
15926
- },
15927
- contextWindow: 262144,
15928
- maxTokens: 65536,
15929
- },
15930
16086
  "mimo-v2-omni": {
15931
16087
  id: "mimo-v2-omni",
15932
16088
  name: "MiMo-V2-Omni",