diff --git a/src/extension.ts b/src/extension.ts index bc8231e..16442ef 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -953,6 +953,7 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { { label: `🧠 지식 λͺ¨λ“œ: ${statusLabel}`, description: '지식 기반 μ½”λ”© ON/OFF μ „ν™˜', action: 'toggle' }, { label: 'πŸ”„ 지식 μƒˆλ‘œκ³ μΉ¨', description: `ν˜„μž¬: ${secondBrainRepo?.split('/').pop() || 'μ—†μŒ'}`, action: 'resync' }, { label: 'πŸ”— λ‹€λ₯Έ κΉƒν—ˆλΈŒλ‘œ λ³€κ²½', description: 'μƒˆλ‘œμš΄ 지식 μ €μž₯μ†Œ URL μž…λ ₯', action: 'change' }, + { label: '❌ κΉƒν—ˆλΈŒ μ—°κ²° 끊기', description: '둜컬 지식을 μ‚­μ œν•˜κ³  μ—°κ²° ν•΄μ œ', action: 'disconnect' } ); } @@ -988,6 +989,20 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { vscode.window.showInformationMessage('βœ… μƒˆλ‘œμš΄ κΉƒν—ˆλΈŒ μ£Όμ†Œκ°€ μ €μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 동기화λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€!'); await this._syncSecondBrain(); break; + case 'disconnect': + const confirm = await vscode.window.showWarningMessage('μ •λ§λ‘œ Second Brain 연결을 끊고 λ‹€μš΄λ‘œλ“œλœ 지식을 λͺ¨λ‘ μ‚­μ œν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?', 'μ—°κ²° 끊기', 'μ·¨μ†Œ'); + if (confirm === 'μ—°κ²° 끊기') { + const dir = path.join(os.homedir(), '.connect-ai-brain'); + if (fs.existsSync(dir)) { + fs.rmSync(dir, { recursive: true, force: true }); + } + await vscode.workspace.getConfiguration('connectAiLab').update('secondBrainRepo', '', vscode.ConfigurationTarget.Global); + this._brainEnabled = false; + this._ctx.globalState.update('brainEnabled', false); + vscode.window.showInformationMessage('βœ… Second Brain 연결이 ν•΄μ œλ˜κ³  둜컬 지식이 μ‚­μ œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.'); + this._view.webview.postMessage({ type: 'response', value: `❌ **지식 무μž₯ ν•΄μ œ** β€” Second Brain 연결이 μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.` }); + } + break; } }