superbrain-server
Advanced tools
+1
-1
| { | ||
| "name": "superbrain-server", | ||
| "version": "1.0.60", | ||
| "version": "2.0.0", | ||
| "description": "1-Line Auto-Installer and Server Execution wrapper for SuperBrain", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -6,6 +6,6 @@ { | ||
| "success_count": 85, | ||
| "fail_count": 6, | ||
| "down_until": null, | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:39.731939", | ||
| "last_used": "2026-04-10T06:49:02.416228", | ||
| "last_error": null, | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 0.5 | ||
@@ -17,6 +17,6 @@ }, | ||
| "success_count": 2, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.317058", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:40.130355", | ||
| "last_used": "2026-02-24T07:53:30.927446", | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 1 | ||
@@ -28,6 +28,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.318058", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:40.533266", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 1.5 | ||
@@ -39,6 +39,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.319563", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:41.115883", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 2 | ||
@@ -50,6 +50,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.320569", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:41.511590", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 2.5 | ||
@@ -61,6 +61,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.322619", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:41.909253", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 3 | ||
@@ -72,6 +72,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.324124", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:42.359488", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 3.5 | ||
@@ -83,6 +83,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:26.325130", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:42.761311", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 3.8 | ||
@@ -94,6 +94,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.327130", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.763290", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 4 | ||
@@ -105,6 +105,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.329128", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.764289", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 4.5 | ||
@@ -116,6 +116,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.330597", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.766724", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 5 | ||
@@ -127,6 +127,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.331597", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.767406", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 5.5 | ||
@@ -138,6 +138,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.333600", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.769918", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 6 | ||
@@ -149,6 +149,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.335100", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.771915", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 6.5 | ||
@@ -160,6 +160,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.336105", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:42.773099", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 7 | ||
@@ -171,6 +171,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.338105", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:43.277254", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 7.5 | ||
@@ -182,6 +182,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.338105", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:43.675312", | ||
| "last_used": null, | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 8 | ||
@@ -193,6 +193,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-09T17:58:36.014066", | ||
| "fail_count": 2, | ||
| "down_until": "2026-04-16T05:23:43.273239", | ||
| "last_used": null, | ||
| "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", | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 7 | ||
@@ -204,6 +204,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 2, | ||
| "down_until": "2026-04-09T17:42:02.945931", | ||
| "fail_count": 3, | ||
| "down_until": "2026-04-16T05:23:43.672310", | ||
| "last_used": null, | ||
| "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 7.5 | ||
@@ -215,6 +215,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 2, | ||
| "down_until": "2026-04-09T17:42:03.575625", | ||
| "fail_count": 3, | ||
| "down_until": "2026-04-16T05:23:44.167344", | ||
| "last_used": null, | ||
| "last_error": "404 Client Error: Not Found for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 8 | ||
@@ -226,6 +226,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-09T17:58:37.929800", | ||
| "fail_count": 2, | ||
| "down_until": "2026-04-16T05:23:44.592514", | ||
| "last_used": null, | ||
| "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", | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 8.5 | ||
@@ -237,6 +237,6 @@ }, | ||
| "success_count": 2, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:45.344548", | ||
| "last_used": "2026-04-09T17:37:11.262276", | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 9 | ||
@@ -248,6 +248,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:44.965672", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 9.5 | ||
@@ -259,6 +259,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:45.751094", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 10 | ||
@@ -270,6 +270,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:46.171133", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 10.5 | ||
@@ -281,6 +281,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:48.508702", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 11 | ||
@@ -292,6 +292,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:48.922522", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 11.5 | ||
@@ -303,6 +303,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:49.320898", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 12 | ||
@@ -314,6 +314,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:49.736031", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 12.5 | ||
@@ -325,6 +325,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:50.146983", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 13 | ||
@@ -336,4 +336,4 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:26.340615", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:50.149988", | ||
| "last_used": null, | ||
@@ -347,6 +347,6 @@ "last_error": "No module named 'ollama'", | ||
| "success_count": 1, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:25.986949", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:31.459883", | ||
| "last_used": "2026-02-24T06:25:56.490384", | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 1 | ||
@@ -358,4 +358,4 @@ }, | ||
| "success_count": 14, | ||
| "fail_count": 25, | ||
| "down_until": "2026-04-09T18:29:31.449579", | ||
| "fail_count": 26, | ||
| "down_until": "2026-04-16T05:23:29.452819", | ||
| "last_used": "2026-02-24T09:45:09.831171", | ||
@@ -369,4 +369,4 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 0, | ||
| "fail_count": 28, | ||
| "down_until": "2026-04-09T18:29:31.445576", | ||
| "fail_count": 29, | ||
| "down_until": "2026-04-16T05:23:29.450165", | ||
| "last_used": null, | ||
@@ -380,6 +380,6 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 1, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:25.991504", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:36.561818", | ||
| "last_used": "2026-02-24T07:50:22.906246", | ||
| "last_error": "No module named 'google'", | ||
| "last_error": "No module named 'google.generativeai'", | ||
| "base_priority": 2.5 | ||
@@ -391,4 +391,4 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 27, | ||
| "down_until": "2026-04-09T18:29:31.447577", | ||
| "fail_count": 28, | ||
| "down_until": "2026-04-16T05:23:29.451772", | ||
| "last_used": null, | ||
@@ -402,4 +402,4 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 0, | ||
| "fail_count": 26, | ||
| "down_until": "2026-04-09T18:29:31.450615", | ||
| "fail_count": 27, | ||
| "down_until": "2026-04-16T05:23:29.454366", | ||
| "last_used": null, | ||
@@ -413,4 +413,4 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 0, | ||
| "fail_count": 25, | ||
| "down_until": "2026-04-09T18:29:31.451578", | ||
| "fail_count": 26, | ||
| "down_until": "2026-04-16T05:23:29.455373", | ||
| "last_used": null, | ||
@@ -424,4 +424,4 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 0, | ||
| "fail_count": 25, | ||
| "down_until": "2026-04-09T18:29:31.453083", | ||
| "fail_count": 26, | ||
| "down_until": "2026-04-16T05:23:29.456376", | ||
| "last_used": null, | ||
@@ -435,4 +435,4 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 0, | ||
| "fail_count": 25, | ||
| "down_until": "2026-04-09T18:29:31.455139", | ||
| "fail_count": 26, | ||
| "down_until": "2026-04-16T05:23:29.457379", | ||
| "last_used": null, | ||
@@ -446,6 +446,6 @@ "last_error": "No module named 'google.generativeai'", | ||
| "success_count": 56, | ||
| "fail_count": 5, | ||
| "down_until": null, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:31.458378", | ||
| "last_used": "2026-04-09T18:25:54.184988", | ||
| "last_error": null, | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 5 | ||
@@ -457,6 +457,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:25.989247", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:31.997120", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 5.5 | ||
@@ -468,6 +468,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 5, | ||
| "down_until": "2026-04-09T12:01:25.989247", | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-16T05:23:32.517886", | ||
| "last_used": null, | ||
| "last_error": "No module named 'groq'", | ||
| "last_error": "Error code: 401 - {'error': {'message': 'Invalid API Key', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}", | ||
| "base_priority": 6 | ||
@@ -479,6 +479,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:33.654285", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 7 | ||
@@ -490,6 +490,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:34.621368", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 7.5 | ||
@@ -501,6 +501,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:35.292356", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 8 | ||
@@ -512,6 +512,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:35.918404", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 8.5 | ||
@@ -523,6 +523,6 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "fail_count": 1, | ||
| "down_until": "2026-04-16T05:23:36.558806", | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "last_error": "401 Client Error: Unauthorized for url: https://openrouter.ai/api/v1/chat/completions", | ||
| "base_priority": 9 | ||
@@ -534,4 +534,4 @@ }, | ||
| "success_count": 0, | ||
| "fail_count": 6, | ||
| "down_until": "2026-04-09T12:01:25.992508", | ||
| "fail_count": 7, | ||
| "down_until": "2026-04-16T05:23:36.562857", | ||
| "last_used": null, | ||
@@ -651,2 +651,12 @@ "last_error": "No module named 'ollama'", | ||
| }, | ||
| "dyn_openrouter_elephant-alpha": { | ||
| "key": "dyn_openrouter_elephant-alpha", | ||
| "avg_response_s": null, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "base_priority": 28 | ||
| }, | ||
| "dyn_nvidia_nemotron-nano-9b-v2_free": { | ||
@@ -660,3 +670,3 @@ "key": "dyn_nvidia_nemotron-nano-9b-v2_free", | ||
| "last_error": null, | ||
| "base_priority": 28 | ||
| "base_priority": 29 | ||
| }, | ||
@@ -671,3 +681,3 @@ "dyn_minimax_minimax-m2_5_free": { | ||
| "last_error": null, | ||
| "base_priority": 29 | ||
| "base_priority": 30 | ||
| }, | ||
@@ -682,3 +692,3 @@ "dyn_qwen_qwen3-coder_free": { | ||
| "last_error": null, | ||
| "base_priority": 30 | ||
| "base_priority": 31 | ||
| }, | ||
@@ -693,3 +703,3 @@ "dyn_liquid_lfm-2_5-1_2b-thinking_free": { | ||
| "last_error": null, | ||
| "base_priority": 31 | ||
| "base_priority": 32 | ||
| }, | ||
@@ -704,3 +714,3 @@ "dyn_liquid_lfm-2_5-1_2b-instruct_free": { | ||
| "last_error": null, | ||
| "base_priority": 32 | ||
| "base_priority": 33 | ||
| }, | ||
@@ -715,3 +725,3 @@ "dyn_arcee-ai_trinity-large-preview_free": { | ||
| "last_error": null, | ||
| "base_priority": 34 | ||
| "base_priority": 35 | ||
| }, | ||
@@ -726,3 +736,3 @@ "dyn_meta-llama_llama-3_2-3b-instruct_free": { | ||
| "last_error": null, | ||
| "base_priority": 38 | ||
| "base_priority": 39 | ||
| }, | ||
@@ -737,3 +747,3 @@ "dyn_google_gemma-3n-e2b-it_free": { | ||
| "last_error": null, | ||
| "base_priority": 42 | ||
| "base_priority": 43 | ||
| }, | ||
@@ -748,3 +758,3 @@ "dyn_google_gemma-3-4b-it_free": { | ||
| "last_error": null, | ||
| "base_priority": 43 | ||
| "base_priority": 44 | ||
| }, | ||
@@ -759,4 +769,24 @@ "dyn_v_google_gemma-3-4b-it_free": { | ||
| "last_error": null, | ||
| "base_priority": 43 | ||
| "base_priority": 44 | ||
| }, | ||
| "dyn_meta-llama_llama-guard-4-12b_free": { | ||
| "key": "dyn_meta-llama_llama-guard-4-12b_free", | ||
| "avg_response_s": null, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "base_priority": 45 | ||
| }, | ||
| "dyn_v_meta-llama_llama-guard-4-12b_free": { | ||
| "key": "dyn_v_meta-llama_llama-guard-4-12b_free", | ||
| "avg_response_s": null, | ||
| "success_count": 0, | ||
| "fail_count": 0, | ||
| "down_until": null, | ||
| "last_used": null, | ||
| "last_error": null, | ||
| "base_priority": 45 | ||
| }, | ||
| "dyn_google_gemma-3n-e4b-it_free": { | ||
@@ -770,3 +800,3 @@ "key": "dyn_google_gemma-3n-e4b-it_free", | ||
| "last_error": null, | ||
| "base_priority": 44 | ||
| "base_priority": 46 | ||
| }, | ||
@@ -781,3 +811,3 @@ "dyn_google_gemma-3-12b-it_free": { | ||
| "last_error": null, | ||
| "base_priority": 45 | ||
| "base_priority": 47 | ||
| }, | ||
@@ -792,4 +822,4 @@ "dyn_v_google_gemma-3-12b-it_free": { | ||
| "last_error": null, | ||
| "base_priority": 45 | ||
| "base_priority": 47 | ||
| } | ||
| } |
| { | ||
| "cached_at": "2026-04-10T06:49:01.068927", | ||
| "cached_at": "2026-04-16T05:18:30.220245", | ||
| "models": [ | ||
@@ -431,2 +431,54 @@ { | ||
| { | ||
| "id": "openrouter/elephant-alpha", | ||
| "canonical_slug": "openrouter/elephant-alpha", | ||
| "hugging_face_id": null, | ||
| "name": "Elephant", | ||
| "created": 1776052598, | ||
| "description": "Elephant Alpha is a 100B-parameter text model focused on intelligence efficiency, delivering strong performance while minimizing token usage. It supports a 256K context window with up to 32K output tokens,...", | ||
| "context_length": 262144, | ||
| "architecture": { | ||
| "modality": "text->text", | ||
| "input_modalities": [ | ||
| "text" | ||
| ], | ||
| "output_modalities": [ | ||
| "text" | ||
| ], | ||
| "tokenizer": "Other", | ||
| "instruct_type": null | ||
| }, | ||
| "pricing": { | ||
| "prompt": "0", | ||
| "completion": "0" | ||
| }, | ||
| "top_provider": { | ||
| "context_length": 262144, | ||
| "max_completion_tokens": 32768, | ||
| "is_moderated": false | ||
| }, | ||
| "per_request_limits": null, | ||
| "supported_parameters": [ | ||
| "max_tokens", | ||
| "response_format", | ||
| "structured_outputs", | ||
| "temperature", | ||
| "tool_choice", | ||
| "tools", | ||
| "top_p" | ||
| ], | ||
| "default_parameters": { | ||
| "temperature": null, | ||
| "top_p": null, | ||
| "top_k": null, | ||
| "frequency_penalty": null, | ||
| "presence_penalty": null, | ||
| "repetition_penalty": null | ||
| }, | ||
| "knowledge_cutoff": null, | ||
| "expiration_date": null, | ||
| "links": { | ||
| "details": "/api/v1/models/openrouter/elephant-alpha/endpoints" | ||
| } | ||
| }, | ||
| { | ||
| "id": "nvidia/nemotron-nano-9b-v2:free", | ||
@@ -508,3 +560,3 @@ "canonical_slug": "nvidia/nemotron-nano-9b-v2", | ||
| "context_length": 196608, | ||
| "max_completion_tokens": 196608, | ||
| "max_completion_tokens": 8192, | ||
| "is_moderated": true | ||
@@ -916,3 +968,3 @@ }, | ||
| "context_length": 131072, | ||
| "max_completion_tokens": 131072, | ||
| "max_completion_tokens": 8192, | ||
| "is_moderated": true | ||
@@ -988,13 +1040,14 @@ }, | ||
| { | ||
| "id": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free", | ||
| "canonical_slug": "venice/uncensored", | ||
| "hugging_face_id": "cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition", | ||
| "name": "Venice: Uncensored (free)", | ||
| "created": 1752094966, | ||
| "description": "Venice Uncensored Dolphin Mistral 24B Venice Edition is a fine-tuned variant of Mistral-Small-24B-Instruct-2501, developed by dphn.ai in collaboration with Venice.ai. This model is designed as an \u201cuncensored\u201d instruct-tuned LLM, preserving...", | ||
| "context_length": 32768, | ||
| "id": "google/gemma-3-27b-it:free", | ||
| "canonical_slug": "google/gemma-3-27b-it", | ||
| "hugging_face_id": "google/gemma-3-27b-it", | ||
| "name": "Google: Gemma 3 27B (free)", | ||
| "created": 1741756359, | ||
| "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...", | ||
| "context_length": 131072, | ||
| "architecture": { | ||
| "modality": "text->text", | ||
| "modality": "text+image->text", | ||
| "input_modalities": [ | ||
| "text" | ||
| "text", | ||
| "image" | ||
| ], | ||
@@ -1004,4 +1057,4 @@ "output_modalities": [ | ||
| ], | ||
| "tokenizer": "Other", | ||
| "instruct_type": null | ||
| "tokenizer": "Gemini", | ||
| "instruct_type": "gemma" | ||
| }, | ||
@@ -1013,4 +1066,4 @@ "pricing": { | ||
| "top_provider": { | ||
| "context_length": 32768, | ||
| "max_completion_tokens": null, | ||
| "context_length": 131072, | ||
| "max_completion_tokens": 8192, | ||
| "is_moderated": false | ||
@@ -1020,32 +1073,32 @@ }, | ||
| "supported_parameters": [ | ||
| "frequency_penalty", | ||
| "max_tokens", | ||
| "presence_penalty", | ||
| "response_format", | ||
| "seed", | ||
| "stop", | ||
| "structured_outputs", | ||
| "temperature", | ||
| "top_k", | ||
| "top_p" | ||
| ], | ||
| "default_parameters": {}, | ||
| "knowledge_cutoff": "2024-04-30", | ||
| "default_parameters": { | ||
| "temperature": null, | ||
| "top_p": null, | ||
| "frequency_penalty": null | ||
| }, | ||
| "knowledge_cutoff": "2024-08-31", | ||
| "expiration_date": null, | ||
| "links": { | ||
| "details": "/api/v1/models/venice/uncensored/endpoints" | ||
| "details": "/api/v1/models/google/gemma-3-27b-it/endpoints" | ||
| } | ||
| }, | ||
| { | ||
| "id": "google/gemma-3-27b-it:free", | ||
| "canonical_slug": "google/gemma-3-27b-it", | ||
| "hugging_face_id": "google/gemma-3-27b-it", | ||
| "name": "Google: Gemma 3 27B (free)", | ||
| "created": 1741756359, | ||
| "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities,...", | ||
| "context_length": 131072, | ||
| "id": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free", | ||
| "canonical_slug": "venice/uncensored", | ||
| "hugging_face_id": "cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition", | ||
| "name": "Venice: Uncensored (free)", | ||
| "created": 1752094966, | ||
| "description": "Venice Uncensored Dolphin Mistral 24B Venice Edition is a fine-tuned variant of Mistral-Small-24B-Instruct-2501, developed by dphn.ai in collaboration with Venice.ai. This model is designed as an \u201cuncensored\u201d instruct-tuned LLM, preserving...", | ||
| "context_length": 32768, | ||
| "architecture": { | ||
| "modality": "text+image->text", | ||
| "modality": "text->text", | ||
| "input_modalities": [ | ||
| "text", | ||
| "image" | ||
| "text" | ||
| ], | ||
@@ -1055,4 +1108,4 @@ "output_modalities": [ | ||
| ], | ||
| "tokenizer": "Gemini", | ||
| "instruct_type": "gemma" | ||
| "tokenizer": "Other", | ||
| "instruct_type": null | ||
| }, | ||
@@ -1064,4 +1117,4 @@ "pricing": { | ||
| "top_provider": { | ||
| "context_length": 131072, | ||
| "max_completion_tokens": 8192, | ||
| "context_length": 32768, | ||
| "max_completion_tokens": null, | ||
| "is_moderated": false | ||
@@ -1071,18 +1124,17 @@ }, | ||
| "supported_parameters": [ | ||
| "frequency_penalty", | ||
| "max_tokens", | ||
| "presence_penalty", | ||
| "response_format", | ||
| "seed", | ||
| "stop", | ||
| "structured_outputs", | ||
| "temperature", | ||
| "top_k", | ||
| "top_p" | ||
| ], | ||
| "default_parameters": { | ||
| "temperature": null, | ||
| "top_p": null, | ||
| "frequency_penalty": null | ||
| }, | ||
| "knowledge_cutoff": "2024-08-31", | ||
| "default_parameters": {}, | ||
| "knowledge_cutoff": "2024-04-30", | ||
| "expiration_date": null, | ||
| "links": { | ||
| "details": "/api/v1/models/google/gemma-3-27b-it/endpoints" | ||
| "details": "/api/v1/models/venice/uncensored/endpoints" | ||
| } | ||
@@ -1228,2 +1280,45 @@ }, | ||
| { | ||
| "id": "meta-llama/llama-guard-4-12b:free", | ||
| "canonical_slug": "meta-llama/llama-guard-4-12b", | ||
| "hugging_face_id": "meta-llama/Llama-Guard-4-12B", | ||
| "name": "Meta: Llama Guard 4 12B (free)", | ||
| "created": 1745975193, | ||
| "description": "Llama Guard 4 is a Llama 4 Scout-derived multimodal pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM...", | ||
| "context_length": 163840, | ||
| "architecture": { | ||
| "modality": "text+image->text", | ||
| "input_modalities": [ | ||
| "image", | ||
| "text" | ||
| ], | ||
| "output_modalities": [ | ||
| "text" | ||
| ], | ||
| "tokenizer": "Other", | ||
| "instruct_type": null | ||
| }, | ||
| "pricing": { | ||
| "prompt": "0", | ||
| "completion": "0" | ||
| }, | ||
| "top_provider": { | ||
| "context_length": 163840, | ||
| "max_completion_tokens": 65000, | ||
| "is_moderated": false | ||
| }, | ||
| "per_request_limits": null, | ||
| "supported_parameters": [ | ||
| "max_tokens", | ||
| "seed", | ||
| "temperature", | ||
| "top_p" | ||
| ], | ||
| "default_parameters": {}, | ||
| "knowledge_cutoff": "2024-08-31", | ||
| "expiration_date": null, | ||
| "links": { | ||
| "details": "/api/v1/models/meta-llama/llama-guard-4-12b/endpoints" | ||
| } | ||
| }, | ||
| { | ||
| "id": "google/gemma-3n-e4b-it:free", | ||
@@ -1230,0 +1325,0 @@ "canonical_slug": "google/gemma-3n-e4b-it", |
@@ -163,2 +163,13 @@ #!/usr/bin/env python3 | ||
| # Deleted-log table — tracks when posts are soft-deleted so the | ||
| # mobile app can sync deletions via /sync/deleted. | ||
| self._conn.executescript(""" | ||
| CREATE TABLE IF NOT EXISTS deleted_log ( | ||
| shortcode TEXT PRIMARY KEY, | ||
| deleted_at TEXT | ||
| ); | ||
| CREATE INDEX IF NOT EXISTS idx_deleted_log_at ON deleted_log (deleted_at); | ||
| """) | ||
| self._conn.commit() | ||
| # ------------------------------------------------------------------ | ||
@@ -168,2 +179,8 @@ # Helpers | ||
| # Columns safe to send to the mobile app (excludes heavy analysis blobs) | ||
| LIGHT_COLUMNS = ( | ||
| "shortcode, url, username, content_type, analyzed_at, updated_at, " | ||
| "post_date, likes, thumbnail, title, summary, tags, music, category, is_hidden" | ||
| ) | ||
| def _row_to_dict(self, row): | ||
@@ -265,2 +282,64 @@ if row is None: | ||
| def get_recent_light(self, limit=50, offset=0): | ||
| """Return recent posts with only UI-essential fields (no analysis blobs).""" | ||
| if not self.is_connected(): | ||
| return [] | ||
| try: | ||
| cur = self._conn.cursor() | ||
| cur.execute( | ||
| f"SELECT {self.LIGHT_COLUMNS} FROM analyses " | ||
| "WHERE (is_hidden IS NULL OR is_hidden = 0) " | ||
| "ORDER BY analyzed_at DESC LIMIT ? OFFSET ?", | ||
| (limit, offset) | ||
| ) | ||
| return [self._row_to_dict(r) for r in cur.fetchall()] | ||
| except Exception as e: | ||
| print(f"[WARNING] Error retrieving recent (light): {e}") | ||
| return [] | ||
| def get_posts_since(self, updated_after: str, limit=1000): | ||
| """Return posts updated after the given ISO timestamp (delta sync). | ||
| Includes soft-deleted posts so the app knows to hide them.""" | ||
| if not self.is_connected(): | ||
| return [] | ||
| try: | ||
| cur = self._conn.cursor() | ||
| cur.execute( | ||
| f"SELECT {self.LIGHT_COLUMNS} FROM analyses " | ||
| "WHERE updated_at > ? " | ||
| "ORDER BY updated_at ASC LIMIT ?", | ||
| (updated_after, limit) | ||
| ) | ||
| return [self._row_to_dict(r) for r in cur.fetchall()] | ||
| except Exception as e: | ||
| print(f"[WARNING] Error getting posts since {updated_after}: {e}") | ||
| return [] | ||
| def get_deleted_since(self, since: str): | ||
| """Return shortcodes of posts deleted after the given ISO timestamp.""" | ||
| if not self.is_connected(): | ||
| return [] | ||
| try: | ||
| cur = self._conn.cursor() | ||
| cur.execute( | ||
| "SELECT shortcode, deleted_at FROM deleted_log WHERE deleted_at > ? ORDER BY deleted_at ASC", | ||
| (since,) | ||
| ) | ||
| return [{"shortcode": r["shortcode"], "deleted_at": r["deleted_at"]} for r in cur.fetchall()] | ||
| except Exception as e: | ||
| print(f"[WARNING] Error getting deleted since {since}: {e}") | ||
| return [] | ||
| def get_total_count(self): | ||
| """Return total number of visible (non-hidden) posts.""" | ||
| if not self.is_connected(): | ||
| return 0 | ||
| try: | ||
| cur = self._conn.cursor() | ||
| cur.execute("SELECT COUNT(*) FROM analyses WHERE (is_hidden IS NULL OR is_hidden = 0)") | ||
| return cur.fetchone()[0] | ||
| except Exception as e: | ||
| print(f"[WARNING] Error getting total count: {e}") | ||
| return 0 | ||
| def get_by_category(self, category, limit=20): | ||
@@ -640,6 +719,13 @@ """Return all analyses for a given category (excludes soft-deleted).""" | ||
| try: | ||
| now = datetime.utcnow().isoformat() | ||
| cur = self._conn.execute( | ||
| "UPDATE analyses SET is_hidden = 1, updated_at = ? WHERE shortcode = ?", | ||
| (datetime.utcnow().isoformat(), shortcode) | ||
| (now, shortcode) | ||
| ) | ||
| if cur.rowcount > 0: | ||
| # Record in deleted_log so mobile app can sync deletions | ||
| self._conn.execute( | ||
| "INSERT OR REPLACE INTO deleted_log (shortcode, deleted_at) VALUES (?, ?)", | ||
| (shortcode, now) | ||
| ) | ||
| self._conn.commit() | ||
@@ -646,0 +732,0 @@ return cur.rowcount > 0 |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
523056
2.3%11293
2.31%