Files
html/api/paperclip-agents-api.php
WEVIA 09c9dbcbcd
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Wave 114 auto
2026-04-13 22:38:09 +02:00

41 lines
2.2 KiB
PHP

<?php
header("Content-Type: application/json");
header("Access-Control-Allow-Origin: *");
$action=$_GET["action"]??"summary";
try{
$db=new PDO("pgsql:host=127.0.0.1;port=5432;dbname=paperclip","admin","admin123",[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC]);
}catch(Exception $e){echo json_encode(["ok"=>false,"error"=>"db"]);exit;}
if($action==="summary"){
$agents=(int)$db->query("SELECT COUNT(*) FROM agents")->fetchColumn();
$active=(int)$db->query("SELECT COUNT(*) FROM agents WHERE status='active'")->fetchColumn();
$skills=(int)$db->query("SELECT COUNT(*) FROM company_skills")->fetchColumn();
$issues=(int)$db->query("SELECT COUNT(*) FROM issues")->fetchColumn();
$projects=(int)$db->query("SELECT COUNT(*) FROM projects")->fetchColumn();
$goals=(int)$db->query("SELECT COUNT(*) FROM goals")->fetchColumn();
$routines=(int)$db->query("SELECT COUNT(*) FROM routines")->fetchColumn();
// Qdrant
$kb=@json_decode(@file_get_contents("http://localhost:6333/collections/wevia_kb"),true);
$sk=@json_decode(@file_get_contents("http://localhost:6333/collections/weval_skills"),true);
$lr=@json_decode(@file_get_contents("http://localhost:6333/collections/wevia_learnings"),true);
echo json_encode(["ok"=>true,
"agents"=>$agents,"agents_active"=>$active,
"skills"=>$skills,"issues"=>$issues,"projects"=>$projects,"goals"=>$goals,"routines"=>$routines,
"rag"=>["kb"=>$kb["result"]["points_count"]??0,"skills"=>$sk["result"]["points_count"]??0,"learnings"=>$lr["result"]["points_count"]??0]
]);
}elseif($action==="agents"){
$q=$_GET["q"]??"";$status=$_GET["status"]??"";
$w=[];$p=[];
if($q){$w[]="name ILIKE :q";$p[":q"]="%$q%";}
if($status){$w[]="status=:s";$p[":s"]=$status;}
$wh=$w?"WHERE ".implode(" AND ",$w):"";
$st=$db->prepare("SELECT name,status FROM agents $wh ORDER BY name LIMIT 50");
$st->execute($p);
echo json_encode(["ok"=>true,"agents"=>$st->fetchAll()]);
}elseif($action==="skills"){
$rows=$db->query("SELECT name FROM company_skills ORDER BY name LIMIT 100")->fetchAll();
echo json_encode(["ok"=>true,"skills"=>$rows,"total"=>(int)$db->query("SELECT COUNT(*) FROM company_skills")->fetchColumn()]);
}else{
echo json_encode(["ok"=>true,"actions"=>["summary","agents","skills"]]);
}