|
1 | 1 | package cc.unitmesh.devti.mcp.editor
|
2 | 2 |
|
3 | 3 | import cc.unitmesh.devti.AutoDevIcons
|
| 4 | +import cc.unitmesh.devti.AutoDevNotifications |
4 | 5 | import cc.unitmesh.devti.llm2.model.LlmConfig
|
5 | 6 | import cc.unitmesh.devti.llms.custom.CustomLLMProvider
|
6 | 7 | import cc.unitmesh.devti.mcp.ui.McpToolListPanel
|
@@ -31,7 +32,6 @@ import com.intellij.ui.dsl.builder.panel
|
31 | 32 | import com.intellij.util.ui.JBUI
|
32 | 33 | import com.intellij.util.ui.UIUtil
|
33 | 34 | import com.intellij.util.ui.components.BorderLayoutPanel
|
34 |
| -import io.modelcontextprotocol.kotlin.sdk.Tool |
35 | 35 | import kotlinx.coroutines.flow.Flow
|
36 | 36 | import kotlinx.coroutines.flow.MutableStateFlow
|
37 | 37 | import kotlinx.coroutines.flow.cancellable
|
@@ -228,15 +228,22 @@ open class McpPreviewEditor(
|
228 | 228 | config.enabledTools = allTools.map { it.value }.flatten().toMutableList()
|
229 | 229 | }
|
230 | 230 |
|
| 231 | + if (chatInput.text.isEmpty()) { |
| 232 | + AutoDevNotifications.warn(project, "Please enter a message to send.") |
| 233 | + return |
| 234 | + } |
| 235 | + |
231 | 236 | val llmConfig = LlmConfig.load().firstOrNull { it.name == chatbotSelector.selectedItem }
|
232 | 237 | ?: LlmConfig.default()
|
233 | 238 | val llmProvider = CustomLLMProvider(project, llmConfig)
|
234 | 239 | val message = chatInput.text.trim()
|
| 240 | + |
| 241 | + chatInput.text = "" |
| 242 | + |
235 | 243 | val result = StringBuilder()
|
236 | 244 | val systemPrompt = config.createSystemPrompt()
|
237 | 245 | val stream: Flow<String> = llmProvider.stream(message, systemPrompt = systemPrompt)
|
238 | 246 |
|
239 |
| - // Reset the resultPanel before setting new content |
240 | 247 | resultPanel.reset()
|
241 | 248 | resultPanel.setText("Loading response...")
|
242 | 249 | resultPanel.isVisible = true
|
|
0 commit comments