@@ -43,8 +43,6 @@ class ChatCommunicationManager(private val project: Project, private val cs: Cor
4343 private val inflightRequestByTabId = ConcurrentHashMap <String , CompletableFuture <String >>()
4444 private val pendingSerializedChatRequests = ConcurrentHashMap <String , CompletableFuture <GetSerializedChatResult >>()
4545 private val pendingTabRequests = ConcurrentHashMap <String , CompletableFuture <LSPAny >>()
46- private val partialResultLocks = ConcurrentHashMap <String , Any >()
47- private val finalResultProcessed = ConcurrentHashMap <String , Boolean >()
4846 private val openTabs = mutableSetOf<String >()
4947
5048 fun setUiReady () {
@@ -118,20 +116,6 @@ class ChatCommunicationManager(private val project: Project, private val cs: Cor
118116 fun removeTabOpenRequest (requestId : String ) =
119117 pendingTabRequests.remove(requestId)
120118
121- fun removePartialResultLock (token : String ) {
122- partialResultLocks.remove(token)
123- }
124-
125- fun removeFinalResultProcessed (token : String ) {
126- finalResultProcessed.remove(token)
127- }
128-
129- fun registerPartialResultToken (partialResultToken : String ) {
130- val lock = Any ()
131- partialResultLocks[partialResultToken] = lock
132- finalResultProcessed[partialResultToken] = false
133- }
134-
135119 fun handlePartialResultProgressNotification (project : Project , params : ProgressParams ) {
136120 val token = ProgressNotificationUtils .getToken(params)
137121 val tabId = getPartialChatMessage(token)
@@ -147,49 +131,13 @@ class ChatCommunicationManager(private val project: Project, private val cs: Cor
147131 val encryptedPartialChatResult = getObject(params, String ::class .java)
148132 if (encryptedPartialChatResult != null ) {
149133 val partialChatResult = AmazonQLspService .getInstance(project).encryptionManager.decrypt(encryptedPartialChatResult)
150-
151- // Special case: check for stop message before proceeding
152- val partialResultMap = tryOrNull {
153- Gson ().fromJson(partialChatResult, Map ::class .java)
154- }
155-
156- if (partialResultMap != null ) {
157- @Suppress(" UNCHECKED_CAST" )
158- val additionalMessages = partialResultMap[" additionalMessages" ] as ? List <Map <String , Any >>
159- if (additionalMessages != null ) {
160- for (message in additionalMessages) {
161- val messageId = message[" messageId" ] as ? String
162- if (messageId != null && messageId.startsWith(" stopped" )) {
163- // Process stop messages immediately
164- val uiMessage = convertToJsonToSendToChat(
165- command = SEND_CHAT_COMMAND_PROMPT ,
166- tabId = tabId,
167- params = partialChatResult,
168- isPartialResult = true
169- )
170- AsyncChatUiListener .notifyPartialMessageUpdate(project, uiMessage)
171- finalResultProcessed[token] = true
172- ChatAsyncResultManager .getInstance(project).setResult(token, partialResultMap)
173- return
174- }
175- }
176- }
177- }
178-
179- // Normal processing for non-stop messages
180- val lock = partialResultLocks[token] ? : return
181- synchronized(lock) {
182- if (finalResultProcessed[token] == true || partialResultLocks[token] == null ) {
183- return @synchronized
184- }
185- val uiMessage = convertToJsonToSendToChat(
186- command = SEND_CHAT_COMMAND_PROMPT ,
187- tabId = tabId,
188- params = partialChatResult,
189- isPartialResult = true
190- )
191- AsyncChatUiListener .notifyPartialMessageUpdate(project, uiMessage)
192- }
134+ val uiMessage = convertToJsonToSendToChat(
135+ command = SEND_CHAT_COMMAND_PROMPT ,
136+ tabId = tabId,
137+ params = partialChatResult,
138+ isPartialResult = true
139+ )
140+ AsyncChatUiListener .notifyPartialMessageUpdate(project, uiMessage)
193141 }
194142 }
195143
@@ -219,21 +167,6 @@ class ChatCommunicationManager(private val project: Project, private val cs: Cor
219167 return uiMessage
220168 }
221169
222- fun getCancellationUiMessage (tabId : String ): String {
223- // Create a minimal error params with empty error message to hide the stop button
224- // without showing an actual error message to the user
225- val errorParams = Gson ().toJson(ErrorParams (tabId, null , " " , " " )).toString()
226-
227- return """
228- {
229- "command":"$CHAT_ERROR_PARAMS ",
230- "tabId": "$tabId ",
231- "params": $errorParams ,
232- "isPartialResult": false
233- }
234- """ .trimIndent()
235- }
236-
237170 fun handleAuthFollowUpClicked (project : Project , params : AuthFollowUpClickedParams ) {
238171 val incomingType = params.authFollowupType
239172 val connectionManager = ToolkitConnectionManager .getInstance(project)
0 commit comments