Skip to content

Commit c90d0d0

Browse files
committed
fix(amazonq): update LSP client info name for sagemaker unified studio
1 parent 0fcd624 commit c90d0d0

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

packages/amazonq/src/lsp/client.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
import vscode, { env, version } from 'vscode'
6+
import vscode, { version } from 'vscode'
77
import * as nls from 'vscode-nls'
88
import { LanguageClient, LanguageClientOptions, RequestType, State } from 'vscode-languageclient'
99
import { InlineCompletionManager } from '../app/inline/completion'
@@ -37,6 +37,7 @@ import {
3737
getOptOutPreference,
3838
isAmazonLinux2,
3939
getClientId,
40+
getClientName,
4041
extensionVersion,
4142
isSageMaker,
4243
DevSettings,
@@ -161,7 +162,7 @@ export async function startLanguageServer(
161162
initializationOptions: {
162163
aws: {
163164
clientInfo: {
164-
name: env.appName,
165+
name: getClientName(),
165166
version: version,
166167
extension: {
167168
name: 'AmazonQ-For-VSCode',

packages/core/src/shared/extensionUtilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ function createCloud9Properties(company: string): IdeProperties {
150150
}
151151
}
152152

153-
function isSageMakerUnifiedStudio(): boolean {
153+
export function isSageMakerUnifiedStudio(): boolean {
154154
if (serviceName === notInitialized) {
155155
serviceName = process.env.SERVICE_NAME ?? ''
156156
isSMUS = serviceName === sageMakerUnifiedStudio

packages/core/src/shared/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export { Prompter } from './ui/prompter'
2727
export { VirtualFileSystem } from './virtualFilesystem'
2828
export { VirtualMemoryFile } from './virtualMemoryFile'
2929
export { AmazonqCreateUpload, Metric } from './telemetry/telemetry'
30-
export { getClientId, getOperatingSystem, getOptOutPreference } from './telemetry/util'
30+
export { getClientId, getClientName, getOperatingSystem, getOptOutPreference } from './telemetry/util'
3131
export { extensionVersion } from './vscode/env'
3232
export { cast } from './utilities/typeConstructors'
3333
export * as workspaceUtils from './utilities/workspaceUtils'

packages/core/src/shared/telemetry/util.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { mapMetadata, MetadataObj } from './telemetryLogger'
2323
import { Result } from './telemetry.gen'
2424
import { MetricDatum } from './clienttelemetry'
2525
import { isValidationExemptMetric } from './exemptMetrics'
26-
import { isAmazonQ, isCloud9, isSageMaker } from '../../shared/extensionUtilities'
26+
import { isAmazonQ, isCloud9, isSageMaker, isSageMakerUnifiedStudio } from '../../shared/extensionUtilities'
2727
import { isUuid, randomUUID } from '../crypto'
2828
import { ClassToInterfaceType } from '../utilities/tsUtils'
2929
import { asStringifiedStack, FunctionEntry } from './spans'
@@ -481,3 +481,15 @@ export function withTelemetryContext(opts: TelemetryContextArgs) {
481481
})
482482
}
483483
}
484+
485+
/**
486+
* Used to identify the q client info and send the respective origin parameter from LSP to invoke Maestro service at CW API level
487+
*
488+
* Returns default value of vscode appName or AmazonQ-For-SMUS-CE in case of a sagemaker unified studio environment
489+
*/
490+
export function getClientName() {
491+
if (isSageMaker() && isSageMakerUnifiedStudio()) {
492+
return 'AmazonQ-For-SMUS-CE'
493+
}
494+
return env.appName
495+
}

0 commit comments

Comments
 (0)