Skip to content

Commit f3fc127

Browse files
committed
added form to select one or multiple diffs and dynamically add to manifest
1 parent 24b94ed commit f3fc127

File tree

9 files changed

+148
-173
lines changed

9 files changed

+148
-173
lines changed

packages/core/src/amazonqGumby/chat/controller/controller.ts

Lines changed: 15 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,6 @@ export class GumbyController {
199199
// if previous transformation was already running, show correct message to user
200200
switch (this.sessionStorage.getSession().conversationState) {
201201
case ConversationState.JOB_SUBMITTED:
202-
this.messenger.sendAsyncEventProgress(
203-
message.tabID,
204-
true,
205-
undefined,
206-
GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
207-
)
208-
this.messenger.sendPatchDescriptionMessage(message.tabID)
209202
this.messenger.sendAsyncEventProgress(
210203
message.tabID,
211204
true,
@@ -359,12 +352,12 @@ export class GumbyController {
359352
case ButtonActions.CANCEL_SKIP_TESTS_FORM:
360353
this.messenger.sendJobFinishedMessage(message.tabID, CodeWhispererConstants.jobCancelledChatMessage)
361354
break
362-
// case ButtonActions.CONFIRM_SELECTIVE_TRANSFORMATION_FORM:
363-
// await this.handleSelectiveTransformationSelection(message)
364-
// break
365-
// case ButtonActions.CANCEL_SELECTIVE_TRANSFORMATION_FORM:
366-
// this.messenger.sendJobFinishedMessage(message.tabID, CodeWhispererConstants.jobCancelledChatMessage)
367-
// break
355+
case ButtonActions.CONFIRM_SELECTIVE_TRANSFORMATION_FORM:
356+
await this.handleOneOrMultipleDiffs(message)
357+
break
358+
case ButtonActions.CANCEL_SELECTIVE_TRANSFORMATION_FORM:
359+
this.messenger.sendJobFinishedMessage(message.tabID, CodeWhispererConstants.jobCancelledChatMessage)
360+
break
368361
case ButtonActions.CONFIRM_SQL_CONVERSION_TRANSFORMATION_FORM:
369362
await this.handleUserSQLConversionProjectSelection(message)
370363
break
@@ -373,13 +366,6 @@ export class GumbyController {
373366
break
374367
case ButtonActions.VIEW_TRANSFORMATION_HUB:
375368
await vscode.commands.executeCommand(GumbyCommands.FOCUS_TRANSFORMATION_HUB, CancelActionPositions.Chat)
376-
this.messenger.sendPatchDescriptionMessage(message.tabID)
377-
this.messenger.sendAsyncEventProgress(
378-
message.tabID,
379-
true,
380-
undefined,
381-
GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
382-
)
383369
this.messenger.sendJobSubmittedMessage(message.tabID)
384370
break
385371
case ButtonActions.STOP_TRANSFORMATION_JOB:
@@ -422,20 +408,19 @@ export class GumbyController {
422408
result: MetadataResult.Pass,
423409
})
424410
this.messenger.sendSkipTestsSelectionMessage(skipTestsSelection, message.tabID)
411+
await this.messenger.sendOneOrMultipleDiffsPrompt(message.tabID)
412+
}
413+
414+
private async handleOneOrMultipleDiffs(message: any) {
415+
const oneOrMultipleDiffsSelection = message.formSelectedValues['GumbyTransformOneOrMultipleDiffsForm']
416+
if (oneOrMultipleDiffsSelection === CodeWhispererConstants.multipleDiffsMessage) {
417+
transformByQState.setMultipleDiffs(true)
418+
}
419+
this.messenger.sendOneOrMultipleDiffsMessage(oneOrMultipleDiffsSelection, message.tabID)
425420
// perform local build
426421
await this.validateBuildWithPromptOnError(message)
427422
}
428423

429-
// private async handleSelectiveTransformationSelection(message: any) {
430-
// const selectiveTransformationSelection = message.formSelectedValues['GumbyTransformSelectiveTransformationForm']
431-
// if (selectiveTransformationSelection === CodeWhispererConstants.multipleDiffsMessage) {
432-
// //Dynamically add to zipmanifest
433-
// }
434-
// this.messenger.sendSelectiveTransformationMessage(selectiveTransformationSelection, message.tabID)
435-
// // perform local build
436-
// // await this.validateBuildWithPromptOnError(message)
437-
// }
438-
439424
private async handleUserLanguageUpgradeProjectChoice(message: any) {
440425
await telemetry.codeTransform_submitSelection.run(async () => {
441426
const pathToProject: string = message.formSelectedValues['GumbyTransformLanguageUpgradeProjectForm']
@@ -470,7 +455,6 @@ export class GumbyController {
470455
}
471456
await processLanguageUpgradeTransformFormInput(pathToProject, fromJDKVersion, toJDKVersion)
472457
await this.messenger.sendSkipTestsPrompt(message.tabID)
473-
// await this.messenger.sendSelectiveTransformationPrompt(message.tabID)
474458
})
475459
}
476460

@@ -491,13 +475,6 @@ export class GumbyController {
491475

492476
await processSQLConversionTransformFormInput(pathToProject, schema)
493477

494-
this.messenger.sendAsyncEventProgress(
495-
message.tabID,
496-
true,
497-
undefined,
498-
GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
499-
)
500-
this.messenger.sendPatchDescriptionMessage(message.tabID)
501478
this.messenger.sendAsyncEventProgress(
502479
message.tabID,
503480
true,
@@ -543,13 +520,6 @@ export class GumbyController {
543520
// give user a non-blocking warning if build file appears to contain absolute paths
544521
await parseBuildFile()
545522

546-
this.messenger.sendAsyncEventProgress(
547-
message.tabID,
548-
true,
549-
undefined,
550-
GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
551-
)
552-
this.messenger.sendPatchDescriptionMessage(message.tabID)
553523
this.messenger.sendAsyncEventProgress(
554524
message.tabID,
555525
true,
@@ -649,13 +619,6 @@ export class GumbyController {
649619

650620
private async HILDependencySelectionUploaded(data: { tabID: string }) {
651621
this.sessionStorage.getSession().conversationState = ConversationState.JOB_SUBMITTED
652-
this.messenger.sendPatchDescriptionMessage(data.tabID)
653-
this.messenger.sendAsyncEventProgress(
654-
data.tabID,
655-
true,
656-
undefined,
657-
GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
658-
)
659622
this.messenger.sendHILResumeMessage(data.tabID)
660623
}
661624

@@ -713,13 +676,6 @@ export class GumbyController {
713676
} else if (message.error instanceof JobStartError) {
714677
this.resetTransformationChatFlow()
715678
} else if (message.error instanceof TransformationPreBuildError) {
716-
this.messenger.sendPatchDescriptionMessage(message.tabID)
717-
this.messenger.sendAsyncEventProgress(
718-
message.tabID,
719-
true,
720-
undefined,
721-
GumbyNamedMessages.JOB_FAILED_IN_PRE_BUILD
722-
)
723679
this.messenger.sendJobSubmittedMessage(message.tabID, true)
724680
this.messenger.sendAsyncEventProgress(
725681
message.tabID,

packages/core/src/amazonqGumby/chat/controller/messenger/messenger.ts

Lines changed: 21 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -116,68 +116,68 @@ export class Messenger {
116116
this.dispatcher.sendAuthenticationUpdate(new AuthenticationUpdateMessage(gumbyEnabled, authenticatingTabIDs))
117117
}
118118

119-
public async sendSelectiveTransformationPrompt(tabID: string) {
119+
public async sendSkipTestsPrompt(tabID: string) {
120120
const formItems: ChatItemFormItem[] = []
121121
formItems.push({
122-
id: 'GumbyTransformSelectiveTransformationForm',
122+
id: 'GumbyTransformSkipTestsForm',
123123
type: 'select',
124-
title: CodeWhispererConstants.selectiveTransformationFormTitle,
124+
title: CodeWhispererConstants.skipUnitTestsFormTitle,
125125
mandatory: true,
126126
options: [
127127
{
128-
value: CodeWhispererConstants.oneDiffMessage,
129-
label: CodeWhispererConstants.oneDiffMessage,
128+
value: CodeWhispererConstants.runUnitTestsMessage,
129+
label: CodeWhispererConstants.runUnitTestsMessage,
130130
},
131131
{
132-
value: CodeWhispererConstants.multipleDiffsMessage,
133-
label: CodeWhispererConstants.multipleDiffsMessage,
132+
value: CodeWhispererConstants.skipUnitTestsMessage,
133+
label: CodeWhispererConstants.skipUnitTestsMessage,
134134
},
135135
],
136136
})
137137

138138
this.dispatcher.sendAsyncEventProgress(
139139
new AsyncEventProgressMessage(tabID, {
140140
inProgress: true,
141-
message: CodeWhispererConstants.selectiveTransformationFormMessage,
141+
message: CodeWhispererConstants.skipUnitTestsFormMessage,
142142
})
143143
)
144144

145145
this.dispatcher.sendChatPrompt(
146146
new ChatPrompt(
147147
{
148-
message: 'Proposed Changes Result',
148+
message: 'Q Code Transformation',
149149
formItems: formItems,
150150
},
151-
'TransformSelectiveTransformationForm',
151+
'TransformSkipTestsForm',
152152
tabID,
153153
false
154154
)
155155
)
156156
}
157157

158-
public async sendSkipTestsPrompt(tabID: string) {
158+
public async sendOneOrMultipleDiffsPrompt(tabID: string) {
159159
const formItems: ChatItemFormItem[] = []
160160
formItems.push({
161-
id: 'GumbyTransformSkipTestsForm',
161+
id: 'GumbyTransformOneOrMultipleDiffsForm',
162162
type: 'select',
163-
title: CodeWhispererConstants.skipUnitTestsFormTitle,
163+
title: CodeWhispererConstants.selectiveTransformationFormTitle,
164164
mandatory: true,
165165
options: [
166166
{
167-
value: CodeWhispererConstants.runUnitTestsMessage,
168-
label: CodeWhispererConstants.runUnitTestsMessage,
167+
value: CodeWhispererConstants.oneDiffMessage,
168+
label: CodeWhispererConstants.oneDiffMessage,
169169
},
170170
{
171-
value: CodeWhispererConstants.skipUnitTestsMessage,
172-
label: CodeWhispererConstants.skipUnitTestsMessage,
171+
value: CodeWhispererConstants.multipleDiffsMessage,
172+
label: CodeWhispererConstants.multipleDiffsMessage,
173173
},
174174
],
175175
})
176176

177177
this.dispatcher.sendAsyncEventProgress(
178178
new AsyncEventProgressMessage(tabID, {
179179
inProgress: true,
180-
message: CodeWhispererConstants.skipUnitTestsFormMessage,
180+
message: CodeWhispererConstants.userPatchDescriptionChatMessage,
181181
})
182182
)
183183

@@ -187,7 +187,7 @@ export class Messenger {
187187
message: 'Q Code Transformation',
188188
formItems: formItems,
189189
},
190-
'TransformSkipTestsForm',
190+
'TransformOneOrMultipleDiffsForm',
191191
tabID,
192192
false
193193
)
@@ -369,33 +369,6 @@ export class Messenger {
369369
)
370370
}
371371

372-
public sendPatchDescriptionMessage(
373-
tabID: string,
374-
message: string = CodeWhispererConstants.userPatchDescriptionChatMessage
375-
// messageID: string = GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE
376-
) {
377-
// const patchDescriptionChatMessage = new ChatMessage(
378-
// {
379-
// message,
380-
// messageType: 'ai-prompt',
381-
// messageId: messageID,
382-
// },
383-
// tabID
384-
// )
385-
this.dispatcher.sendAsyncEventProgress(
386-
new AsyncEventProgressMessage(tabID, {
387-
inProgress: true,
388-
message,
389-
})
390-
)
391-
this.dispatcher.sendAsyncEventProgress(
392-
new AsyncEventProgressMessage(tabID, {
393-
inProgress: false,
394-
message: undefined,
395-
})
396-
)
397-
}
398-
399372
public sendJobSubmittedMessage(
400373
tabID: string,
401374
disableJobActions: boolean = false,
@@ -640,8 +613,8 @@ export class Messenger {
640613
this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'ai-prompt' }, tabID))
641614
}
642615

643-
public sendSelectiveTransformationMessage(selectiveTransformationSelection: string, tabID: string) {
644-
const message = `Okay, I will create ${selectiveTransformationSelection.toLowerCase()} when building your project.`
616+
public sendOneOrMultipleDiffsMessage(selectiveTransformationSelection: string, tabID: string) {
617+
const message = `Okay, I will create ${selectiveTransformationSelection.toLowerCase()} when providing the proposed changes.`
645618
this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'ai-prompt' }, tabID))
646619
}
647620

@@ -759,13 +732,6 @@ ${codeSnippet}
759732
undefined,
760733
GumbyNamedMessages.JOB_SUBMISSION_WITH_DEPENDENCY_STATUS_MESSAGE
761734
)
762-
this.sendPatchDescriptionMessage(tabID)
763-
this.sendAsyncEventProgress(
764-
tabID,
765-
true,
766-
undefined,
767-
GumbyNamedMessages.JOB_SUBMISSION_WITH_DEPENDENCY_STATUS_MESSAGE
768-
)
769735
this.sendJobSubmittedMessage(
770736
tabID,
771737
false,

packages/core/src/amazonqGumby/chat/controller/messenger/messengerUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ export enum ButtonActions {
1818
CANCEL_TRANSFORMATION_FORM = 'gumbyTransformFormCancel', // shared between Language Upgrade & SQL Conversion
1919
CONFIRM_SKIP_TESTS_FORM = 'gumbyTransformSkipTestsFormConfirm',
2020
CANCEL_SKIP_TESTS_FORM = 'gumbyTransformSkipTestsFormCancel',
21-
CONFIRM_SELECTIVE_TRANSFORMATION_FORM = 'gumbyTransformSelectiveTransformationFormConfirm',
22-
CANCEL_SELECTIVE_TRANSFORMATION_FORM = 'gumbyTransformSelectiveTransformationFormCancel',
21+
CONFIRM_SELECTIVE_TRANSFORMATION_FORM = 'gumbyTransformOneOrMultipleDiffsFormConfirm',
22+
CANCEL_SELECTIVE_TRANSFORMATION_FORM = 'gumbyTransformOneOrMultipleDiffsFormCancel',
2323
SELECT_SQL_CONVERSION_METADATA_FILE = 'gumbySQLConversionMetadataTransformFormConfirm',
2424
CONFIRM_DEPENDENCY_FORM = 'gumbyTransformDependencyFormConfirm',
2525
CANCEL_DEPENDENCY_FORM = 'gumbyTransformDependencyFormCancel',

packages/core/src/codewhisperer/client/codewhisperer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface CodeWhispererConfig {
3232

3333
export const defaultServiceConfig: CodeWhispererConfig = {
3434
region: 'us-east-1',
35-
endpoint: 'https://codewhisperer.us-east-1.amazonaws.com/',
35+
endpoint: 'https://rts.alpha-us-west-2.codewhisperer.ai.aws.dev/',
3636
}
3737

3838
export function getCodewhispererConfig(): CodeWhispererConfig {

packages/core/src/codewhisperer/commands/startTransformByQ.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -774,10 +774,11 @@ export async function postTransformationJob() {
774774
}
775775

776776
let chatMessage = transformByQState.getJobFailureErrorChatMessage()
777+
const diffMessage = CodeWhispererConstants.diffMessage(transformByQState.getMultipleDiffs())
777778
if (transformByQState.isSucceeded()) {
778-
chatMessage = CodeWhispererConstants.jobCompletedChatMessage
779+
chatMessage = CodeWhispererConstants.jobCompletedChatMessage(diffMessage)
779780
} else if (transformByQState.isPartiallySucceeded()) {
780-
chatMessage = CodeWhispererConstants.jobPartiallyCompletedChatMessage
781+
chatMessage = CodeWhispererConstants.jobPartiallyCompletedChatMessage(diffMessage)
781782
}
782783

783784
transformByQState.getChatControllers()?.transformationFinished.fire({
@@ -807,11 +808,11 @@ export async function postTransformationJob() {
807808
}
808809

809810
if (transformByQState.isSucceeded()) {
810-
void vscode.window.showInformationMessage(CodeWhispererConstants.jobCompletedNotification)
811+
void vscode.window.showInformationMessage(CodeWhispererConstants.jobCompletedNotification(diffMessage))
811812
} else if (transformByQState.isPartiallySucceeded()) {
812813
void vscode.window
813814
.showInformationMessage(
814-
CodeWhispererConstants.jobPartiallyCompletedNotification,
815+
CodeWhispererConstants.jobPartiallyCompletedNotification(diffMessage),
815816
CodeWhispererConstants.amazonQFeedbackText
816817
)
817818
.then((choice) => {

0 commit comments

Comments
 (0)