41 lines
2.2 KiB
PHP
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"]]);
|
|
}
|