V169 Opus wevia code-artifact-preview convergence autres Claudes - Yacine autre Claude handle mermaid Opus focus on PDF code React front artifact preview SSE memory apprentissage - state audit 8 generations tested PDF Premium Mermaid Image QR TTS Calc Web Search LIVE Code Agent no HTTP wrapper - cause racine SSE stream V5 pattern writes fullResponse to textContent not innerHTML artifact renderer scanAndAddButtons looks at pre code elements so code in LLM response never detected no preview buttons - V169 fix injected AFTER AMBRE-V5-MERMAID-RENDER wave-263 by autre Claude regex triple-backtick lang CODE pattern detection skip mermaid autre Claude handles wrap in pre code class language-LANG dark theme trigger window scanAndAddButtons add preview buttons supports html jsx react svg python bash sql etc - artifact renderer exists wevia-artifact-renderer.js openArtifact html mermaid svg jsx react preview new window buildArtifactContent embed inline iframe scanAndAddButtons auto-detect buttons - convergence wave-263 mermaid wave-265 banner wave-262 shield wave-261 leak fix - mon V169 additif complement mermaid - GOLD vault v169-code-artifact chattr discipline - NR 153 sur 153 L99 153 sur 153 preserved - doctrines 1 scan 3 GOLD 4 honnete 14 zero ecrasement additif 16 zero regression - wiki /opt/weval-ops/wiki/v169-code-artifact-preview
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"agent": "V45_Leads_Sync",
|
||||
"ts": "2026-04-22T11:00:04+02:00",
|
||||
"ts": "2026-04-22T11:10:03+02:00",
|
||||
"paperclip_total": 48,
|
||||
"active_customer": 4,
|
||||
"warm_prospect": 5,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-22T09:09:57+00:00",
|
||||
"ts": "2026-04-22T09:11:34+00:00",
|
||||
"summary": {
|
||||
"total_categories": 8,
|
||||
"total_kpis": 64,
|
||||
|
||||
29
wevia.html
29
wevia.html
@@ -1475,6 +1475,35 @@ function send() {
|
||||
}
|
||||
} catch(eMermaid) { console.warn('[V5-MERMAID-RENDER]', eMermaid); }
|
||||
// === END AMBRE-V5-MERMAID-RENDER ===
|
||||
// V169 code-artifact-preview · detect code blocks + wrap <pre><code> + trigger artifact renderer
|
||||
try {
|
||||
if (currentChunkEl && fullResponse) {
|
||||
var _v169_codeRegex = /```(\w+)?\s*\n?([\s\S]+?)```/g;
|
||||
var _v169_match;
|
||||
var _v169_hasCode = false;
|
||||
var _v169_html = fullResponse;
|
||||
while ((_v169_match = _v169_codeRegex.exec(fullResponse)) !== null) {
|
||||
var _v169_lang = (_v169_match[1] || "text").toLowerCase();
|
||||
// Skip mermaid (autre Claude handle)
|
||||
if (_v169_lang === "mermaid") continue;
|
||||
_v169_hasCode = true;
|
||||
var _v169_code = _v169_match[2].trim();
|
||||
var _v169_escaped = _v169_code.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
||||
var _v169_replacement = "<pre style=\"background:#1a1a2e;color:#e5e7eb;padding:14px;border-radius:8px;overflow-x:auto;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.5\"><code class=\"language-" + _v169_lang + "\">" + _v169_escaped + "</code></pre>";
|
||||
_v169_html = _v169_html.replace(_v169_match[0], _v169_replacement);
|
||||
}
|
||||
if (_v169_hasCode) {
|
||||
currentChunkEl.innerHTML = _v169_html;
|
||||
// Trigger artifact renderer scan
|
||||
setTimeout(function() {
|
||||
if (typeof window.scanAndAddButtons === "function") {
|
||||
window.scanAndAddButtons();
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
} catch(_v169_err) { console.warn("V169 code-artifact-preview err:", _v169_err); }
|
||||
// === END V169 code-artifact-preview ===
|
||||
// Format final response with link if present
|
||||
if (currentChunkEl && finalFileUrl) {
|
||||
var _u = finalFileUrl; var linkHtml = fullResponse.split(_u).join('<a href="'+_u+'" target="_blank" style="color:#2563eb;font-weight:600">'+finalFileUrl+'</a>');
|
||||
|
||||
Reference in New Issue
Block a user