diff --git a/packages/core/src/amazonqTest/chat/controller/controller.ts b/packages/core/src/amazonqTest/chat/controller/controller.ts index a7938575a9b..64f3e320d21 100644 --- a/packages/core/src/amazonqTest/chat/controller/controller.ts +++ b/packages/core/src/amazonqTest/chat/controller/controller.ts @@ -246,6 +246,7 @@ export class TestController { cwsprChatProgrammingLanguage: session.fileLanguage ?? 'plaintext', jobId: session.listOfTestGenerationJobId[0], // For RIV, UTG does only one StartTestGeneration API call jobGroup: session.testGenerationJobGroupName, + requestId: session.startTestGenerationRequestId, hasUserPromptSupplied: session.hasUserPromptSupplied, isCodeBlockSelected: session.isCodeBlockSelected, buildPayloadBytes: session.srcPayloadSize, @@ -725,6 +726,7 @@ export class TestController { cwsprChatProgrammingLanguage: session.fileLanguage ?? 'plaintext', jobId: session.listOfTestGenerationJobId[0], // For RIV, UTG does only one StartTestGeneration API call so jobId = session.listOfTestGenerationJobId[0] jobGroup: session.testGenerationJobGroupName, + requestId: session.startTestGenerationRequestId, buildPayloadBytes: session.srcPayloadSize, buildZipFileBytes: session.srcZipFileSize, artifactsUploadDuration: session.artifactsUploadDuration, @@ -848,6 +850,7 @@ export class TestController { cwsprChatProgrammingLanguage: session.fileLanguage ?? 'plaintext', jobId: session.listOfTestGenerationJobId[0], // For RIV, UTG does only one StartTestGeneration API call so jobId = session.listOfTestGenerationJobId[0] jobGroup: session.testGenerationJobGroupName, + requestId: session.startTestGenerationRequestId, buildPayloadBytes: session.srcPayloadSize, buildZipFileBytes: session.srcZipFileSize, artifactsUploadDuration: session.artifactsUploadDuration, diff --git a/packages/core/src/amazonqTest/chat/controller/messenger/messenger.ts b/packages/core/src/amazonqTest/chat/controller/messenger/messenger.ts index 6051a9b51ad..ee19b26cf42 100644 --- a/packages/core/src/amazonqTest/chat/controller/messenger/messenger.ts +++ b/packages/core/src/amazonqTest/chat/controller/messenger/messenger.ts @@ -187,7 +187,7 @@ export class Messenger { fileName: string ) { let message = '' - const messageId = response.$metadata.requestId ?? '' + let messageId = response.$metadata.requestId ?? '' let codeReference: CodeReference[] = [] if (response.generateAssistantResponseResponse === undefined) { @@ -267,6 +267,7 @@ export class Messenger { } if (requestID !== undefined) { + messageId = requestID message += `\n\nRequest ID: ${requestID}` } this.sendMessage(message.trim(), tabID, 'answer') @@ -282,6 +283,7 @@ export class Messenger { reasonDesc: getTelemetryReasonDesc(CodeWhispererConstants.unitTestGenerationCancelMessage), isSupportedLanguage: false, credentialStartUrl: AuthUtil.instance.startUrl, + requestId: messageId, }) this.dispatcher.sendUpdatePromptProgress( @@ -296,6 +298,7 @@ export class Messenger { result: 'Succeeded', isSupportedLanguage: false, credentialStartUrl: AuthUtil.instance.startUrl, + requestId: messageId, }) this.dispatcher.sendUpdatePromptProgress( new UpdatePromptProgressMessage(tabID, testGenCompletedField) diff --git a/packages/core/src/amazonqTest/chat/session/session.ts b/packages/core/src/amazonqTest/chat/session/session.ts index cd188c10c0f..cc20e0f6286 100644 --- a/packages/core/src/amazonqTest/chat/session/session.ts +++ b/packages/core/src/amazonqTest/chat/session/session.ts @@ -31,6 +31,7 @@ export class Session { //This is unique per each test generation cycle public testGenerationJobGroupName: string | undefined = undefined public listOfTestGenerationJobId: string[] = [] + public startTestGenerationRequestId: string | undefined = undefined public testGenerationJob: TestGenerationJob | undefined // Start Test generation diff --git a/packages/core/src/codewhisperer/service/testGenHandler.ts b/packages/core/src/codewhisperer/service/testGenHandler.ts index 218864ce256..7508af5e5cb 100644 --- a/packages/core/src/codewhisperer/service/testGenHandler.ts +++ b/packages/core/src/codewhisperer/service/testGenHandler.ts @@ -94,11 +94,13 @@ export async function createTestJob( logger.debug('target line range end: %O', firstTargetLineRangeList?.end) const resp = await codewhispererClient.codeWhispererClient.startTestGeneration(req).catch((err) => { + ChatSessionManager.Instance.getSession().startTestGenerationRequestId = err.requestId logger.error(`Failed creating test job. Request id: ${err.requestId}`) throw err }) logger.info('Unit test generation request id: %s', resp.$response.requestId) logger.debug('Unit test generation data: %O', resp.$response.data) + ChatSessionManager.Instance.getSession().startTestGenerationRequestId = resp.$response.requestId if (resp.$response.error) { logger.error('Unit test generation error: %O', resp.$response.error) }