Files
html/api/ambre-wire-reg2.php

44 lines
2.5 KiB
PHP

<?php
header("Content-Type: application/json");
$path = "/var/www/html/api/wevia-tool-registry.json";
// Unlock
@shell_exec("chattr -i $path 2>&1");
$content = @file_get_contents($path);
$data = @json_decode($content, true);
$existing_ids = array_map(function($t){return $t["id"]??"";}, $data["tools"]);
$new_tools = [
["id"=>"pdf_premium_generator","kw"=>"pdf.*premium|rapport.*premium|pdf.*qualit|pdf.*graphique|pdf.*chart|premium.*pdf","cmd"=>"curl -sS -X POST http://127.0.0.1/api/ambre-tool-pdf-premium.php -H 'Content-Type: application/json' -d '{\"topic\":\"${TOPIC}\"}'","exec"=>true,"desc"=>"PDF Premium · Chart.js + google-chrome · 6 chart types","wave"=>229],
["id"=>"mermaid_generator_kb","kw"=>"mermaid|diagramme|flowchart|sequence.*diagram|gantt|schema.*mermaid|schema.*process","cmd"=>"curl -sS -X POST http://127.0.0.1/api/ambre-tool-mermaid.php -H 'Content-Type: application/json' -d '{\"topic\":\"${TOPIC}\"}'","exec"=>true,"desc"=>"Mermaid + Learning KB · RAG reuse + auto-save","wave"=>229],
["id"=>"mermaid_kb_search","kw"=>"mermaid.*search|recherche.*diagramme|find.*schema|catalog.*mermaid","cmd"=>"curl -sS -X POST http://127.0.0.1/api/ambre-mermaid-learn.php -H 'Content-Type: application/json' -d '{\"action\":\"search\",\"query\":\"${TOPIC}\"}'","exec"=>true,"desc"=>"Mermaid KB search","wave"=>229],
["id"=>"mermaid_kb_stats","kw"=>"mermaid.*stats|mermaid.*catalog.*count|kb.*stats","cmd"=>"curl -sS -X POST http://127.0.0.1/api/ambre-mermaid-learn.php -H 'Content-Type: application/json' -d '{\"action\":\"stats\"}'","exec"=>true,"desc"=>"Mermaid KB stats","wave"=>229],
["id"=>"llm_semaphore_stats","kw"=>"semaphore.*stat|llm.*load|llm.*semaphore|concurrent.*llm","cmd"=>"curl -sS http://127.0.0.1/api/ambre-llm-semaphore.php","exec"=>true,"desc"=>"LLM semaphore stats","wave"=>229],
];
$added = 0;
foreach ($new_tools as $nt) {
if (!in_array($nt["id"], $existing_ids)) {
$data["tools"][] = $nt;
$added++;
}
}
$data["opus_wave_229"] = ["ts"=>date("c"),"added"=>$added,"new_total"=>count($data["tools"])];
$json_out = json_encode($data, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
$backup = "/opt/wevads/vault/wevia-tool-registry.GOLD-" . date("Ymd-His") . "-wave229";
@copy($path, $backup);
$wrote = @file_put_contents($path, $json_out);
// Relock
@shell_exec("chattr +i $path 2>&1");
echo json_encode([
"added" => $added,
"new_total" => count($data["tools"]),
"wrote" => $wrote,
"backup" => basename($backup),
"is_locked_after" => trim(shell_exec("lsattr $path 2>&1 | awk '{print \$1}'")),
]);