superbrain-server 1.0.44 → 1.0.45

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.44",
3
+ "version": "1.0.45",
4
4
  "description": "1-Line Auto-Installer and Server Execution wrapper for SuperBrain",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "groq_gpt_oss_20b": {
3
3
  "key": "groq_gpt_oss_20b",
4
- "avg_response_s": 1.3695804152320605,
5
- "success_count": 75,
4
+ "avg_response_s": 1.3635670783103586,
5
+ "success_count": 77,
6
6
  "fail_count": 6,
7
7
  "down_until": null,
8
- "last_used": "2026-04-09T17:22:29.473141",
8
+ "last_used": "2026-04-09T17:35:12.529719",
9
9
  "last_error": null,
10
10
  "base_priority": 0.5
11
11
  },
@@ -183,8 +183,8 @@
183
183
  "key": "openrouter_deepseek_r1_0528",
184
184
  "avg_response_s": null,
185
185
  "success_count": 0,
186
- "fail_count": 1,
187
- "down_until": "2026-04-09T17:33:36.707801",
186
+ "fail_count": 2,
187
+ "down_until": "2026-04-09T17:42:02.945931",
188
188
  "last_used": null,
189
189
  "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions",
190
190
  "base_priority": 7.5
@@ -193,8 +193,8 @@
193
193
  "key": "openrouter_qwen3_235b",
194
194
  "avg_response_s": null,
195
195
  "success_count": 0,
196
- "fail_count": 1,
197
- "down_until": "2026-04-09T17:33:37.048296",
196
+ "fail_count": 2,
197
+ "down_until": "2026-04-09T17:42:03.575625",
198
198
  "last_used": null,
199
199
  "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions",
200
200
  "base_priority": 8
@@ -211,11 +211,11 @@
211
211
  },
212
212
  "openrouter_gpt_oss_120b": {
213
213
  "key": "openrouter_gpt_oss_120b",
214
- "avg_response_s": 2.2982780933380127,
215
- "success_count": 1,
214
+ "avg_response_s": 3.9147901058197023,
215
+ "success_count": 2,
216
216
  "fail_count": 0,
217
217
  "down_until": null,
218
- "last_used": "2026-04-09T17:28:40.228078",
218
+ "last_used": "2026-04-09T17:37:11.262276",
219
219
  "last_error": null,
220
220
  "base_priority": 9
221
221
  },
@@ -323,8 +323,8 @@
323
323
  "key": "gemini_25_flash_lite_vision",
324
324
  "avg_response_s": 6.709401964075168,
325
325
  "success_count": 14,
326
- "fail_count": 23,
327
- "down_until": "2026-04-09T17:27:18.288352",
326
+ "fail_count": 24,
327
+ "down_until": "2026-04-09T17:40:03.986631",
328
328
  "last_used": "2026-02-24T09:45:09.831171",
329
329
  "last_error": "No module named 'google.generativeai'",
330
330
  "base_priority": 1.5
@@ -333,8 +333,8 @@
333
333
  "key": "gemini_25_pro_vision",
334
334
  "avg_response_s": null,
335
335
  "success_count": 0,
336
- "fail_count": 26,
337
- "down_until": "2026-04-09T17:27:18.284460",
336
+ "fail_count": 27,
337
+ "down_until": "2026-04-09T17:40:03.984360",
338
338
  "last_used": null,
339
339
  "last_error": "No module named 'google.generativeai'",
340
340
  "base_priority": 2
@@ -353,8 +353,8 @@
353
353
  "key": "gemini_3_pro_vision",
354
354
  "avg_response_s": null,
355
355
  "success_count": 0,
356
- "fail_count": 25,
357
- "down_until": "2026-04-09T17:27:18.287968",
356
+ "fail_count": 26,
357
+ "down_until": "2026-04-09T17:40:03.984360",
358
358
  "last_used": null,
359
359
  "last_error": "No module named 'google.generativeai'",
360
360
  "base_priority": 3
@@ -363,8 +363,8 @@
363
363
  "key": "gemini_31_pro_vision",
364
364
  "avg_response_s": null,
365
365
  "success_count": 0,
366
- "fail_count": 24,
367
- "down_until": "2026-04-09T17:27:18.288352",
366
+ "fail_count": 25,
367
+ "down_until": "2026-04-09T17:40:03.987716",
368
368
  "last_used": null,
369
369
  "last_error": "No module named 'google.generativeai'",
370
370
  "base_priority": 3.5
@@ -373,8 +373,8 @@
373
373
  "key": "gemini_20_flash_vision",
374
374
  "avg_response_s": null,
375
375
  "success_count": 0,
376
- "fail_count": 23,
377
- "down_until": "2026-04-09T17:27:18.288352",
376
+ "fail_count": 24,
377
+ "down_until": "2026-04-09T17:40:03.987716",
378
378
  "last_used": null,
379
379
  "last_error": "No module named 'google.generativeai'",
380
380
  "base_priority": 4
@@ -383,8 +383,8 @@
383
383
  "key": "gemini_20_flash_lite_vision",
384
384
  "avg_response_s": null,
385
385
  "success_count": 0,
386
- "fail_count": 23,
387
- "down_until": "2026-04-09T17:27:18.288352",
386
+ "fail_count": 24,
387
+ "down_until": "2026-04-09T17:40:03.987716",
388
388
  "last_used": null,
389
389
  "last_error": "No module named 'google.generativeai'",
390
390
  "base_priority": 4.5
@@ -393,19 +393,19 @@
393
393
  "key": "gemini_15_flash_vision",
394
394
  "avg_response_s": null,
395
395
  "success_count": 0,
396
- "fail_count": 23,
397
- "down_until": "2026-04-09T17:27:18.288352",
396
+ "fail_count": 24,
397
+ "down_until": "2026-04-09T17:40:03.987716",
398
398
  "last_used": null,
399
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.7122235645153911,
405
- "success_count": 50,
404
+ "avg_response_s": 1.5534682586944504,
405
+ "success_count": 52,
406
406
  "fail_count": 5,
407
407
  "down_until": null,
408
- "last_used": "2026-04-09T17:22:22.089868",
408
+ "last_used": "2026-04-09T17:35:07.357177",
409
409
  "last_error": null,
410
410
  "base_priority": 5
411
411
  },
package/payload/start.py CHANGED
@@ -410,6 +410,12 @@ OLLAMA_MODEL = "qwen3-vl:4b" # vision-language model, fits ~6 GB VRAM / ~8 GB
410
410
  def setup_ollama():
411
411
  h1("Step 4 of 7 — Offline AI Model (Ollama)")
412
412
 
413
+ machine = platform.machine().lower()
414
+ is_arm = any(arch in machine for arch in ["arm", "aarch64"])
415
+ if is_arm:
416
+ info(f"ARM device detected ({machine}) — skipping Ollama local installation (heavy resource/unsupported).")
417
+ return
418
+
413
419
  keys = _load_saved_api_keys()
414
420
  has_cloud_key = any(keys.get(k) for k in ("GEMINI_API_KEY", "GROQ_API_KEY", "OPENROUTER_API_KEY"))
415
421
 
@@ -547,6 +553,12 @@ WHISPER_MODELS = {
547
553
  def setup_whisper():
548
554
  h1("Step 5 of 7 — Offline Audio Transcription (Whisper)")
549
555
 
556
+ machine = platform.machine().lower()
557
+ is_arm = any(arch in machine for arch in ["arm", "aarch64"])
558
+ if is_arm:
559
+ info(f"ARM device detected ({machine}) — skipping local Whisper installation to prevent wheel build failures.")
560
+ return
561
+
550
562
  keys = _load_saved_api_keys()
551
563
  has_groq_key = bool(keys.get("GROQ_API_KEY") or os.getenv("GROQ_API_KEY"))
552
564
 
@@ -1,12 +0,0 @@
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)