From f4221ce59d55334bbfde44b7eacfaf95dd1f9f32 Mon Sep 17 00:00:00 2001 From: Yanis Mahboub Date: Thu, 16 Apr 2026 01:21:03 +0200 Subject: [PATCH] auto-opus-session-16avr --- wevia-dynamic-resolver.php | 5 +++ wevia-dynamic-resolver.php.GOLD-pre-opus | 44 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 wevia-dynamic-resolver.php.GOLD-pre-opus diff --git a/wevia-dynamic-resolver.php b/wevia-dynamic-resolver.php index f8f7d0d..dd10fbe 100644 --- a/wevia-dynamic-resolver.php +++ b/wevia-dynamic-resolver.php @@ -1,5 +1,10 @@ let LLM handle + $m_lower = mb_strtolower(trim($msg)); + if (mb_strlen($m_lower) > 60 && preg_match('/\b(redige|ecris|compose|prepare|formule|genere|propose|planifie|organise|convainc|argumente|resume|tradui|ameliore|rapport|email|lettre|message|strategie|plan|brainstorm)\b/iu', $m_lower)) { + return null; + } $registry = __DIR__ . '/wevia-tool-registry.json'; if (!file_exists($registry)) return null; $data = json_decode(file_get_contents($registry), true); diff --git a/wevia-dynamic-resolver.php.GOLD-pre-opus b/wevia-dynamic-resolver.php.GOLD-pre-opus new file mode 100644 index 0000000..f8f7d0d --- /dev/null +++ b/wevia-dynamic-resolver.php.GOLD-pre-opus @@ -0,0 +1,44 @@ + 0 && mb_strlen($msg_lower) > 60 && preg_match("/reconcil|diagnostic|bilan|test_global/", $tool["id"] ?? "")) $score += 1; if ($score > $best_score || ($score == $best_score && !empty($tool["cmd"]) && empty($best["cmd"]))) { + $best_score = $score; + $best = $tool; + } + } + if (!$best || $best_score < 3) return null; + $result = ''; + // EXEC with sudo + timeout 15s to avoid CF 520 + if (!empty($best['cmd'])) { + $result = shell_exec('sudo timeout 15 bash -c ' . escapeshellarg($best['cmd']) . ' 2>&1') ?? ''; + if (trim($result) === '') $result = '[timeout 15s] Commande lente. Essayez plus ciblé.'; + } elseif (strpos($best['api'] ?? '', 'GET:') === 0) { + $ctx = stream_context_create(['http' => ['timeout' => 4]]); + $result = @file_get_contents('http://127.0.0.1' . substr($best['api'], 4), false, $ctx) ?? ''; + } elseif (strpos($best['api'] ?? '', 'POST:') === 0) { + $ctx = stream_context_create(['http' => ['method' => 'POST', 'timeout' => 4]]); + $result = @file_get_contents('http://127.0.0.1' . substr($best['api'], 5), false, $ctx) ?? ''; + } + if (!$result) return ["provider"=>"dynamic-resolver","content"=>"[" . ($best["id"] ?? "tool") . "] pas de reponse (timeout ou service down)","tool"=>$best["id"]??"unknown"]; + return ['provider' => 'dynamic-resolver', 'content' => trim($result), 'tool' => $best['id'] ?? 'unknown']; +} +function wevia_dynamic_resolve($msg) { return wevia_resolve($msg); }