diff --git a/src/sidebarProvider.ts b/src/sidebarProvider.ts index e83fc72..1a1cebb 100644 --- a/src/sidebarProvider.ts +++ b/src/sidebarProvider.ts @@ -999,6 +999,7 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn + @@ -1064,6 +1065,7 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn const fileInput = document.getElementById('fileInput'); const attachPreview = document.getElementById('attachPreview'); const agentSel = document.getElementById('agentSel'); + const editAgentBtn = document.getElementById('editAgentBtn'); const addAgentBtn = document.getElementById('addAgentBtn'); const agentConfigPanel = document.getElementById('agentConfigPanel'); const agentPrompt = document.getElementById('agentPrompt'); @@ -1073,6 +1075,7 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn let streamBody = null; let internetEnabled = false; let pendingFiles = []; + let editMode = false; function fmt(text) { return marked.parse(text || ''); } @@ -1277,15 +1280,24 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn agentSel.onchange = () => { if (agentSel.value !== 'none') { - agentConfigPanel.style.display = 'flex'; vscode.postMessage({ type: 'getAgentContent', path: agentSel.value }); + if (editMode) agentConfigPanel.style.display = 'flex'; } else { agentConfigPanel.style.display = 'none'; + editMode = false; + editAgentBtn.classList.remove('active'); agentPrompt.value = ''; negativePrompt.value = ''; } }; + editAgentBtn.onclick = () => { + if (agentSel.value === 'none') return; + editMode = !editMode; + editAgentBtn.classList.toggle('active', editMode); + agentConfigPanel.style.display = editMode ? 'flex' : 'none'; + }; + updateAgentBtn.onclick = () => { if (agentSel.value !== 'none') { vscode.postMessage({