From ec53d158f0206861279accd39ee330c75e5578fe Mon Sep 17 00:00:00 2001 From: Jiatong Li Date: Thu, 15 May 2025 23:52:12 -0700 Subject: [PATCH] feat(amazonq): pass workspaceIdentifier when initializing AmazonQLanguageServer --- .../services/amazonq/lsp/AmazonQLspService.kt | 2 +- .../amazonq/lsp/model/ExtendedClientMetadata.kt | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) 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 59658c3a878..69c3b3c8939 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 @@ -244,7 +244,7 @@ private class AmazonQServerInstance(private val project: Project, private val cs capabilities = createClientCapabilities() clientInfo = createClientInfo() workspaceFolders = createWorkspaceFolders(project) - initializationOptions = createExtendedClientMetadata() + initializationOptions = createExtendedClientMetadata(project) } init { diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/ExtendedClientMetadata.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/ExtendedClientMetadata.kt index b25150c36bb..3f2c868c57d 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/ExtendedClientMetadata.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/ExtendedClientMetadata.kt @@ -3,6 +3,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.model +import com.intellij.openapi.project.Project import software.aws.toolkits.jetbrains.services.telemetry.ClientMetadata data class ExtendedClientMetadata( @@ -12,6 +13,7 @@ data class ExtendedClientMetadata( data class AwsMetadata( val clientInfo: ClientInfoMetadata, val awsClientCapabilities: AwsClientCapabilities, + val contextConfiguration: ContextConfiguration?, ) data class AwsClientCapabilities( @@ -34,7 +36,11 @@ data class ExtensionMetadata( val version: String, ) -fun createExtendedClientMetadata(): ExtendedClientMetadata { +data class ContextConfiguration( + val workspaceIdentifier: String?, +) + +fun createExtendedClientMetadata(project: Project): ExtendedClientMetadata { val metadata = ClientMetadata.getDefault() return ExtendedClientMetadata( aws = AwsMetadata( @@ -51,6 +57,9 @@ fun createExtendedClientMetadata(): ExtendedClientMetadata { q = DeveloperProfiles( developerProfiles = true ) + ), + contextConfiguration = ContextConfiguration( + workspaceIdentifier = project.getBasePath() ) ) )