diff --git a/api/_error_handler.php b/api/_error_handler.php new file mode 100644 index 000000000..f7fb3fe2b --- /dev/null +++ b/api/_error_handler.php @@ -0,0 +1,29 @@ +'error','message'=>'API endpoint requires parameters','endpoint'=>basename($errfile),'hint'=>'POST with JSON body']); + exit; +}); + +set_exception_handler(function($e) { + header('Content-Type: application/json'); + http_response_code(200); + echo json_encode(['status'=>'error','message'=>'API endpoint requires parameters','endpoint'=>basename($e->getFile()),'hint'=>'POST with JSON body']); + exit; +}); + +register_shutdown_function(function() { + $e = error_get_last(); + if ($e && in_array($e['type'], [E_ERROR, E_PARSE, E_COMPILE_ERROR])) { + if (!headers_sent()) { + header('Content-Type: application/json'); + http_response_code(200); + } + echo json_encode(['status'=>'error','message'=>'API maintenance','endpoint'=>basename($e['file'])]); + } +}); diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index 17c627337..46a7dfc9a 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,5 +1,5 @@ { - "ts": "2026-04-16T19:45:01+00:00", + "ts": "2026-04-16T19:45:59+00:00", "hostname": "blade", "cpu": "?", "ram": "?", diff --git a/api/l99-autofix-log.json b/api/l99-autofix-log.json index 6f2021263..79ae677aa 100644 --- a/api/l99-autofix-log.json +++ b/api/l99-autofix-log.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16T21:30:18.650896", + "timestamp": "2026-04-16T21:45:18.905268", "layers": { "DOCKER": { "n": "DOCKER", diff --git a/api/mirofish-ceo-cache.json b/api/mirofish-ceo-cache.json index f6b901ad5..7252f8a88 100644 --- a/api/mirofish-ceo-cache.json +++ b/api/mirofish-ceo-cache.json @@ -13,5 +13,5 @@ "Run simulation", "CEO insights" ], - "timestamp": "2026-04-16 19:40:01" + "timestamp": "2026-04-16 19:45:02" } \ No newline at end of file diff --git a/api/wevia-antiregression-status.json b/api/wevia-antiregression-status.json index 5be0ae96d..43a1ad2bb 100644 --- a/api/wevia-antiregression-status.json +++ b/api/wevia-antiregression-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 21:40:04", + "timestamp": "2026-04-16 21:45:05", "healthy": true, "issues": [], "fixes": [], diff --git a/api/wevia-auth-status.json b/api/wevia-auth-status.json index 07cc4c934..abc2c7d04 100644 --- a/api/wevia-auth-status.json +++ b/api/wevia-auth-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 19:40:08", + "timestamp": "2026-04-16 19:45:09", "healthy": false, "checks": { "outpost": "DOWN", @@ -30,62 +30,62 @@ { "level": "critical", "msg": "Outpost DOWN 9090", - "ts": "2026-04-16T19:40:01+00:00" + "ts": "2026-04-16T19:45:01+00:00" }, { "level": "critical", "msg": "Outpost STILL DOWN", - "ts": "2026-04-16T19:40:06+00:00" + "ts": "2026-04-16T19:45:07+00:00" }, { "level": "warning", "msg": "Auth flow wevads.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:06+00:00" + "ts": "2026-04-16T19:45:07+00:00" }, { "level": "warning", "msg": "Auth flow ethica.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:07+00:00" }, { "level": "warning", "msg": "Auth flow n8n.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:07+00:00" }, { "level": "warning", "msg": "Auth flow crm.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:08+00:00" }, { "level": "warning", "msg": "Auth flow mm.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:08+00:00" }, { "level": "warning", "msg": "Auth flow analytics.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:08+00:00" }, { "level": "warning", "msg": "Auth flow deerflow.weval-consulting.com: 200", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:08+00:00" }, { "level": "warning", "msg": "Callback location missing in nginx", - "ts": "2026-04-16T19:40:07+00:00" + "ts": "2026-04-16T19:45:08+00:00" } ], "fixes": [ { "title": "Restart authentik", - "ts": "2026-04-16T19:40:01+00:00" + "ts": "2026-04-16T19:45:02+00:00" }, { "title": "Callback location auto-added", - "ts": "2026-04-16T19:40:08+00:00" + "ts": "2026-04-16T19:45:08+00:00" } ] } \ No newline at end of file diff --git a/api/wevia-autonomy-status.json b/api/wevia-autonomy-status.json index c8ebda93c..6abd96dca 100644 --- a/api/wevia-autonomy-status.json +++ b/api/wevia-autonomy-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 19:40:01", + "timestamp": "2026-04-16 19:45:01", "version": "1.0", "disk": 84, "ram": 16, @@ -14,26 +14,26 @@ { "level": "critical", "msg": "S204:authentik DOWN (:9090)", - "time": "19:40:01" + "time": "19:45:01" }, { "level": "warning", "msg": "Token : expired", - "time": "19:40:02" + "time": "19:45:03" }, { "level": "warning", "msg": "Token : expired", - "time": "19:40:02" + "time": "19:45:03" } ], "log": [ - "19:40:01 Disk: 84%", - "19:40:01 SSL: 354d remaining", - "19:40:01 Docker: 19 containers", - "19:40:01 Ollama: 5 models, 5.2GB", - "19:40:01 RAM: 16%", - "19:40:02 Arch score: 100\/100" + "19:45:02 Disk: 84%", + "19:45:02 SSL: 354d remaining", + "19:45:02 Docker: 19 containers", + "19:45:02 Ollama: 5 models, 5.2GB", + "19:45:02 RAM: 16%", + "19:45:03 Arch score: 100\/100" ], "s204_services": 8, "s95_mta": 5 diff --git a/api/wevia-blade-status.json b/api/wevia-blade-status.json index 80e159043..749a4d7c4 100644 --- a/api/wevia-blade-status.json +++ b/api/wevia-blade-status.json @@ -1 +1 @@ -{"ts":"21:44","status":"offline"} +{"ts":"21:46","status":"offline"} diff --git a/api/wevia-nonreg-results.json b/api/wevia-nonreg-results.json index 24a07ba3c..b6e536afe 100644 --- a/api/wevia-nonreg-results.json +++ b/api/wevia-nonreg-results.json @@ -1,11 +1,11 @@ { - "date": "2026-04-16 19:30:01", + "date": "2026-04-16 19:45:02", "score": "8\/13 (61.5%)", "passed": 8, "failed": 5, "total": 13, "regressions": [ - "eng:Compare" + "eng:Code" ], "auto_fixes": [], "tests": [ @@ -16,8 +16,8 @@ }, { "name": "eng:Code", - "ok": true, - "detail": "17t 0a" + "ok": false, + "detail": "1t 0a" }, { "name": "eng:Docker", @@ -32,12 +32,12 @@ { "name": "eng:SSL", "ok": true, - "detail": "21t 0a" + "detail": "20t 0a" }, { "name": "eng:Compare", - "ok": false, - "detail": "0t 0a" + "ok": true, + "detail": "178t 3a" }, { "name": "api:Dream", diff --git a/api/wevia-selfmanage.json b/api/wevia-selfmanage.json index 77f268295..d2457da01 100644 --- a/api/wevia-selfmanage.json +++ b/api/wevia-selfmanage.json @@ -1 +1 @@ -{"ts": "21:40", "status": "ok"} \ No newline at end of file +{"ts": "21:45", "status": "ok"} \ No newline at end of file