diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt index f9a6a207ebd..53323b638b2 100644 --- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt +++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt @@ -5,6 +5,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.toolwindow import com.intellij.idea.AppMode import com.intellij.openapi.Disposable +import com.intellij.openapi.components.service import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.ui.components.JBLoadingPanel @@ -19,7 +20,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import software.amazon.awssdk.utils.UserHomeDirectoryUtils import software.aws.toolkits.jetbrains.core.coroutines.EDT import software.aws.toolkits.jetbrains.isDeveloperMode import software.aws.toolkits.jetbrains.services.amazonq.apps.AmazonQAppInitContext @@ -27,6 +27,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.apps.AppConnection import software.aws.toolkits.jetbrains.services.amazonq.commands.MessageTypeRegistry import software.aws.toolkits.jetbrains.services.amazonq.isQSupportedInThisVersion import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService +import software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts.ArtifactManager import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AsyncChatUiListener import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.FlareUiMessage import software.aws.toolkits.jetbrains.services.amazonq.messages.AmazonQMessage @@ -43,7 +44,6 @@ import software.aws.toolkits.jetbrains.services.amazonqDoc.auth.isDocAvailable import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.auth.isFeatureDevAvailable import software.aws.toolkits.jetbrains.services.codemodernizer.utils.isCodeTransformAvailable import software.aws.toolkits.resources.message -import java.nio.file.Paths import java.util.concurrent.CompletableFuture import javax.swing.JButton @@ -116,7 +116,7 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di wrapper.setContent(loadingPanel) scope.launch { - val webUri = Paths.get(UserHomeDirectoryUtils.userHomeDirectory(), "amazonq-ui.js").toAbsolutePath().toUri() + val webUri = service().fetchArtifact(project).resolve("amazonq-ui.js").toUri() // wait for server to be running AmazonQLspService.getInstance(project).instanceFlow.first() diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspService.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspService.kt index 1f20fe7e265..28c28100f97 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspService.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspService.kt @@ -59,7 +59,6 @@ import org.eclipse.lsp4j.jsonrpc.json.JsonRpcMethod import org.eclipse.lsp4j.jsonrpc.messages.ResponseMessage import org.eclipse.lsp4j.launch.LSPLauncher import org.slf4j.event.Level -import software.amazon.awssdk.utils.UserHomeDirectoryUtils import software.aws.toolkits.core.utils.debug import software.aws.toolkits.core.utils.getLogger import software.aws.toolkits.core.utils.info @@ -95,7 +94,6 @@ import java.net.URI import java.nio.charset.StandardCharsets import java.nio.file.Files import java.nio.file.Path -import java.nio.file.Paths import java.util.concurrent.Future import java.util.concurrent.TimeUnit import kotlin.time.Duration.Companion.seconds @@ -393,7 +391,7 @@ private class AmazonQServerInstance(private val project: Project, private val cs val cmd = NodeExePatcher.patch(nodePath) .withParameters( - Paths.get(UserHomeDirectoryUtils.userHomeDirectory(), "aws-lsp-codewhisperer.js").toAbsolutePath().toString(), + LspSettings.getInstance().getArtifactPath() ?: artifact.resolve("aws-lsp-codewhisperer.js").toString(), "--stdio", "--set-credentials-encryption-key", ).withEnvironment(