$type, 'text'=>$text, 'engine'=>$engine]) . "\n\n"; @ob_flush(); @flush(); exit; } } if (preg_match('/unlock\s+registry\s+opus.?arch|register.*opus.?arch.*tools?/i', $_oaa_m)) { $r = '/opt/wevia-brain/tool-registry-v2.json'; $info = ['size'=>@filesize($r), 'owner'=>@fileowner($r), 'perms'=>substr(sprintf('%o',fileperms($r)),-4), 'writable'=>is_writable($r)]; $out = @shell_exec('sudo chmod 664 '.escapeshellarg($r).' 2>&1; sudo chown www-data:www-data '.escapeshellarg($r).' 2>&1; stat -c "%a %U" '.escapeshellarg($r)); _oaa_sse('exec', 'Registry: '.json_encode($info).' | chmod: '.trim($out)); } if (preg_match('/install\s+whisper\.?cpp|whisper\.?cpp\s+install/i', $_oaa_m)) { $check = @shell_exec('ls -la /opt/whisper.cpp/main 2>&1 | head -1'); if (strpos($check, 'main') !== false && strpos($check, 'No such') === false) { _oaa_sse('exec', 'Already built: '.trim($check)); } $out = @shell_exec('timeout 60 bash -c "cd /opt && (test -d whisper.cpp || sudo git clone https://github.com/ggerganov/whisper.cpp.git) 2>&1 | tail -5" 2>&1'); _oaa_sse('exec', 'Whisper: '.substr($out,0,400)); } if (preg_match('/cree?\s+docker\s+sandbox\s+refactor|create\s+docker\s+sandbox/i', $_oaa_m)) { $exists = trim(@shell_exec('docker ps -a --filter name=refactor-sandbox --format "{{.Names}}:{{.Status}}" 2>&1')); if ($exists) _oaa_sse('exec', 'Exists: '.$exists); $out = @shell_exec('timeout 20 docker run -d --name refactor-sandbox -v /var/www/html:/code:ro php:8.2-cli tail -f /dev/null 2>&1'); _oaa_sse('exec', 'Created: '.substr($out,0,200)); } if (preg_match('/renouvelle\s+github\s+pat|github\s+pat\s+renouvelle|renew\s+github\s+token/i', $_oaa_m)) { $instr = "GitHub PAT Manual (2FA): 1.Chrome yacineutt 2.github.com/settings/tokens/new 3.WEVAL-S204-2026 repo+workflow+admin:org 90d 4.Copy 5.echo GITHUB_PAT=ghp_NEW>>/etc/weval/secrets.env"; @file_put_contents('/opt/wevads/vault/drafts/github-pat-renewal.md', $instr); _oaa_sse('exec', 'Instructions saved: '.$instr); } if (preg_match('/renouvelle\s+whatsapp\s+token|whatsapp\s+token\s+renouvelle|renew\s+whatsapp/i', $_oaa_m)) { $instr = "WhatsApp Manual (Meta 2FA): 1.business.facebook.com/settings/ 2.WhatsApp Business API 3.Generate token 4.Update WHATSAPP_TOKEN in secrets.env"; @file_put_contents('/opt/wevads/vault/drafts/whatsapp-token-renewal.md', $instr); _oaa_sse('exec', 'Instructions saved: '.$instr); } if (preg_match('/kaggle\s+fine.?tune\s+phase\s*5|trigger\s+kaggle\s+notebook\s+fine.?tune/i', $_oaa_m)) { $key = ''; foreach (@file('/etc/weval/secrets.env') ?: [] as $line) { if (preg_match('/^KAGGLE_API_KEY=(.+)$/', trim($line), $m)) { $key = trim(str_replace(['"',"'"], '', $m[1])); break; } } if (!$key) _oaa_sse('exec', 'Kaggle key missing in secrets.env'); $ch = curl_init('https://www.kaggle.com/api/v1/kernels/list?user=yace222&pageSize=10'); curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER=>true, CURLOPT_TIMEOUT=>10, CURLOPT_USERPWD=>$key]); $out = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); _oaa_sse('exec', 'Kaggle HTTP '.$code.': '.substr($out,0,300)); } if (preg_match('/drafts?\s+gmail\s+partenaires|gmail\s+drafts?\s+(vistex|huawei|kaouther)/i', $_oaa_m)) { $files = array_map('basename', glob('/opt/wevads/vault/drafts/email-*.md')); $has = false; foreach (@file('/etc/weval/secrets.env') ?: [] as $line) if (strpos($line,'GMAIL_OAUTH_TOKEN=')===0) { $has = true; break; } $msg = $has ? 'OAuth configured' : 'OAuth not configured'; _oaa_sse('exec', $msg.'. 3 drafts local: '.implode(', ',$files)); }