@earendil-works/pi-ai 0.80.5 → 0.80.7

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 (149) hide show
  1. package/README.md +7 -4
  2. package/dist/api/anthropic-messages.d.ts.map +1 -1
  3. package/dist/api/anthropic-messages.js +102 -50
  4. package/dist/api/anthropic-messages.js.map +1 -1
  5. package/dist/api/azure-openai-responses.d.ts +1 -1
  6. package/dist/api/azure-openai-responses.d.ts.map +1 -1
  7. package/dist/api/azure-openai-responses.js.map +1 -1
  8. package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  9. package/dist/api/bedrock-converse-stream.js +19 -11
  10. package/dist/api/bedrock-converse-stream.js.map +1 -1
  11. package/dist/api/google-generative-ai.d.ts.map +1 -1
  12. package/dist/api/google-generative-ai.js.map +1 -1
  13. package/dist/api/google-vertex.d.ts.map +1 -1
  14. package/dist/api/google-vertex.js.map +1 -1
  15. package/dist/api/openai-codex-responses.d.ts +2 -1
  16. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  17. package/dist/api/openai-codex-responses.js +6 -3
  18. package/dist/api/openai-codex-responses.js.map +1 -1
  19. package/dist/api/openai-completions.d.ts +1 -1
  20. package/dist/api/openai-completions.d.ts.map +1 -1
  21. package/dist/api/openai-completions.js +12 -3
  22. package/dist/api/openai-completions.js.map +1 -1
  23. package/dist/api/openai-responses-shared.d.ts +3 -1
  24. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  25. package/dist/api/openai-responses-shared.js +57 -4
  26. package/dist/api/openai-responses-shared.js.map +1 -1
  27. package/dist/api/openai-responses.d.ts +2 -1
  28. package/dist/api/openai-responses.d.ts.map +1 -1
  29. package/dist/api/openai-responses.js +24 -8
  30. package/dist/api/openai-responses.js.map +1 -1
  31. package/dist/api/pi-messages.d.ts +97 -0
  32. package/dist/api/pi-messages.d.ts.map +1 -0
  33. package/dist/api/pi-messages.js +309 -0
  34. package/dist/api/pi-messages.js.map +1 -0
  35. package/dist/api/pi-messages.lazy.d.ts +3 -0
  36. package/dist/api/pi-messages.lazy.d.ts.map +1 -0
  37. package/dist/api/pi-messages.lazy.js +3 -0
  38. package/dist/api/pi-messages.lazy.js.map +1 -0
  39. package/dist/api/simple-options.d.ts +1 -1
  40. package/dist/api/simple-options.d.ts.map +1 -1
  41. package/dist/api/simple-options.js +1 -1
  42. package/dist/api/simple-options.js.map +1 -1
  43. package/dist/compat.d.ts +2 -0
  44. package/dist/compat.d.ts.map +1 -1
  45. package/dist/compat.js +5 -1
  46. package/dist/compat.js.map +1 -1
  47. package/dist/env-api-keys.d.ts.map +1 -1
  48. package/dist/env-api-keys.js +1 -0
  49. package/dist/env-api-keys.js.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/models.d.ts.map +1 -1
  54. package/dist/models.generated.d.ts +706 -215
  55. package/dist/models.generated.d.ts.map +1 -1
  56. package/dist/models.js +15 -6
  57. package/dist/models.js.map +1 -1
  58. package/dist/providers/all.d.ts +9 -5
  59. package/dist/providers/all.d.ts.map +1 -1
  60. package/dist/providers/all.js.map +1 -1
  61. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  62. package/dist/providers/amazon-bedrock.js +5 -1
  63. package/dist/providers/amazon-bedrock.js.map +1 -1
  64. package/dist/providers/amazon-bedrock.models.d.ts +122 -5
  65. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  66. package/dist/providers/amazon-bedrock.models.js +86 -20
  67. package/dist/providers/amazon-bedrock.models.js.map +1 -1
  68. package/dist/providers/anthropic.models.d.ts +11 -1
  69. package/dist/providers/anthropic.models.d.ts.map +1 -1
  70. package/dist/providers/anthropic.models.js +6 -4
  71. package/dist/providers/anthropic.models.js.map +1 -1
  72. package/dist/providers/azure-openai-responses.models.d.ts +7 -8
  73. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  74. package/dist/providers/azure-openai-responses.models.js +20 -21
  75. package/dist/providers/azure-openai-responses.models.js.map +1 -1
  76. package/dist/providers/cerebras.models.d.ts.map +1 -1
  77. package/dist/providers/cerebras.models.js +1 -1
  78. package/dist/providers/cerebras.models.js.map +1 -1
  79. package/dist/providers/cloudflare-ai-gateway.models.d.ts +103 -1
  80. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  81. package/dist/providers/cloudflare-ai-gateway.models.js +78 -4
  82. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  83. package/dist/providers/cloudflare-auth.d.ts.map +1 -1
  84. package/dist/providers/cloudflare-auth.js +9 -6
  85. package/dist/providers/cloudflare-auth.js.map +1 -1
  86. package/dist/providers/deepseek.models.d.ts +2 -2
  87. package/dist/providers/deepseek.models.d.ts.map +1 -1
  88. package/dist/providers/deepseek.models.js +2 -2
  89. package/dist/providers/deepseek.models.js.map +1 -1
  90. package/dist/providers/fireworks.models.d.ts +2 -2
  91. package/dist/providers/fireworks.models.d.ts.map +1 -1
  92. package/dist/providers/fireworks.models.js +2 -2
  93. package/dist/providers/fireworks.models.js.map +1 -1
  94. package/dist/providers/github-copilot.models.d.ts +101 -8
  95. package/dist/providers/github-copilot.models.d.ts.map +1 -1
  96. package/dist/providers/github-copilot.models.js +65 -7
  97. package/dist/providers/github-copilot.models.js.map +1 -1
  98. package/dist/providers/openai-codex.models.d.ts +56 -0
  99. package/dist/providers/openai-codex.models.d.ts.map +1 -1
  100. package/dist/providers/openai-codex.models.js +20 -9
  101. package/dist/providers/openai-codex.models.js.map +1 -1
  102. package/dist/providers/openai.models.d.ts +77 -8
  103. package/dist/providers/openai.models.d.ts.map +1 -1
  104. package/dist/providers/openai.models.js +37 -24
  105. package/dist/providers/openai.models.js.map +1 -1
  106. package/dist/providers/opencode-go.models.d.ts +3 -3
  107. package/dist/providers/opencode-go.models.d.ts.map +1 -1
  108. package/dist/providers/opencode-go.models.js +3 -3
  109. package/dist/providers/opencode-go.models.js.map +1 -1
  110. package/dist/providers/opencode.models.d.ts +137 -4
  111. package/dist/providers/opencode.models.d.ts.map +1 -1
  112. package/dist/providers/opencode.models.js +83 -8
  113. package/dist/providers/opencode.models.js.map +1 -1
  114. package/dist/providers/openrouter.models.d.ts +48 -44
  115. package/dist/providers/openrouter.models.d.ts.map +1 -1
  116. package/dist/providers/openrouter.models.js +112 -127
  117. package/dist/providers/openrouter.models.js.map +1 -1
  118. package/dist/providers/vercel-ai-gateway.models.d.ts +19 -111
  119. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  120. package/dist/providers/vercel-ai-gateway.models.js +42 -142
  121. package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  122. package/dist/providers/zai-coding-cn.models.d.ts +1 -1
  123. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  124. package/dist/providers/zai-coding-cn.models.js +1 -1
  125. package/dist/providers/zai-coding-cn.models.js.map +1 -1
  126. package/dist/providers/zai.models.d.ts +1 -1
  127. package/dist/providers/zai.models.d.ts.map +1 -1
  128. package/dist/providers/zai.models.js +1 -1
  129. package/dist/providers/zai.models.js.map +1 -1
  130. package/dist/types.d.ts +41 -13
  131. package/dist/types.d.ts.map +1 -1
  132. package/dist/types.js.map +1 -1
  133. package/dist/utils/deferred-tools.d.ts +9 -0
  134. package/dist/utils/deferred-tools.d.ts.map +1 -0
  135. package/dist/utils/deferred-tools.js +36 -0
  136. package/dist/utils/deferred-tools.js.map +1 -0
  137. package/dist/utils/estimate.d.ts +3 -3
  138. package/dist/utils/estimate.d.ts.map +1 -1
  139. package/dist/utils/estimate.js +35 -14
  140. package/dist/utils/estimate.js.map +1 -1
  141. package/dist/utils/oauth/index.d.ts +1 -0
  142. package/dist/utils/oauth/index.d.ts.map +1 -1
  143. package/dist/utils/oauth/index.js +9 -0
  144. package/dist/utils/oauth/index.js.map +1 -1
  145. package/dist/utils/oauth/radius.d.ts +39 -0
  146. package/dist/utils/oauth/radius.d.ts.map +1 -0
  147. package/dist/utils/oauth/radius.js +415 -0
  148. package/dist/utils/oauth/radius.js.map +1 -0
  149. package/package.json +1 -1
@@ -189,6 +189,7 @@ export const OPENROUTER_MODELS = {
189
189
  baseUrl: "https://openrouter.ai/api/v1",
190
190
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
191
191
  reasoning: true,
192
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "max": "max" },
192
193
  input: ["text", "image"],
193
194
  cost: {
194
195
  input: 10,
@@ -279,7 +280,7 @@ export const OPENROUTER_MODELS = {
279
280
  baseUrl: "https://openrouter.ai/api/v1",
280
281
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
281
282
  reasoning: true,
282
- thinkingLevelMap: { "xhigh": "max" },
283
+ thinkingLevelMap: { "max": "max" },
283
284
  input: ["text", "image"],
284
285
  cost: {
285
286
  input: 5,
@@ -298,7 +299,7 @@ export const OPENROUTER_MODELS = {
298
299
  baseUrl: "https://openrouter.ai/api/v1",
299
300
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
300
301
  reasoning: true,
301
- thinkingLevelMap: { "xhigh": "xhigh" },
302
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
302
303
  input: ["text", "image"],
303
304
  cost: {
304
305
  input: 5,
@@ -317,7 +318,7 @@ export const OPENROUTER_MODELS = {
317
318
  baseUrl: "https://openrouter.ai/api/v1",
318
319
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
319
320
  reasoning: true,
320
- thinkingLevelMap: { "xhigh": "xhigh" },
321
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
321
322
  input: ["text", "image"],
322
323
  cost: {
323
324
  input: 30,
@@ -336,7 +337,7 @@ export const OPENROUTER_MODELS = {
336
337
  baseUrl: "https://openrouter.ai/api/v1",
337
338
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
338
339
  reasoning: true,
339
- thinkingLevelMap: { "xhigh": "xhigh" },
340
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
340
341
  input: ["text", "image"],
341
342
  cost: {
342
343
  input: 5,
@@ -355,7 +356,7 @@ export const OPENROUTER_MODELS = {
355
356
  baseUrl: "https://openrouter.ai/api/v1",
356
357
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
357
358
  reasoning: true,
358
- thinkingLevelMap: { "xhigh": "xhigh" },
359
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
359
360
  input: ["text", "image"],
360
361
  cost: {
361
362
  input: 10,
@@ -410,6 +411,7 @@ export const OPENROUTER_MODELS = {
410
411
  baseUrl: "https://openrouter.ai/api/v1",
411
412
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
412
413
  reasoning: true,
414
+ thinkingLevelMap: { "max": "max" },
413
415
  input: ["text", "image"],
414
416
  cost: {
415
417
  input: 3,
@@ -428,6 +430,7 @@ export const OPENROUTER_MODELS = {
428
430
  baseUrl: "https://openrouter.ai/api/v1",
429
431
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
430
432
  reasoning: true,
433
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
431
434
  input: ["text", "image"],
432
435
  cost: {
433
436
  input: 2,
@@ -456,24 +459,6 @@ export const OPENROUTER_MODELS = {
456
459
  contextWindow: 262144,
457
460
  maxTokens: 80000,
458
461
  },
459
- "arcee-ai/trinity-mini": {
460
- id: "arcee-ai/trinity-mini",
461
- name: "Arcee AI: Trinity Mini",
462
- api: "openai-completions",
463
- provider: "openrouter",
464
- baseUrl: "https://openrouter.ai/api/v1",
465
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
466
- reasoning: true,
467
- input: ["text"],
468
- cost: {
469
- input: 0.045,
470
- output: 0.15,
471
- cacheRead: 0,
472
- cacheWrite: 0,
473
- },
474
- contextWindow: 131072,
475
- maxTokens: 131072,
476
- },
477
462
  "arcee-ai/virtuoso-large": {
478
463
  id: "arcee-ai/virtuoso-large",
479
464
  name: "Arcee AI: Virtuoso Large",
@@ -651,7 +636,7 @@ export const OPENROUTER_MODELS = {
651
636
  cacheRead: 0,
652
637
  cacheWrite: 0,
653
638
  },
654
- contextWindow: 131072,
639
+ contextWindow: 128000,
655
640
  maxTokens: 16000,
656
641
  },
657
642
  "deepseek/deepseek-chat-v3-0324": {
@@ -682,8 +667,8 @@ export const OPENROUTER_MODELS = {
682
667
  reasoning: true,
683
668
  input: ["text"],
684
669
  cost: {
685
- input: 0.21,
686
- output: 0.79,
670
+ input: 0.25,
671
+ output: 0.95,
687
672
  cacheRead: 0.13,
688
673
  cacheWrite: 0,
689
674
  },
@@ -705,7 +690,7 @@ export const OPENROUTER_MODELS = {
705
690
  cacheRead: 0,
706
691
  cacheWrite: 0,
707
692
  },
708
- contextWindow: 163840,
693
+ contextWindow: 64000,
709
694
  maxTokens: 16000,
710
695
  },
711
696
  "deepseek/deepseek-r1-0528": {
@@ -754,12 +739,12 @@ export const OPENROUTER_MODELS = {
754
739
  reasoning: true,
755
740
  input: ["text"],
756
741
  cost: {
757
- input: 0.2288,
758
- output: 0.3432,
759
- cacheRead: 0.02288,
742
+ input: 0.2145,
743
+ output: 0.32175,
744
+ cacheRead: 0.02145,
760
745
  cacheWrite: 0,
761
746
  },
762
- contextWindow: 131072,
747
+ contextWindow: 128000,
763
748
  maxTokens: 64000,
764
749
  },
765
750
  "deepseek/deepseek-v3.2-exp": {
@@ -788,7 +773,7 @@ export const OPENROUTER_MODELS = {
788
773
  baseUrl: "https://openrouter.ai/api/v1",
789
774
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
790
775
  reasoning: true,
791
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
776
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
792
777
  input: ["text"],
793
778
  cost: {
794
779
  input: 0.09,
@@ -807,7 +792,7 @@ export const OPENROUTER_MODELS = {
807
792
  baseUrl: "https://openrouter.ai/api/v1",
808
793
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
809
794
  reasoning: true,
810
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
795
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
811
796
  input: ["text"],
812
797
  cost: {
813
798
  input: 0.435,
@@ -1013,7 +998,7 @@ export const OPENROUTER_MODELS = {
1013
998
  cacheRead: 0.2,
1014
999
  cacheWrite: 0.375,
1015
1000
  },
1016
- contextWindow: 1048756,
1001
+ contextWindow: 1048576,
1017
1002
  maxTokens: 65536,
1018
1003
  },
1019
1004
  "google/gemini-3.5-flash": {
@@ -1103,7 +1088,7 @@ export const OPENROUTER_MODELS = {
1103
1088
  cacheRead: 0,
1104
1089
  cacheWrite: 0,
1105
1090
  },
1106
- contextWindow: 262144,
1091
+ contextWindow: 131072,
1107
1092
  maxTokens: 32768,
1108
1093
  },
1109
1094
  "google/gemma-4-31b-it": {
@@ -1116,13 +1101,13 @@ export const OPENROUTER_MODELS = {
1116
1101
  reasoning: true,
1117
1102
  input: ["text", "image"],
1118
1103
  cost: {
1119
- input: 0.12,
1104
+ input: 0.06,
1120
1105
  output: 0.35,
1121
- cacheRead: 0.09,
1106
+ cacheRead: 0,
1122
1107
  cacheWrite: 0,
1123
1108
  },
1124
1109
  contextWindow: 262144,
1125
- maxTokens: 262144,
1110
+ maxTokens: 8192,
1126
1111
  },
1127
1112
  "google/gemma-4-31b-it:free": {
1128
1113
  id: "google/gemma-4-31b-it:free",
@@ -1140,7 +1125,7 @@ export const OPENROUTER_MODELS = {
1140
1125
  cacheWrite: 0,
1141
1126
  },
1142
1127
  contextWindow: 262144,
1143
- maxTokens: 8192,
1128
+ maxTokens: 32768,
1144
1129
  },
1145
1130
  "ibm-granite/granite-4.1-8b": {
1146
1131
  id: "ibm-granite/granite-4.1-8b",
@@ -1233,6 +1218,24 @@ export const OPENROUTER_MODELS = {
1233
1218
  contextWindow: 262144,
1234
1219
  maxTokens: 65536,
1235
1220
  },
1221
+ "kwaipilot/kat-coder-air-v2.5": {
1222
+ id: "kwaipilot/kat-coder-air-v2.5",
1223
+ name: "Kwaipilot: KAT-Coder-Air V2.5",
1224
+ api: "openai-completions",
1225
+ provider: "openrouter",
1226
+ baseUrl: "https://openrouter.ai/api/v1",
1227
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1228
+ reasoning: false,
1229
+ input: ["text"],
1230
+ cost: {
1231
+ input: 0.15,
1232
+ output: 0.6,
1233
+ cacheRead: 0.03,
1234
+ cacheWrite: 0,
1235
+ },
1236
+ contextWindow: 256000,
1237
+ maxTokens: 80000,
1238
+ },
1236
1239
  "kwaipilot/kat-coder-pro-v2": {
1237
1240
  id: "kwaipilot/kat-coder-pro-v2",
1238
1241
  name: "Kwaipilot: KAT-Coder-Pro V2",
@@ -1251,23 +1254,23 @@ export const OPENROUTER_MODELS = {
1251
1254
  contextWindow: 256000,
1252
1255
  maxTokens: 80000,
1253
1256
  },
1254
- "liquid/lfm-2.5-1.2b-thinking:free": {
1255
- id: "liquid/lfm-2.5-1.2b-thinking:free",
1256
- name: "LiquidAI: LFM2.5-1.2B-Thinking (free)",
1257
+ "kwaipilot/kat-coder-pro-v2.5": {
1258
+ id: "kwaipilot/kat-coder-pro-v2.5",
1259
+ name: "Kwaipilot: KAT-Coder-Pro V2.5",
1257
1260
  api: "openai-completions",
1258
1261
  provider: "openrouter",
1259
1262
  baseUrl: "https://openrouter.ai/api/v1",
1260
1263
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1261
- reasoning: true,
1264
+ reasoning: false,
1262
1265
  input: ["text"],
1263
1266
  cost: {
1264
- input: 0,
1265
- output: 0,
1266
- cacheRead: 0,
1267
+ input: 0.74,
1268
+ output: 2.96,
1269
+ cacheRead: 0.15,
1267
1270
  cacheWrite: 0,
1268
1271
  },
1269
- contextWindow: 32768,
1270
- maxTokens: 4096,
1272
+ contextWindow: 256000,
1273
+ maxTokens: 80000,
1271
1274
  },
1272
1275
  "meta-llama/llama-3.1-70b-instruct": {
1273
1276
  id: "meta-llama/llama-3.1-70b-instruct",
@@ -1338,7 +1341,7 @@ export const OPENROUTER_MODELS = {
1338
1341
  cacheRead: 0,
1339
1342
  cacheWrite: 0,
1340
1343
  },
1341
- contextWindow: 131072,
1344
+ contextWindow: 65536,
1342
1345
  maxTokens: 4096,
1343
1346
  },
1344
1347
  "meta-llama/llama-4-maverick": {
@@ -1351,8 +1354,8 @@ export const OPENROUTER_MODELS = {
1351
1354
  reasoning: false,
1352
1355
  input: ["text", "image"],
1353
1356
  cost: {
1354
- input: 0.15,
1355
- output: 0.6,
1357
+ input: 0.2,
1358
+ output: 0.8,
1356
1359
  cacheRead: 0,
1357
1360
  cacheWrite: 0,
1358
1361
  },
@@ -1374,7 +1377,7 @@ export const OPENROUTER_MODELS = {
1374
1377
  cacheRead: 0,
1375
1378
  cacheWrite: 0,
1376
1379
  },
1377
- contextWindow: 10000000,
1380
+ contextWindow: 327680,
1378
1381
  maxTokens: 16384,
1379
1382
  },
1380
1383
  "minimax/minimax-m1": {
@@ -1446,7 +1449,7 @@ export const OPENROUTER_MODELS = {
1446
1449
  cacheRead: 0.05,
1447
1450
  cacheWrite: 0,
1448
1451
  },
1449
- contextWindow: 204800,
1452
+ contextWindow: 196608,
1450
1453
  maxTokens: 196608,
1451
1454
  },
1452
1455
  "minimax/minimax-m2.7": {
@@ -1464,7 +1467,7 @@ export const OPENROUTER_MODELS = {
1464
1467
  cacheRead: 0,
1465
1468
  cacheWrite: 0,
1466
1469
  },
1467
- contextWindow: 204800,
1470
+ contextWindow: 196608,
1468
1471
  maxTokens: 196608,
1469
1472
  },
1470
1473
  "minimax/minimax-m3": {
@@ -1482,8 +1485,8 @@ export const OPENROUTER_MODELS = {
1482
1485
  cacheRead: 0.06,
1483
1486
  cacheWrite: 0,
1484
1487
  },
1485
- contextWindow: 1048576,
1486
- maxTokens: 512000,
1488
+ contextWindow: 1000000,
1489
+ maxTokens: 131072,
1487
1490
  },
1488
1491
  "mistralai/codestral-2508": {
1489
1492
  id: "mistralai/codestral-2508",
@@ -1873,9 +1876,9 @@ export const OPENROUTER_MODELS = {
1873
1876
  reasoning: true,
1874
1877
  input: ["text", "image"],
1875
1878
  cost: {
1876
- input: 0.65,
1879
+ input: 0.66,
1877
1880
  output: 3.41,
1878
- cacheRead: 0.14,
1881
+ cacheRead: 0.15,
1879
1882
  cacheWrite: 0,
1880
1883
  },
1881
1884
  contextWindow: 262144,
@@ -1891,9 +1894,9 @@ export const OPENROUTER_MODELS = {
1891
1894
  reasoning: true,
1892
1895
  input: ["text", "image"],
1893
1896
  cost: {
1894
- input: 0.72,
1897
+ input: 0.719,
1895
1898
  output: 3.49,
1896
- cacheRead: 0.159,
1899
+ cacheRead: 0.149,
1897
1900
  cacheWrite: 0,
1898
1901
  },
1899
1902
  contextWindow: 262144,
@@ -2022,7 +2025,7 @@ export const OPENROUTER_MODELS = {
2022
2025
  cacheRead: 0,
2023
2026
  cacheWrite: 0,
2024
2027
  },
2025
- contextWindow: 1000000,
2028
+ contextWindow: 262144,
2026
2029
  maxTokens: 4096,
2027
2030
  },
2028
2031
  "nvidia/nemotron-3-super-120b-a12b:free": {
@@ -2040,7 +2043,7 @@ export const OPENROUTER_MODELS = {
2040
2043
  cacheRead: 0,
2041
2044
  cacheWrite: 0,
2042
2045
  },
2043
- contextWindow: 1000000,
2046
+ contextWindow: 262144,
2044
2047
  maxTokens: 262144,
2045
2048
  },
2046
2049
  "nvidia/nemotron-3-ultra-550b-a55b": {
@@ -2058,7 +2061,7 @@ export const OPENROUTER_MODELS = {
2058
2061
  cacheRead: 0.1,
2059
2062
  cacheWrite: 0,
2060
2063
  },
2061
- contextWindow: 1000000,
2064
+ contextWindow: 262144,
2062
2065
  maxTokens: 16384,
2063
2066
  },
2064
2067
  "nvidia/nemotron-3-ultra-550b-a55b:free": {
@@ -2451,11 +2454,11 @@ export const OPENROUTER_MODELS = {
2451
2454
  cost: {
2452
2455
  input: 0.05,
2453
2456
  output: 0.4,
2454
- cacheRead: 0.01,
2457
+ cacheRead: 0.005,
2455
2458
  cacheWrite: 0,
2456
2459
  },
2457
2460
  contextWindow: 400000,
2458
- maxTokens: 4096,
2461
+ maxTokens: 128000,
2459
2462
  },
2460
2463
  "openai/gpt-5-pro": {
2461
2464
  id: "openai/gpt-5-pro",
@@ -2487,7 +2490,7 @@ export const OPENROUTER_MODELS = {
2487
2490
  cost: {
2488
2491
  input: 1.25,
2489
2492
  output: 10,
2490
- cacheRead: 0.13,
2493
+ cacheRead: 0.125,
2491
2494
  cacheWrite: 0,
2492
2495
  },
2493
2496
  contextWindow: 400000,
@@ -2801,7 +2804,7 @@ export const OPENROUTER_MODELS = {
2801
2804
  baseUrl: "https://openrouter.ai/api/v1",
2802
2805
  compat: { "thinkingFormat": "openrouter" },
2803
2806
  reasoning: true,
2804
- thinkingLevelMap: { "xhigh": "xhigh" },
2807
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2805
2808
  input: ["text", "image"],
2806
2809
  cost: {
2807
2810
  input: 1,
@@ -2820,7 +2823,7 @@ export const OPENROUTER_MODELS = {
2820
2823
  baseUrl: "https://openrouter.ai/api/v1",
2821
2824
  compat: { "thinkingFormat": "openrouter" },
2822
2825
  reasoning: true,
2823
- thinkingLevelMap: { "xhigh": "xhigh" },
2826
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2824
2827
  input: ["text", "image"],
2825
2828
  cost: {
2826
2829
  input: 1,
@@ -2839,7 +2842,7 @@ export const OPENROUTER_MODELS = {
2839
2842
  baseUrl: "https://openrouter.ai/api/v1",
2840
2843
  compat: { "thinkingFormat": "openrouter" },
2841
2844
  reasoning: true,
2842
- thinkingLevelMap: { "xhigh": "xhigh" },
2845
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2843
2846
  input: ["text", "image"],
2844
2847
  cost: {
2845
2848
  input: 5,
@@ -2858,7 +2861,7 @@ export const OPENROUTER_MODELS = {
2858
2861
  baseUrl: "https://openrouter.ai/api/v1",
2859
2862
  compat: { "thinkingFormat": "openrouter" },
2860
2863
  reasoning: true,
2861
- thinkingLevelMap: { "xhigh": "xhigh" },
2864
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2862
2865
  input: ["text", "image"],
2863
2866
  cost: {
2864
2867
  input: 5,
@@ -2877,7 +2880,7 @@ export const OPENROUTER_MODELS = {
2877
2880
  baseUrl: "https://openrouter.ai/api/v1",
2878
2881
  compat: { "thinkingFormat": "openrouter" },
2879
2882
  reasoning: true,
2880
- thinkingLevelMap: { "xhigh": "xhigh" },
2883
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2881
2884
  input: ["text", "image"],
2882
2885
  cost: {
2883
2886
  input: 2.5,
@@ -2896,7 +2899,7 @@ export const OPENROUTER_MODELS = {
2896
2899
  baseUrl: "https://openrouter.ai/api/v1",
2897
2900
  compat: { "thinkingFormat": "openrouter" },
2898
2901
  reasoning: true,
2899
- thinkingLevelMap: { "xhigh": "xhigh" },
2902
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2900
2903
  input: ["text", "image"],
2901
2904
  cost: {
2902
2905
  input: 2.5,
@@ -2971,26 +2974,8 @@ export const OPENROUTER_MODELS = {
2971
2974
  reasoning: true,
2972
2975
  input: ["text"],
2973
2976
  cost: {
2974
- input: 0.036,
2975
- output: 0.18,
2976
- cacheRead: 0,
2977
- cacheWrite: 0,
2978
- },
2979
- contextWindow: 131072,
2980
- maxTokens: 4096,
2981
- },
2982
- "openai/gpt-oss-120b:free": {
2983
- id: "openai/gpt-oss-120b:free",
2984
- name: "OpenAI: gpt-oss-120b (free)",
2985
- api: "openai-completions",
2986
- provider: "openrouter",
2987
- baseUrl: "https://openrouter.ai/api/v1",
2988
- compat: { "thinkingFormat": "openrouter" },
2989
- reasoning: true,
2990
- input: ["text"],
2991
- cost: {
2992
- input: 0,
2993
- output: 0,
2977
+ input: 0.03,
2978
+ output: 0.15,
2994
2979
  cacheRead: 0,
2995
2980
  cacheWrite: 0,
2996
2981
  },
@@ -3354,7 +3339,7 @@ export const OPENROUTER_MODELS = {
3354
3339
  cacheRead: 0,
3355
3340
  cacheWrite: 0,
3356
3341
  },
3357
- contextWindow: 131072,
3342
+ contextWindow: 32768,
3358
3343
  maxTokens: 16384,
3359
3344
  },
3360
3345
  "qwen/qwen-2.5-7b-instruct": {
@@ -3372,7 +3357,7 @@ export const OPENROUTER_MODELS = {
3372
3357
  cacheRead: 0,
3373
3358
  cacheWrite: 0,
3374
3359
  },
3375
- contextWindow: 131072,
3360
+ contextWindow: 32768,
3376
3361
  maxTokens: 32768,
3377
3362
  },
3378
3363
  "qwen/qwen-plus": {
@@ -3444,7 +3429,7 @@ export const OPENROUTER_MODELS = {
3444
3429
  cacheRead: 0,
3445
3430
  cacheWrite: 0,
3446
3431
  },
3447
- contextWindow: 131702,
3432
+ contextWindow: 40960,
3448
3433
  maxTokens: 40960,
3449
3434
  },
3450
3435
  "qwen/qwen3-235b-a22b": {
@@ -3476,7 +3461,7 @@ export const OPENROUTER_MODELS = {
3476
3461
  input: ["text"],
3477
3462
  cost: {
3478
3463
  input: 0.09,
3479
- output: 0.1,
3464
+ output: 0.55,
3480
3465
  cacheRead: 0,
3481
3466
  cacheWrite: 0,
3482
3467
  },
@@ -3498,7 +3483,7 @@ export const OPENROUTER_MODELS = {
3498
3483
  cacheRead: 0,
3499
3484
  cacheWrite: 0,
3500
3485
  },
3501
- contextWindow: 262144,
3486
+ contextWindow: 131072,
3502
3487
  maxTokens: 4096,
3503
3488
  },
3504
3489
  "qwen/qwen3-30b-a3b": {
@@ -3516,7 +3501,7 @@ export const OPENROUTER_MODELS = {
3516
3501
  cacheRead: 0,
3517
3502
  cacheWrite: 0,
3518
3503
  },
3519
- contextWindow: 131072,
3504
+ contextWindow: 40960,
3520
3505
  maxTokens: 16384,
3521
3506
  },
3522
3507
  "qwen/qwen3-30b-a3b-instruct-2507": {
@@ -3534,7 +3519,7 @@ export const OPENROUTER_MODELS = {
3534
3519
  cacheRead: 0,
3535
3520
  cacheWrite: 0,
3536
3521
  },
3537
- contextWindow: 131072,
3522
+ contextWindow: 128000,
3538
3523
  maxTokens: 32000,
3539
3524
  },
3540
3525
  "qwen/qwen3-30b-a3b-thinking-2507": {
@@ -3552,7 +3537,7 @@ export const OPENROUTER_MODELS = {
3552
3537
  cacheRead: 0,
3553
3538
  cacheWrite: 0,
3554
3539
  },
3555
- contextWindow: 131072,
3540
+ contextWindow: 81920,
3556
3541
  maxTokens: 32768,
3557
3542
  },
3558
3543
  "qwen/qwen3-32b": {
@@ -3570,7 +3555,7 @@ export const OPENROUTER_MODELS = {
3570
3555
  cacheRead: 0,
3571
3556
  cacheWrite: 0,
3572
3557
  },
3573
- contextWindow: 131072,
3558
+ contextWindow: 40960,
3574
3559
  maxTokens: 16384,
3575
3560
  },
3576
3561
  "qwen/qwen3-8b": {
@@ -3606,7 +3591,7 @@ export const OPENROUTER_MODELS = {
3606
3591
  cacheRead: 0,
3607
3592
  cacheWrite: 0,
3608
3593
  },
3609
- contextWindow: 1048576,
3594
+ contextWindow: 262144,
3610
3595
  maxTokens: 65536,
3611
3596
  },
3612
3597
  "qwen/qwen3-coder-30b-a3b-instruct": {
@@ -3696,7 +3681,7 @@ export const OPENROUTER_MODELS = {
3696
3681
  cacheRead: 0,
3697
3682
  cacheWrite: 0,
3698
3683
  },
3699
- contextWindow: 1048576,
3684
+ contextWindow: 262000,
3700
3685
  maxTokens: 262000,
3701
3686
  },
3702
3687
  "qwen/qwen3-max": {
@@ -3786,7 +3771,7 @@ export const OPENROUTER_MODELS = {
3786
3771
  cacheRead: 0,
3787
3772
  cacheWrite: 0,
3788
3773
  },
3789
- contextWindow: 262144,
3774
+ contextWindow: 131072,
3790
3775
  maxTokens: 32768,
3791
3776
  },
3792
3777
  "qwen/qwen3-vl-235b-a22b-instruct": {
@@ -3840,7 +3825,7 @@ export const OPENROUTER_MODELS = {
3840
3825
  cacheRead: 0,
3841
3826
  cacheWrite: 0,
3842
3827
  },
3843
- contextWindow: 262144,
3828
+ contextWindow: 131072,
3844
3829
  maxTokens: 32768,
3845
3830
  },
3846
3831
  "qwen/qwen3-vl-30b-a3b-thinking": {
@@ -3876,7 +3861,7 @@ export const OPENROUTER_MODELS = {
3876
3861
  cacheRead: 0,
3877
3862
  cacheWrite: 0,
3878
3863
  },
3879
- contextWindow: 262144,
3864
+ contextWindow: 131072,
3880
3865
  maxTokens: 32768,
3881
3866
  },
3882
3867
  "qwen/qwen3-vl-8b-instruct": {
@@ -3894,7 +3879,7 @@ export const OPENROUTER_MODELS = {
3894
3879
  cacheRead: 0,
3895
3880
  cacheWrite: 0,
3896
3881
  },
3897
- contextWindow: 256000,
3882
+ contextWindow: 131072,
3898
3883
  maxTokens: 32768,
3899
3884
  },
3900
3885
  "qwen/qwen3-vl-8b-thinking": {
@@ -3912,7 +3897,7 @@ export const OPENROUTER_MODELS = {
3912
3897
  cacheRead: 0,
3913
3898
  cacheWrite: 0,
3914
3899
  },
3915
- contextWindow: 256000,
3900
+ contextWindow: 131072,
3916
3901
  maxTokens: 32768,
3917
3902
  },
3918
3903
  "qwen/qwen3.5-122b-a10b": {
@@ -3984,7 +3969,7 @@ export const OPENROUTER_MODELS = {
3984
3969
  cacheRead: 0.111,
3985
3970
  cacheWrite: 0,
3986
3971
  },
3987
- contextWindow: 256000,
3972
+ contextWindow: 131072,
3988
3973
  maxTokens: 4096,
3989
3974
  },
3990
3975
  "qwen/qwen3.5-9b": {
@@ -4069,13 +4054,13 @@ export const OPENROUTER_MODELS = {
4069
4054
  reasoning: true,
4070
4055
  input: ["text", "image"],
4071
4056
  cost: {
4072
- input: 0.285,
4057
+ input: 0.289,
4073
4058
  output: 2.4,
4074
- cacheRead: 0.15,
4059
+ cacheRead: 0,
4075
4060
  cacheWrite: 0,
4076
4061
  },
4077
- contextWindow: 262144,
4078
- maxTokens: 262140,
4062
+ contextWindow: 131072,
4063
+ maxTokens: 131072,
4079
4064
  },
4080
4065
  "qwen/qwen3.6-35b-a3b": {
4081
4066
  id: "qwen/qwen3.6-35b-a3b",
@@ -4470,7 +4455,7 @@ export const OPENROUTER_MODELS = {
4470
4455
  cacheRead: 0.028,
4471
4456
  cacheWrite: 0,
4472
4457
  },
4473
- contextWindow: 1048576,
4458
+ contextWindow: 262144,
4474
4459
  maxTokens: 4096,
4475
4460
  },
4476
4461
  "xiaomi/mimo-v2.5-pro": {
@@ -4556,12 +4541,12 @@ export const OPENROUTER_MODELS = {
4556
4541
  input: ["text"],
4557
4542
  cost: {
4558
4543
  input: 0.43,
4559
- output: 1.74,
4544
+ output: 1.75,
4560
4545
  cacheRead: 0.08,
4561
4546
  cacheWrite: 0,
4562
4547
  },
4563
- contextWindow: 202752,
4564
- maxTokens: 131072,
4548
+ contextWindow: 198000,
4549
+ maxTokens: 16384,
4565
4550
  },
4566
4551
  "z-ai/glm-4.6v": {
4567
4552
  id: "z-ai/glm-4.6v",
@@ -4632,8 +4617,8 @@ export const OPENROUTER_MODELS = {
4632
4617
  cacheRead: 0.119,
4633
4618
  cacheWrite: 0,
4634
4619
  },
4635
- contextWindow: 202752,
4636
- maxTokens: 4096,
4620
+ contextWindow: 198000,
4621
+ maxTokens: 128000,
4637
4622
  },
4638
4623
  "z-ai/glm-5-turbo": {
4639
4624
  id: "z-ai/glm-5-turbo",
@@ -4668,7 +4653,7 @@ export const OPENROUTER_MODELS = {
4668
4653
  cacheRead: 0.1794,
4669
4654
  cacheWrite: 0,
4670
4655
  },
4671
- contextWindow: 202752,
4656
+ contextWindow: 200000,
4672
4657
  maxTokens: 128000,
4673
4658
  },
4674
4659
  "z-ai/glm-5.2": {
@@ -4682,13 +4667,13 @@ export const OPENROUTER_MODELS = {
4682
4667
  thinkingLevelMap: { "xhigh": "xhigh" },
4683
4668
  input: ["text"],
4684
4669
  cost: {
4685
- input: 0.54,
4686
- output: 1.76,
4687
- cacheRead: 0.1,
4670
+ input: 0.924,
4671
+ output: 2.904,
4672
+ cacheRead: 0.1716,
4688
4673
  cacheWrite: 0,
4689
4674
  },
4690
- contextWindow: 1048576,
4691
- maxTokens: 101376,
4675
+ contextWindow: 1024000,
4676
+ maxTokens: 128000,
4692
4677
  },
4693
4678
  "z-ai/glm-5v-turbo": {
4694
4679
  id: "z-ai/glm-5v-turbo",
@@ -4826,9 +4811,9 @@ export const OPENROUTER_MODELS = {
4826
4811
  reasoning: true,
4827
4812
  input: ["text", "image"],
4828
4813
  cost: {
4829
- input: 0.65,
4814
+ input: 0.66,
4830
4815
  output: 3.41,
4831
- cacheRead: 0.14,
4816
+ cacheRead: 0.15,
4832
4817
  cacheWrite: 0,
4833
4818
  },
4834
4819
  contextWindow: 262144,