'No message']); exit; } echo json_encode(callWithFailover($message, $input['provider'] ?? null)); break; case 'brain': echo json_encode(['status'=>'success','winners'=>getBrainWinners($input['isp'] ?? null),'configs'=>getBrainConfigs()]); break; case 'providers': $providers = getProviders(); echo json_encode(['status'=>'success','count'=>count($providers),'providers'=>array_map(fn($p)=>['name'=>$p['provider_name'],'model'=>$p['model'],'has_key'=>!empty($p['api_key'])],$providers)]); break; default: echo json_encode(['status'=>'success','engine'=>'hamid','actions'=>['chat','brain','providers']]); }