auto-sync-1705
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
// V179 wevia-brand · user-visible strings use WEVIA Vision only
|
||||
/**
|
||||
* ambre-early-doc-gen.php · v4 · 5 capabilities réelles
|
||||
* 1. File gen pdf/docx/pptx via pandoc
|
||||
@@ -114,7 +115,7 @@ if (preg_match("/g[e\xc3\xa9\xc3\xa8\xc3\xaa]n[e\xc3\xa9\xc3\xa8\xc3\xaa]re?\s+(
|
||||
|
||||
header("Content-Type: application/json; charset=utf-8");
|
||||
echo json_encode([
|
||||
"response" => "\xf0\x9f\x8e\xa8 **$__topic**\n\n\xf0\x9f\x94\x97 T\xc3\xa9l\xc3\xa9charger: $__url\n\xf0\x9f\x93\xa6 Taille: {$__size_kb}KB \xc2\xb7 \xe2\x9a\x99\xef\xb8\x8f {$__elapsed}ms \xc2\xb7 engine: $__provider ($__quality)",
|
||||
"response" => "\xf0\x9f\x8e\xa8 **$__topic**\n\n\xf0\x9f\x94\x97 T\xc3\xa9l\xc3\xa9charger: $__url\n\xf0\x9f\x93\xa6 Taille: {$__size_kb}KB \xc2\xb7 \xe2\x9a\x99\xef\xb8\x8f {$__elapsed}ms \xc2\xb7 engine: $__provider",
|
||||
"executed" => true,
|
||||
"provider" => "ambre-doc-gen-v5",
|
||||
"intent" => "image_real_cascade",
|
||||
@@ -129,7 +130,7 @@ if (preg_match("/g[e\xc3\xa9\xc3\xa8\xc3\xaa]n[e\xc3\xa9\xc3\xa8\xc3\xaa]re?\s+(
|
||||
// Return an informative error to widget rather than fake SVG
|
||||
header("Content-Type: application/json; charset=utf-8");
|
||||
echo json_encode([
|
||||
"response" => "\xe2\x9a\xa0\xef\xb8\x8f G\xc3\xa9n\xc3\xa9ration d\"image temporairement indisponible pour: $__topic. Tous les providers (Gemini 3 Pro, Qwen-Image, Pollinations) ont \xc3\xa9chou\xc3\xa9. R\xc3\xa9essayez dans quelques instants.",
|
||||
"response" => "\xe2\x9a\xa0\xef\xb8\x8f G\xc3\xa9n\xc3\xa9ration d\"image temporairement indisponible pour: $__topic. WEVIA Vision temporairement indisponible. Les providers internes ont \xc3\xa9chou\xc3\xa9. R\xc3\xa9essayez dans quelques instants.",
|
||||
"executed" => true,
|
||||
"provider" => "ambre-doc-gen-v5",
|
||||
"intent" => "image_cascade_failed",
|
||||
|
||||
55
api/ambre-pw-tests/v179_vid.js
Normal file
55
api/ambre-pw-tests/v179_vid.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const { chromium } = require('playwright');
|
||||
const fs = require('fs');
|
||||
(async () => {
|
||||
const browser = await chromium.launch({ headless: true, args: ['--no-sandbox'] });
|
||||
const ctx = await browser.newContext({
|
||||
ignoreHTTPSErrors: true,
|
||||
viewport: {width: 1440, height: 900},
|
||||
recordVideo: { dir: '/tmp/v179-video/', size: {width: 1440, height: 900} }
|
||||
});
|
||||
const page = await ctx.newPage();
|
||||
|
||||
await page.goto('https://weval-consulting.com/wevia.html?cb=' + Date.now(), { waitUntil: 'networkidle' });
|
||||
await page.waitForTimeout(2500);
|
||||
|
||||
const input = await page.locator('#msgInput').first();
|
||||
await input.click({force: true});
|
||||
await input.fill('Genere une image decrivant: logo WEVIA premium');
|
||||
await input.press('Enter');
|
||||
console.log('SENT');
|
||||
|
||||
for (let i=0; i<20; i++) {
|
||||
await page.waitForTimeout(2500);
|
||||
const state = await page.evaluate(() => {
|
||||
const bodyText = document.body.innerText;
|
||||
return {
|
||||
phases: document.querySelectorAll('.ambre-phase').length,
|
||||
hasLink: !!document.querySelector('a[href*="/generated/"]'),
|
||||
hasImg: !!document.querySelector('img[src*="/generated/"]'),
|
||||
mentionsGemini: /Gemini/i.test(bodyText),
|
||||
mentionsQwen: /Qwen/i.test(bodyText),
|
||||
mentionsPollinations: /Pollinations/i.test(bodyText),
|
||||
mentionsWEVIAVision: /WEVIA Vision/i.test(bodyText),
|
||||
busy: !!document.getElementById('sendBtn')?.disabled,
|
||||
};
|
||||
});
|
||||
console.log(`t+${(i+1)*2.5}s:`, JSON.stringify(state));
|
||||
if (!state.busy && state.phases >= 4 && state.hasLink) break;
|
||||
}
|
||||
|
||||
await page.evaluate(() => {
|
||||
const link = document.querySelector('a[href*="/generated/"]');
|
||||
if (link) link.scrollIntoView({block: 'center'});
|
||||
});
|
||||
await page.waitForTimeout(2000);
|
||||
await page.screenshot({ path: '/tmp/v179-final.png', fullPage: true });
|
||||
|
||||
await ctx.close();
|
||||
await browser.close();
|
||||
|
||||
const videos = fs.readdirSync('/tmp/v179-video/');
|
||||
if (videos.length > 0) {
|
||||
fs.renameSync('/tmp/v179-video/' + videos[0], '/tmp/v179-wevia-brand.webm');
|
||||
console.log('Video saved:', (fs.statSync('/tmp/v179-wevia-brand.webm').size/1024/1024).toFixed(1), 'MB');
|
||||
}
|
||||
})();
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
// V179 wevia-brand · all providers masked as WEVIA Vision · internal_engine kept for debug
|
||||
/**
|
||||
* V176 · ambre-tool-image.php · Upgraded with quality cascade
|
||||
* Yacine: "IMAGE POURRI MET A LOUVER QWEN IMAGE POUR AMELOIRER"
|
||||
@@ -70,7 +71,7 @@ if ($GEMINI_KEY) {
|
||||
if (isset($p["inlineData"]["data"])) {
|
||||
$mime = $p["inlineData"]["mimeType"] ?? "image/jpeg";
|
||||
$ext = strpos($mime, "png") !== false ? "png" : "jpg";
|
||||
$filename = "wevia-img-gemini-{$slug}-{$ts}-{$rand}.{$ext}";
|
||||
$filename = "wevia-img-vision-{$slug}-{$ts}-{$rand}.{$ext}";
|
||||
$path = "$dir/$filename";
|
||||
$img = base64_decode($p["inlineData"]["data"]);
|
||||
if ($img && strlen($img) > 5000) {
|
||||
@@ -81,9 +82,10 @@ if ($GEMINI_KEY) {
|
||||
"url" => "https://weval-consulting.com/generated/$filename",
|
||||
"size_kb" => round(strlen($img)/1024, 1),
|
||||
"elapsed_ms" => round((microtime(true)-$t0)*1000),
|
||||
"provider" => "Gemini 3 Pro Image Preview",
|
||||
"provider" => "WEVIA Vision (premium)",
|
||||
"quality" => "premium",
|
||||
"engine" => "gemini-3-pro",
|
||||
"engine" => "wevia-vision-v1",
|
||||
"internal_engine" => "gemini-3-pro",
|
||||
];
|
||||
}
|
||||
break;
|
||||
@@ -125,7 +127,7 @@ if (!$result && $ALIBABA_KEY) {
|
||||
if ($img_url) {
|
||||
$img = @file_get_contents($img_url);
|
||||
if ($img && strlen($img) > 5000) {
|
||||
$filename = "wevia-img-qwen-{$slug}-{$ts}-{$rand}.png";
|
||||
$filename = "wevia-img-vision-{$slug}-{$ts}-{$rand}.png";
|
||||
$path = "$dir/$filename";
|
||||
file_put_contents($path, $img);
|
||||
$result = [
|
||||
@@ -134,9 +136,10 @@ if (!$result && $ALIBABA_KEY) {
|
||||
"url" => "https://weval-consulting.com/generated/$filename",
|
||||
"size_kb" => round(strlen($img)/1024, 1),
|
||||
"elapsed_ms" => round((microtime(true)-$t0)*1000),
|
||||
"provider" => "Qwen-Image (Alibaba DashScope)",
|
||||
"provider" => "WEVIA Vision (premium)",
|
||||
"quality" => "premium",
|
||||
"engine" => "qwen-image",
|
||||
"engine" => "wevia-vision-v1",
|
||||
"internal_engine" => "qwen-image",
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -156,7 +159,7 @@ if (!$result) {
|
||||
$ctx2 = stream_context_create(["http"=>["timeout"=>30,"header"=>"User-Agent: WEVIA/2.0\r\n"]]);
|
||||
$img = @file_get_contents($flux_url, false, $ctx2);
|
||||
if ($img && strlen($img) > 5000) {
|
||||
$filename = "wevia-img-flux-{$slug}-{$ts}-{$rand}.jpg";
|
||||
$filename = "wevia-img-vision-{$slug}-{$ts}-{$rand}.jpg";
|
||||
$path = "$dir/$filename";
|
||||
file_put_contents($path, $img);
|
||||
$result = [
|
||||
@@ -165,9 +168,10 @@ if (!$result) {
|
||||
"url" => "https://weval-consulting.com/generated/$filename",
|
||||
"size_kb" => round(strlen($img)/1024, 1),
|
||||
"elapsed_ms" => round((microtime(true)-$t0)*1000),
|
||||
"provider" => "Pollinations flux (fallback)",
|
||||
"provider" => "WEVIA Vision (standard)",
|
||||
"quality" => "standard",
|
||||
"engine" => "pollinations-flux",
|
||||
"engine" => "wevia-vision-v1",
|
||||
"internal_engine" => "pollinations-flux",
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -180,7 +184,7 @@ if (!$result) {
|
||||
$ctx3 = stream_context_create(["http"=>["timeout"=>30,"header"=>"User-Agent: WEVIA/2.0\r\n"]]);
|
||||
$img = @file_get_contents($sana_url, false, $ctx3);
|
||||
if ($img && strlen($img) > 5000) {
|
||||
$filename = "wevia-img-sana-{$slug}-{$ts}-{$rand}.jpg";
|
||||
$filename = "wevia-img-vision-{$slug}-{$ts}-{$rand}.jpg";
|
||||
$path = "$dir/$filename";
|
||||
file_put_contents($path, $img);
|
||||
$result = [
|
||||
@@ -189,9 +193,10 @@ if (!$result) {
|
||||
"url" => "https://weval-consulting.com/generated/$filename",
|
||||
"size_kb" => round(strlen($img)/1024, 1),
|
||||
"elapsed_ms" => round((microtime(true)-$t0)*1000),
|
||||
"provider" => "WEVIA Image Engine (sana)",
|
||||
"provider" => "WEVIA Vision (basic)",
|
||||
"quality" => "basic",
|
||||
"engine" => "pollinations-sana",
|
||||
"engine" => "wevia-vision-v1",
|
||||
"internal_engine" => "pollinations-sana",
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T16:30:17",
|
||||
"timestamp": "2026-04-22T17:00:13",
|
||||
"features": {
|
||||
"total": 36,
|
||||
"pass": 35
|
||||
@@ -13,7 +13,7 @@
|
||||
"score": 97.2,
|
||||
"log": [
|
||||
"=== UX AGENT v1.0 ===",
|
||||
"Time: 2026-04-22 16:30:02",
|
||||
"Time: 2026-04-22 17:00:01",
|
||||
" core: 4/4",
|
||||
" layout: 3/4",
|
||||
" interaction: 6/6",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-22T14:59:52+00:00",
|
||||
"ts": "2026-04-22T15:04:44+00:00",
|
||||
"summary": {
|
||||
"total_categories": 8,
|
||||
"total_kpis": 64,
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 618 KiB |
BIN
generated/wevia-img-vision-test-final-20260422-150154-7d1e77.jpg
Normal file
BIN
generated/wevia-img-vision-test-final-20260422-150154-7d1e77.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 892 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 355 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 542 KiB |
52
proof-wave268.html
Normal file
52
proof-wave268.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head><meta charset="utf-8"><title>PROOF intents_pool</title>
|
||||
<style>body{font-family:monospace;background:#0b0d15;color:#10b981;padding:30px;font-size:14px}
|
||||
.box{background:#1e293b;padding:20px;border:2px solid #10b981;border-radius:10px;margin:10px 0}
|
||||
.key{color:#06b6d4;font-weight:700}
|
||||
.val{color:#fff}
|
||||
h1{color:#f59e0b}
|
||||
button{background:#10b981;color:#000;border:0;padding:12px 24px;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer}
|
||||
</style></head>
|
||||
<body>
|
||||
<h1>🏆 WAVE-268 PROOF TEST LIVE</h1>
|
||||
<p>Clique sur le bouton pour tester les 5 commandes directement dans cette page (pas de cache, pas d intermediaire).</p>
|
||||
<button onclick="runTests()">▶️ LANCER LES 5 TESTS LIVE</button>
|
||||
<div id="results"></div>
|
||||
<script>
|
||||
async function runTests() {
|
||||
const cmds = ["intents_pool", "quelle heure", "multiagent parallele: nonreg + l99 + git", "orchestrate en parallele: ping + nonreg", "cable un intent pour donner date quand on dit date_now. Commande: date"];
|
||||
const res = document.getElementById("results");
|
||||
res.innerHTML = "<div class=box>🔄 Running 5 tests via /api/wevia-autonomous.php...</div>";
|
||||
|
||||
for (const cmd of cmds) {
|
||||
const t0 = Date.now();
|
||||
try {
|
||||
const r = await fetch("/api/wevia-autonomous.php", {
|
||||
method: "POST",
|
||||
headers: {"Content-Type":"application/json"},
|
||||
body: JSON.stringify({message: cmd, session: "proof-" + Date.now()})
|
||||
});
|
||||
const txt = await r.text();
|
||||
let answer = "";
|
||||
let engine = "";
|
||||
for (const line of txt.split("
|
||||
")) {
|
||||
if (line.startsWith("data: ")) {
|
||||
try {
|
||||
const j = JSON.parse(line.substring(6));
|
||||
if (j.type === "answer" && j.text) { answer = j.text; engine = j.engine || ""; break; }
|
||||
} catch(e){}
|
||||
}
|
||||
}
|
||||
const elapsed = Date.now() - t0;
|
||||
const isFake = answer.toLowerCase().includes("intent shell reel") || answer.includes("Soutien technique");
|
||||
const status = isFake ? "❌ FAKE/FAIL" : "✅ REAL";
|
||||
res.innerHTML += `<div class="box"><span class="key">CMD:</span> <span class="val">${cmd}</span><br><span class="key">Status:</span> ${status}<br><span class="key">Engine:</span> ${engine}<br><span class="key">Time:</span> ${elapsed}ms<br><span class="key">Response:</span><br><pre style="color:#fff;white-space:pre-wrap">${answer.substring(0,600).replace(/</g,"<")}</pre></div>`;
|
||||
} catch(e) {
|
||||
res.innerHTML += `<div class=box style="border-color:#ef4444">❌ ERR: ${e.message}</div>`;
|
||||
}
|
||||
}
|
||||
res.innerHTML += "<div class=box>✅ Tests terminés · " + new Date().toLocaleString("fr-FR") + "</div>";
|
||||
}
|
||||
</script>
|
||||
</body></html>
|
||||
BIN
proofs/v179/v179-final.png
Normal file
BIN
proofs/v179/v179-final.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 362 KiB |
BIN
proofs/v179/v179-wevia-brand.webm
Normal file
BIN
proofs/v179/v179-wevia-brand.webm
Normal file
Binary file not shown.
Reference in New Issue
Block a user