Skip to content

Commit 395f5e6

Browse files
authored
build(amazonq): remove standalone local context server (#5654)
funtionality is already being provided through Flare
1 parent 4dc770f commit 395f5e6

File tree

17 files changed

+102
-1615
lines changed

17 files changed

+102
-1615
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/startup/AmazonQStartupActivity.kt

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,20 @@ package software.aws.toolkits.jetbrains.services.amazonq.startup
66
import com.intellij.openapi.application.ApplicationManager
77
import com.intellij.openapi.application.runInEdt
88
import com.intellij.openapi.project.Project
9-
import com.intellij.openapi.project.waitForSmartMode
109
import com.intellij.openapi.startup.ProjectActivity
1110
import com.intellij.openapi.wm.ToolWindowManager
12-
import kotlinx.coroutines.TimeoutCancellationException
13-
import kotlinx.coroutines.delay
14-
import kotlinx.coroutines.time.withTimeout
15-
import software.aws.toolkits.core.utils.getLogger
16-
import software.aws.toolkits.core.utils.warn
1711
import software.aws.toolkits.jetbrains.core.credentials.AwsBearerTokenConnection
1812
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
1913
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
2014
import software.aws.toolkits.jetbrains.core.gettingstarted.emitUserState
2115
import software.aws.toolkits.jetbrains.services.amazonq.CodeWhispererFeatureConfigService
2216
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
2317
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
24-
import software.aws.toolkits.jetbrains.services.amazonq.project.ProjectContextController
2518
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindow
2619
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindowFactory
2720
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
2821
import software.aws.toolkits.jetbrains.services.cwc.inline.InlineChatController
2922
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
30-
import java.lang.management.ManagementFactory
31-
import java.time.Duration
3223
import java.util.concurrent.atomic.AtomicBoolean
3324

3425
class AmazonQStartupActivity : ProjectActivity {
@@ -58,39 +49,8 @@ class AmazonQStartupActivity : ProjectActivity {
5849
QRegionProfileManager.getInstance().validateProfile(project)
5950

6051
AmazonQLspService.getInstance(project)
61-
startLsp(project)
6252
if (runOnce.get()) return
6353
emitUserState(project)
6454
runOnce.set(true)
6555
}
66-
67-
private suspend fun startLsp(project: Project) {
68-
// Automatically start the project context LSP after some delay when average CPU load is below 30%.
69-
// The CPU load requirement is to avoid competing with native JetBrains indexing and other CPU expensive OS processes
70-
// In the future we will decouple LSP start and indexing start to let LSP perform other tasks.
71-
val startLspIndexingDuration = Duration.ofMinutes(30)
72-
project.waitForSmartMode()
73-
delay(30_000) // Wait for 30 seconds for systemLoadAverage to be more accurate
74-
try {
75-
withTimeout(startLspIndexingDuration) {
76-
while (true) {
77-
val cpuUsage = ManagementFactory.getOperatingSystemMXBean().systemLoadAverage
78-
if (cpuUsage > 0 && cpuUsage < 30) {
79-
ProjectContextController.getInstance(project = project)
80-
break
81-
} else {
82-
delay(60_000) // Wait for 60 seconds
83-
}
84-
}
85-
}
86-
} catch (e: TimeoutCancellationException) {
87-
LOG.warn { "Failed to start LSP server due to time out" }
88-
} catch (e: Exception) {
89-
LOG.warn { "Failed to start LSP server" }
90-
}
91-
}
92-
93-
companion object {
94-
private val LOG = getLogger<AmazonQStartupActivity>()
95-
}
9656
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/ChatController.kt

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import software.aws.toolkits.jetbrains.services.amazonq.messages.AmazonQMessage
4242
import software.aws.toolkits.jetbrains.services.amazonq.messages.MessagePublisher
4343
import software.aws.toolkits.jetbrains.services.amazonq.onboarding.OnboardingPageInteraction
4444
import software.aws.toolkits.jetbrains.services.amazonq.onboarding.OnboardingPageInteractionType
45-
import software.aws.toolkits.jetbrains.services.amazonq.project.ProjectContextController
4645
import software.aws.toolkits.jetbrains.services.amazonq.project.RelevantDocument
4746
import software.aws.toolkits.jetbrains.services.codewhisperer.settings.CodeWhispererConfigurable
4847
import software.aws.toolkits.jetbrains.services.cwc.InboundAppMessagesHandler
@@ -72,10 +71,8 @@ import software.aws.toolkits.jetbrains.services.cwc.messages.FocusType
7271
import software.aws.toolkits.jetbrains.services.cwc.messages.FollowUp
7372
import software.aws.toolkits.jetbrains.services.cwc.messages.IncomingCwcMessage
7473
import software.aws.toolkits.jetbrains.services.cwc.messages.OnboardingPageInteractionMessage
75-
import software.aws.toolkits.jetbrains.services.cwc.messages.OpenSettingsMessage
7674
import software.aws.toolkits.jetbrains.services.cwc.messages.QuickActionMessage
7775
import software.aws.toolkits.jetbrains.services.cwc.storage.ChatSessionStorage
78-
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
7976
import software.aws.toolkits.telemetry.CwsprChatCommandType
8077
import java.util.UUID
8178

@@ -127,24 +124,11 @@ class ChatController private constructor(
127124
}
128125

129126
override suspend fun processPromptChatMessage(message: IncomingCwcMessage.ChatPrompt) {
130-
var prompt = message.chatMessage
131-
var queryResult: List<RelevantDocument> = emptyList()
127+
val prompt = message.chatMessage
128+
val queryResult: List<RelevantDocument> = emptyList()
132129
val triggerId = UUID.randomUUID().toString()
133-
var shouldAddIndexInProgressMessage: Boolean = false
134-
var shouldUseWorkspaceContext: Boolean = false
135-
136-
if (prompt.contains("@workspace")) {
137-
if (CodeWhispererSettings.getInstance().isProjectContextEnabled()) {
138-
shouldUseWorkspaceContext = true
139-
prompt = prompt.replace("@workspace", "")
140-
val projectContextController = ProjectContextController.getInstance(context.project)
141-
queryResult = projectContextController.queryChat(prompt, timeout = null)
142-
if (!projectContextController.getProjectContextIndexComplete()) shouldAddIndexInProgressMessage = true
143-
logger.info { "project context relevant document count: ${queryResult.size}" }
144-
} else {
145-
sendOpenSettingsMessage(message.tabId)
146-
}
147-
}
130+
val shouldAddIndexInProgressMessage = false
131+
val shouldUseWorkspaceContext = false
148132

149133
handleChat(
150134
tabId = message.tabId,
@@ -467,13 +451,6 @@ class ChatController private constructor(
467451
messagePublisher.publish(message)
468452
}
469453

470-
private suspend fun sendOpenSettingsMessage(tabId: String) {
471-
val message = OpenSettingsMessage(
472-
tabId = tabId
473-
)
474-
messagePublisher.publish(message)
475-
}
476-
477454
private suspend fun sendStaticTextResponse(tabId: String, triggerId: String, response: StaticTextResponse) {
478455
val chatMessage = ChatMessage(
479456
tabId = tabId,

plugins/amazonq/chat/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/workspace/context/EncoderServerTest.kt

Lines changed: 0 additions & 43 deletions
This file was deleted.

plugins/amazonq/chat/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/workspace/context/ProjectContextControllerTest.kt

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)