32
api/ambre-export-v30.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
header("Content-Type: application/json");
|
||||
$src_dir = "/var/www/html/api/ambre-pw-tests/output";
|
||||
$dest_dir = "/var/www/html/generated";
|
||||
if (!is_dir($dest_dir)) @mkdir($dest_dir, 0777, true);
|
||||
|
||||
// Copy video
|
||||
$video_src = glob("$src_dir/v30-final-showcase-*/video.webm")[0] ?? null;
|
||||
$out = [];
|
||||
|
||||
if ($video_src) {
|
||||
$dest = "$dest_dir/wevia-v30-showcase-" . date("Ymd-His") . ".webm";
|
||||
@copy($video_src, $dest);
|
||||
@chmod($dest, 0644);
|
||||
$out["video"] = [
|
||||
"url" => "/generated/" . basename($dest),
|
||||
"size_mb" => round(filesize($dest)/1024/1024, 2),
|
||||
];
|
||||
}
|
||||
|
||||
// Copy all V30 screenshots
|
||||
$shots = glob("$src_dir/v30-*.png");
|
||||
$out["screenshots"] = [];
|
||||
foreach ($shots as $s) {
|
||||
$bn = basename($s);
|
||||
$d = "$dest_dir/$bn";
|
||||
@copy($s, $d);
|
||||
$out["screenshots"][] = "/generated/$bn";
|
||||
}
|
||||
$out["shots_count"] = count($out["screenshots"]);
|
||||
|
||||
echo json_encode($out, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|
||||
16
api/ambre-list-videos.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
header("Content-Type: application/json");
|
||||
$dir = "/var/www/html/api/ambre-pw-tests/output";
|
||||
$vids = [];
|
||||
foreach (glob("$dir/*/video.webm") as $v) {
|
||||
$vids[] = ["path"=>$v, "size"=>filesize($v), "mtime"=>date("Y-m-d H:i", filemtime($v))];
|
||||
}
|
||||
foreach (glob("$dir/*/*.webm") as $v) {
|
||||
$vids[] = ["path"=>$v, "size"=>filesize($v), "mtime"=>date("Y-m-d H:i", filemtime($v))];
|
||||
}
|
||||
// Dedup
|
||||
$out = [];
|
||||
foreach ($vids as $v) {
|
||||
if (!isset($out[$v["path"]])) $out[$v["path"]] = $v;
|
||||
}
|
||||
echo json_encode(array_values($out), JSON_PRETTY_PRINT);
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated_at": "2026-04-22T03:00:02.461157",
|
||||
"generated_at": "2026-04-22T03:05:02.210565",
|
||||
"stats": {
|
||||
"total": 48,
|
||||
"pending": 31,
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"scanned_at": "2026-04-16T16:59:03.806435",
|
||||
"scanned_at": "2026-04-22T03:03:01.674431",
|
||||
"server": "S95",
|
||||
"infra": {
|
||||
"disk": {
|
||||
"total": "150G",
|
||||
"used": "119G",
|
||||
"avail": "26G",
|
||||
"pct": "83%"
|
||||
"used": "122G",
|
||||
"avail": "23G",
|
||||
"pct": "85%"
|
||||
},
|
||||
"memory": {
|
||||
"total": "30Gi",
|
||||
"used": "8.0Gi",
|
||||
"free": "3.3Gi"
|
||||
"used": "12Gi",
|
||||
"free": "459Mi"
|
||||
},
|
||||
"ports_count": 42,
|
||||
"ports_count": 43,
|
||||
"docker_count": 19,
|
||||
"nginx_sites": 14,
|
||||
"html_pages": 505,
|
||||
"api_files": 478,
|
||||
"crons": 3,
|
||||
"html_pages": 718,
|
||||
"api_files": 3152,
|
||||
"crons": 35,
|
||||
"tool_registry": {
|
||||
"count": 421,
|
||||
"version": "7.4"
|
||||
"count": 638,
|
||||
"version": "?"
|
||||
}
|
||||
},
|
||||
"assets": [
|
||||
@@ -176,7 +176,7 @@
|
||||
"type": "api",
|
||||
"status": "live",
|
||||
"port": 8001,
|
||||
"process": "uvicorn",
|
||||
"process": "python",
|
||||
"maturity": 50,
|
||||
"source": "port_scan"
|
||||
},
|
||||
@@ -195,7 +195,7 @@
|
||||
"name": "loki",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 3 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -203,7 +203,7 @@
|
||||
"name": "listmonk",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 6 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -211,7 +211,7 @@
|
||||
"name": "plausible-plausible-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 6 hours",
|
||||
"docker_status": "Up 4 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -219,7 +219,7 @@
|
||||
"name": "plausible-plausible-db-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 6 hours",
|
||||
"docker_status": "Up 4 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -227,7 +227,7 @@
|
||||
"name": "plausible-plausible-events-db-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 6 hours",
|
||||
"docker_status": "Up 4 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -235,7 +235,7 @@
|
||||
"name": "n8n-docker-n8n-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 11 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -243,7 +243,7 @@
|
||||
"name": "mattermost-docker-mm-db-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 11 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -251,7 +251,7 @@
|
||||
"name": "mattermost-docker-mattermost-1",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 11 hours (healthy)",
|
||||
"docker_status": "Up 5 days (healthy)",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -259,7 +259,7 @@
|
||||
"name": "twenty",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 5 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -267,7 +267,7 @@
|
||||
"name": "twenty-redis",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 12 hours",
|
||||
"docker_status": "Up 5 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -275,7 +275,7 @@
|
||||
"name": "redis-weval",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -283,7 +283,7 @@
|
||||
"name": "gitea",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -291,7 +291,7 @@
|
||||
"name": "node-exporter",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -299,7 +299,7 @@
|
||||
"name": "prometheus",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -307,7 +307,7 @@
|
||||
"name": "searxng",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -323,7 +323,7 @@
|
||||
"name": "vaultwarden",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days (healthy)",
|
||||
"docker_status": "Up 7 days (healthy)",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
@@ -331,7 +331,7 @@
|
||||
"name": "qdrant",
|
||||
"type": "docker",
|
||||
"status": "up",
|
||||
"docker_status": "Up 2 days",
|
||||
"docker_status": "Up 7 days",
|
||||
"source": "docker"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T02:30:15",
|
||||
"timestamp": "2026-04-22T03:00:24",
|
||||
"features": {
|
||||
"total": 36,
|
||||
"pass": 35
|
||||
@@ -13,7 +13,7 @@
|
||||
"score": 97.2,
|
||||
"log": [
|
||||
"=== UX AGENT v1.0 ===",
|
||||
"Time: 2026-04-22 02:30:02",
|
||||
"Time: 2026-04-22 03:00:01",
|
||||
" core: 4/4",
|
||||
" layout: 3/4",
|
||||
" interaction: 6/6",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-22T00:59:41+00:00",
|
||||
"ts": "2026-04-22T01:02:42+00:00",
|
||||
"summary": {
|
||||
"total_categories": 8,
|
||||
"total_kpis": 64,
|
||||
|
||||
BIN
generated/v30-00-landing.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
generated/v30-01-01-hi.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
generated/v30-02-02-onboard.png
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
generated/v30-03-03-calc.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
generated/v30-04-04-qr.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
generated/v30-05-05-image.png
Normal file
|
After Width: | Height: | Size: 760 KiB |
BIN
generated/v30-06-06-pdf-prem.png
Normal file
|
After Width: | Height: | Size: 172 KiB |
BIN
generated/v30-07-07-hd.png
Normal file
|
After Width: | Height: | Size: 738 KiB |
BIN
generated/v30-08-08-search.png
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
generated/v30-09-09-recall.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
generated/v30-10-10-mermaid.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
generated/v30-11-11-pptx.png
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
generated/v30-12-12-bilan.png
Normal file
|
After Width: | Height: | Size: 127 KiB |
BIN
generated/v30-99-final.png
Normal file
|
After Width: | Height: | Size: 127 KiB |
BIN
generated/wevia-v30-showcase-20260422-010446.webm
Normal file
BIN
screenshots/l99-pw-20260422-030005/12-v83-biz-kpi-dashboard.png
Normal file
|
After Width: | Height: | Size: 645 KiB |