Files
html/api/orch-godmode.php
opus 7c547ff4ef
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
autopush
2026-04-18 14:21:19 +02:00

91 lines
4.1 KiB
PHP

<?php
// Godmode Multi-Agent Extension — 10 additional agents
// Standalone endpoint · additive · does NOT modify wevia-autonomous.php
// Session D94-godmode · 18-avr-2026
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
header("X-Accel-Buffering: no");
@ob_end_flush(); @flush();
$k = $_GET["k"] ?? $_POST["k"] ?? "";
if ($k !== "GODMODE2026") { echo "data: {\"err\":\"auth\"}\n\n"; flush(); exit; }
function emit($type, $engine, $text) {
echo "data: " . json_encode(["type"=>$type,"engine"=>$engine,"text"=>$text,"intent"=>"godmode"], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) . "\n\n";
@ob_flush(); @flush();
}
$AGENTS = [
"deliverability" => function(){
$p = @shell_exec("systemctl is-active pmta postfix 2>&1 | tr \"\n\" \",\"");
$q = @shell_exec("pmta show queues 2>&1 | head -3 || echo no_pmta_cli");
return "MTA status: ".trim($p ?: "unknown")." | Queue: ".trim($q ?: "n/a");
},
"office_tenants" => function(){
$n = @shell_exec("PGPASSWORD=admin123 psql -h 10.1.0.3 -U admin -d adx_system -t -c \"SELECT COUNT(*) FROM graph_accounts WHERE status=\\x27active\\x27\" 2>/dev/null | tr -d \" \n\"");
return "Azure AD active graph accounts: " . ($n ?: "db_unreachable");
},
"tokens_health" => function(){
$s = @file_get_contents("/etc/weval/secrets.env");
if (!$s) return "secrets.env not readable";
preg_match_all("/^([A-Z_]+)=/m", $s, $m);
return "secrets.env: " . count($m[1]) . " keys · " . substr(implode(",", array_slice($m[1],0,8)), 0, 120);
},
"qdrant_vault" => function(){
$r = @file_get_contents("http://127.0.0.1:6333/collections");
if(!$r) return "qdrant unreachable";
$d = @json_decode($r, true);
$cols = $d["result"]["collections"] ?? [];
return "Qdrant: " . count($cols) . " collections · " . implode(",", array_map(function($c){return $c["name"];}, $cols));
},
"blade_status" => function(){
$r = @file_get_contents("http://10.1.0.3:5890/?ping", false, stream_context_create(["http"=>["timeout"=>3]]));
$sentinel = $r ? "UP" : "DOWN";
$blade_tasks = @glob("/var/www/html/api/blade-tasks/*.json");
return "Sentinel-lite: $sentinel · Blade tasks queued: " . count($blade_tasks ?: []);
},
"paperclip_agents" => function(){
$n = @shell_exec("PGPASSWORD=admin123 psql -h 127.0.0.1 -U admin -d paperclip -t -c \"SELECT COUNT(*) FROM agents\" 2>/dev/null | tr -d \" \n\"");
return "Paperclip agents: " . ($n ?: "db_unreachable");
},
"superclaude_skills" => function(){
$n = @shell_exec("find /opt/SuperClaude_Framework -name \"*.md\" 2>/dev/null | wc -l");
return "SuperClaude skills: " . trim($n ?: "0");
},
"creative_engine" => function(){
$f = "/var/www/html/api/wevia-creative-engine.php";
if (!file_exists($f)) return "creative engine: not found";
$c = @file_get_contents($f);
preg_match_all("/preg_match\\(/", $c, $m);
return "creative engine: " . strlen($c) . "B · " . count($m[0]) . " intent patterns";
},
"dataset_pairs" => function(){
$f = "/opt/weval-l99/dataset-ft.jsonl";
if (!file_exists($f)) return "dataset: missing";
$n = @shell_exec("wc -l < $f 2>/dev/null | tr -d \" \n\"");
return "FT dataset pairs: " . ($n ?: "unknown");
},
"doctrine_count" => function(){
$a = @shell_exec("ls /opt/wevads/vault/doctrines/*.md 2>/dev/null | wc -l | tr -d \" \n\"");
$b = @shell_exec("ls /var/www/html/wiki/doctrine*.md 2>/dev/null | wc -l | tr -d \" \n\"");
$h = @shell_exec("ls /var/www/html/wiki/doctrine*.html 2>/dev/null | wc -l | tr -d \" \n\"");
return "doctrines: vault_md=$a wiki_md=$b wiki_html=$h";
},
];
emit("answer", "Orchestrator/plan", "### godmode plan\n10 new agents parallel: " . implode(", ", array_keys($AGENTS)));
foreach ($AGENTS as $name => $fn) {
try {
$t0 = microtime(true);
$r = $fn();
$ms = intval((microtime(true) - $t0) * 1000);
emit("answer", "Orchestrator/$name", "### $name [{$ms}ms]\n$r");
} catch (Throwable $e) {
emit("answer", "Orchestrator/$name", "### $name\nERR: " . $e->getMessage());
}
}
emit("done", "Orchestrator/summary", "godmode 10/10 agents executed");
echo "data: [DONE]\n\n";
flush();