@blockrun/clawrouter 0.12.249 → 0.12.251
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.
- package/README.md +34 -21
- package/dist/cli.js +946 -451
- package/dist/index.js +946 -451
- package/dist/router/index.js +910 -422
- package/docs/architecture.md +64 -50
- package/docs/configuration.md +63 -42
- package/docs/routing-profiles.md +90 -41
- package/package.json +2 -2
- package/skills/clawrouter/SKILL.md +11 -5
package/dist/index.js
CHANGED
|
@@ -409,12 +409,16 @@ var init_models = __esm({
|
|
|
409
409
|
"xai/grok-3-fast": "xai/grok-4-fast-reasoning",
|
|
410
410
|
// delisted (too expensive)
|
|
411
411
|
// NVIDIA — backward compat aliases (nvidia/xxx → free/xxx)
|
|
412
|
-
// Default free model is
|
|
413
|
-
//
|
|
414
|
-
//
|
|
415
|
-
//
|
|
416
|
-
|
|
412
|
+
// Default free model is step-3.7-flash — the same model @blockrun/router-core
|
|
413
|
+
// opens the eco SIMPLE tier on. It replaced gpt-oss-120b on 2026-08-29:
|
|
414
|
+
// gpt-oss-120b went dead upstream on 2026-08-16 (NVIDIA still LISTS it, but a
|
|
415
|
+
// completion hangs until the client gives up — blockrun #391 retargeted its
|
|
416
|
+
// whole free cascade off it, and the gateway now answers 400 Unknown model
|
|
417
|
+
// for the `free/` id). Pins that NAME gpt-oss stay routable below — the
|
|
418
|
+
// gateway server-redirects them — but nothing generic may land on it.
|
|
419
|
+
nvidia: "free/step-3.7-flash",
|
|
417
420
|
"gpt-120b": "free/gpt-oss-120b",
|
|
421
|
+
// names the model itself — gateway redirects
|
|
418
422
|
"gpt-20b": "free/gpt-oss-20b",
|
|
419
423
|
"nvidia/gpt-oss-120b": "free/gpt-oss-120b",
|
|
420
424
|
"nvidia/gpt-oss-20b": "free/gpt-oss-20b",
|
|
@@ -489,9 +493,10 @@ var init_models = __esm({
|
|
|
489
493
|
// no live free Llama left (maverick died 2026-07)
|
|
490
494
|
// qwen3-coder-480b retired 2026-06-14 → seed-oss-36b, which then EOL'd 2026-08-03.
|
|
491
495
|
// Follow the gateway's own retarget rather than chaining to a second dead model.
|
|
492
|
-
"qwen-coder": "free/
|
|
493
|
-
|
|
494
|
-
"qwen-
|
|
496
|
+
"qwen-coder": "free/step-3.7-flash",
|
|
497
|
+
// no live free Qwen; follows the free default
|
|
498
|
+
"qwen-coder-free": "free/step-3.7-flash",
|
|
499
|
+
"qwen-thinking": "free/step-3.7-flash",
|
|
495
500
|
// qwen3-next died 2026-07-17; no live free Qwen left
|
|
496
501
|
"qwen3-next": "free/qwen3-next-80b-a3b-instruct",
|
|
497
502
|
// explicit-ish pin — gateway redirects
|
|
@@ -502,8 +507,8 @@ var init_models = __esm({
|
|
|
502
507
|
// seed-oss pins name the model itself — kept routable, the gateway redirects them.
|
|
503
508
|
"seed-oss": "free/seed-oss-36b",
|
|
504
509
|
"seed-oss-36b": "free/seed-oss-36b",
|
|
505
|
-
"coder-free": "free/
|
|
506
|
-
// generic "a free coder" → follows the
|
|
510
|
+
"coder-free": "free/step-3.7-flash",
|
|
511
|
+
// generic "a free coder" → follows the free default
|
|
507
512
|
"mistral-nemotron": "free/mistral-nemotron",
|
|
508
513
|
"step-flash": "free/step-3.7-flash",
|
|
509
514
|
"step-3.7-flash": "free/step-3.7-flash",
|
|
@@ -515,21 +520,25 @@ var init_models = __esm({
|
|
|
515
520
|
"nemotron-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
516
521
|
"nano-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
517
522
|
"vision-free": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
518
|
-
// Retired shorthand aliases redirect to live successors
|
|
519
|
-
// llama-4-maverick
|
|
523
|
+
// Retired shorthand aliases redirect to live successors. The catch-all target
|
|
524
|
+
// moved llama-4-maverick → gpt-oss-120b (2026-07-17) → step-3.7-flash
|
|
525
|
+
// (2026-08-29, gpt-oss-120b hung upstream; see the NVIDIA block above).
|
|
520
526
|
nemotron: "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
521
527
|
// strongest live Nemotron
|
|
522
|
-
"nemotron-ultra": "free/
|
|
523
|
-
"nemotron-253b": "free/
|
|
524
|
-
"nemotron-super": "free/
|
|
525
|
-
"nemotron-49b": "free/
|
|
526
|
-
"nemotron-120b": "free/
|
|
527
|
-
devstral: "free/
|
|
528
|
-
// seed-oss-36b EOL'd 2026-08-03
|
|
529
|
-
"devstral-2": "free/
|
|
528
|
+
"nemotron-ultra": "free/step-3.7-flash",
|
|
529
|
+
"nemotron-253b": "free/step-3.7-flash",
|
|
530
|
+
"nemotron-super": "free/step-3.7-flash",
|
|
531
|
+
"nemotron-49b": "free/step-3.7-flash",
|
|
532
|
+
"nemotron-120b": "free/step-3.7-flash",
|
|
533
|
+
devstral: "free/step-3.7-flash",
|
|
534
|
+
// seed-oss-36b EOL'd 2026-08-03
|
|
535
|
+
"devstral-2": "free/step-3.7-flash",
|
|
530
536
|
maverick: "free/llama-4-maverick",
|
|
531
537
|
// explicit-ish pin — gateway redirects
|
|
532
|
-
free
|
|
538
|
+
// `free` = the free-tier default. Must equal router-core's ecoTiers.SIMPLE
|
|
539
|
+
// primary and the head of proxy.ts FREE_MODELS so `/model free`, the eco
|
|
540
|
+
// profile and the budget-cap free fallback all agree on one live model.
|
|
541
|
+
free: "free/step-3.7-flash",
|
|
533
542
|
// MiniMax (minimax → current flagship: M3)
|
|
534
543
|
minimax: "minimax/minimax-m3",
|
|
535
544
|
"minimax-m3": "minimax/minimax-m3",
|
|
@@ -599,7 +608,7 @@ var init_models = __esm({
|
|
|
599
608
|
},
|
|
600
609
|
{
|
|
601
610
|
id: "free",
|
|
602
|
-
name: "Free \u2192
|
|
611
|
+
name: "Free \u2192 Step 3.7 Flash",
|
|
603
612
|
inputPrice: 0,
|
|
604
613
|
outputPrice: 0,
|
|
605
614
|
contextWindow: 131072,
|
|
@@ -35878,7 +35887,7 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
35878
35887
|
match(["gpt-5.3-codex"], 1),
|
|
35879
35888
|
match(["claude-sonnet-4.6"], 0.94),
|
|
35880
35889
|
match(["glm-5.2"], 0.9),
|
|
35881
|
-
match(["
|
|
35890
|
+
match(["deepseek-v4-pro"], 0.86)
|
|
35882
35891
|
);
|
|
35883
35892
|
case "reasoning":
|
|
35884
35893
|
return Math.max(
|
|
@@ -35902,14 +35911,13 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
35902
35911
|
base3,
|
|
35903
35912
|
match(["gemini-3.5-flash"], 1),
|
|
35904
35913
|
match(["grok-4.5"], 0.93),
|
|
35905
|
-
match(["claude-sonnet-5", "deepseek-v4-pro", "kimi-k3"], 0.9)
|
|
35906
|
-
match(["kimi-k2.7"], 0.84)
|
|
35914
|
+
match(["claude-sonnet-5", "deepseek-v4-pro", "kimi-k3"], 0.9)
|
|
35907
35915
|
);
|
|
35908
35916
|
case "vision":
|
|
35909
35917
|
return Math.max(
|
|
35910
35918
|
base3,
|
|
35911
35919
|
match(["gemini-3.1-pro"], 0.96),
|
|
35912
|
-
match(["qwen3.7-max", "claude-sonnet-4.6", "kimi-
|
|
35920
|
+
match(["qwen3.7-max", "claude-sonnet-4.6", "kimi-k3", "grok-4.3"], 0.9)
|
|
35913
35921
|
);
|
|
35914
35922
|
case "long_context":
|
|
35915
35923
|
return Math.max(
|
|
@@ -35921,17 +35929,18 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
35921
35929
|
);
|
|
35922
35930
|
case "extraction": {
|
|
35923
35931
|
const kimiExtractionAffinity = language === "zh" ? 1 : 0.9;
|
|
35932
|
+
const otherExtractionAffinity = language === "zh" ? 0.88 : 0.9;
|
|
35924
35933
|
return Math.max(
|
|
35925
35934
|
base3,
|
|
35926
|
-
match(["gemini-3.5-flash", "gemini-2.5-flash", "gpt-4o-mini"],
|
|
35927
|
-
match(["claude-sonnet-5", "claude-sonnet-4.6"],
|
|
35928
|
-
match(["kimi-k3"
|
|
35935
|
+
match(["gemini-3.5-flash", "gemini-2.5-flash", "gpt-4o-mini"], otherExtractionAffinity),
|
|
35936
|
+
match(["claude-sonnet-5", "claude-sonnet-4.6"], otherExtractionAffinity),
|
|
35937
|
+
match(["kimi-k3"], kimiExtractionAffinity)
|
|
35929
35938
|
);
|
|
35930
35939
|
}
|
|
35931
35940
|
default:
|
|
35932
35941
|
return Math.max(
|
|
35933
35942
|
base3,
|
|
35934
|
-
match(["gemini-3.5-flash", "gemini-2.5-flash", "kimi-k3"
|
|
35943
|
+
match(["gemini-3.5-flash", "gemini-2.5-flash", "kimi-k3"], 0.86)
|
|
35935
35944
|
);
|
|
35936
35945
|
}
|
|
35937
35946
|
}
|
|
@@ -35990,6 +35999,9 @@ function evidenceCandidates(task) {
|
|
|
35990
35999
|
"deepseek/deepseek-v4-pro"
|
|
35991
36000
|
];
|
|
35992
36001
|
}
|
|
36002
|
+
if (task === "extraction") {
|
|
36003
|
+
return ["moonshot/kimi-k3", "google/gemini-3.5-flash", "anthropic/claude-sonnet-5"];
|
|
36004
|
+
}
|
|
35993
36005
|
if (task === "reasoning_math") {
|
|
35994
36006
|
return [
|
|
35995
36007
|
"google/gemini-3.5-flash",
|
|
@@ -36161,14 +36173,15 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36161
36173
|
supportsVision: true
|
|
36162
36174
|
},
|
|
36163
36175
|
"anthropic/claude-haiku-4.5": {
|
|
36176
|
+
// override: The public catalog's `categories` omit "vision" for this Anthropic model even though the gateway accepts image input for it (the prior hand-maintained snapshot had it, and Anthropic's model card lists it). Without this the vision filter would silently drop it — reported against the catalog; remove once the categories carry vision.
|
|
36164
36177
|
contextWindow: 2e5,
|
|
36165
|
-
maxOutputTokens:
|
|
36178
|
+
maxOutputTokens: 64e3,
|
|
36166
36179
|
supportsTools: true,
|
|
36167
36180
|
supportsVision: true
|
|
36168
36181
|
},
|
|
36169
|
-
"anthropic/claude-opus-4.
|
|
36170
|
-
contextWindow:
|
|
36171
|
-
maxOutputTokens:
|
|
36182
|
+
"anthropic/claude-opus-4.5": {
|
|
36183
|
+
contextWindow: 2e5,
|
|
36184
|
+
maxOutputTokens: 64e3,
|
|
36172
36185
|
supportsTools: true,
|
|
36173
36186
|
supportsVision: true
|
|
36174
36187
|
},
|
|
@@ -36190,12 +36203,19 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36190
36203
|
supportsTools: true,
|
|
36191
36204
|
supportsVision: true
|
|
36192
36205
|
},
|
|
36193
|
-
"anthropic/claude-sonnet-4.
|
|
36206
|
+
"anthropic/claude-sonnet-4.5": {
|
|
36194
36207
|
contextWindow: 2e5,
|
|
36195
36208
|
maxOutputTokens: 64e3,
|
|
36196
36209
|
supportsTools: true,
|
|
36197
36210
|
supportsVision: true
|
|
36198
36211
|
},
|
|
36212
|
+
"anthropic/claude-sonnet-4.6": {
|
|
36213
|
+
// override: The public catalog's `categories` omit "vision" for this Anthropic model even though the gateway accepts image input for it (the prior hand-maintained snapshot had it, and Anthropic's model card lists it). Without this the vision filter would silently drop it — reported against the catalog; remove once the categories carry vision.
|
|
36214
|
+
contextWindow: 1e6,
|
|
36215
|
+
maxOutputTokens: 128e3,
|
|
36216
|
+
supportsTools: true,
|
|
36217
|
+
supportsVision: true
|
|
36218
|
+
},
|
|
36199
36219
|
"anthropic/claude-sonnet-5": {
|
|
36200
36220
|
contextWindow: 1e6,
|
|
36201
36221
|
maxOutputTokens: 128e3,
|
|
@@ -36203,14 +36223,14 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36203
36223
|
supportsVision: true
|
|
36204
36224
|
},
|
|
36205
36225
|
"deepseek/deepseek-chat": {
|
|
36206
|
-
contextWindow:
|
|
36207
|
-
maxOutputTokens:
|
|
36226
|
+
contextWindow: 1048576,
|
|
36227
|
+
maxOutputTokens: 65536,
|
|
36208
36228
|
supportsTools: true,
|
|
36209
36229
|
supportsVision: false
|
|
36210
36230
|
},
|
|
36211
36231
|
"deepseek/deepseek-reasoner": {
|
|
36212
|
-
contextWindow:
|
|
36213
|
-
maxOutputTokens:
|
|
36232
|
+
contextWindow: 1048576,
|
|
36233
|
+
maxOutputTokens: 65536,
|
|
36214
36234
|
supportsTools: true,
|
|
36215
36235
|
supportsVision: false
|
|
36216
36236
|
},
|
|
@@ -36220,50 +36240,38 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36220
36240
|
supportsTools: true,
|
|
36221
36241
|
supportsVision: false
|
|
36222
36242
|
},
|
|
36223
|
-
"free/deepseek-v4-flash": {
|
|
36224
|
-
contextWindow: 1e6,
|
|
36225
|
-
maxOutputTokens: 16384,
|
|
36226
|
-
supportsTools: false,
|
|
36227
|
-
supportsVision: false
|
|
36228
|
-
},
|
|
36229
|
-
"free/seed-oss-36b": {
|
|
36230
|
-
contextWindow: 131072,
|
|
36231
|
-
maxOutputTokens: 16384,
|
|
36232
|
-
supportsTools: false,
|
|
36233
|
-
supportsVision: false
|
|
36234
|
-
},
|
|
36235
36243
|
"google/gemini-2.5-flash": {
|
|
36236
|
-
contextWindow:
|
|
36244
|
+
contextWindow: 1048576,
|
|
36237
36245
|
maxOutputTokens: 65536,
|
|
36238
36246
|
supportsTools: true,
|
|
36239
36247
|
supportsVision: true
|
|
36240
36248
|
},
|
|
36241
36249
|
"google/gemini-2.5-flash-lite": {
|
|
36242
|
-
contextWindow:
|
|
36250
|
+
contextWindow: 1048576,
|
|
36243
36251
|
maxOutputTokens: 65536,
|
|
36244
36252
|
supportsTools: true,
|
|
36245
36253
|
supportsVision: false
|
|
36246
36254
|
},
|
|
36247
36255
|
"google/gemini-2.5-pro": {
|
|
36248
|
-
contextWindow:
|
|
36256
|
+
contextWindow: 1048576,
|
|
36249
36257
|
maxOutputTokens: 65536,
|
|
36250
36258
|
supportsTools: true,
|
|
36251
36259
|
supportsVision: true
|
|
36252
36260
|
},
|
|
36253
36261
|
"google/gemini-3-flash-preview": {
|
|
36254
|
-
contextWindow:
|
|
36262
|
+
contextWindow: 1048576,
|
|
36255
36263
|
maxOutputTokens: 65536,
|
|
36256
|
-
supportsTools:
|
|
36264
|
+
supportsTools: true,
|
|
36257
36265
|
supportsVision: true
|
|
36258
36266
|
},
|
|
36259
36267
|
"google/gemini-3.1-flash-lite": {
|
|
36260
|
-
contextWindow:
|
|
36261
|
-
maxOutputTokens:
|
|
36268
|
+
contextWindow: 1048576,
|
|
36269
|
+
maxOutputTokens: 65536,
|
|
36262
36270
|
supportsTools: true,
|
|
36263
36271
|
supportsVision: false
|
|
36264
36272
|
},
|
|
36265
36273
|
"google/gemini-3.1-pro": {
|
|
36266
|
-
contextWindow:
|
|
36274
|
+
contextWindow: 1048576,
|
|
36267
36275
|
maxOutputTokens: 65536,
|
|
36268
36276
|
supportsTools: true,
|
|
36269
36277
|
supportsVision: true
|
|
@@ -36274,23 +36282,29 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36274
36282
|
supportsTools: true,
|
|
36275
36283
|
supportsVision: true
|
|
36276
36284
|
},
|
|
36277
|
-
"
|
|
36278
|
-
contextWindow:
|
|
36279
|
-
maxOutputTokens:
|
|
36285
|
+
"google/gemini-3.5-flash-lite": {
|
|
36286
|
+
contextWindow: 1048576,
|
|
36287
|
+
maxOutputTokens: 65536,
|
|
36280
36288
|
supportsTools: true,
|
|
36281
|
-
supportsVision:
|
|
36289
|
+
supportsVision: false
|
|
36282
36290
|
},
|
|
36283
|
-
"
|
|
36284
|
-
contextWindow:
|
|
36291
|
+
"google/gemini-3.6-flash": {
|
|
36292
|
+
contextWindow: 1048576,
|
|
36285
36293
|
maxOutputTokens: 65536,
|
|
36286
36294
|
supportsTools: true,
|
|
36287
36295
|
supportsVision: true
|
|
36288
36296
|
},
|
|
36289
|
-
"
|
|
36290
|
-
contextWindow:
|
|
36297
|
+
"minimax/minimax-m2.7": {
|
|
36298
|
+
contextWindow: 204800,
|
|
36299
|
+
maxOutputTokens: 16384,
|
|
36300
|
+
supportsTools: true,
|
|
36301
|
+
supportsVision: false
|
|
36302
|
+
},
|
|
36303
|
+
"minimax/minimax-m3": {
|
|
36304
|
+
contextWindow: 1048576,
|
|
36291
36305
|
maxOutputTokens: 65536,
|
|
36292
36306
|
supportsTools: true,
|
|
36293
|
-
supportsVision:
|
|
36307
|
+
supportsVision: false
|
|
36294
36308
|
},
|
|
36295
36309
|
"moonshot/kimi-k3": {
|
|
36296
36310
|
contextWindow: 1048576,
|
|
@@ -36298,6 +36312,26 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36298
36312
|
supportsTools: true,
|
|
36299
36313
|
supportsVision: true
|
|
36300
36314
|
},
|
|
36315
|
+
"nvidia/mistral-nemotron": {
|
|
36316
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
36317
|
+
contextWindow: 131072,
|
|
36318
|
+
maxOutputTokens: 16384,
|
|
36319
|
+
supportsTools: false,
|
|
36320
|
+
supportsVision: false
|
|
36321
|
+
},
|
|
36322
|
+
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
|
|
36323
|
+
contextWindow: 256e3,
|
|
36324
|
+
maxOutputTokens: 16384,
|
|
36325
|
+
supportsTools: false,
|
|
36326
|
+
supportsVision: true
|
|
36327
|
+
},
|
|
36328
|
+
"nvidia/nemotron-nano-12b-v2-vl": {
|
|
36329
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
36330
|
+
contextWindow: 131072,
|
|
36331
|
+
maxOutputTokens: 16384,
|
|
36332
|
+
supportsTools: false,
|
|
36333
|
+
supportsVision: true
|
|
36334
|
+
},
|
|
36301
36335
|
"nvidia/nemotron-nano-9b-v2": {
|
|
36302
36336
|
contextWindow: 131072,
|
|
36303
36337
|
maxOutputTokens: 16384,
|
|
@@ -36310,7 +36344,31 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36310
36344
|
supportsTools: false,
|
|
36311
36345
|
supportsVision: false
|
|
36312
36346
|
},
|
|
36347
|
+
"openai/chat-latest": {
|
|
36348
|
+
contextWindow: 128e3,
|
|
36349
|
+
maxOutputTokens: 128e3,
|
|
36350
|
+
supportsTools: true,
|
|
36351
|
+
supportsVision: true
|
|
36352
|
+
},
|
|
36313
36353
|
"openai/gpt-4.1": {
|
|
36354
|
+
contextWindow: 128e3,
|
|
36355
|
+
maxOutputTokens: 32768,
|
|
36356
|
+
supportsTools: true,
|
|
36357
|
+
supportsVision: true
|
|
36358
|
+
},
|
|
36359
|
+
"openai/gpt-4.1-mini": {
|
|
36360
|
+
contextWindow: 128e3,
|
|
36361
|
+
maxOutputTokens: 32768,
|
|
36362
|
+
supportsTools: true,
|
|
36363
|
+
supportsVision: false
|
|
36364
|
+
},
|
|
36365
|
+
"openai/gpt-4.1-nano": {
|
|
36366
|
+
contextWindow: 128e3,
|
|
36367
|
+
maxOutputTokens: 32768,
|
|
36368
|
+
supportsTools: true,
|
|
36369
|
+
supportsVision: false
|
|
36370
|
+
},
|
|
36371
|
+
"openai/gpt-4o": {
|
|
36314
36372
|
contextWindow: 128e3,
|
|
36315
36373
|
maxOutputTokens: 16384,
|
|
36316
36374
|
supportsTools: true,
|
|
@@ -36324,17 +36382,44 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36324
36382
|
},
|
|
36325
36383
|
"openai/gpt-5-mini": {
|
|
36326
36384
|
contextWindow: 2e5,
|
|
36327
|
-
maxOutputTokens:
|
|
36385
|
+
maxOutputTokens: 128e3,
|
|
36328
36386
|
supportsTools: true,
|
|
36329
36387
|
supportsVision: false
|
|
36330
36388
|
},
|
|
36389
|
+
"openai/gpt-5.2": {
|
|
36390
|
+
contextWindow: 4e5,
|
|
36391
|
+
maxOutputTokens: 128e3,
|
|
36392
|
+
supportsTools: true,
|
|
36393
|
+
supportsVision: true
|
|
36394
|
+
},
|
|
36395
|
+
"openai/gpt-5.2-pro": {
|
|
36396
|
+
// supportsTools: not probed — fails closed
|
|
36397
|
+
contextWindow: 4e5,
|
|
36398
|
+
maxOutputTokens: 128e3,
|
|
36399
|
+
supportsTools: false,
|
|
36400
|
+
supportsVision: true
|
|
36401
|
+
},
|
|
36402
|
+
"openai/gpt-5.3": {
|
|
36403
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
36404
|
+
contextWindow: 128e3,
|
|
36405
|
+
maxOutputTokens: 128e3,
|
|
36406
|
+
supportsTools: false,
|
|
36407
|
+
supportsVision: true
|
|
36408
|
+
},
|
|
36331
36409
|
"openai/gpt-5.3-codex": {
|
|
36410
|
+
// supportsTools: gateway unavailable at probe time — fails closed; override: 2026-08-29 probe: every request (6 plain + 3 tool attempts) returned a gateway 500, so the probe measured an incident, not the model. Codex's function calling is established by the 2026-07 Terminal-Bench / tau2 calibration trajectories in portfolio.ts. Hosts observing the 500s should drop it with RouterOptions.unavailableModels rather than this snapshot claiming the model cannot call tools.
|
|
36332
36411
|
contextWindow: 4e5,
|
|
36333
36412
|
maxOutputTokens: 128e3,
|
|
36334
36413
|
supportsTools: true,
|
|
36335
36414
|
supportsVision: false
|
|
36336
36415
|
},
|
|
36337
36416
|
"openai/gpt-5.4": {
|
|
36417
|
+
contextWindow: 105e4,
|
|
36418
|
+
maxOutputTokens: 128e3,
|
|
36419
|
+
supportsTools: true,
|
|
36420
|
+
supportsVision: true
|
|
36421
|
+
},
|
|
36422
|
+
"openai/gpt-5.4-mini": {
|
|
36338
36423
|
contextWindow: 4e5,
|
|
36339
36424
|
maxOutputTokens: 128e3,
|
|
36340
36425
|
supportsTools: true,
|
|
@@ -36342,30 +36427,92 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36342
36427
|
},
|
|
36343
36428
|
"openai/gpt-5.4-nano": {
|
|
36344
36429
|
contextWindow: 105e4,
|
|
36345
|
-
maxOutputTokens:
|
|
36430
|
+
maxOutputTokens: 128e3,
|
|
36346
36431
|
supportsTools: true,
|
|
36347
36432
|
supportsVision: false
|
|
36348
36433
|
},
|
|
36434
|
+
"openai/gpt-5.4-pro": {
|
|
36435
|
+
// supportsTools: not probed — fails closed
|
|
36436
|
+
contextWindow: 105e4,
|
|
36437
|
+
maxOutputTokens: 128e3,
|
|
36438
|
+
supportsTools: false,
|
|
36439
|
+
supportsVision: true
|
|
36440
|
+
},
|
|
36349
36441
|
"openai/gpt-5.5": {
|
|
36350
36442
|
contextWindow: 105e4,
|
|
36351
36443
|
maxOutputTokens: 128e3,
|
|
36352
36444
|
supportsTools: true,
|
|
36353
36445
|
supportsVision: true
|
|
36354
36446
|
},
|
|
36447
|
+
"openai/gpt-5.5-pro": {
|
|
36448
|
+
// supportsTools: not probed — fails closed
|
|
36449
|
+
contextWindow: 105e4,
|
|
36450
|
+
maxOutputTokens: 128e3,
|
|
36451
|
+
supportsTools: false,
|
|
36452
|
+
supportsVision: true
|
|
36453
|
+
},
|
|
36454
|
+
"openai/gpt-5.6-luna": {
|
|
36455
|
+
contextWindow: 105e4,
|
|
36456
|
+
maxOutputTokens: 128e3,
|
|
36457
|
+
supportsTools: true,
|
|
36458
|
+
supportsVision: true
|
|
36459
|
+
},
|
|
36460
|
+
"openai/gpt-5.6-luna-pro": {
|
|
36461
|
+
contextWindow: 105e4,
|
|
36462
|
+
maxOutputTokens: 128e3,
|
|
36463
|
+
supportsTools: false,
|
|
36464
|
+
supportsVision: true
|
|
36465
|
+
},
|
|
36466
|
+
"openai/gpt-5.6-sol": {
|
|
36467
|
+
contextWindow: 105e4,
|
|
36468
|
+
maxOutputTokens: 128e3,
|
|
36469
|
+
supportsTools: true,
|
|
36470
|
+
supportsVision: true
|
|
36471
|
+
},
|
|
36472
|
+
"openai/gpt-5.6-sol-pro": {
|
|
36473
|
+
contextWindow: 105e4,
|
|
36474
|
+
maxOutputTokens: 128e3,
|
|
36475
|
+
supportsTools: true,
|
|
36476
|
+
supportsVision: true
|
|
36477
|
+
},
|
|
36355
36478
|
"openai/gpt-5.6-terra": {
|
|
36356
36479
|
contextWindow: 105e4,
|
|
36357
36480
|
maxOutputTokens: 128e3,
|
|
36358
36481
|
supportsTools: true,
|
|
36359
36482
|
supportsVision: true
|
|
36360
36483
|
},
|
|
36484
|
+
"openai/gpt-5.6-terra-pro": {
|
|
36485
|
+
contextWindow: 105e4,
|
|
36486
|
+
maxOutputTokens: 128e3,
|
|
36487
|
+
supportsTools: true,
|
|
36488
|
+
supportsVision: true
|
|
36489
|
+
},
|
|
36490
|
+
"openai/o1": {
|
|
36491
|
+
contextWindow: 2e5,
|
|
36492
|
+
maxOutputTokens: 1e5,
|
|
36493
|
+
supportsTools: true,
|
|
36494
|
+
supportsVision: false
|
|
36495
|
+
},
|
|
36361
36496
|
"openai/o3": {
|
|
36362
36497
|
contextWindow: 2e5,
|
|
36363
36498
|
maxOutputTokens: 1e5,
|
|
36364
36499
|
supportsTools: true,
|
|
36365
36500
|
supportsVision: false
|
|
36366
36501
|
},
|
|
36502
|
+
"openai/o3-mini": {
|
|
36503
|
+
contextWindow: 128e3,
|
|
36504
|
+
maxOutputTokens: 1e5,
|
|
36505
|
+
supportsTools: true,
|
|
36506
|
+
supportsVision: false
|
|
36507
|
+
},
|
|
36367
36508
|
"openai/o4-mini": {
|
|
36368
36509
|
contextWindow: 128e3,
|
|
36510
|
+
maxOutputTokens: 1e5,
|
|
36511
|
+
supportsTools: true,
|
|
36512
|
+
supportsVision: false
|
|
36513
|
+
},
|
|
36514
|
+
"qwen/qwen3.7-flash": {
|
|
36515
|
+
contextWindow: 1e6,
|
|
36369
36516
|
maxOutputTokens: 65536,
|
|
36370
36517
|
supportsTools: true,
|
|
36371
36518
|
supportsVision: false
|
|
@@ -36376,47 +36523,53 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36376
36523
|
supportsTools: true,
|
|
36377
36524
|
supportsVision: false
|
|
36378
36525
|
},
|
|
36379
|
-
"
|
|
36380
|
-
contextWindow:
|
|
36381
|
-
maxOutputTokens:
|
|
36526
|
+
"qwen/qwen3.7-plus": {
|
|
36527
|
+
contextWindow: 1e6,
|
|
36528
|
+
maxOutputTokens: 131072,
|
|
36382
36529
|
supportsTools: true,
|
|
36383
36530
|
supportsVision: false
|
|
36384
36531
|
},
|
|
36385
|
-
"
|
|
36386
|
-
contextWindow:
|
|
36387
|
-
maxOutputTokens:
|
|
36532
|
+
"tencent/hy3": {
|
|
36533
|
+
contextWindow: 262144,
|
|
36534
|
+
maxOutputTokens: 128e3,
|
|
36388
36535
|
supportsTools: true,
|
|
36389
36536
|
supportsVision: false
|
|
36390
36537
|
},
|
|
36391
|
-
"xai/grok-4
|
|
36392
|
-
contextWindow:
|
|
36538
|
+
"xai/grok-4.3": {
|
|
36539
|
+
contextWindow: 1e6,
|
|
36393
36540
|
maxOutputTokens: 16384,
|
|
36394
36541
|
supportsTools: true,
|
|
36395
|
-
supportsVision:
|
|
36542
|
+
supportsVision: true
|
|
36396
36543
|
},
|
|
36397
|
-
"xai/grok-4
|
|
36398
|
-
contextWindow:
|
|
36544
|
+
"xai/grok-4.5": {
|
|
36545
|
+
contextWindow: 5e5,
|
|
36399
36546
|
maxOutputTokens: 16384,
|
|
36400
36547
|
supportsTools: true,
|
|
36401
|
-
supportsVision:
|
|
36548
|
+
supportsVision: true
|
|
36402
36549
|
},
|
|
36403
|
-
"xai/grok-
|
|
36404
|
-
contextWindow:
|
|
36550
|
+
"xai/grok-build-0.1": {
|
|
36551
|
+
contextWindow: 256e3,
|
|
36405
36552
|
maxOutputTokens: 16384,
|
|
36406
36553
|
supportsTools: true,
|
|
36407
36554
|
supportsVision: false
|
|
36408
36555
|
},
|
|
36409
|
-
"
|
|
36410
|
-
contextWindow:
|
|
36411
|
-
maxOutputTokens:
|
|
36556
|
+
"xiaomi/mimo-v2.5-pro": {
|
|
36557
|
+
contextWindow: 1048576,
|
|
36558
|
+
maxOutputTokens: 131072,
|
|
36412
36559
|
supportsTools: true,
|
|
36413
36560
|
supportsVision: false
|
|
36414
36561
|
},
|
|
36415
|
-
"
|
|
36416
|
-
contextWindow:
|
|
36417
|
-
maxOutputTokens:
|
|
36562
|
+
"zai/glm-5": {
|
|
36563
|
+
contextWindow: 2e5,
|
|
36564
|
+
maxOutputTokens: 128e3,
|
|
36418
36565
|
supportsTools: true,
|
|
36419
|
-
supportsVision:
|
|
36566
|
+
supportsVision: false
|
|
36567
|
+
},
|
|
36568
|
+
"zai/glm-5-turbo": {
|
|
36569
|
+
contextWindow: 2e5,
|
|
36570
|
+
maxOutputTokens: 128e3,
|
|
36571
|
+
supportsTools: true,
|
|
36572
|
+
supportsVision: false
|
|
36420
36573
|
},
|
|
36421
36574
|
"zai/glm-5.1": {
|
|
36422
36575
|
contextWindow: 2e5,
|
|
@@ -36426,249 +36579,549 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36426
36579
|
},
|
|
36427
36580
|
"zai/glm-5.2": {
|
|
36428
36581
|
contextWindow: 1e6,
|
|
36429
|
-
maxOutputTokens:
|
|
36582
|
+
maxOutputTokens: 131072,
|
|
36583
|
+
supportsTools: true,
|
|
36584
|
+
supportsVision: false
|
|
36585
|
+
},
|
|
36586
|
+
"zai/glm-5.3": {
|
|
36587
|
+
contextWindow: 1e6,
|
|
36588
|
+
maxOutputTokens: 131072,
|
|
36430
36589
|
supportsTools: true,
|
|
36431
36590
|
supportsVision: false
|
|
36591
|
+
},
|
|
36592
|
+
"zai/glm-5.3-flash": {
|
|
36593
|
+
contextWindow: 1e6,
|
|
36594
|
+
maxOutputTokens: 131072,
|
|
36595
|
+
supportsTools: true,
|
|
36596
|
+
supportsVision: true
|
|
36432
36597
|
}
|
|
36433
36598
|
});
|
|
36434
36599
|
model_profiles_generated_default = {
|
|
36435
|
-
"
|
|
36436
|
-
measuredAt: "2026-
|
|
36437
|
-
latencyMs:
|
|
36438
|
-
p95LatencyMs:
|
|
36439
|
-
outputTokensPerSecond:
|
|
36600
|
+
"anthropic/claude-fable-5": {
|
|
36601
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36602
|
+
latencyMs: 9298.5,
|
|
36603
|
+
p95LatencyMs: 9873.4,
|
|
36604
|
+
outputTokensPerSecond: 55.17,
|
|
36440
36605
|
errorRate: 0,
|
|
36441
36606
|
samples: 3
|
|
36442
36607
|
},
|
|
36443
|
-
"
|
|
36444
|
-
measuredAt: "2026-
|
|
36445
|
-
latencyMs:
|
|
36446
|
-
p95LatencyMs:
|
|
36447
|
-
outputTokensPerSecond:
|
|
36608
|
+
"anthropic/claude-haiku-4.5": {
|
|
36609
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36610
|
+
latencyMs: 3157.4,
|
|
36611
|
+
p95LatencyMs: 3170.7,
|
|
36612
|
+
outputTokensPerSecond: 162.16,
|
|
36448
36613
|
errorRate: 0,
|
|
36449
36614
|
samples: 3
|
|
36450
36615
|
},
|
|
36451
|
-
"
|
|
36452
|
-
measuredAt: "2026-
|
|
36453
|
-
latencyMs:
|
|
36454
|
-
p95LatencyMs:
|
|
36455
|
-
outputTokensPerSecond:
|
|
36456
|
-
errorRate: 0
|
|
36616
|
+
"anthropic/claude-opus-4.5": {
|
|
36617
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36618
|
+
latencyMs: 6497.7,
|
|
36619
|
+
p95LatencyMs: 6953.7,
|
|
36620
|
+
outputTokensPerSecond: 78.99,
|
|
36621
|
+
errorRate: 0,
|
|
36457
36622
|
samples: 3
|
|
36458
36623
|
},
|
|
36459
|
-
"
|
|
36460
|
-
measuredAt: "2026-
|
|
36461
|
-
latencyMs:
|
|
36462
|
-
p95LatencyMs:
|
|
36463
|
-
outputTokensPerSecond:
|
|
36624
|
+
"anthropic/claude-opus-4.7": {
|
|
36625
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36626
|
+
latencyMs: 5316.5,
|
|
36627
|
+
p95LatencyMs: 6121.5,
|
|
36628
|
+
outputTokensPerSecond: 97.34,
|
|
36464
36629
|
errorRate: 0,
|
|
36465
36630
|
samples: 3
|
|
36466
36631
|
},
|
|
36467
36632
|
"anthropic/claude-opus-4.8": {
|
|
36468
|
-
measuredAt: "2026-
|
|
36469
|
-
latencyMs:
|
|
36470
|
-
p95LatencyMs:
|
|
36471
|
-
outputTokensPerSecond:
|
|
36633
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36634
|
+
latencyMs: 6216.1,
|
|
36635
|
+
p95LatencyMs: 6847.7,
|
|
36636
|
+
outputTokensPerSecond: 82.81,
|
|
36472
36637
|
errorRate: 0,
|
|
36473
36638
|
samples: 3
|
|
36474
36639
|
},
|
|
36475
|
-
"anthropic/claude-opus-
|
|
36476
|
-
measuredAt: "2026-
|
|
36477
|
-
latencyMs:
|
|
36478
|
-
p95LatencyMs:
|
|
36479
|
-
outputTokensPerSecond:
|
|
36640
|
+
"anthropic/claude-opus-5": {
|
|
36641
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36642
|
+
latencyMs: 7309,
|
|
36643
|
+
p95LatencyMs: 7745.2,
|
|
36644
|
+
outputTokensPerSecond: 70.17,
|
|
36645
|
+
errorRate: 0,
|
|
36646
|
+
samples: 3
|
|
36647
|
+
},
|
|
36648
|
+
"anthropic/claude-sonnet-4.5": {
|
|
36649
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36650
|
+
latencyMs: 6330.4,
|
|
36651
|
+
p95LatencyMs: 6631.6,
|
|
36652
|
+
outputTokensPerSecond: 81.03,
|
|
36480
36653
|
errorRate: 0,
|
|
36481
36654
|
samples: 3
|
|
36482
36655
|
},
|
|
36483
36656
|
"anthropic/claude-sonnet-4.6": {
|
|
36484
|
-
measuredAt: "2026-
|
|
36485
|
-
latencyMs:
|
|
36486
|
-
p95LatencyMs:
|
|
36487
|
-
outputTokensPerSecond:
|
|
36657
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36658
|
+
latencyMs: 6508,
|
|
36659
|
+
p95LatencyMs: 6698.3,
|
|
36660
|
+
outputTokensPerSecond: 78.6,
|
|
36488
36661
|
errorRate: 0,
|
|
36489
36662
|
samples: 3
|
|
36490
36663
|
},
|
|
36491
|
-
"anthropic/claude-
|
|
36492
|
-
measuredAt: "2026-
|
|
36493
|
-
latencyMs:
|
|
36494
|
-
p95LatencyMs:
|
|
36495
|
-
outputTokensPerSecond:
|
|
36664
|
+
"anthropic/claude-sonnet-5": {
|
|
36665
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36666
|
+
latencyMs: 6165.4,
|
|
36667
|
+
p95LatencyMs: 6582.9,
|
|
36668
|
+
outputTokensPerSecond: 83.62,
|
|
36496
36669
|
errorRate: 0,
|
|
36497
36670
|
samples: 3
|
|
36498
36671
|
},
|
|
36499
|
-
"
|
|
36500
|
-
measuredAt: "2026-
|
|
36501
|
-
latencyMs:
|
|
36502
|
-
p95LatencyMs:
|
|
36503
|
-
outputTokensPerSecond:
|
|
36672
|
+
"deepseek/deepseek-chat": {
|
|
36673
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36674
|
+
latencyMs: 4351.4,
|
|
36675
|
+
p95LatencyMs: 4543.7,
|
|
36676
|
+
outputTokensPerSecond: 117.78,
|
|
36504
36677
|
errorRate: 0,
|
|
36505
36678
|
samples: 3
|
|
36506
36679
|
},
|
|
36507
|
-
"
|
|
36508
|
-
measuredAt: "2026-
|
|
36509
|
-
latencyMs:
|
|
36510
|
-
p95LatencyMs:
|
|
36511
|
-
outputTokensPerSecond:
|
|
36680
|
+
"deepseek/deepseek-reasoner": {
|
|
36681
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36682
|
+
latencyMs: 5201.2,
|
|
36683
|
+
p95LatencyMs: 6079.6,
|
|
36684
|
+
outputTokensPerSecond: 99.77,
|
|
36512
36685
|
errorRate: 0,
|
|
36513
36686
|
samples: 3
|
|
36514
36687
|
},
|
|
36515
|
-
"
|
|
36516
|
-
measuredAt: "2026-
|
|
36517
|
-
latencyMs:
|
|
36518
|
-
p95LatencyMs:
|
|
36519
|
-
outputTokensPerSecond:
|
|
36688
|
+
"deepseek/deepseek-v4-pro": {
|
|
36689
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36690
|
+
latencyMs: 8781.2,
|
|
36691
|
+
p95LatencyMs: 9881.1,
|
|
36692
|
+
outputTokensPerSecond: 58.98,
|
|
36520
36693
|
errorRate: 0,
|
|
36521
36694
|
samples: 3
|
|
36522
36695
|
},
|
|
36523
36696
|
"google/gemini-2.5-flash": {
|
|
36524
|
-
measuredAt: "2026-
|
|
36525
|
-
latencyMs:
|
|
36526
|
-
p95LatencyMs:
|
|
36527
|
-
outputTokensPerSecond:
|
|
36697
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36698
|
+
latencyMs: 5416.4,
|
|
36699
|
+
p95LatencyMs: 6442.8,
|
|
36700
|
+
outputTokensPerSecond: 213.07,
|
|
36528
36701
|
errorRate: 0,
|
|
36529
36702
|
samples: 3
|
|
36530
36703
|
},
|
|
36531
|
-
"
|
|
36532
|
-
measuredAt: "2026-
|
|
36533
|
-
latencyMs:
|
|
36534
|
-
p95LatencyMs:
|
|
36535
|
-
outputTokensPerSecond:
|
|
36704
|
+
"google/gemini-2.5-flash-lite": {
|
|
36705
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36706
|
+
latencyMs: 5002.6,
|
|
36707
|
+
p95LatencyMs: 5780.3,
|
|
36708
|
+
outputTokensPerSecond: 408.43,
|
|
36536
36709
|
errorRate: 0,
|
|
36537
36710
|
samples: 3
|
|
36538
36711
|
},
|
|
36539
|
-
"
|
|
36540
|
-
measuredAt: "2026-
|
|
36541
|
-
latencyMs:
|
|
36542
|
-
p95LatencyMs:
|
|
36543
|
-
outputTokensPerSecond:
|
|
36712
|
+
"google/gemini-2.5-pro": {
|
|
36713
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36714
|
+
latencyMs: 28169.5,
|
|
36715
|
+
p95LatencyMs: 29491.4,
|
|
36716
|
+
outputTokensPerSecond: 147.3,
|
|
36544
36717
|
errorRate: 0,
|
|
36545
36718
|
samples: 3
|
|
36546
36719
|
},
|
|
36547
|
-
"
|
|
36548
|
-
measuredAt: "2026-
|
|
36549
|
-
latencyMs:
|
|
36550
|
-
p95LatencyMs:
|
|
36551
|
-
outputTokensPerSecond:
|
|
36720
|
+
"google/gemini-3-flash-preview": {
|
|
36721
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36722
|
+
latencyMs: 4717.1,
|
|
36723
|
+
p95LatencyMs: 5037.1,
|
|
36724
|
+
outputTokensPerSecond: 198.71,
|
|
36552
36725
|
errorRate: 0,
|
|
36553
36726
|
samples: 3
|
|
36554
36727
|
},
|
|
36555
|
-
"
|
|
36556
|
-
measuredAt: "2026-
|
|
36557
|
-
latencyMs:
|
|
36558
|
-
p95LatencyMs:
|
|
36559
|
-
outputTokensPerSecond:
|
|
36728
|
+
"google/gemini-3.1-flash-lite": {
|
|
36729
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36730
|
+
latencyMs: 2855.8,
|
|
36731
|
+
p95LatencyMs: 3172.7,
|
|
36732
|
+
outputTokensPerSecond: 286.91,
|
|
36560
36733
|
errorRate: 0,
|
|
36561
36734
|
samples: 3
|
|
36562
36735
|
},
|
|
36563
|
-
"
|
|
36564
|
-
measuredAt: "2026-
|
|
36565
|
-
latencyMs:
|
|
36566
|
-
p95LatencyMs:
|
|
36567
|
-
outputTokensPerSecond:
|
|
36568
|
-
errorRate: 0
|
|
36736
|
+
"google/gemini-3.1-pro": {
|
|
36737
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
36738
|
+
latencyMs: 24194.1,
|
|
36739
|
+
p95LatencyMs: 27269.6,
|
|
36740
|
+
outputTokensPerSecond: 109.47,
|
|
36741
|
+
errorRate: 0,
|
|
36569
36742
|
samples: 3
|
|
36570
36743
|
},
|
|
36571
|
-
"
|
|
36572
|
-
measuredAt: "2026-
|
|
36573
|
-
latencyMs:
|
|
36574
|
-
p95LatencyMs:
|
|
36575
|
-
outputTokensPerSecond:
|
|
36744
|
+
"google/gemini-3.5-flash": {
|
|
36745
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36746
|
+
latencyMs: 5320.6,
|
|
36747
|
+
p95LatencyMs: 5429.8,
|
|
36748
|
+
outputTokensPerSecond: 226.21,
|
|
36576
36749
|
errorRate: 0,
|
|
36577
36750
|
samples: 3
|
|
36578
36751
|
},
|
|
36579
|
-
"
|
|
36580
|
-
measuredAt: "2026-
|
|
36581
|
-
latencyMs:
|
|
36582
|
-
p95LatencyMs:
|
|
36583
|
-
outputTokensPerSecond:
|
|
36752
|
+
"google/gemini-3.5-flash-lite": {
|
|
36753
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36754
|
+
latencyMs: 3515.8,
|
|
36755
|
+
p95LatencyMs: 4363.4,
|
|
36756
|
+
outputTokensPerSecond: 248.9,
|
|
36584
36757
|
errorRate: 0,
|
|
36585
36758
|
samples: 3
|
|
36586
36759
|
},
|
|
36587
|
-
"
|
|
36588
|
-
measuredAt: "2026-
|
|
36589
|
-
latencyMs:
|
|
36590
|
-
p95LatencyMs:
|
|
36591
|
-
outputTokensPerSecond:
|
|
36592
|
-
errorRate: 0
|
|
36760
|
+
"google/gemini-3.6-flash": {
|
|
36761
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36762
|
+
latencyMs: 13020,
|
|
36763
|
+
p95LatencyMs: 15383.1,
|
|
36764
|
+
outputTokensPerSecond: 187.87,
|
|
36765
|
+
errorRate: 0,
|
|
36593
36766
|
samples: 3
|
|
36594
36767
|
},
|
|
36595
|
-
"
|
|
36596
|
-
measuredAt: "2026-
|
|
36597
|
-
latencyMs:
|
|
36598
|
-
p95LatencyMs:
|
|
36599
|
-
outputTokensPerSecond:
|
|
36768
|
+
"minimax/minimax-m2.7": {
|
|
36769
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36770
|
+
latencyMs: 8761.1,
|
|
36771
|
+
p95LatencyMs: 10199.3,
|
|
36772
|
+
outputTokensPerSecond: 59.18,
|
|
36600
36773
|
errorRate: 0,
|
|
36601
36774
|
samples: 3
|
|
36602
36775
|
},
|
|
36603
36776
|
"minimax/minimax-m3": {
|
|
36604
|
-
measuredAt: "2026-
|
|
36605
|
-
latencyMs:
|
|
36606
|
-
p95LatencyMs:
|
|
36607
|
-
outputTokensPerSecond:
|
|
36777
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36778
|
+
latencyMs: 11101.9,
|
|
36779
|
+
p95LatencyMs: 26087.1,
|
|
36780
|
+
outputTokensPerSecond: 101.12,
|
|
36608
36781
|
errorRate: 0,
|
|
36609
36782
|
samples: 3
|
|
36610
36783
|
},
|
|
36611
|
-
"
|
|
36612
|
-
measuredAt: "2026-
|
|
36613
|
-
latencyMs:
|
|
36614
|
-
p95LatencyMs:
|
|
36615
|
-
outputTokensPerSecond:
|
|
36784
|
+
"moonshot/kimi-k3": {
|
|
36785
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36786
|
+
latencyMs: 24498.9,
|
|
36787
|
+
p95LatencyMs: 40365.3,
|
|
36788
|
+
outputTokensPerSecond: 25.11,
|
|
36616
36789
|
errorRate: 0,
|
|
36617
36790
|
samples: 3
|
|
36618
36791
|
},
|
|
36619
|
-
"
|
|
36620
|
-
measuredAt: "2026-
|
|
36621
|
-
latencyMs:
|
|
36622
|
-
p95LatencyMs:
|
|
36623
|
-
outputTokensPerSecond:
|
|
36792
|
+
"nvidia/mistral-nemotron": {
|
|
36793
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36794
|
+
latencyMs: 7349.6,
|
|
36795
|
+
p95LatencyMs: 9932.3,
|
|
36796
|
+
outputTokensPerSecond: 79.48,
|
|
36797
|
+
errorRate: 0.3333,
|
|
36798
|
+
samples: 3
|
|
36799
|
+
},
|
|
36800
|
+
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
|
|
36801
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
36802
|
+
latencyMs: 9324.6,
|
|
36803
|
+
p95LatencyMs: 12992,
|
|
36804
|
+
outputTokensPerSecond: 64.96,
|
|
36805
|
+
errorRate: 0.3333,
|
|
36806
|
+
samples: 3
|
|
36807
|
+
},
|
|
36808
|
+
"nvidia/nemotron-nano-12b-v2-vl": {
|
|
36809
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36810
|
+
latencyMs: 5846.9,
|
|
36811
|
+
p95LatencyMs: 5846.9,
|
|
36812
|
+
outputTokensPerSecond: 87.57,
|
|
36813
|
+
errorRate: 0.6667,
|
|
36814
|
+
samples: 3
|
|
36815
|
+
},
|
|
36816
|
+
"nvidia/nemotron-nano-9b-v2": {
|
|
36817
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36818
|
+
latencyMs: 5282.5,
|
|
36819
|
+
p95LatencyMs: 5282.5,
|
|
36820
|
+
outputTokensPerSecond: 96.92,
|
|
36821
|
+
errorRate: 0.6667,
|
|
36822
|
+
samples: 3
|
|
36823
|
+
},
|
|
36824
|
+
"nvidia/step-3.7-flash": {
|
|
36825
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36826
|
+
latencyMs: 4617.4,
|
|
36827
|
+
p95LatencyMs: 5237.4,
|
|
36828
|
+
outputTokensPerSecond: 112.92,
|
|
36829
|
+
errorRate: 0.3333,
|
|
36830
|
+
samples: 3
|
|
36831
|
+
},
|
|
36832
|
+
"openai/chat-latest": {
|
|
36833
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36834
|
+
latencyMs: 3690.9,
|
|
36835
|
+
p95LatencyMs: 4344,
|
|
36836
|
+
outputTokensPerSecond: 111.85,
|
|
36624
36837
|
errorRate: 0,
|
|
36625
36838
|
samples: 3
|
|
36626
36839
|
},
|
|
36627
|
-
"
|
|
36628
|
-
measuredAt: "2026-
|
|
36629
|
-
latencyMs:
|
|
36630
|
-
p95LatencyMs:
|
|
36631
|
-
outputTokensPerSecond:
|
|
36840
|
+
"openai/gpt-4.1": {
|
|
36841
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36842
|
+
latencyMs: 3527.9,
|
|
36843
|
+
p95LatencyMs: 3831.7,
|
|
36844
|
+
outputTokensPerSecond: 141.27,
|
|
36845
|
+
errorRate: 0,
|
|
36846
|
+
samples: 3
|
|
36847
|
+
},
|
|
36848
|
+
"openai/gpt-4.1-mini": {
|
|
36849
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36850
|
+
latencyMs: 4268.2,
|
|
36851
|
+
p95LatencyMs: 5101.5,
|
|
36852
|
+
outputTokensPerSecond: 103.42,
|
|
36853
|
+
errorRate: 0,
|
|
36854
|
+
samples: 3
|
|
36855
|
+
},
|
|
36856
|
+
"openai/gpt-4.1-nano": {
|
|
36857
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36858
|
+
latencyMs: 3088.3,
|
|
36859
|
+
p95LatencyMs: 3369.2,
|
|
36860
|
+
outputTokensPerSecond: 150.31,
|
|
36861
|
+
errorRate: 0,
|
|
36862
|
+
samples: 3
|
|
36863
|
+
},
|
|
36864
|
+
"openai/gpt-4o": {
|
|
36865
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36866
|
+
latencyMs: 2995.2,
|
|
36867
|
+
p95LatencyMs: 3174.2,
|
|
36868
|
+
outputTokensPerSecond: 171.32,
|
|
36869
|
+
errorRate: 0,
|
|
36870
|
+
samples: 3
|
|
36871
|
+
},
|
|
36872
|
+
"openai/gpt-4o-mini": {
|
|
36873
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36874
|
+
latencyMs: 4751.5,
|
|
36875
|
+
p95LatencyMs: 4930.4,
|
|
36876
|
+
outputTokensPerSecond: 107.84,
|
|
36877
|
+
errorRate: 0,
|
|
36878
|
+
samples: 3
|
|
36879
|
+
},
|
|
36880
|
+
"openai/gpt-5-mini": {
|
|
36881
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36882
|
+
latencyMs: 4558.1,
|
|
36883
|
+
p95LatencyMs: 5081.9,
|
|
36884
|
+
outputTokensPerSecond: 113.25,
|
|
36885
|
+
errorRate: 0,
|
|
36886
|
+
samples: 3
|
|
36887
|
+
},
|
|
36888
|
+
"openai/gpt-5.2": {
|
|
36889
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36890
|
+
latencyMs: 5436.6,
|
|
36891
|
+
p95LatencyMs: 5928.8,
|
|
36892
|
+
outputTokensPerSecond: 95.47,
|
|
36893
|
+
errorRate: 0,
|
|
36894
|
+
samples: 3
|
|
36895
|
+
},
|
|
36896
|
+
"openai/gpt-5.3-codex": {
|
|
36897
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
36898
|
+
latencyMs: 15290.4,
|
|
36899
|
+
p95LatencyMs: 15290.4,
|
|
36900
|
+
outputTokensPerSecond: 33.49,
|
|
36901
|
+
errorRate: 0.6667,
|
|
36902
|
+
samples: 3
|
|
36903
|
+
},
|
|
36904
|
+
"openai/gpt-5.4": {
|
|
36905
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36906
|
+
latencyMs: 5596,
|
|
36907
|
+
p95LatencyMs: 5919.4,
|
|
36908
|
+
outputTokensPerSecond: 91.67,
|
|
36909
|
+
errorRate: 0,
|
|
36910
|
+
samples: 3
|
|
36911
|
+
},
|
|
36912
|
+
"openai/gpt-5.4-mini": {
|
|
36913
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36914
|
+
latencyMs: 3377.8,
|
|
36915
|
+
p95LatencyMs: 3646.8,
|
|
36916
|
+
outputTokensPerSecond: 138.08,
|
|
36917
|
+
errorRate: 0,
|
|
36918
|
+
samples: 3
|
|
36919
|
+
},
|
|
36920
|
+
"openai/gpt-5.4-nano": {
|
|
36921
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36922
|
+
latencyMs: 4040.4,
|
|
36923
|
+
p95LatencyMs: 4205.9,
|
|
36924
|
+
outputTokensPerSecond: 118.52,
|
|
36925
|
+
errorRate: 0,
|
|
36926
|
+
samples: 3
|
|
36927
|
+
},
|
|
36928
|
+
"openai/gpt-5.5": {
|
|
36929
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36930
|
+
latencyMs: 6367.8,
|
|
36931
|
+
p95LatencyMs: 7330.7,
|
|
36932
|
+
outputTokensPerSecond: 81.29,
|
|
36933
|
+
errorRate: 0,
|
|
36934
|
+
samples: 3
|
|
36935
|
+
},
|
|
36936
|
+
"openai/gpt-5.6-luna": {
|
|
36937
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36938
|
+
latencyMs: 6064.5,
|
|
36939
|
+
p95LatencyMs: 7347.3,
|
|
36940
|
+
outputTokensPerSecond: 87.93,
|
|
36941
|
+
errorRate: 0,
|
|
36942
|
+
samples: 3
|
|
36943
|
+
},
|
|
36944
|
+
"openai/gpt-5.6-luna-pro": {
|
|
36945
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
36946
|
+
latencyMs: 13914.9,
|
|
36947
|
+
p95LatencyMs: 13914.9,
|
|
36948
|
+
outputTokensPerSecond: 36.79,
|
|
36949
|
+
errorRate: 0.6667,
|
|
36950
|
+
samples: 3
|
|
36951
|
+
},
|
|
36952
|
+
"openai/gpt-5.6-sol": {
|
|
36953
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36954
|
+
latencyMs: 7720.2,
|
|
36955
|
+
p95LatencyMs: 9108.2,
|
|
36956
|
+
outputTokensPerSecond: 67.47,
|
|
36957
|
+
errorRate: 0,
|
|
36958
|
+
samples: 3
|
|
36959
|
+
},
|
|
36960
|
+
"openai/gpt-5.6-sol-pro": {
|
|
36961
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36962
|
+
latencyMs: 11442.7,
|
|
36963
|
+
p95LatencyMs: 13363.1,
|
|
36964
|
+
outputTokensPerSecond: 148.75,
|
|
36965
|
+
errorRate: 0,
|
|
36966
|
+
samples: 3
|
|
36967
|
+
},
|
|
36968
|
+
"openai/gpt-5.6-terra": {
|
|
36969
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36970
|
+
latencyMs: 4941,
|
|
36971
|
+
p95LatencyMs: 5095.3,
|
|
36972
|
+
outputTokensPerSecond: 103.69,
|
|
36973
|
+
errorRate: 0,
|
|
36974
|
+
samples: 3
|
|
36975
|
+
},
|
|
36976
|
+
"openai/gpt-5.6-terra-pro": {
|
|
36977
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36978
|
+
latencyMs: 3574.1,
|
|
36979
|
+
p95LatencyMs: 4126.3,
|
|
36980
|
+
outputTokensPerSecond: 133.59,
|
|
36981
|
+
errorRate: 0,
|
|
36982
|
+
samples: 3
|
|
36983
|
+
},
|
|
36984
|
+
"openai/o1": {
|
|
36985
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36986
|
+
latencyMs: 4324.9,
|
|
36987
|
+
p95LatencyMs: 5838.1,
|
|
36988
|
+
outputTokensPerSecond: 125.86,
|
|
36989
|
+
errorRate: 0,
|
|
36990
|
+
samples: 3
|
|
36991
|
+
},
|
|
36992
|
+
"openai/o3": {
|
|
36993
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
36994
|
+
latencyMs: 5463.4,
|
|
36995
|
+
p95LatencyMs: 5613.1,
|
|
36996
|
+
outputTokensPerSecond: 93.8,
|
|
36997
|
+
errorRate: 0,
|
|
36998
|
+
samples: 3
|
|
36999
|
+
},
|
|
37000
|
+
"openai/o3-mini": {
|
|
37001
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37002
|
+
latencyMs: 2912.7,
|
|
37003
|
+
p95LatencyMs: 3092.1,
|
|
37004
|
+
outputTokensPerSecond: 176.49,
|
|
37005
|
+
errorRate: 0,
|
|
37006
|
+
samples: 3
|
|
37007
|
+
},
|
|
37008
|
+
"openai/o4-mini": {
|
|
37009
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37010
|
+
latencyMs: 4958.7,
|
|
37011
|
+
p95LatencyMs: 5313,
|
|
37012
|
+
outputTokensPerSecond: 103.81,
|
|
37013
|
+
errorRate: 0,
|
|
37014
|
+
samples: 3
|
|
37015
|
+
},
|
|
37016
|
+
"qwen/qwen3.7-flash": {
|
|
37017
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37018
|
+
latencyMs: 3385.5,
|
|
37019
|
+
p95LatencyMs: 4042.7,
|
|
37020
|
+
outputTokensPerSecond: 153.94,
|
|
37021
|
+
errorRate: 0,
|
|
37022
|
+
samples: 3
|
|
37023
|
+
},
|
|
37024
|
+
"qwen/qwen3.7-max": {
|
|
37025
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37026
|
+
latencyMs: 9387.1,
|
|
37027
|
+
p95LatencyMs: 10490.2,
|
|
37028
|
+
outputTokensPerSecond: 54.92,
|
|
37029
|
+
errorRate: 0,
|
|
37030
|
+
samples: 3
|
|
37031
|
+
},
|
|
37032
|
+
"qwen/qwen3.7-plus": {
|
|
37033
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37034
|
+
latencyMs: 9766.6,
|
|
37035
|
+
p95LatencyMs: 9798.2,
|
|
37036
|
+
outputTokensPerSecond: 52.42,
|
|
37037
|
+
errorRate: 0,
|
|
37038
|
+
samples: 3
|
|
37039
|
+
},
|
|
37040
|
+
"tencent/hy3": {
|
|
37041
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37042
|
+
latencyMs: 6062.3,
|
|
37043
|
+
p95LatencyMs: 7070.2,
|
|
37044
|
+
outputTokensPerSecond: 87.3,
|
|
37045
|
+
errorRate: 0,
|
|
37046
|
+
samples: 3
|
|
37047
|
+
},
|
|
37048
|
+
"xai/grok-4.3": {
|
|
37049
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37050
|
+
latencyMs: 9467.7,
|
|
37051
|
+
p95LatencyMs: 10087.9,
|
|
37052
|
+
outputTokensPerSecond: 48.36,
|
|
37053
|
+
errorRate: 0,
|
|
37054
|
+
samples: 3
|
|
37055
|
+
},
|
|
37056
|
+
"xai/grok-4.5": {
|
|
37057
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37058
|
+
latencyMs: 13564.8,
|
|
37059
|
+
p95LatencyMs: 17351.9,
|
|
37060
|
+
outputTokensPerSecond: 60.71,
|
|
37061
|
+
errorRate: 0,
|
|
37062
|
+
samples: 3
|
|
37063
|
+
},
|
|
37064
|
+
"xai/grok-build-0.1": {
|
|
37065
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37066
|
+
latencyMs: 16394.8,
|
|
37067
|
+
p95LatencyMs: 18035.4,
|
|
37068
|
+
outputTokensPerSecond: 96.86,
|
|
37069
|
+
errorRate: 0,
|
|
37070
|
+
samples: 3
|
|
37071
|
+
},
|
|
37072
|
+
"xiaomi/mimo-v2.5-pro": {
|
|
37073
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37074
|
+
latencyMs: 12070.7,
|
|
37075
|
+
p95LatencyMs: 12386.8,
|
|
37076
|
+
outputTokensPerSecond: 42.44,
|
|
36632
37077
|
errorRate: 0,
|
|
36633
37078
|
samples: 3
|
|
36634
37079
|
},
|
|
36635
37080
|
"zai/glm-5": {
|
|
36636
|
-
measuredAt: "2026-
|
|
36637
|
-
latencyMs:
|
|
36638
|
-
p95LatencyMs:
|
|
36639
|
-
outputTokensPerSecond:
|
|
37081
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37082
|
+
latencyMs: 6839.7,
|
|
37083
|
+
p95LatencyMs: 7261.4,
|
|
37084
|
+
outputTokensPerSecond: 75.16,
|
|
36640
37085
|
errorRate: 0,
|
|
36641
37086
|
samples: 3
|
|
36642
37087
|
},
|
|
36643
|
-
"
|
|
36644
|
-
measuredAt: "2026-
|
|
36645
|
-
latencyMs:
|
|
36646
|
-
p95LatencyMs:
|
|
36647
|
-
outputTokensPerSecond:
|
|
37088
|
+
"zai/glm-5-turbo": {
|
|
37089
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37090
|
+
latencyMs: 55348.5,
|
|
37091
|
+
p95LatencyMs: 114086.6,
|
|
37092
|
+
outputTokensPerSecond: 14.64,
|
|
37093
|
+
errorRate: 0,
|
|
37094
|
+
samples: 3
|
|
37095
|
+
},
|
|
37096
|
+
"zai/glm-5.1": {
|
|
37097
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37098
|
+
latencyMs: 15658.4,
|
|
37099
|
+
p95LatencyMs: 17307.1,
|
|
37100
|
+
outputTokensPerSecond: 32.9,
|
|
36648
37101
|
errorRate: 0,
|
|
36649
37102
|
samples: 3
|
|
36650
37103
|
},
|
|
36651
|
-
"
|
|
36652
|
-
measuredAt: "2026-
|
|
36653
|
-
latencyMs:
|
|
36654
|
-
p95LatencyMs:
|
|
36655
|
-
outputTokensPerSecond:
|
|
37104
|
+
"zai/glm-5.2": {
|
|
37105
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37106
|
+
latencyMs: 10308.5,
|
|
37107
|
+
p95LatencyMs: 15127.6,
|
|
37108
|
+
outputTokensPerSecond: 54.87,
|
|
36656
37109
|
errorRate: 0,
|
|
36657
37110
|
samples: 3
|
|
36658
37111
|
},
|
|
36659
|
-
"
|
|
36660
|
-
measuredAt: "2026-
|
|
36661
|
-
latencyMs:
|
|
36662
|
-
p95LatencyMs:
|
|
36663
|
-
outputTokensPerSecond:
|
|
37112
|
+
"zai/glm-5.3": {
|
|
37113
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37114
|
+
latencyMs: 7272.4,
|
|
37115
|
+
p95LatencyMs: 7998.1,
|
|
37116
|
+
outputTokensPerSecond: 71.09,
|
|
36664
37117
|
errorRate: 0,
|
|
36665
37118
|
samples: 3
|
|
36666
37119
|
},
|
|
36667
|
-
"
|
|
36668
|
-
measuredAt: "2026-
|
|
36669
|
-
latencyMs:
|
|
36670
|
-
p95LatencyMs:
|
|
36671
|
-
outputTokensPerSecond:
|
|
37120
|
+
"zai/glm-5.3-flash": {
|
|
37121
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
37122
|
+
latencyMs: 10545.3,
|
|
37123
|
+
p95LatencyMs: 11672.4,
|
|
37124
|
+
outputTokensPerSecond: 49.01,
|
|
36672
37125
|
errorRate: 0,
|
|
36673
37126
|
samples: 3
|
|
36674
37127
|
}
|
|
@@ -36682,11 +37135,6 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36682
37135
|
latencyMs: 2305,
|
|
36683
37136
|
outputTokensPerSecond: 140.6
|
|
36684
37137
|
},
|
|
36685
|
-
"anthropic/claude-opus-4.6": {
|
|
36686
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
36687
|
-
latencyMs: 2139,
|
|
36688
|
-
outputTokensPerSecond: 119.7
|
|
36689
|
-
},
|
|
36690
37138
|
"anthropic/claude-sonnet-4.6": {
|
|
36691
37139
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
36692
37140
|
latencyMs: 2110,
|
|
@@ -36720,11 +37168,6 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36720
37168
|
latencyMs: 1609,
|
|
36721
37169
|
outputTokensPerSecond: 167.2
|
|
36722
37170
|
},
|
|
36723
|
-
"moonshot/kimi-k2.5": {
|
|
36724
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
36725
|
-
latencyMs: 1646,
|
|
36726
|
-
outputTokensPerSecond: 155.7
|
|
36727
|
-
},
|
|
36728
37171
|
"openai/gpt-4o-mini": {
|
|
36729
37172
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
36730
37173
|
latencyMs: 2764,
|
|
@@ -36734,18 +37177,6 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36734
37177
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
36735
37178
|
latencyMs: 7935,
|
|
36736
37179
|
outputTokensPerSecond: 32.3
|
|
36737
|
-
},
|
|
36738
|
-
"xai/grok-4-1-fast-non-reasoning": {
|
|
36739
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
36740
|
-
latencyMs: 1244,
|
|
36741
|
-
outputTokensPerSecond: 205.8,
|
|
36742
|
-
intelligenceIndex: 41
|
|
36743
|
-
},
|
|
36744
|
-
"xai/grok-4-1-fast-reasoning": {
|
|
36745
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
36746
|
-
latencyMs: 1454,
|
|
36747
|
-
outputTokensPerSecond: 176.2,
|
|
36748
|
-
intelligenceIndex: 41
|
|
36749
37180
|
}
|
|
36750
37181
|
});
|
|
36751
37182
|
DEFAULT_PORTFOLIO_WEIGHTS = {
|
|
@@ -36902,7 +37333,7 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
36902
37333
|
}
|
|
36903
37334
|
};
|
|
36904
37335
|
DEFAULT_ROUTING_CONFIG = {
|
|
36905
|
-
version: "3.
|
|
37336
|
+
version: "3.5",
|
|
36906
37337
|
strategy: "portfolio",
|
|
36907
37338
|
portfolio: {
|
|
36908
37339
|
auto: {
|
|
@@ -37956,95 +38387,129 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
37956
38387
|
// Below this confidence → ambiguous (null tier)
|
|
37957
38388
|
confidenceThreshold: 0.7
|
|
37958
38389
|
},
|
|
38390
|
+
// ─── Tier chains ───
|
|
38391
|
+
//
|
|
38392
|
+
// Catalog refresh 2026-08-29 (V3.5). Every chain below names only models
|
|
38393
|
+
// the public catalog lists (GET https://blockrun.ai/api/v1/models). Ids the
|
|
38394
|
+
// gateway withholds (`hidden: true`) — kimi-k2.5/k2.6/k2.7, the grok-4-fast
|
|
38395
|
+
// and grok-4-1-fast pairs, grok-4-0709, claude-opus-4.6, gemini-3-pro-preview,
|
|
38396
|
+
// the whole `free/*` namespace — were removed everywhere, including fallback
|
|
38397
|
+
// rungs, so a routed model is always one a user can find on blockrun.ai/models.
|
|
38398
|
+
//
|
|
38399
|
+
// Primaries moved only where portfolio.ts already carries calibration
|
|
38400
|
+
// evidence for the successor (Sonnet 5 over Sonnet 4.6, GPT-5 Mini for
|
|
38401
|
+
// agentic MEDIUM, Gemini 3.5 Flash where Kimi K2.7 was). Newcomers with no
|
|
38402
|
+
// trajectory evidence yet (gemini-3.6-flash, glm-5.3, glm-5.3-flash,
|
|
38403
|
+
// gpt-5.6-luna, grok-4.3, minimax-m3, qwen3.7-plus) enter as fallback rungs;
|
|
38404
|
+
// promotion waits for a calibration run, because version recency is not a
|
|
38405
|
+
// quality signal.
|
|
38406
|
+
//
|
|
38407
|
+
// Latency figures in comments are the 2026-08-29 gateway probe
|
|
38408
|
+
// (model-profiles.generated.json); prices are the catalog list.
|
|
37959
38409
|
// Auto (balanced) tier configs - current default smart routing
|
|
37960
|
-
// Benchmark-tuned 2026-03-16: balancing quality (retention) + latency
|
|
37961
38410
|
tiers: {
|
|
37962
38411
|
SIMPLE: {
|
|
37963
38412
|
primary: "google/gemini-2.5-flash",
|
|
37964
|
-
//
|
|
38413
|
+
// $0.30/$2.50 — 60% retention (best) in the 2026-03 run; still the fastest quality answer
|
|
37965
38414
|
fallback: [
|
|
37966
38415
|
"google/gemini-3-flash-preview",
|
|
37967
|
-
//
|
|
38416
|
+
// $0.50/$3 — GPQA 5/6 in the 2026-07 calibration
|
|
38417
|
+
"google/gemini-3.5-flash-lite",
|
|
38418
|
+
// $0.30/$2.50, 1M ctx, thinking mode — same price as 2.5 Flash, newer generation
|
|
37968
38419
|
"deepseek/deepseek-chat",
|
|
37969
|
-
//
|
|
37970
|
-
"moonshot/kimi-k2.5",
|
|
37971
|
-
// 1,646ms, IQ 47, strong quality
|
|
38420
|
+
// $0.14/$0.28, 1M ctx
|
|
37972
38421
|
"google/gemini-3.1-flash-lite",
|
|
37973
|
-
// $0.25/$1.50, 1M
|
|
37974
|
-
"
|
|
37975
|
-
//
|
|
38422
|
+
// $0.25/$1.50, 1M ctx
|
|
38423
|
+
"openai/gpt-5.6-luna",
|
|
38424
|
+
// $0.20/$1.20, 1M ctx — GPT-5.6 cost tier (cut 2026-07-30)
|
|
37976
38425
|
"openai/gpt-5.4-nano",
|
|
37977
|
-
// $0.20/$1.25, 1M
|
|
37978
|
-
"
|
|
37979
|
-
//
|
|
38426
|
+
// $0.20/$1.25, 1M ctx
|
|
38427
|
+
"google/gemini-2.5-flash-lite",
|
|
38428
|
+
// $0.10/$0.40
|
|
37980
38429
|
"nvidia/step-3.7-flash"
|
|
37981
|
-
// FREE backstop —
|
|
38430
|
+
// FREE backstop — NVIDIA free tier (probed 2026-08-21)
|
|
37982
38431
|
]
|
|
37983
38432
|
},
|
|
37984
38433
|
MEDIUM: {
|
|
37985
|
-
|
|
37986
|
-
//
|
|
38434
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08). Gemini 3.5 Flash is the
|
|
38435
|
+
// calibrated successor: MGSM 5/5, GPQA 4/6, extraction band (portfolio.ts).
|
|
38436
|
+
primary: "google/gemini-3.5-flash",
|
|
38437
|
+
// $1.50/$9, 1M ctx, vision + tools
|
|
37987
38438
|
fallback: [
|
|
37988
|
-
"
|
|
37989
|
-
//
|
|
37990
|
-
"
|
|
37991
|
-
// $0.
|
|
38439
|
+
"google/gemini-3.6-flash",
|
|
38440
|
+
// $1.50/$7.50 — newest Flash, output 17% cheaper than 3.5; awaiting calibration
|
|
38441
|
+
"zai/glm-5.3-flash",
|
|
38442
|
+
// $0.15/$0.50, 1M ctx, vision + tools verified live 2026-08-27
|
|
38443
|
+
"openai/gpt-5.6-terra",
|
|
38444
|
+
// $2/$12, 1M ctx — GPT-5.6 balanced tier
|
|
37992
38445
|
"google/gemini-3-flash-preview",
|
|
37993
|
-
//
|
|
38446
|
+
// $0.50/$3
|
|
37994
38447
|
"deepseek/deepseek-chat",
|
|
37995
|
-
//
|
|
38448
|
+
// $0.14/$0.28
|
|
37996
38449
|
"google/gemini-2.5-flash",
|
|
37997
|
-
//
|
|
38450
|
+
// $0.30/$2.50
|
|
38451
|
+
"minimax/minimax-m3",
|
|
38452
|
+
// $0.30/$1.20, 1M ctx
|
|
37998
38453
|
"google/gemini-3.1-flash-lite",
|
|
37999
|
-
// $0.25/$1.50
|
|
38000
|
-
"
|
|
38001
|
-
//
|
|
38002
|
-
"
|
|
38003
|
-
//
|
|
38004
|
-
"xai/grok-3-mini"
|
|
38005
|
-
// 1,202ms, $0.30/$0.50
|
|
38454
|
+
// $0.25/$1.50
|
|
38455
|
+
"openai/gpt-5.6-luna",
|
|
38456
|
+
// $0.20/$1.20
|
|
38457
|
+
"google/gemini-2.5-flash-lite"
|
|
38458
|
+
// $0.10/$0.40
|
|
38006
38459
|
]
|
|
38007
38460
|
},
|
|
38008
38461
|
COMPLEX: {
|
|
38009
38462
|
primary: "google/gemini-3.1-pro",
|
|
38010
|
-
//
|
|
38463
|
+
// $2/$12 — proven long-context flagship (portfolio.ts long_context lead)
|
|
38011
38464
|
fallback: [
|
|
38012
|
-
"google/gemini-3-flash
|
|
38013
|
-
// 1
|
|
38014
|
-
"
|
|
38015
|
-
// 1
|
|
38016
|
-
"google/gemini-2.5-pro",
|
|
38017
|
-
// 1,294ms
|
|
38465
|
+
"google/gemini-3.6-flash",
|
|
38466
|
+
// $1.50/$7.50 — Pro-level quality at Flash price (Google's claim; uncalibrated here)
|
|
38467
|
+
"google/gemini-3.5-flash",
|
|
38468
|
+
// $1.50/$9 — calibrated
|
|
38018
38469
|
"anthropic/claude-sonnet-5",
|
|
38019
|
-
// near-Opus quality
|
|
38470
|
+
// $3/$15 — near-Opus quality, tau2 + Terminal-Bench calibrated
|
|
38471
|
+
"xai/grok-4.5",
|
|
38472
|
+
// $2.50/$9 — 503-resistant, independent infra (was grok-4-0709, now hidden)
|
|
38473
|
+
"google/gemini-2.5-pro",
|
|
38474
|
+
// $1.25/$10
|
|
38020
38475
|
"anthropic/claude-sonnet-4.6",
|
|
38021
|
-
//
|
|
38022
|
-
"deepseek/deepseek-chat",
|
|
38023
|
-
// 1,431ms, IQ 32
|
|
38024
|
-
"google/gemini-2.5-flash",
|
|
38025
|
-
// 1,238ms, IQ 20 — cheap last resort
|
|
38476
|
+
// $3/$15
|
|
38026
38477
|
"openai/gpt-5.6-terra",
|
|
38027
|
-
// GPT-5.6 balanced tier
|
|
38478
|
+
// $2/$12 — GPT-5.6 balanced tier (Sol excluded: #202)
|
|
38028
38479
|
"openai/gpt-5.5",
|
|
38029
|
-
//
|
|
38030
|
-
"openai/gpt-5.4"
|
|
38031
|
-
//
|
|
38480
|
+
// $5/$30 — prior OpenAI flagship
|
|
38481
|
+
"openai/gpt-5.4",
|
|
38482
|
+
// $2.50/$15 — previous flagship, benchmarked
|
|
38483
|
+
"zai/glm-5.3",
|
|
38484
|
+
// $1.40/$4.40, 1M ctx, always-on thinking — verified live 2026-08-19
|
|
38485
|
+
"moonshot/kimi-k3",
|
|
38486
|
+
// $3/$15, 1M ctx — Moonshot flagship (K2.7 successor)
|
|
38487
|
+
"deepseek/deepseek-v4-pro",
|
|
38488
|
+
// $0.435/$0.87 — strongest open-weight reasoner
|
|
38489
|
+
"deepseek/deepseek-chat",
|
|
38490
|
+
// $0.14/$0.28 — cheap last resort
|
|
38491
|
+
"google/gemini-2.5-flash"
|
|
38492
|
+
// $0.30/$2.50
|
|
38032
38493
|
]
|
|
38033
38494
|
},
|
|
38034
38495
|
REASONING: {
|
|
38035
|
-
|
|
38036
|
-
//
|
|
38496
|
+
// Was xai/grok-4-1-fast-reasoning ($0.20/$0.50, hidden 2026-08). DeepSeek
|
|
38497
|
+
// Reasoner is the cheapest listed reasoner at the same 1M context.
|
|
38498
|
+
primary: "deepseek/deepseek-reasoner",
|
|
38499
|
+
// $0.14/$0.28, 1M ctx
|
|
38037
38500
|
fallback: [
|
|
38038
|
-
"xai/grok-4-fast-reasoning",
|
|
38039
|
-
// 1,298ms, $0.20/$0.50
|
|
38040
|
-
"deepseek/deepseek-reasoner",
|
|
38041
|
-
// V4 Flash thinking ($0.20/$0.40, 1M ctx)
|
|
38042
38501
|
"deepseek/deepseek-v4-pro",
|
|
38043
|
-
//
|
|
38502
|
+
// $0.435/$0.87 — calibrated reasoning band 0.95
|
|
38503
|
+
"xai/grok-4.3",
|
|
38504
|
+
// $1.50/$4, 1M ctx — xAI reasoning model, vision
|
|
38505
|
+
"qwen/qwen3.7-plus",
|
|
38506
|
+
// $0.32/$1.28, 1M ctx — reasoning; needs a generous max_tokens (thinking is billed)
|
|
38507
|
+
"google/gemini-3.5-flash",
|
|
38508
|
+
// $1.50/$9 — MGSM 5/5
|
|
38044
38509
|
"openai/o4-mini",
|
|
38045
|
-
//
|
|
38510
|
+
// $1.10/$4.40
|
|
38046
38511
|
"openai/o3"
|
|
38047
|
-
// 2
|
|
38512
|
+
// $2/$8
|
|
38048
38513
|
]
|
|
38049
38514
|
}
|
|
38050
38515
|
},
|
|
@@ -38052,90 +38517,119 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
38052
38517
|
ecoTiers: {
|
|
38053
38518
|
SIMPLE: {
|
|
38054
38519
|
primary: "nvidia/step-3.7-flash",
|
|
38055
|
-
// FREE
|
|
38520
|
+
// FREE — NVIDIA free tier flagship
|
|
38056
38521
|
fallback: [
|
|
38057
38522
|
"nvidia/nemotron-nano-9b-v2",
|
|
38058
|
-
// FREE — compact + fast
|
|
38059
|
-
//
|
|
38060
|
-
//
|
|
38061
|
-
//
|
|
38062
|
-
//
|
|
38063
|
-
"google/gemini-3.1-flash-lite",
|
|
38064
|
-
// $0.25/$1.50 — newest flash-lite
|
|
38065
|
-
"openai/gpt-5.4-nano",
|
|
38066
|
-
// $0.20/$1.25 — fast nano
|
|
38523
|
+
// FREE — compact + fast, high-volume light tasks
|
|
38524
|
+
// The free head keeps rotting with NVIDIA's hosting (deepseek-v4-flash
|
|
38525
|
+
// 410 2026-08-12, seed-oss-36b 410 2026-08-03, gpt-oss-120b/20b 400
|
|
38526
|
+
// 2026-08-21). Each retirement retargets the two free rungs to the
|
|
38527
|
+
// current free tier; the paid rungs below never move.
|
|
38067
38528
|
"google/gemini-2.5-flash-lite",
|
|
38068
|
-
// $0.10/$0.40
|
|
38069
|
-
"
|
|
38070
|
-
// $0.
|
|
38529
|
+
// $0.10/$0.40 — cheapest paid rung
|
|
38530
|
+
"zai/glm-5.3-flash",
|
|
38531
|
+
// $0.15/$0.50, 1M ctx, vision + tools
|
|
38532
|
+
"openai/gpt-5.6-luna",
|
|
38533
|
+
// $0.20/$1.20, 1M ctx
|
|
38534
|
+
"openai/gpt-5.4-nano",
|
|
38535
|
+
// $0.20/$1.25
|
|
38536
|
+
"google/gemini-3.1-flash-lite"
|
|
38537
|
+
// $0.25/$1.50
|
|
38071
38538
|
]
|
|
38072
38539
|
},
|
|
38073
38540
|
MEDIUM: {
|
|
38074
|
-
primary: "
|
|
38075
|
-
// $0.
|
|
38541
|
+
primary: "zai/glm-5.3-flash",
|
|
38542
|
+
// $0.15/$0.50, 1M ctx, vision + tools verified live — cheapest full-capability model
|
|
38076
38543
|
fallback: [
|
|
38544
|
+
"deepseek/deepseek-chat",
|
|
38545
|
+
// $0.14/$0.28
|
|
38546
|
+
"google/gemini-3.1-flash-lite",
|
|
38547
|
+
// $0.25/$1.50
|
|
38548
|
+
"openai/gpt-5.6-luna",
|
|
38549
|
+
// $0.20/$1.20
|
|
38077
38550
|
"openai/gpt-5.4-nano",
|
|
38078
38551
|
// $0.20/$1.25
|
|
38079
38552
|
"google/gemini-2.5-flash-lite",
|
|
38080
38553
|
// $0.10/$0.40
|
|
38081
|
-
"xai/grok-4-fast-non-reasoning",
|
|
38082
38554
|
"google/gemini-2.5-flash"
|
|
38555
|
+
// $0.30/$2.50
|
|
38083
38556
|
]
|
|
38084
38557
|
},
|
|
38085
38558
|
COMPLEX: {
|
|
38086
|
-
primary: "
|
|
38087
|
-
// $0.
|
|
38559
|
+
primary: "zai/glm-5.3-flash",
|
|
38560
|
+
// $0.15/$0.50, 1M ctx
|
|
38088
38561
|
fallback: [
|
|
38089
|
-
"
|
|
38090
|
-
|
|
38091
|
-
"
|
|
38092
|
-
|
|
38562
|
+
"deepseek/deepseek-chat",
|
|
38563
|
+
// $0.14/$0.28, 1M ctx
|
|
38564
|
+
"minimax/minimax-m3",
|
|
38565
|
+
// $0.30/$1.20, 1M ctx
|
|
38566
|
+
"deepseek/deepseek-v4-pro",
|
|
38567
|
+
// $0.435/$0.87
|
|
38568
|
+
"google/gemini-3.1-flash-lite",
|
|
38569
|
+
// $0.25/$1.50
|
|
38570
|
+
"google/gemini-2.5-flash"
|
|
38571
|
+
// $0.30/$2.50
|
|
38093
38572
|
]
|
|
38094
38573
|
},
|
|
38095
38574
|
REASONING: {
|
|
38096
|
-
primary: "
|
|
38097
|
-
// $0.
|
|
38575
|
+
primary: "deepseek/deepseek-reasoner",
|
|
38576
|
+
// $0.14/$0.28, 1M ctx — cheapest listed reasoner
|
|
38098
38577
|
fallback: [
|
|
38099
|
-
"
|
|
38100
|
-
|
|
38101
|
-
|
|
38102
|
-
|
|
38103
|
-
|
|
38578
|
+
"deepseek/deepseek-v4-pro",
|
|
38579
|
+
// $0.435/$0.87
|
|
38580
|
+
"qwen/qwen3.7-plus",
|
|
38581
|
+
// $0.32/$1.28 — reasoning
|
|
38582
|
+
"minimax/minimax-m3",
|
|
38583
|
+
// $0.30/$1.20 — reasoning + coding
|
|
38584
|
+
"zai/glm-5.3-flash"
|
|
38585
|
+
// $0.15/$0.50 — reasoning tokens alongside content
|
|
38104
38586
|
]
|
|
38105
38587
|
}
|
|
38106
38588
|
},
|
|
38107
38589
|
// Premium tier configs - best quality (blockrun/premium)
|
|
38108
|
-
// codex=complex coding,
|
|
38590
|
+
// codex=complex coding, flash=simple coding, sonnet=reasoning/instructions, fable/opus=architecture/PM/audits
|
|
38109
38591
|
premiumTiers: {
|
|
38110
38592
|
SIMPLE: {
|
|
38111
|
-
|
|
38112
|
-
|
|
38593
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08).
|
|
38594
|
+
primary: "google/gemini-3.5-flash",
|
|
38595
|
+
// $1.50/$9, 1M ctx, vision + tools — calibrated
|
|
38113
38596
|
fallback: [
|
|
38114
|
-
"
|
|
38115
|
-
//
|
|
38116
|
-
"moonshot/kimi-k2.5",
|
|
38117
|
-
// $0.60/$3.00 - proven reliable backstop when Moonshot direct API falters
|
|
38118
|
-
"google/gemini-2.5-flash",
|
|
38119
|
-
// 60% retention, fast growth
|
|
38597
|
+
"google/gemini-3.6-flash",
|
|
38598
|
+
// $1.50/$7.50 — newest Flash
|
|
38120
38599
|
"anthropic/claude-haiku-4.5",
|
|
38121
|
-
|
|
38600
|
+
// $1/$5
|
|
38601
|
+
"zai/glm-5.3",
|
|
38602
|
+
// $1.40/$4.40, 1M ctx
|
|
38603
|
+
"google/gemini-2.5-flash",
|
|
38604
|
+
// $0.30/$2.50
|
|
38605
|
+
"google/gemini-3.5-flash-lite",
|
|
38606
|
+
// $0.30/$2.50
|
|
38122
38607
|
"deepseek/deepseek-chat"
|
|
38608
|
+
// $0.14/$0.28
|
|
38123
38609
|
]
|
|
38124
38610
|
},
|
|
38125
38611
|
MEDIUM: {
|
|
38126
38612
|
primary: "openai/gpt-5.3-codex",
|
|
38127
|
-
// $1.75/$14 - 400K context, 128K output
|
|
38613
|
+
// $1.75/$14 - 400K context, 128K output — code_edit/debug lead (portfolio.ts)
|
|
38128
38614
|
fallback: [
|
|
38129
|
-
"moonshot/kimi-k2.7",
|
|
38130
|
-
// Moonshot flagship
|
|
38131
|
-
"moonshot/kimi-k2.6",
|
|
38132
|
-
"moonshot/kimi-k2.5",
|
|
38133
|
-
"google/gemini-2.5-flash",
|
|
38134
|
-
// 60% retention, good coding capability
|
|
38135
|
-
"google/gemini-2.5-pro",
|
|
38136
|
-
"xai/grok-4-0709",
|
|
38137
38615
|
"anthropic/claude-sonnet-5",
|
|
38138
|
-
|
|
38616
|
+
// $3/$15 — code_agent band 0.98
|
|
38617
|
+
"moonshot/kimi-k3",
|
|
38618
|
+
// $3/$15, 1M ctx — Moonshot flagship
|
|
38619
|
+
"zai/glm-5.3",
|
|
38620
|
+
// $1.40/$4.40 — long-horizon coding
|
|
38621
|
+
"google/gemini-3.6-flash",
|
|
38622
|
+
// $1.50/$7.50
|
|
38623
|
+
"google/gemini-3.5-flash",
|
|
38624
|
+
// $1.50/$9
|
|
38625
|
+
"google/gemini-2.5-pro",
|
|
38626
|
+
// $1.25/$10
|
|
38627
|
+
"xai/grok-4.5",
|
|
38628
|
+
// $2.50/$9
|
|
38629
|
+
"anthropic/claude-sonnet-4.6",
|
|
38630
|
+
// $3/$15
|
|
38631
|
+
"openai/gpt-5.6-terra"
|
|
38632
|
+
// $2/$12
|
|
38139
38633
|
]
|
|
38140
38634
|
},
|
|
38141
38635
|
COMPLEX: {
|
|
@@ -38145,8 +38639,8 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
38145
38639
|
// Best quality for complex tasks — Mythos-class flagship above Opus ($10/$50, 1M ctx, always-on thinking)
|
|
38146
38640
|
// Fallback chain de-Gemini'd 2026-04-22: when Anthropic 503s, Gemini is
|
|
38147
38641
|
// also prone to "high demand" 503s (correlated failure — everyone falls
|
|
38148
|
-
// back to Google at the same time). Prefer xAI
|
|
38149
|
-
// flagship → DeepSeek → NVIDIA free instead.
|
|
38642
|
+
// back to Google at the same time). Prefer in-family → xAI → Moonshot →
|
|
38643
|
+
// OpenAI flagship → Z.AI → DeepSeek → NVIDIA free instead.
|
|
38150
38644
|
fallback: [
|
|
38151
38645
|
"anthropic/claude-opus-5",
|
|
38152
38646
|
// in-family hot swap first (half the price, 1M ctx + adaptive thinking)
|
|
@@ -38154,52 +38648,54 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
38154
38648
|
// in-family hot swap (identical cost to 5)
|
|
38155
38649
|
"anthropic/claude-opus-4.7",
|
|
38156
38650
|
// in-family hot swap (identical cost to 4.8)
|
|
38157
|
-
"anthropic/claude-opus-4.6",
|
|
38158
|
-
// in-family hot swap
|
|
38159
38651
|
"anthropic/claude-sonnet-5",
|
|
38160
38652
|
// Sonnet-tier drop-down, near-Opus quality
|
|
38161
38653
|
"anthropic/claude-sonnet-4.6",
|
|
38162
38654
|
"xai/grok-4.5",
|
|
38163
|
-
// xAI flagship — 503-resistant, direct-xAI SKU
|
|
38164
|
-
"
|
|
38165
|
-
// 503-resistant flagship
|
|
38166
|
-
"moonshot/kimi-k2.7",
|
|
38655
|
+
// xAI flagship — 503-resistant, direct-xAI SKU
|
|
38656
|
+
"moonshot/kimi-k3",
|
|
38167
38657
|
// Moonshot flagship, independent infra
|
|
38168
|
-
"moonshot/kimi-k2.6",
|
|
38169
|
-
"moonshot/kimi-k2.5",
|
|
38170
38658
|
"openai/gpt-5.6-terra",
|
|
38171
|
-
// GPT-5.6 balanced tier —
|
|
38659
|
+
// GPT-5.6 balanced tier — stable (Sol excluded: #202)
|
|
38172
38660
|
"openai/gpt-5.5",
|
|
38173
38661
|
// Prior OpenAI flagship — 1M+ ctx, native agent + computer use
|
|
38174
38662
|
"openai/gpt-5.4",
|
|
38175
38663
|
// Previous flagship (slow but stable, benchmarked at 6,213ms)
|
|
38176
38664
|
"openai/gpt-5.3-codex",
|
|
38665
|
+
"zai/glm-5.3",
|
|
38666
|
+
// Z.AI flagship, 1M ctx
|
|
38667
|
+
"deepseek/deepseek-v4-pro",
|
|
38668
|
+
// strongest open-weight reasoner
|
|
38177
38669
|
"deepseek/deepseek-chat",
|
|
38178
38670
|
// Cheap, reliable
|
|
38179
38671
|
"nvidia/step-3.7-flash"
|
|
38180
|
-
// NVIDIA free ultimate backstop
|
|
38672
|
+
// NVIDIA free ultimate backstop
|
|
38181
38673
|
]
|
|
38182
38674
|
},
|
|
38183
38675
|
REASONING: {
|
|
38184
|
-
|
|
38185
|
-
//
|
|
38676
|
+
// Sonnet 5 promoted over Sonnet 4.6 (same price; reasoning band 0.98 for both,
|
|
38677
|
+
// plus Sonnet 5's tau2/BrowseComp trajectory evidence).
|
|
38678
|
+
primary: "anthropic/claude-sonnet-5",
|
|
38679
|
+
// $3/$15, 1M ctx, adaptive thinking
|
|
38186
38680
|
fallback: [
|
|
38187
|
-
"anthropic/claude-sonnet-
|
|
38188
|
-
// in-family hot swap — same cost
|
|
38681
|
+
"anthropic/claude-sonnet-4.6",
|
|
38682
|
+
// in-family hot swap — same cost
|
|
38189
38683
|
"anthropic/claude-opus-5",
|
|
38190
38684
|
// Newest flagship Opus w/ adaptive thinking
|
|
38191
38685
|
"anthropic/claude-opus-4.8",
|
|
38192
38686
|
// Prior flagship Opus — identical cost to 5
|
|
38193
38687
|
"anthropic/claude-opus-4.7",
|
|
38194
38688
|
// Flagship Opus w/ adaptive thinking
|
|
38195
|
-
"
|
|
38196
|
-
//
|
|
38197
|
-
"
|
|
38198
|
-
//
|
|
38689
|
+
"xai/grok-4.5",
|
|
38690
|
+
// reasoning band 0.94
|
|
38691
|
+
"deepseek/deepseek-v4-pro",
|
|
38692
|
+
// reasoning band 0.95
|
|
38693
|
+
"xai/grok-4.3",
|
|
38694
|
+
// $1.50/$4 — xAI reasoning model
|
|
38199
38695
|
"openai/o4-mini",
|
|
38200
|
-
//
|
|
38696
|
+
// $1.10/$4.40
|
|
38201
38697
|
"openai/o3"
|
|
38202
|
-
// 2
|
|
38698
|
+
// $2/$8
|
|
38203
38699
|
]
|
|
38204
38700
|
}
|
|
38205
38701
|
},
|
|
@@ -38209,101 +38705,102 @@ ${value.slice(-(scanLimit - prefixLength))}`;
|
|
|
38209
38705
|
primary: "openai/gpt-4o-mini",
|
|
38210
38706
|
// $0.15/$0.60 - best tool compliance at lowest cost
|
|
38211
38707
|
fallback: [
|
|
38212
|
-
"
|
|
38213
|
-
// 1
|
|
38708
|
+
"openai/gpt-5.6-luna",
|
|
38709
|
+
// $0.20/$1.20 — lightweight agentic tier of GPT-5.6
|
|
38710
|
+
"zai/glm-5.3-flash",
|
|
38711
|
+
// $0.15/$0.50 — tool calls verified live 2026-08-27
|
|
38214
38712
|
"anthropic/claude-haiku-4.5",
|
|
38215
|
-
//
|
|
38216
|
-
"
|
|
38217
|
-
//
|
|
38713
|
+
// $1/$5
|
|
38714
|
+
"google/gemini-2.5-flash"
|
|
38715
|
+
// $0.30/$2.50
|
|
38218
38716
|
]
|
|
38219
38717
|
},
|
|
38220
38718
|
MEDIUM: {
|
|
38221
|
-
|
|
38222
|
-
//
|
|
38719
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08). GPT-5 Mini carries the
|
|
38720
|
+
// Terminal-Bench and tau2 trajectory evidence in portfolio.ts.
|
|
38721
|
+
primary: "openai/gpt-5-mini",
|
|
38722
|
+
// $0.25/$2 — 4/7 Terminal-Bench, 5/6 tau2 airline
|
|
38223
38723
|
fallback: [
|
|
38224
|
-
"
|
|
38225
|
-
//
|
|
38226
|
-
"
|
|
38227
|
-
// $0.
|
|
38228
|
-
"
|
|
38229
|
-
//
|
|
38724
|
+
"google/gemini-3.5-flash",
|
|
38725
|
+
// $1.50/$9 — tool_agent band 0.88
|
|
38726
|
+
"zai/glm-5.3-flash",
|
|
38727
|
+
// $0.15/$0.50 — tools verified
|
|
38728
|
+
"openai/gpt-5.6-terra",
|
|
38729
|
+
// $2/$12
|
|
38230
38730
|
"openai/gpt-4o-mini",
|
|
38231
|
-
//
|
|
38731
|
+
// $0.15/$0.60 — reliable tool calling
|
|
38232
38732
|
"anthropic/claude-haiku-4.5",
|
|
38233
|
-
//
|
|
38234
|
-
"deepseek/deepseek-chat"
|
|
38235
|
-
//
|
|
38733
|
+
// $1/$5
|
|
38734
|
+
"deepseek/deepseek-chat",
|
|
38735
|
+
// $0.14/$0.28
|
|
38736
|
+
"moonshot/kimi-k3"
|
|
38737
|
+
// $3/$15 — tool_agent band 0.85
|
|
38236
38738
|
]
|
|
38237
38739
|
},
|
|
38238
38740
|
COMPLEX: {
|
|
38239
|
-
|
|
38240
|
-
//
|
|
38741
|
+
// Sonnet 5 promoted over Sonnet 4.6: tau2 airline + retail reward 1.0,
|
|
38742
|
+
// Terminal-Bench safety band lead (portfolio.ts).
|
|
38743
|
+
primary: "anthropic/claude-sonnet-5",
|
|
38744
|
+
// $3/$15 — best agentic quality per trajectory evidence
|
|
38241
38745
|
// Fallback chain de-Gemini'd 2026-04-22: Gemini's "high demand" 503s
|
|
38242
38746
|
// correlate with Anthropic outages (everyone falls back together).
|
|
38243
38747
|
// Prefer 503-resistant providers first.
|
|
38244
38748
|
fallback: [
|
|
38245
|
-
"anthropic/claude-sonnet-
|
|
38246
|
-
// in-family hot swap — same cost
|
|
38749
|
+
"anthropic/claude-sonnet-4.6",
|
|
38750
|
+
// in-family hot swap — same cost
|
|
38247
38751
|
"anthropic/claude-opus-5",
|
|
38248
38752
|
// Newest flagship Opus — in-family hot swap
|
|
38249
38753
|
"anthropic/claude-opus-4.8",
|
|
38250
38754
|
// Prior flagship Opus — identical cost to 5
|
|
38251
38755
|
"anthropic/claude-opus-4.7",
|
|
38252
38756
|
// Flagship Opus — in-family hot swap
|
|
38253
|
-
"
|
|
38254
|
-
//
|
|
38255
|
-
"
|
|
38256
|
-
//
|
|
38257
|
-
"moonshot/kimi-k2.7",
|
|
38258
|
-
// Moonshot flagship — strong tool use, independent infra
|
|
38259
|
-
"moonshot/kimi-k2.5",
|
|
38260
|
-
// cost-stability backstop
|
|
38757
|
+
"xai/grok-4.5",
|
|
38758
|
+
// xAI flagship — strong tool use, independent infra
|
|
38759
|
+
"moonshot/kimi-k3",
|
|
38760
|
+
// Moonshot flagship — independent infra
|
|
38261
38761
|
"openai/gpt-5.6-terra",
|
|
38262
|
-
// GPT-5.6 balanced tier —
|
|
38762
|
+
// GPT-5.6 balanced tier — stable (Sol excluded: #202)
|
|
38263
38763
|
"openai/gpt-5.5",
|
|
38264
38764
|
// Prior flagship — native agent + computer use (exactly the agentic-tier use case)
|
|
38265
38765
|
"openai/gpt-5.4",
|
|
38266
|
-
// Previous flagship —
|
|
38766
|
+
// Previous flagship — reliable
|
|
38767
|
+
"openai/gpt-5.3-codex",
|
|
38768
|
+
// code_agent lead
|
|
38769
|
+
"zai/glm-5.3",
|
|
38770
|
+
// long-horizon coding
|
|
38771
|
+
"deepseek/deepseek-v4-pro",
|
|
38772
|
+
// retail high-risk 3/3
|
|
38267
38773
|
"deepseek/deepseek-chat",
|
|
38268
|
-
//
|
|
38774
|
+
// cheap, reliable
|
|
38269
38775
|
"nvidia/step-3.7-flash"
|
|
38270
|
-
// NVIDIA free ultimate backstop
|
|
38776
|
+
// NVIDIA free ultimate backstop
|
|
38271
38777
|
]
|
|
38272
38778
|
},
|
|
38273
38779
|
REASONING: {
|
|
38274
|
-
primary: "anthropic/claude-sonnet-
|
|
38275
|
-
//
|
|
38780
|
+
primary: "anthropic/claude-sonnet-5",
|
|
38781
|
+
// $3/$15 — strong tool use + adaptive thinking
|
|
38276
38782
|
fallback: [
|
|
38277
|
-
"anthropic/claude-sonnet-
|
|
38278
|
-
// in-family hot swap — same cost
|
|
38783
|
+
"anthropic/claude-sonnet-4.6",
|
|
38784
|
+
// in-family hot swap — same cost
|
|
38279
38785
|
"anthropic/claude-opus-5",
|
|
38280
38786
|
// Newest flagship Opus w/ adaptive thinking
|
|
38281
38787
|
"anthropic/claude-opus-4.8",
|
|
38282
38788
|
// Prior flagship Opus — identical cost to 5
|
|
38283
38789
|
"anthropic/claude-opus-4.7",
|
|
38284
38790
|
// Flagship Opus w/ adaptive thinking
|
|
38285
|
-
"
|
|
38286
|
-
//
|
|
38287
|
-
"
|
|
38288
|
-
//
|
|
38791
|
+
"xai/grok-4.5",
|
|
38792
|
+
// reasoning band 0.94
|
|
38793
|
+
"deepseek/deepseek-v4-pro",
|
|
38794
|
+
// reasoning band 0.95
|
|
38289
38795
|
"deepseek/deepseek-reasoner"
|
|
38290
|
-
//
|
|
38796
|
+
// $0.14/$0.28
|
|
38291
38797
|
]
|
|
38292
38798
|
}
|
|
38293
38799
|
},
|
|
38294
|
-
// Time-windowed promotions — auto-applied when active, ignored when expired
|
|
38295
|
-
|
|
38296
|
-
|
|
38297
|
-
|
|
38298
|
-
startDate: "2026-04-01",
|
|
38299
|
-
endDate: "2026-05-01",
|
|
38300
|
-
tierOverrides: {
|
|
38301
|
-
SIMPLE: { primary: "zai/glm-5.1" }
|
|
38302
|
-
},
|
|
38303
|
-
profiles: ["auto"]
|
|
38304
|
-
// only auto profile — eco stays free, premium stays premium
|
|
38305
|
-
}
|
|
38306
|
-
],
|
|
38800
|
+
// Time-windowed promotions — auto-applied when active, ignored when expired.
|
|
38801
|
+
// The GLM-5.1 launch promo (2026-04-01 → 2026-05-01) was the last entry and
|
|
38802
|
+
// has expired; the list is kept empty so the mechanism stays wired.
|
|
38803
|
+
promotions: [],
|
|
38307
38804
|
overrides: {
|
|
38308
38805
|
maxTokensForceComplex: 1e5,
|
|
38309
38806
|
structuredOutputMinTier: "MEDIUM",
|
|
@@ -92653,20 +93150,18 @@ var init_proxy = __esm({
|
|
|
92653
93150
|
"premium"
|
|
92654
93151
|
]);
|
|
92655
93152
|
FREE_MODELS = /* @__PURE__ */ new Set([
|
|
92656
|
-
"free/gpt-oss-120b",
|
|
92657
|
-
"free/gpt-oss-20b",
|
|
92658
|
-
"free/mistral-nemotron",
|
|
92659
|
-
// strong instruction following
|
|
92660
93153
|
"free/step-3.7-flash",
|
|
92661
|
-
// reasoning-focused
|
|
93154
|
+
// reasoning-focused — free-tier flagship
|
|
92662
93155
|
"free/nemotron-nano-9b-v2",
|
|
92663
|
-
// fast lightweight generalist
|
|
93156
|
+
// fast lightweight generalist (~0.7s)
|
|
93157
|
+
"free/mistral-nemotron",
|
|
93158
|
+
// strong instruction following
|
|
92664
93159
|
"free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
92665
93160
|
// vision (text/image/video/audio)
|
|
92666
93161
|
"free/nemotron-nano-12b-v2-vl"
|
|
92667
93162
|
// vision-language (text + image)
|
|
92668
93163
|
]);
|
|
92669
|
-
FREE_MODEL = "free/
|
|
93164
|
+
FREE_MODEL = "free/step-3.7-flash";
|
|
92670
93165
|
MAX_MESSAGES = 200;
|
|
92671
93166
|
CONTEXT_LIMIT_KB = 5120;
|
|
92672
93167
|
HEARTBEAT_INTERVAL_MS = 2e3;
|