diff --git a/package.json b/package.json index 91c5395..07339a7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "connect-ai-lab", "displayName": "Connect AI", "description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.", - "version": "1.0.21", + "version": "1.0.22", "publisher": "connectailab", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/extension.ts b/src/extension.ts index a6509f3..9a03ebd 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -887,8 +887,9 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { return report; } + // ============================================================ - // Webview HTML — Premium UI v2 (Zero External Dependencies) + // Webview HTML — CINEMATIC UI v3 (Content-Grade Visuals) // ============================================================ private _getHtml(): string { return ` @@ -897,83 +898,113 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
-'+esc(c)+''+esc(c)+''+esc(c)+''+esc(c)+''));
+ t=t.replace(/'+esc(c)+''+esc(c)+''+esc(c)+''+esc(c)+''));
t=esc(t);
- t=t.replace(new RegExp('\\\\*\\\\*([^*]+)\\\\*\\\\*', 'g'),'$1');
- t=t.replace(new RegExp('__B(\\\\d+)__', 'g'), (_,i)=>blocks[i]);
+ t=t.replace(/\\*\\*([^*]+)\\*\\*/g,'$1');
+ t=t.replace(/__B(\\d+)__/g, (_,i)=>blocks[i]);
return t;
}
function copyCode(btn){const code=btn.parentElement.querySelector('code');if(!code)return;navigator.clipboard.writeText(code.innerText).then(()=>{btn.textContent='\u2713 Copied';btn.classList.add('copied');setTimeout(()=>{btn.textContent='Copy';btn.classList.remove('copied')},1500)})}
@@ -1013,7 +1044,7 @@ function addMsg(text,role){
if(isUser){body.innerText=text}else{body.innerHTML=fmt(text)}
el.appendChild(head);el.appendChild(body);chat.appendChild(el);chat.scrollTop=chat.scrollHeight;
}
-function showLoader(){loader=document.createElement('div');loader.className='msg';loader.innerHTML='' + err.name + ': ' + err.message + '\\n' + err.stack + '
' + err.name + ': ' + err.message + '\\n' + err.stack + '