$result['content'] ?? '', 'model' => $result['model'] ?? 'unknown', 'provider' => 'wevia-master-' . ($result['provider'] ?? 'unknown'), 'tier' => $result['tier'] ?? -1, 'latency_ms' => $result['latency_ms'] ?? 0, 'cost' => $result['cost'] ?? 0, 'source' => $result['source'] ?? 'master-router', 'rag_results' => count($result['routing']['rag']['results_count'] ?? []), // Compatible with existing chatbot format 'text' => $result['content'] ?? '', 'success' => !empty($result['content']), 'error' => empty($result['content']) ? 'No response from any provider' : null, ]; } /** * Quick test function */ function wevia_master_test($msg = 'Bonjour WEVIA') { return wevia_master_route($msg); } // If called directly as API if (basename($_SERVER['SCRIPT_FILENAME'] ?? '') === 'wevia-master-bridge.php') { header("Content-Type: application/json; charset=utf-8"); header("Access-Control-Allow-Origin: *"); if ($_SERVER["REQUEST_METHOD"] === "POST") { $input = json_decode(file_get_contents("php://input"), true); $msg = $input['message'] ?? $input['msg'] ?? ''; $sys = $input['system'] ?? ''; $hist = $input['history'] ?? []; if (empty(trim($msg))) { echo json_encode(['error' => 'message required']); exit; } echo json_encode(wevia_master_route($msg, $sys, $hist), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); } else { echo json_encode([ 'bridge' => 'WEVIA Master Bridge v1.0', 'usage' => 'POST with {"message":"your question"}', 'function' => 'wevia_master_route($message, $systemPrompt, $history)', ]); } }