superbrain-server 1.0.42 → 1.0.44

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superbrain-server",
3
- "version": "1.0.42",
3
+ "version": "1.0.44",
4
4
  "description": "1-Line Auto-Installer and Server Execution wrapper for SuperBrain",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "groq_gpt_oss_20b": {
3
3
  "key": "groq_gpt_oss_20b",
4
- "avg_response_s": 1.6824798610496439,
5
- "success_count": 67,
6
- "fail_count": 5,
7
- "down_until": "2026-04-09T08:35:19.373545",
8
- "last_used": "2026-04-08T07:38:04.817302",
9
- "last_error": "No module named 'groq'",
4
+ "avg_response_s": 1.3695804152320605,
5
+ "success_count": 75,
6
+ "fail_count": 6,
7
+ "down_until": null,
8
+ "last_used": "2026-04-09T17:22:29.473141",
9
+ "last_error": null,
10
10
  "base_priority": 0.5
11
11
  },
12
12
  "groq_llama33_70b": {
13
13
  "key": "groq_llama33_70b",
14
14
  "avg_response_s": 1.423364281654358,
15
15
  "success_count": 2,
16
- "fail_count": 4,
17
- "down_until": "2026-04-09T08:35:19.375545",
16
+ "fail_count": 5,
17
+ "down_until": "2026-04-09T12:01:26.317058",
18
18
  "last_used": "2026-02-24T07:53:30.927446",
19
19
  "last_error": "No module named 'groq'",
20
20
  "base_priority": 1
@@ -23,8 +23,8 @@
23
23
  "key": "groq_llama4_scout",
24
24
  "avg_response_s": null,
25
25
  "success_count": 0,
26
- "fail_count": 4,
27
- "down_until": "2026-04-09T08:35:19.375545",
26
+ "fail_count": 5,
27
+ "down_until": "2026-04-09T12:01:26.318058",
28
28
  "last_used": null,
29
29
  "last_error": "No module named 'groq'",
30
30
  "base_priority": 1.5
@@ -33,8 +33,8 @@
33
33
  "key": "groq_llama31_8b",
34
34
  "avg_response_s": null,
35
35
  "success_count": 0,
36
- "fail_count": 4,
37
- "down_until": "2026-04-09T08:35:19.375545",
36
+ "fail_count": 5,
37
+ "down_until": "2026-04-09T12:01:26.319563",
38
38
  "last_used": null,
39
39
  "last_error": "No module named 'groq'",
40
40
  "base_priority": 2
@@ -43,8 +43,8 @@
43
43
  "key": "groq_qwen3_32b",
44
44
  "avg_response_s": null,
45
45
  "success_count": 0,
46
- "fail_count": 4,
47
- "down_until": "2026-04-09T08:35:19.379702",
46
+ "fail_count": 5,
47
+ "down_until": "2026-04-09T12:01:26.320569",
48
48
  "last_used": null,
49
49
  "last_error": "No module named 'groq'",
50
50
  "base_priority": 2.5
@@ -53,8 +53,8 @@
53
53
  "key": "groq_gpt_oss_120b",
54
54
  "avg_response_s": null,
55
55
  "success_count": 0,
56
- "fail_count": 4,
57
- "down_until": "2026-04-09T08:35:19.381811",
56
+ "fail_count": 5,
57
+ "down_until": "2026-04-09T12:01:26.322619",
58
58
  "last_used": null,
59
59
  "last_error": "No module named 'groq'",
60
60
  "base_priority": 3
@@ -63,8 +63,8 @@
63
63
  "key": "groq_gemma2_9b",
64
64
  "avg_response_s": null,
65
65
  "success_count": 0,
66
- "fail_count": 4,
67
- "down_until": "2026-04-09T08:35:19.381811",
66
+ "fail_count": 5,
67
+ "down_until": "2026-04-09T12:01:26.324124",
68
68
  "last_used": null,
69
69
  "last_error": "No module named 'groq'",
70
70
  "base_priority": 3.5
@@ -73,8 +73,8 @@
73
73
  "key": "groq_deepseek_r1_32b",
74
74
  "avg_response_s": null,
75
75
  "success_count": 0,
76
- "fail_count": 4,
77
- "down_until": "2026-04-09T08:35:19.381811",
76
+ "fail_count": 5,
77
+ "down_until": "2026-04-09T12:01:26.325130",
78
78
  "last_used": null,
79
79
  "last_error": "No module named 'groq'",
80
80
  "base_priority": 3.8
@@ -83,8 +83,8 @@
83
83
  "key": "gemini_25_flash",
84
84
  "avg_response_s": null,
85
85
  "success_count": 0,
86
- "fail_count": 5,
87
- "down_until": "2026-04-09T08:35:19.381811",
86
+ "fail_count": 6,
87
+ "down_until": "2026-04-09T12:01:26.327130",
88
88
  "last_used": null,
89
89
  "last_error": "No module named 'google'",
90
90
  "base_priority": 4
@@ -93,8 +93,8 @@
93
93
  "key": "gemini_25_flash_lite",
94
94
  "avg_response_s": null,
95
95
  "success_count": 0,
96
- "fail_count": 5,
97
- "down_until": "2026-04-09T08:35:19.381811",
96
+ "fail_count": 6,
97
+ "down_until": "2026-04-09T12:01:26.329128",
98
98
  "last_used": null,
99
99
  "last_error": "No module named 'google'",
100
100
  "base_priority": 4.5
@@ -103,8 +103,8 @@
103
103
  "key": "gemini_25_pro",
104
104
  "avg_response_s": null,
105
105
  "success_count": 0,
106
- "fail_count": 5,
107
- "down_until": "2026-04-09T08:35:19.388868",
106
+ "fail_count": 6,
107
+ "down_until": "2026-04-09T12:01:26.330597",
108
108
  "last_used": null,
109
109
  "last_error": "No module named 'google'",
110
110
  "base_priority": 5
@@ -113,8 +113,8 @@
113
113
  "key": "gemini_3_flash",
114
114
  "avg_response_s": null,
115
115
  "success_count": 0,
116
- "fail_count": 5,
117
- "down_until": "2026-04-09T08:35:19.390162",
116
+ "fail_count": 6,
117
+ "down_until": "2026-04-09T12:01:26.331597",
118
118
  "last_used": null,
119
119
  "last_error": "No module named 'google'",
120
120
  "base_priority": 5.5
@@ -123,8 +123,8 @@
123
123
  "key": "gemini_3_pro",
124
124
  "avg_response_s": null,
125
125
  "success_count": 0,
126
- "fail_count": 5,
127
- "down_until": "2026-04-09T08:35:19.392674",
126
+ "fail_count": 6,
127
+ "down_until": "2026-04-09T12:01:26.333600",
128
128
  "last_used": null,
129
129
  "last_error": "No module named 'google'",
130
130
  "base_priority": 6
@@ -133,8 +133,8 @@
133
133
  "key": "gemini_31_pro",
134
134
  "avg_response_s": null,
135
135
  "success_count": 0,
136
- "fail_count": 5,
137
- "down_until": "2026-04-09T08:35:19.392674",
136
+ "fail_count": 6,
137
+ "down_until": "2026-04-09T12:01:26.335100",
138
138
  "last_used": null,
139
139
  "last_error": "No module named 'google'",
140
140
  "base_priority": 6.5
@@ -143,8 +143,8 @@
143
143
  "key": "gemini_20_flash",
144
144
  "avg_response_s": null,
145
145
  "success_count": 0,
146
- "fail_count": 5,
147
- "down_until": "2026-04-09T08:35:19.394687",
146
+ "fail_count": 6,
147
+ "down_until": "2026-04-09T12:01:26.336105",
148
148
  "last_used": null,
149
149
  "last_error": "No module named 'google'",
150
150
  "base_priority": 7
@@ -153,8 +153,8 @@
153
153
  "key": "gemini_20_flash_lite",
154
154
  "avg_response_s": null,
155
155
  "success_count": 0,
156
- "fail_count": 5,
157
- "down_until": "2026-04-09T08:35:19.395770",
156
+ "fail_count": 6,
157
+ "down_until": "2026-04-09T12:01:26.338105",
158
158
  "last_used": null,
159
159
  "last_error": "No module named 'google'",
160
160
  "base_priority": 7.5
@@ -163,8 +163,8 @@
163
163
  "key": "gemini_15_flash",
164
164
  "avg_response_s": null,
165
165
  "success_count": 0,
166
- "fail_count": 5,
167
- "down_until": "2026-04-09T08:35:19.395770",
166
+ "fail_count": 6,
167
+ "down_until": "2026-04-09T12:01:26.338105",
168
168
  "last_used": null,
169
169
  "last_error": "No module named 'google'",
170
170
  "base_priority": 8
@@ -173,49 +173,49 @@
173
173
  "key": "openrouter_llama33_70b",
174
174
  "avg_response_s": null,
175
175
  "success_count": 0,
176
- "fail_count": 0,
177
- "down_until": null,
176
+ "fail_count": 1,
177
+ "down_until": "2026-04-09T17:58:36.014066",
178
178
  "last_used": null,
179
- "last_error": null,
179
+ "last_error": "429 rate limit: {\"error\":{\"message\":\"Provider returned error\",\"code\":429,\"metadata\":{\"raw\":\"meta-llama/llama-3.3-70b-instruct:free is temporarily rate-limited upstream. Please retry shortly, or add yo",
180
180
  "base_priority": 7
181
181
  },
182
182
  "openrouter_deepseek_r1_0528": {
183
183
  "key": "openrouter_deepseek_r1_0528",
184
184
  "avg_response_s": null,
185
185
  "success_count": 0,
186
- "fail_count": 0,
187
- "down_until": null,
186
+ "fail_count": 1,
187
+ "down_until": "2026-04-09T17:33:36.707801",
188
188
  "last_used": null,
189
- "last_error": null,
189
+ "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions",
190
190
  "base_priority": 7.5
191
191
  },
192
192
  "openrouter_qwen3_235b": {
193
193
  "key": "openrouter_qwen3_235b",
194
194
  "avg_response_s": null,
195
195
  "success_count": 0,
196
- "fail_count": 0,
197
- "down_until": null,
196
+ "fail_count": 1,
197
+ "down_until": "2026-04-09T17:33:37.048296",
198
198
  "last_used": null,
199
- "last_error": null,
199
+ "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions",
200
200
  "base_priority": 8
201
201
  },
202
202
  "openrouter_hermes3_405b": {
203
203
  "key": "openrouter_hermes3_405b",
204
204
  "avg_response_s": null,
205
205
  "success_count": 0,
206
- "fail_count": 0,
207
- "down_until": null,
206
+ "fail_count": 1,
207
+ "down_until": "2026-04-09T17:58:37.929800",
208
208
  "last_used": null,
209
- "last_error": null,
209
+ "last_error": "429 rate limit: {\"error\":{\"message\":\"Provider returned error\",\"code\":429,\"metadata\":{\"raw\":\"nousresearch/hermes-3-llama-3.1-405b:free is temporarily rate-limited upstream. Please retry shortly, or add",
210
210
  "base_priority": 8.5
211
211
  },
212
212
  "openrouter_gpt_oss_120b": {
213
213
  "key": "openrouter_gpt_oss_120b",
214
- "avg_response_s": null,
215
- "success_count": 0,
214
+ "avg_response_s": 2.2982780933380127,
215
+ "success_count": 1,
216
216
  "fail_count": 0,
217
217
  "down_until": null,
218
- "last_used": null,
218
+ "last_used": "2026-04-09T17:28:40.228078",
219
219
  "last_error": null,
220
220
  "base_priority": 9
221
221
  },
@@ -303,8 +303,8 @@
303
303
  "key": "local_qwen3",
304
304
  "avg_response_s": null,
305
305
  "success_count": 0,
306
- "fail_count": 5,
307
- "down_until": "2026-04-09T08:35:19.395770",
306
+ "fail_count": 6,
307
+ "down_until": "2026-04-09T12:01:26.340615",
308
308
  "last_used": null,
309
309
  "last_error": "No module named 'ollama'",
310
310
  "base_priority": 100
@@ -313,8 +313,8 @@
313
313
  "key": "gemini_25_flash_vision",
314
314
  "avg_response_s": 15.284299373626709,
315
315
  "success_count": 1,
316
- "fail_count": 5,
317
- "down_until": "2026-04-09T08:35:19.045473",
316
+ "fail_count": 6,
317
+ "down_until": "2026-04-09T12:01:25.986949",
318
318
  "last_used": "2026-02-24T06:25:56.490384",
319
319
  "last_error": "No module named 'google'",
320
320
  "base_priority": 1
@@ -323,28 +323,28 @@
323
323
  "key": "gemini_25_flash_lite_vision",
324
324
  "avg_response_s": 6.709401964075168,
325
325
  "success_count": 14,
326
- "fail_count": 18,
327
- "down_until": "2026-04-09T08:35:19.038662",
326
+ "fail_count": 23,
327
+ "down_until": "2026-04-09T17:27:18.288352",
328
328
  "last_used": "2026-02-24T09:45:09.831171",
329
- "last_error": "No module named 'google'",
329
+ "last_error": "No module named 'google.generativeai'",
330
330
  "base_priority": 1.5
331
331
  },
332
332
  "gemini_25_pro_vision": {
333
333
  "key": "gemini_25_pro_vision",
334
334
  "avg_response_s": null,
335
335
  "success_count": 0,
336
- "fail_count": 21,
337
- "down_until": "2026-04-09T08:35:19.035677",
336
+ "fail_count": 26,
337
+ "down_until": "2026-04-09T17:27:18.284460",
338
338
  "last_used": null,
339
- "last_error": "No module named 'google'",
339
+ "last_error": "No module named 'google.generativeai'",
340
340
  "base_priority": 2
341
341
  },
342
342
  "gemini_3_flash_vision": {
343
343
  "key": "gemini_3_flash_vision",
344
344
  "avg_response_s": 22.28640604019165,
345
345
  "success_count": 1,
346
- "fail_count": 5,
347
- "down_until": "2026-04-09T08:35:19.051420",
346
+ "fail_count": 6,
347
+ "down_until": "2026-04-09T12:01:25.991504",
348
348
  "last_used": "2026-02-24T07:50:22.906246",
349
349
  "last_error": "No module named 'google'",
350
350
  "base_priority": 2.5
@@ -353,68 +353,68 @@
353
353
  "key": "gemini_3_pro_vision",
354
354
  "avg_response_s": null,
355
355
  "success_count": 0,
356
- "fail_count": 20,
357
- "down_until": "2026-04-09T08:35:19.035677",
356
+ "fail_count": 25,
357
+ "down_until": "2026-04-09T17:27:18.287968",
358
358
  "last_used": null,
359
- "last_error": "No module named 'google'",
359
+ "last_error": "No module named 'google.generativeai'",
360
360
  "base_priority": 3
361
361
  },
362
362
  "gemini_31_pro_vision": {
363
363
  "key": "gemini_31_pro_vision",
364
364
  "avg_response_s": null,
365
365
  "success_count": 0,
366
- "fail_count": 19,
367
- "down_until": "2026-04-09T08:35:19.038662",
366
+ "fail_count": 24,
367
+ "down_until": "2026-04-09T17:27:18.288352",
368
368
  "last_used": null,
369
- "last_error": "No module named 'google'",
369
+ "last_error": "No module named 'google.generativeai'",
370
370
  "base_priority": 3.5
371
371
  },
372
372
  "gemini_20_flash_vision": {
373
373
  "key": "gemini_20_flash_vision",
374
374
  "avg_response_s": null,
375
375
  "success_count": 0,
376
- "fail_count": 18,
377
- "down_until": "2026-04-09T08:35:19.041637",
376
+ "fail_count": 23,
377
+ "down_until": "2026-04-09T17:27:18.288352",
378
378
  "last_used": null,
379
- "last_error": "No module named 'google'",
379
+ "last_error": "No module named 'google.generativeai'",
380
380
  "base_priority": 4
381
381
  },
382
382
  "gemini_20_flash_lite_vision": {
383
383
  "key": "gemini_20_flash_lite_vision",
384
384
  "avg_response_s": null,
385
385
  "success_count": 0,
386
- "fail_count": 18,
387
- "down_until": "2026-04-09T08:35:19.041637",
386
+ "fail_count": 23,
387
+ "down_until": "2026-04-09T17:27:18.288352",
388
388
  "last_used": null,
389
- "last_error": "No module named 'google'",
389
+ "last_error": "No module named 'google.generativeai'",
390
390
  "base_priority": 4.5
391
391
  },
392
392
  "gemini_15_flash_vision": {
393
393
  "key": "gemini_15_flash_vision",
394
394
  "avg_response_s": null,
395
395
  "success_count": 0,
396
- "fail_count": 18,
397
- "down_until": "2026-04-09T08:35:19.041637",
396
+ "fail_count": 23,
397
+ "down_until": "2026-04-09T17:27:18.288352",
398
398
  "last_used": null,
399
- "last_error": "No module named 'google'",
399
+ "last_error": "No module named 'google.generativeai'",
400
400
  "base_priority": 4.8
401
401
  },
402
402
  "groq_llama4_scout_vision": {
403
403
  "key": "groq_llama4_scout_vision",
404
- "avg_response_s": 1.2924692601270893,
405
- "success_count": 42,
406
- "fail_count": 4,
407
- "down_until": "2026-04-09T08:35:19.045473",
408
- "last_used": "2026-04-08T07:37:59.761209",
409
- "last_error": "No module named 'groq'",
404
+ "avg_response_s": 1.7122235645153911,
405
+ "success_count": 50,
406
+ "fail_count": 5,
407
+ "down_until": null,
408
+ "last_used": "2026-04-09T17:22:22.089868",
409
+ "last_error": null,
410
410
  "base_priority": 5
411
411
  },
412
412
  "groq_vision_11b": {
413
413
  "key": "groq_vision_11b",
414
414
  "avg_response_s": null,
415
415
  "success_count": 0,
416
- "fail_count": 4,
417
- "down_until": "2026-04-09T08:35:19.048609",
416
+ "fail_count": 5,
417
+ "down_until": "2026-04-09T12:01:25.989247",
418
418
  "last_used": null,
419
419
  "last_error": "No module named 'groq'",
420
420
  "base_priority": 5.5
@@ -423,8 +423,8 @@
423
423
  "key": "groq_vision_90b",
424
424
  "avg_response_s": null,
425
425
  "success_count": 0,
426
- "fail_count": 4,
427
- "down_until": "2026-04-09T08:35:19.048609",
426
+ "fail_count": 5,
427
+ "down_until": "2026-04-09T12:01:25.989247",
428
428
  "last_used": null,
429
429
  "last_error": "No module named 'groq'",
430
430
  "base_priority": 6
@@ -483,10 +483,260 @@
483
483
  "key": "local_qwen3_vl",
484
484
  "avg_response_s": null,
485
485
  "success_count": 0,
486
- "fail_count": 5,
487
- "down_until": "2026-04-09T08:35:19.052215",
486
+ "fail_count": 6,
487
+ "down_until": "2026-04-09T12:01:25.992508",
488
488
  "last_used": null,
489
489
  "last_error": "No module named 'ollama'",
490
490
  "base_priority": 100
491
+ },
492
+ "dyn_google_lyria-3-pro-preview": {
493
+ "key": "dyn_google_lyria-3-pro-preview",
494
+ "avg_response_s": null,
495
+ "success_count": 0,
496
+ "fail_count": 0,
497
+ "down_until": null,
498
+ "last_used": null,
499
+ "last_error": null,
500
+ "base_priority": 20
501
+ },
502
+ "dyn_v_google_lyria-3-pro-preview": {
503
+ "key": "dyn_v_google_lyria-3-pro-preview",
504
+ "avg_response_s": null,
505
+ "success_count": 0,
506
+ "fail_count": 0,
507
+ "down_until": null,
508
+ "last_used": null,
509
+ "last_error": null,
510
+ "base_priority": 20
511
+ },
512
+ "dyn_google_lyria-3-clip-preview": {
513
+ "key": "dyn_google_lyria-3-clip-preview",
514
+ "avg_response_s": null,
515
+ "success_count": 0,
516
+ "fail_count": 0,
517
+ "down_until": null,
518
+ "last_used": null,
519
+ "last_error": null,
520
+ "base_priority": 21
521
+ },
522
+ "dyn_v_google_lyria-3-clip-preview": {
523
+ "key": "dyn_v_google_lyria-3-clip-preview",
524
+ "avg_response_s": null,
525
+ "success_count": 0,
526
+ "fail_count": 0,
527
+ "down_until": null,
528
+ "last_used": null,
529
+ "last_error": null,
530
+ "base_priority": 21
531
+ },
532
+ "dyn_google_gemma-4-26b-a4b-it_free": {
533
+ "key": "dyn_google_gemma-4-26b-a4b-it_free",
534
+ "avg_response_s": null,
535
+ "success_count": 0,
536
+ "fail_count": 0,
537
+ "down_until": null,
538
+ "last_used": null,
539
+ "last_error": null,
540
+ "base_priority": 22
541
+ },
542
+ "dyn_v_google_gemma-4-26b-a4b-it_free": {
543
+ "key": "dyn_v_google_gemma-4-26b-a4b-it_free",
544
+ "avg_response_s": null,
545
+ "success_count": 0,
546
+ "fail_count": 0,
547
+ "down_until": null,
548
+ "last_used": null,
549
+ "last_error": null,
550
+ "base_priority": 22
551
+ },
552
+ "dyn_google_gemma-4-31b-it_free": {
553
+ "key": "dyn_google_gemma-4-31b-it_free",
554
+ "avg_response_s": null,
555
+ "success_count": 0,
556
+ "fail_count": 0,
557
+ "down_until": null,
558
+ "last_used": null,
559
+ "last_error": null,
560
+ "base_priority": 23
561
+ },
562
+ "dyn_v_google_gemma-4-31b-it_free": {
563
+ "key": "dyn_v_google_gemma-4-31b-it_free",
564
+ "avg_response_s": null,
565
+ "success_count": 0,
566
+ "fail_count": 0,
567
+ "down_until": null,
568
+ "last_used": null,
569
+ "last_error": null,
570
+ "base_priority": 23
571
+ },
572
+ "dyn_nvidia_nemotron-3-super-120b-a12b_free": {
573
+ "key": "dyn_nvidia_nemotron-3-super-120b-a12b_free",
574
+ "avg_response_s": null,
575
+ "success_count": 0,
576
+ "fail_count": 0,
577
+ "down_until": null,
578
+ "last_used": null,
579
+ "last_error": null,
580
+ "base_priority": 24
581
+ },
582
+ "dyn_openrouter_free": {
583
+ "key": "dyn_openrouter_free",
584
+ "avg_response_s": null,
585
+ "success_count": 0,
586
+ "fail_count": 0,
587
+ "down_until": null,
588
+ "last_used": null,
589
+ "last_error": null,
590
+ "base_priority": 25
591
+ },
592
+ "dyn_v_openrouter_free": {
593
+ "key": "dyn_v_openrouter_free",
594
+ "avg_response_s": null,
595
+ "success_count": 0,
596
+ "fail_count": 0,
597
+ "down_until": null,
598
+ "last_used": null,
599
+ "last_error": null,
600
+ "base_priority": 25
601
+ },
602
+ "dyn_arcee-ai_trinity-mini_free": {
603
+ "key": "dyn_arcee-ai_trinity-mini_free",
604
+ "avg_response_s": null,
605
+ "success_count": 0,
606
+ "fail_count": 0,
607
+ "down_until": null,
608
+ "last_used": null,
609
+ "last_error": null,
610
+ "base_priority": 28
611
+ },
612
+ "dyn_nvidia_nemotron-nano-9b-v2_free": {
613
+ "key": "dyn_nvidia_nemotron-nano-9b-v2_free",
614
+ "avg_response_s": null,
615
+ "success_count": 0,
616
+ "fail_count": 0,
617
+ "down_until": null,
618
+ "last_used": null,
619
+ "last_error": null,
620
+ "base_priority": 29
621
+ },
622
+ "dyn_minimax_minimax-m2_5_free": {
623
+ "key": "dyn_minimax_minimax-m2_5_free",
624
+ "avg_response_s": null,
625
+ "success_count": 0,
626
+ "fail_count": 0,
627
+ "down_until": null,
628
+ "last_used": null,
629
+ "last_error": null,
630
+ "base_priority": 30
631
+ },
632
+ "dyn_qwen_qwen3-coder_free": {
633
+ "key": "dyn_qwen_qwen3-coder_free",
634
+ "avg_response_s": null,
635
+ "success_count": 0,
636
+ "fail_count": 0,
637
+ "down_until": null,
638
+ "last_used": null,
639
+ "last_error": null,
640
+ "base_priority": 31
641
+ },
642
+ "dyn_liquid_lfm-2_5-1_2b-thinking_free": {
643
+ "key": "dyn_liquid_lfm-2_5-1_2b-thinking_free",
644
+ "avg_response_s": null,
645
+ "success_count": 0,
646
+ "fail_count": 0,
647
+ "down_until": null,
648
+ "last_used": null,
649
+ "last_error": null,
650
+ "base_priority": 32
651
+ },
652
+ "dyn_liquid_lfm-2_5-1_2b-instruct_free": {
653
+ "key": "dyn_liquid_lfm-2_5-1_2b-instruct_free",
654
+ "avg_response_s": null,
655
+ "success_count": 0,
656
+ "fail_count": 0,
657
+ "down_until": null,
658
+ "last_used": null,
659
+ "last_error": null,
660
+ "base_priority": 33
661
+ },
662
+ "dyn_arcee-ai_trinity-large-preview_free": {
663
+ "key": "dyn_arcee-ai_trinity-large-preview_free",
664
+ "avg_response_s": null,
665
+ "success_count": 0,
666
+ "fail_count": 0,
667
+ "down_until": null,
668
+ "last_used": null,
669
+ "last_error": null,
670
+ "base_priority": 35
671
+ },
672
+ "dyn_meta-llama_llama-3_2-3b-instruct_free": {
673
+ "key": "dyn_meta-llama_llama-3_2-3b-instruct_free",
674
+ "avg_response_s": null,
675
+ "success_count": 0,
676
+ "fail_count": 0,
677
+ "down_until": null,
678
+ "last_used": null,
679
+ "last_error": null,
680
+ "base_priority": 39
681
+ },
682
+ "dyn_google_gemma-3n-e2b-it_free": {
683
+ "key": "dyn_google_gemma-3n-e2b-it_free",
684
+ "avg_response_s": null,
685
+ "success_count": 0,
686
+ "fail_count": 0,
687
+ "down_until": null,
688
+ "last_used": null,
689
+ "last_error": null,
690
+ "base_priority": 43
691
+ },
692
+ "dyn_google_gemma-3-4b-it_free": {
693
+ "key": "dyn_google_gemma-3-4b-it_free",
694
+ "avg_response_s": null,
695
+ "success_count": 0,
696
+ "fail_count": 0,
697
+ "down_until": null,
698
+ "last_used": null,
699
+ "last_error": null,
700
+ "base_priority": 44
701
+ },
702
+ "dyn_v_google_gemma-3-4b-it_free": {
703
+ "key": "dyn_v_google_gemma-3-4b-it_free",
704
+ "avg_response_s": null,
705
+ "success_count": 0,
706
+ "fail_count": 0,
707
+ "down_until": null,
708
+ "last_used": null,
709
+ "last_error": null,
710
+ "base_priority": 44
711
+ },
712
+ "dyn_google_gemma-3n-e4b-it_free": {
713
+ "key": "dyn_google_gemma-3n-e4b-it_free",
714
+ "avg_response_s": null,
715
+ "success_count": 0,
716
+ "fail_count": 0,
717
+ "down_until": null,
718
+ "last_used": null,
719
+ "last_error": null,
720
+ "base_priority": 45
721
+ },
722
+ "dyn_google_gemma-3-12b-it_free": {
723
+ "key": "dyn_google_gemma-3-12b-it_free",
724
+ "avg_response_s": null,
725
+ "success_count": 0,
726
+ "fail_count": 0,
727
+ "down_until": null,
728
+ "last_used": null,
729
+ "last_error": null,
730
+ "base_priority": 46
731
+ },
732
+ "dyn_v_google_gemma-3-12b-it_free": {
733
+ "key": "dyn_v_google_gemma-3-12b-it_free",
734
+ "avg_response_s": null,
735
+ "success_count": 0,
736
+ "fail_count": 0,
737
+ "down_until": null,
738
+ "last_used": null,
739
+ "last_error": null,
740
+ "base_priority": 46
491
741
  }
492
742
  }
@@ -0,0 +1 @@
1
+ enabled
@@ -1,5 +1,5 @@
1
1
  {
2
- "cached_at": "2026-04-08T06:42:57.628411",
2
+ "cached_at": "2026-04-09T12:09:59.428112",
3
3
  "models": [
4
4
  {
5
5
  "id": "google/lyria-3-pro-preview",
@@ -427,56 +427,6 @@
427
427
  "details": "/api/v1/models/qwen/qwen3-next-80b-a3b-instruct-2509/endpoints"
428
428
  }
429
429
  },
430
- {
431
- "id": "stepfun/step-3.5-flash:free",
432
- "canonical_slug": "stepfun/step-3.5-flash",
433
- "hugging_face_id": "stepfun-ai/Step-3.5-Flash",
434
- "name": "StepFun: Step 3.5 Flash (free)",
435
- "created": 1769728337,
436
- "description": "Step 3.5 Flash is StepFun's most capable open-source foundation model. Built on a sparse Mixture of Experts (MoE) architecture, it selectively activates only 11B of its 196B parameters per token....",
437
- "context_length": 256000,
438
- "architecture": {
439
- "modality": "text->text",
440
- "input_modalities": [
441
- "text"
442
- ],
443
- "output_modalities": [
444
- "text"
445
- ],
446
- "tokenizer": "Other",
447
- "instruct_type": null
448
- },
449
- "pricing": {
450
- "prompt": "0",
451
- "completion": "0"
452
- },
453
- "top_provider": {
454
- "context_length": 256000,
455
- "max_completion_tokens": 256000,
456
- "is_moderated": false
457
- },
458
- "per_request_limits": null,
459
- "supported_parameters": [
460
- "frequency_penalty",
461
- "include_reasoning",
462
- "max_tokens",
463
- "reasoning",
464
- "stop",
465
- "temperature",
466
- "tools",
467
- "top_p"
468
- ],
469
- "default_parameters": {
470
- "temperature": null,
471
- "top_p": null,
472
- "frequency_penalty": null
473
- },
474
- "knowledge_cutoff": null,
475
- "expiration_date": null,
476
- "links": {
477
- "details": "/api/v1/models/stepfun/step-3.5-flash/endpoints"
478
- }
479
- },
480
430
  {
481
431
  "id": "arcee-ai/trinity-mini:free",
482
432
  "canonical_slug": "arcee-ai/trinity-mini-20251201",
@@ -886,7 +836,7 @@
886
836
  "repetition_penalty": null
887
837
  },
888
838
  "knowledge_cutoff": null,
889
- "expiration_date": null,
839
+ "expiration_date": "2026-04-22",
890
840
  "links": {
891
841
  "details": "/api/v1/models/arcee-ai/trinity-large-preview/endpoints"
892
842
  }
@@ -489,6 +489,9 @@ def _has_image_input(m: Dict) -> bool:
489
489
  return "image" in str(mods)
490
490
 
491
491
 
492
+ class RateLimitError(Exception):
493
+ pass
494
+
492
495
  # ─────────────────────────────────────────────────────────────────────────────
493
496
  # MODEL ROUTER
494
497
  # ─────────────────────────────────────────────────────────────────────────────
@@ -707,10 +710,10 @@ class ModelRouter:
707
710
  resp.raise_for_status()
708
711
  all_models = resp.json().get("data", [])
709
712
  except Exception as e:
710
- if "429" in str(e) or "quota" in str(e).lower():
711
- raise RateLimitError("Quota limit hit")
712
- raise e
713
- print(f"⚠️ OpenRouter model discovery failed: {e}")
713
+ # if "429" in str(e) or "quota" in str(e).lower():
714
+ # raise RateLimitError("Quota limit hit")
715
+ # raise e
716
+ print(f"⚠️ OpenRouter free model discovery failed: {e}")
714
717
  return
715
718
 
716
719
  # Filter for free models (pricing.prompt == 0 or :free suffix)
@@ -1103,8 +1106,9 @@ class ModelRouter:
1103
1106
  return result
1104
1107
 
1105
1108
  except Exception as e:
1106
- if "429" in str(e) or "quota" in str(e).lower():
1107
- raise RateLimitError("Quota limit hit")
1109
+ # Do not immediately abort on quota, try next model
1110
+ # if "429" in str(e) or "quota" in str(e).lower():
1111
+ # raise RateLimitError("Quota limit hit")
1108
1112
  status = 429 if "429" in str(e) else 0
1109
1113
  self._record_failure(key, str(e), status_code=status)
1110
1114
  print(f" ✗ Failed ({type(e).__name__}), trying next …", flush=True)
@@ -1149,8 +1153,9 @@ class ModelRouter:
1149
1153
  return result
1150
1154
 
1151
1155
  except Exception as e:
1152
- if "429" in str(e) or "quota" in str(e).lower():
1153
- raise RateLimitError("Quota limit hit")
1156
+ # Do not immediately abort on quota, try next model
1157
+ # if "429" in str(e) or "quota" in str(e).lower():
1158
+ # raise RateLimitError("Quota limit hit")
1154
1159
  status = 429 if "429" in str(e) else 0
1155
1160
  self._record_failure(key, str(e), status_code=status)
1156
1161
  print(f" ✗ Failed ({type(e).__name__}), trying next …", flush=True)
@@ -0,0 +1,12 @@
1
+ import os, sys
2
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
3
+ from core.model_router import get_router
4
+ router = get_router()
5
+ try:
6
+ router._api_keys['GROQ_API_KEY'] = None
7
+ router._api_keys['GEMINI_API_KEY'] = None
8
+ print('Testing OpenRouter...')
9
+ response = router.generate_text('Say exactly: OpenRouter is working!')
10
+ print('Response:', response)
11
+ except Exception as e:
12
+ print('Error:', e)