From 6081228a747bdb01f9527f1aff2d5f5bf858ab6b Mon Sep 17 00:00:00 2001 From: laileni Date: Mon, 15 Sep 2025 16:18:56 -0700 Subject: [PATCH 1/2] fix: removing the migration of /agents ux and unused code --- .../resources/META-INF/plugin-chat.xml | 8 +- .../codescan/CodeWhispererCodeScanManager.kt | 16 -- .../actions/CodeWhispererCodeScanRunAction.kt | 40 --- .../explorer/QStatusBarLoggedInActionGroup.kt | 2 - .../explorer/actions/ActionFactory.kt | 2 - .../ui/apps/amazonqCommonsConnector.ts | 12 - .../mynah-ui/ui/apps/codeTestChatConnector.ts | 9 +- .../src/mynah-ui/ui/apps/docChatConnector.ts | 16 +- .../ui/apps/featureDevChatConnector.ts | 35 +-- .../mynah-ui/src/mynah-ui/ui/connector.ts | 189 ++------------ .../src/mynah-ui/ui/followUps/generator.ts | 36 --- .../amazonq/mynah-ui/src/mynah-ui/ui/main.ts | 27 +- .../src/mynah-ui/ui/messages/controller.ts | 2 +- .../src/mynah-ui/ui/quickActions/generator.ts | 55 +--- .../src/mynah-ui/ui/quickActions/handler.ts | 242 ------------------ .../src/mynah-ui/ui/storages/tabsStorage.ts | 12 - .../src/mynah-ui/ui/tabs/generator.ts | 24 -- .../resources/MessagesBundle.properties | 2 - 18 files changed, 45 insertions(+), 684 deletions(-) delete mode 100644 plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/actions/CodeWhispererCodeScanRunAction.kt diff --git a/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml b/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml index 3a2a8813ff9..fb35971de2e 100644 --- a/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml +++ b/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml @@ -23,10 +23,10 @@ - - - - + + + + diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt index ef274683218..67041b24f92 100644 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt +++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt @@ -145,24 +145,8 @@ class CodeWhispererCodeScanManager(val project: Project, private val defaultScop */ fun isOnDemandScanInProgress(): Boolean = isOnDemandScanInProgress.get() - /** - * Code scan job is active when the [Job] is started and is in active state. - */ - fun isCodeScanJobActive(): Boolean = this::codeScanJob.isInitialized && codeScanJob.isActive && isOnDemandScanInProgress() - - fun getRunActionButtonIcon(): Icon = if (isOnDemandScanInProgress()) AllIcons.Process.Step_1 else AllIcons.Actions.Execute - fun getActionButtonIconForExplorerNode(): Icon = if (isOnDemandScanInProgress()) AllIcons.Actions.Suspend else AllIcons.Actions.Execute - fun getActionButtonText(): String = if (!isOnDemandScanInProgress()) { - message( - "codewhisperer.codescan.run_scan", - INACTIVE_TEXT_COLOR - ) - } else { - message("codewhisperer.codescan.stop_scan") - } - private fun isIgnoredIssueTitle(title: String) = getIgnoredIssueTitles().contains(title) fun isIgnoredIssue(title: String, document: Document, file: VirtualFile, startLine: Int) = isIgnoredIssueTitle(title) || diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/actions/CodeWhispererCodeScanRunAction.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/actions/CodeWhispererCodeScanRunAction.kt deleted file mode 100644 index c0a86ca2c4f..00000000000 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/actions/CodeWhispererCodeScanRunAction.kt +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -package software.aws.toolkits.jetbrains.services.codewhisperer.codescan.actions - -import com.intellij.icons.AllIcons -import com.intellij.openapi.actionSystem.ActionManager -import com.intellij.openapi.actionSystem.ActionUpdateThread -import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.impl.SimpleDataContext -import com.intellij.openapi.project.DumbAwareAction -import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.CodeWhispererCodeScanManager -import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.isCodeWhispererEnabled -import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererColorUtil.INACTIVE_TEXT_COLOR -import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.runScanKey -import software.aws.toolkits.resources.message - -class CodeWhispererCodeScanRunAction : DumbAwareAction( - message("codewhisperer.codescan.run_scan", INACTIVE_TEXT_COLOR), - null, - AllIcons.Actions.Execute -) { - override fun getActionUpdateThread() = ActionUpdateThread.BGT - - override fun update(event: AnActionEvent) { - val project = event.project ?: return - event.presentation.isEnabledAndVisible = isCodeWhispererEnabled(project) - val scanManager = CodeWhispererCodeScanManager.getInstance(project) - event.presentation.icon = scanManager.getRunActionButtonIcon() - } - - override fun actionPerformed(event: AnActionEvent) { - val dataContext = SimpleDataContext.builder() - .setParent(event.dataContext) - .add(runScanKey, true) - .build() - val actionEvent = AnActionEvent.createFromDataContext("", null, dataContext) - ActionManager.getInstance().getAction("q.openchat").actionPerformed(actionEvent) - } -} diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/QStatusBarLoggedInActionGroup.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/QStatusBarLoggedInActionGroup.kt index 53f6fe82b2d..b79eea1f6aa 100644 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/QStatusBarLoggedInActionGroup.kt +++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/QStatusBarLoggedInActionGroup.kt @@ -18,7 +18,6 @@ import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileMa import software.aws.toolkits.jetbrains.services.codewhisperer.actions.CodeWhispererConnectOnGithubAction import software.aws.toolkits.jetbrains.services.codewhisperer.actions.CodeWhispererLearnMoreAction import software.aws.toolkits.jetbrains.services.codewhisperer.actions.CodeWhispererProvideFeedbackAction -import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.actions.CodeWhispererCodeScanRunAction import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.actions.ActionProvider import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.actions.Customize import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.actions.Learn @@ -41,7 +40,6 @@ class QStatusBarLoggedInActionGroup : DefaultActionGroup() { override val customize = Customize() override val learn = Learn() override val openChatPanel = ActionManager.getInstance().getAction("q.openchat") - override val runScan = CodeWhispererCodeScanRunAction() override val pauseAutoScans = PauseCodeScans() override val resumeAutoScans = ResumeCodeScans() override val sendFeedback = CodeWhispererProvideFeedbackAction() diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/actions/ActionFactory.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/actions/ActionFactory.kt index 5a571722846..8364bf593b1 100644 --- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/actions/ActionFactory.kt +++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/actions/ActionFactory.kt @@ -20,7 +20,6 @@ interface ActionProvider { val openChatPanel: T val pauseAutoScans: T val resumeAutoScans: T - val runScan: T val sendFeedback: T val connectOnGithub: T val documentation: T @@ -53,7 +52,6 @@ fun buildActionListForCodeScan(project: Project, actionProvider: ActionProvi add(actionProvider.resumeAutoScans) } } - add(actionProvider.runScan) } fun buildActionListForOtherFeatures(project: Project, actionProvider: ActionProvider): List = diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/amazonqCommonsConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/amazonqCommonsConnector.ts index 9fb0d54c9a6..a22424baef1 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/amazonqCommonsConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/amazonqCommonsConnector.ts @@ -86,21 +86,9 @@ export class Connector { private processUserGuideLink(tabType: TabType, actionId: string) { let userGuideLink = '' switch (tabType) { - case 'codescan': - userGuideLink = codeScanUserGuide - break - case 'codetest': - userGuideLink = codeTestUserGuide - break case 'codetransform': userGuideLink = codeTransformUserGuide break - case 'doc': - userGuideLink = docUserGuide - break - case 'featuredev': - userGuideLink = featureDevUserGuide - break } // e.g. amazonq-explore-user-guide-featuredev diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/codeTestChatConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/codeTestChatConnector.ts index 53b16539f00..7fcbdcc541a 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/codeTestChatConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/codeTestChatConnector.ts @@ -1,14 +1,13 @@ -// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ import {ExtensionMessage} from "../commands"; import {ChatPayload, ConnectorProps} from "../connector"; import {FormButtonIds} from "../forms/constants"; import {ChatItem, ChatItemAction, ChatItemType, FeedbackPayload, MynahIcons, MynahUIDataModel} from '@aws/mynah-ui-chat' import {CodeReference} from "./amazonqCommonsConnector"; -import {Status} from "@aws/mynah-ui-chat/dist/static"; -import {EmptyMynahUIDataModel} from "@aws/mynah-ui-chat/dist/helper/store"; -import {doesNotMatch} from "node:assert"; export interface ICodeTestChatConnectorProps { sendMessageToExtension: (message: ExtensionMessage) => void diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts index a1547b5b835..8f31cf04629 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts @@ -243,12 +243,12 @@ export class Connector { canBeVoted: false, }) - this.onChatAnswerReceived(messageData.tabID, { - type: ChatItemType.SYSTEM_PROMPT, - body: undefined, - followUp: this.followUpGenerator.generateAuthFollowUps('doc', messageData.authType), - canBeVoted: false, - }) + // this.onChatAnswerReceived(messageData.tabID, { + // type: ChatItemType.SYSTEM_PROMPT, + // body: undefined, + // followUp: this.followUpGenerator.generateAuthFollowUps('doc', messageData.authType), + // canBeVoted: false, + // }) return } @@ -321,12 +321,12 @@ export class Connector { } if (messageData.type === 'authNeededException') { - this.processAuthNeededException(messageData) + // this.processAuthNeededException(messageData) return } if (messageData.type === 'openNewTabMessage') { - this.onNewTab('doc') + // this.onNewTab('doc') return } diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts index 3b1e44c5bfb..e60c9405812 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts @@ -50,7 +50,7 @@ export class Connector { private readonly chatInputEnabled private readonly onUpdateAuthentication private readonly followUpGenerator: FollowUpGenerator - private readonly onNewTab + // private readonly onNewTab private readonly onFileComponentUpdate constructor(props: ConnectorProps) { @@ -64,7 +64,7 @@ export class Connector { this.chatInputEnabled = props.onChatInputEnabled this.onUpdateAuthentication = props.onUpdateAuthentication this.followUpGenerator = new FollowUpGenerator() - this.onNewTab = props.onNewTab + // this.onNewTab = props.onNewTab this.onFileComponentUpdate = props.onFileComponentUpdate } @@ -173,27 +173,6 @@ export class Connector { } } - private processAuthNeededException = async (messageData: any): Promise => { - if (this.onChatAnswerReceived === undefined) { - return - } - - this.onChatAnswerReceived(messageData.tabID, { - type: ChatItemType.ANSWER, - body: messageData.message, - followUp: undefined, - canBeVoted: false, - }) - - this.onChatAnswerReceived(messageData.tabID, { - type: ChatItemType.SYSTEM_PROMPT, - body: undefined, - followUp: this.followUpGenerator.generateAuthFollowUps('featuredev', messageData.authType), - canBeVoted: false, - }) - - return - } private createAnswer = (messageData: any): ChatItem => { return { @@ -274,16 +253,6 @@ export class Connector { ) return } - - if (messageData.type === 'authNeededException') { - this.processAuthNeededException(messageData) - return - } - - if (messageData.type === 'openNewTabMessage') { - this.onNewTab('featuredev') - return - } } onStopChatResponse = (tabID: string): void => { diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts index 4efe2623646..e9c81ca4a8c 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts @@ -13,18 +13,18 @@ import { ChatPrompt, QuickActionCommand, } from '@aws/mynah-ui-chat' import { Connector as CWChatConnector } from './apps/cwChatConnector' -import { Connector as FeatureDevChatConnector } from './apps/featureDevChatConnector' -import { Connector as DocChatConnector } from './apps/docChatConnector' +// import { Connector as FeatureDevChatConnector } from './apps/featureDevChatConnector' +// import { Connector as DocChatConnector } from './apps/docChatConnector' import { Connector as AmazonQCommonsConnector } from './apps/amazonqCommonsConnector' import { ExtensionMessage } from './commands' import { TabType, TabsStorage } from './storages/tabsStorage' import { WelcomeFollowupType } from './apps/amazonqCommonsConnector' import { AuthFollowUpType } from './followUps/generator' import { CodeTransformChatConnector } from './apps/codeTransformChatConnector' -import { isFormButtonCodeTest, isFormButtonCodeScan, isFormButtonCodeTransform } from './forms/constants' +// import { isFormButtonCodeTest, isFormButtonCodeScan, isFormButtonCodeTransform } from './forms/constants' import { DiffTreeFileInfo } from './diffTree/types' -import { CodeScanChatConnector } from "./apps/codeScanChatConnector"; -import { CodeTestChatConnector } from './apps/codeTestChatConnector' +// import { CodeScanChatConnector } from "./apps/codeScanChatConnector"; +// import { CodeTestChatConnector } from './apps/codeTestChatConnector' export interface CodeReference { licenseName?: string @@ -101,11 +101,11 @@ export class Connector { private readonly sendMessageToExtension private readonly onMessageReceived private readonly cwChatConnector - private readonly featureDevChatConnector + // private readonly featureDevChatConnector private readonly codeTransformChatConnector: CodeTransformChatConnector - private readonly docChatConnector - private readonly codeScanChatConnector: CodeScanChatConnector - private readonly codeTestChatConnector: CodeTestChatConnector + // private readonly docChatConnector + // private readonly codeScanChatConnector: CodeScanChatConnector + // private readonly codeTestChatConnector: CodeTestChatConnector private readonly tabsStorage private readonly amazonqCommonsConnector: AmazonQCommonsConnector @@ -115,11 +115,11 @@ export class Connector { this.sendMessageToExtension = props.sendMessageToExtension this.onMessageReceived = props.onMessageReceived this.cwChatConnector = new CWChatConnector(props as ConnectorProps) - this.featureDevChatConnector = new FeatureDevChatConnector(props) + // this.featureDevChatConnector = new FeatureDevChatConnector(props) this.codeTransformChatConnector = new CodeTransformChatConnector(props) - this.docChatConnector = new DocChatConnector(props) - this.codeScanChatConnector = new CodeScanChatConnector(props) - this.codeTestChatConnector = new CodeTestChatConnector(props) + // this.docChatConnector = new DocChatConnector(props) + // this.codeScanChatConnector = new CodeScanChatConnector(props) + // this.codeTestChatConnector = new CodeTestChatConnector(props) this.amazonqCommonsConnector = new AmazonQCommonsConnector({ sendMessageToExtension: this.sendMessageToExtension, onWelcomeFollowUpClicked: props.onWelcomeFollowUpClicked, @@ -141,21 +141,9 @@ export class Connector { case 'cwc': this.cwChatConnector.onResponseBodyLinkClick(tabID, messageId, link) break - case 'featuredev': - this.featureDevChatConnector.onResponseBodyLinkClick(tabID, messageId, link) - break case 'codetransform': this.codeTransformChatConnector.onResponseBodyLinkClick(tabID, messageId, link) break - case 'codescan': - this.codeScanChatConnector.onResponseBodyLinkClick(tabID, messageId, link) - break - case 'codetest': - this.codeTestChatConnector.onResponseBodyLinkClick(tabID, messageId, link) - break - case 'doc': - this.docChatConnector.onResponseBodyLinkClick(tabID, messageId, link) - break } } @@ -171,8 +159,6 @@ export class Connector { switch (this.tabsStorage.getTab(tabID)?.type) { case 'codetransform': return this.codeTransformChatConnector.requestAnswer(tabID, payload) - case 'codetest': - return this.codeTestChatConnector.requestAnswer(tabID, payload) } } @@ -180,12 +166,6 @@ export class Connector { new Promise((resolve, reject) => { if (this.isUIReady) { switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.requestGenerativeAIAnswer(tabID, payload) - break - case 'doc': - this.docChatConnector.requestGenerativeAIAnswer(tabID, payload) - break default: this.cwChatConnector.requestGenerativeAIAnswer(tabID, payload) break @@ -204,12 +184,6 @@ export class Connector { case 'cwc': this.cwChatConnector.clearChat(tabID) break - case 'codetest': - this.codeTestChatConnector.clearChat(tabID) - break - case 'codescan': - this.codeScanChatConnector.clearChat(tabID) - break } } @@ -218,12 +192,6 @@ export class Connector { case 'cwc': this.cwChatConnector.help(tabID) break - case 'codetest': - this.codeTestChatConnector.help(tabID) - break - case 'codescan': - this.codeScanChatConnector.help(tabID) - break } } @@ -235,17 +203,17 @@ export class Connector { } } - scan = (tabID: string): void => { - switch (this.tabsStorage.getTab(tabID)?.type) { - default: - this.codeScanChatConnector.scan(tabID) - break - } - } + // scan = (tabID: string): void => { + // switch (this.tabsStorage.getTab(tabID)?.type) { + // default: + // this.codeScanChatConnector.scan(tabID) + // break + // } + // } - startTestGen = (tabID: string, prompt: string): void => { - this.codeTestChatConnector.startTestGen(tabID, prompt) - } + // startTestGen = (tabID: string, prompt: string): void => { + // this.codeTestChatConnector.startTestGen(tabID, prompt) + // } handleMessageReceive = async (message: MessageEvent): Promise => { if (message.data === undefined) { @@ -263,21 +231,9 @@ export class Connector { case 'CWChat': void this.cwChatConnector.handleMessageReceive(messageData) break - case 'featureDevChat': - void this.featureDevChatConnector.handleMessageReceive(messageData) - break case 'codetransform': void this.codeTransformChatConnector.handleMessageReceive(messageData) break - case 'docChat': - void this.docChatConnector.handleMessageReceive(messageData) - break - case 'codescan': - void this.codeScanChatConnector.handleMessageReceive(messageData) - break - case 'codetest': - void this.codeTestChatConnector.handleMessageReceive(messageData) - break default: break } @@ -303,21 +259,9 @@ export class Connector { onKnownTabOpen = (tabID: string): void => { switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.onTabOpen(tabID) - break case 'codetransform': this.codeTransformChatConnector.onTabOpen(tabID) break - case 'doc': - this.docChatConnector.onTabOpen(tabID) - break - case 'codescan': - this.codeScanChatConnector.onTabOpen(tabID) - break - case 'codetest': - this.codeTestChatConnector.onTabOpen(tabID) - break } } @@ -353,11 +297,6 @@ export class Connector { codeBlockLanguage ) break - case 'featuredev': - this.featureDevChatConnector.onCodeInsertToCursorPosition(tabID, code, type, codeReference) - break - case 'codetest': - this.codeTestChatConnector.onCodeInsertToCursorPosition(tabID, code, type, codeReference) } } @@ -388,9 +327,6 @@ export class Connector { codeBlockLanguage ) break - case 'featuredev': - this.featureDevChatConnector.onCopyCodeToClipboard(tabID, code, type, codeReference) - break } } @@ -401,21 +337,9 @@ export class Connector { case 'cwc': this.cwChatConnector.onTabRemove(tabID) break - case 'featuredev': - this.featureDevChatConnector.onTabRemove(tabID) - break case 'codetransform': this.codeTransformChatConnector.onTabRemove(tabID) break - case 'doc': - this.docChatConnector.onTabRemove(tabID) - break - case 'codescan': - this.codeScanChatConnector.onTabRemove(tabID) - break - case 'codetest': - this.codeTestChatConnector.onTabRemove(tabID) - break } } @@ -465,9 +389,6 @@ export class Connector { switch (tabType) { case 'codetransform': case 'cwc': - case 'doc': - case 'featuredev': - case 'codetest': this.amazonqCommonsConnector.authFollowUpClicked(tabID, tabType, authType) break } @@ -481,18 +402,9 @@ export class Connector { case 'unknown': this.amazonqCommonsConnector.followUpClicked(tabID, followUp) break - case 'featuredev': - this.featureDevChatConnector.followUpClicked(tabID, followUp) - break case 'codetransform': this.codeTransformChatConnector.followUpClicked(tabID, followUp) break - case 'doc': - this.docChatConnector.followUpClicked(tabID, followUp) - break - case 'codetest': - this.codeTestChatConnector.followUpClicked(tabID, followUp) - break default: this.cwChatConnector.followUpClicked(tabID, messageId, followUp) break @@ -500,43 +412,12 @@ export class Connector { } onFileActionClick = (tabID: string, messageId: string, filePath: string, actionName: string): void => { - switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.onFileActionClick(tabID, messageId, filePath, actionName) - break - case 'doc': - this.docChatConnector.onFileActionClick(tabID, messageId, filePath, actionName) - break - } } onFileClick = (tabID: string, filePath: string, deleted: boolean, messageId?: string): void => { - switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.onOpenDiff(tabID, filePath, deleted) - break - /* - TODO: This is for temporary solution to show correct viewdiff panel by clicking the filename - Would re-factor it later for the next task - */ - case 'codetest': - this.codeTestChatConnector.onFormButtonClick(tabID, messageId ?? '', {id: "utg_view_diff"}) - break - case 'doc': - this.docChatConnector.onOpenDiff(tabID, filePath, deleted) - break - } } onOpenDiff = (tabID: string, filePath: string, deleted: boolean): void => { - switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.onOpenDiff(tabID, filePath, deleted) - break - case 'doc': - this.docChatConnector.onOpenDiff(tabID, filePath, deleted) - break - } } onCustomFormAction = ( @@ -546,18 +427,9 @@ export class Connector { eventId: string | undefined = undefined ): void | undefined => { switch (this.tabsStorage.getTab(tabId)?.type) { - case 'codescan': - this.codeScanChatConnector.onFormButtonClick(tabId, action) - break - case 'codetest': - this.codeTestChatConnector.onFormButtonClick(tabId, messageId ?? '', action) - break case 'codetransform': this.codeTransformChatConnector.onFormButtonClick(tabId, action) break - case 'doc': - this.docChatConnector.onFormButtonClick(tabId, action) - break case 'agentWalkthrough': { this.amazonqCommonsConnector.onCustomFormAction(tabId, action) break @@ -576,9 +448,6 @@ export class Connector { onStopChatResponse = (tabID: string): void => { switch (this.tabsStorage.getTab(tabID)?.type) { - case 'featuredev': - this.featureDevChatConnector.onStopChatResponse(tabID) - break case 'cwc': this.cwChatConnector.onStopChatResponse(tabID) break @@ -587,15 +456,9 @@ export class Connector { sendFeedback = (tabId: string, feedbackPayload: FeedbackPayload): void | undefined => { switch (this.tabsStorage.getTab(tabId)?.type) { - case 'featuredev': - this.featureDevChatConnector.sendFeedback(tabId, feedbackPayload) - break case 'cwc': this.cwChatConnector.onSendFeedback(tabId, feedbackPayload) break - case 'codetest': - this.codeTestChatConnector.sendFeedback(tabId,feedbackPayload) - break } } @@ -604,12 +467,6 @@ export class Connector { case 'cwc': this.cwChatConnector.onChatItemVoted(tabId, messageId, vote) break - case 'featuredev': - this.featureDevChatConnector.onChatItemVoted(tabId, messageId, vote) - break - case 'codetest' : - this.codeTestChatConnector.onChatItemVoted(tabId,messageId,vote) - break } } } diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/followUps/generator.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/followUps/generator.ts index 6505e02391f..0380364550a 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/followUps/generator.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/followUps/generator.ts @@ -42,47 +42,11 @@ export class FollowUpGenerator { public generateWelcomeBlockForTab(tabType: TabType): FollowUpsBlock { switch (tabType) { - case 'featuredev': - return { - text: 'Ask a follow up question', - options: [ - { - pillText: 'What are some examples of tasks?', - type: 'DevExamples', - }, - ], - } - case 'doc': - return { - text: 'Select one of the following...', - options: [ - { - pillText: 'Create a README', - prompt: 'Create a README', - type: 'CreateDocumentation', - }, - { - pillText: 'Update an existing README', - prompt: 'Update an existing README', - type: 'UpdateDocumentation', - }, - ], - } case 'codetransform': return { text: '', options: [], } - case 'codescan': - return { - text: '', - options: [] - } - case 'codetest': - return { - text: '', - options: [], - } default: return { text: 'Try Examples:', diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/main.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/main.ts index a44c8d385e4..9786d3848a4 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/main.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/main.ts @@ -217,11 +217,7 @@ export class WebviewUIHandler { for (const tabID of authenticatingTabIDs) { const tabType = this.tabsStorage.getTab(tabID)?.type if ( - (tabType === 'featuredev' && featureDevEnabled) || - (tabType === 'codetransform' && codeTransformEnabled) || - (tabType === 'doc' && docEnabled) || - (tabType === 'codetransform' && codeTransformEnabled) || - (tabType === 'codetest' && codeTestEnabled) + (tabType === 'codetransform' && codeTransformEnabled) ) { this.mynahUI?.addChatItem(tabID, { type: ChatItemType.ANSWER, @@ -672,30 +668,11 @@ export class WebviewUIHandler { return } - if (this.tabsStorage.getTab(tabID)?.type === 'featuredev') { - this.mynahUI?.addChatItem(tabID, { - type: ChatItemType.ANSWER_STREAM, - }) - } else if (this.tabsStorage.getTab(tabID)?.type === 'codetransform') { + if (this.tabsStorage.getTab(tabID)?.type === 'codetransform') { this.connector?.requestAnswer(tabID, { chatMessage: prompt.prompt ?? '' }) return - } else if (this.tabsStorage.getTab(tabID)?.type === 'codetest') { - if(prompt.command !== undefined && prompt.command.trim() !== '' && prompt.command !== '/test') { - this.quickActionHandler?.handleCommand(prompt, tabID, eventId) - return - } else { - this.connector?.requestAnswer(tabID, { - chatMessage: prompt.prompt ?? '' - }) - return - } - } else if (this.tabsStorage.getTab(tabID)?.type === 'codescan') { - if(prompt.command !== undefined && prompt.command.trim() !== '') { - this.quickActionHandler?.handleCommand(prompt, tabID, eventId) - return - } } if (this.tabsStorage.getTab(tabID)?.type === 'welcome') { diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/messages/controller.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/messages/controller.ts index 1a0f43b4bfc..9a1f3bd3cc0 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/messages/controller.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/messages/controller.ts @@ -42,7 +42,7 @@ export class MessageController { public sendSelectedCodeToTab(message: ChatItem): string | undefined { const selectedTab = { ...this.tabsStorage.getSelectedTab() } - if (selectedTab?.id === undefined || selectedTab?.type === 'featuredev') { + if (selectedTab?.id === undefined ) { // Create a new tab if there's none const newTabID: string | undefined = this.mynahUI?.updateStore( '', diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/generator.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/generator.ts index 35af48f8973..423857de2f8 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/generator.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/generator.ts @@ -7,6 +7,7 @@ import { QuickActionCommand, QuickActionCommandGroup } from '@aws/mynah-ui-chat/ import { TabType } from '../storages/tabsStorage' import {MynahIcons} from "@aws/mynah-ui-chat"; +// TODO: Need to remove legacy code of isCodeScanEnabled, isCodeTestEnabled, isDocEnabled and isFeatureDevEnabled in followup PR export interface QuickActionGeneratorProps { isFeatureDevEnabled: boolean isCodeTransformEnabled: boolean @@ -39,44 +40,6 @@ export class QuickActionGenerator { const quickActionCommands = [ { commands: [ - ...(this.isFeatureDevEnabled - ? [ - { - command: '/dev', - icon: MynahIcons.CODE_BLOCK, - placeholder: 'Describe your task or issue in as much detail as possible', - description: 'Generate code to make a change in your project', - }, - ] - : []), - ...(this.isDocEnabled - ? [ - { - command: '/doc', - icon: MynahIcons.FILE, - description: 'Generate documentation for your code', - }, - ] - : []), - ...(this.isCodeScanEnabled - ? [ - { - command: '/review', - icon: MynahIcons.BUG, - description: 'Identify and fix code issues before committing' - } - ] - : []), - ...(this.isCodeTestEnabled - ? [ - { - command: '/test', - icon: MynahIcons.CHECK_LIST, - placeholder: 'Specify a function(s) in the current file(optional)', - description: 'Generate unit tests', - }, - ] - : []), ...(this.isCodeTransformEnabled ? [ { @@ -101,26 +64,10 @@ export class QuickActionGenerator { description: '', unavailableItems: [], }, - featuredev: { - description: "This command isn't available in /dev", - unavailableItems: ['/dev', '/transform', '/doc', '/help', '/clear', '/review', '/test'], - }, codetransform: { description: "This command isn't available in /transform", unavailableItems: ['/help', '/clear'], }, - codescan: { - description: "This command isn't available in /review", - unavailableItems: ['/help', '/clear'], - }, - codetest: { - description: "This command isn't available in /test", - unavailableItems: ['/help', '/clear'], - }, - doc: { - description: "This command isn't available in /doc", - unavailableItems: ['/help', '/clear'], - }, welcome: { description: '', unavailableItems: ['/clear'], diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/handler.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/handler.ts index d8bb2048801..42026b832a8 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/handler.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/handler.ts @@ -57,24 +57,12 @@ export class QuickActionHandler { public handleCommand(chatPrompt: ChatPrompt, tabID: string, eventId?: string) { this.tabsStorage.resetTabTimer(tabID) switch (chatPrompt.command) { - case '/dev': - this.handleFeatureDevCommand(chatPrompt, tabID, 'Q - Dev') - break case '/help': this.handleHelpCommand(tabID) break case '/transform': this.handleCodeTransformCommand(tabID, eventId) break - case '/doc': - this.handleDocCommand(chatPrompt, tabID, 'Q - Doc') - break - case '/review': - this.handleCodeScanCommand(tabID, eventId) - break - case '/test': - this.handleCodeTestCommand(chatPrompt, tabID, eventId) - break case '/clear': this.handleClearCommand(tabID) break @@ -143,236 +131,6 @@ export class QuickActionHandler { this.connector.help(tabID) } - private handleFeatureDevCommand(chatPrompt: ChatPrompt, tabID: string, taskName: string) { - if (!this.isFeatureDevEnabled) { - return - } - - const affectedTabId: string | undefined = this.addTab(tabID) - const realPromptText = chatPrompt.escapedPrompt?.trim() ?? '' - - if (affectedTabId === undefined) { - this.mynahUI?.notify({ - content: uiComponentsTexts.noMoreTabsTooltip, - type: NotificationType.WARNING, - }) - return - } else { - this.tabsStorage.updateTabTypeFromUnknown(affectedTabId, 'featuredev') - this.connector.onKnownTabOpen(affectedTabId) - this.connector.onUpdateTabType(affectedTabId) - - this.mynahUI?.updateStore(affectedTabId, { chatItems: [] }) - this.mynahUI?.updateStore( - affectedTabId, - this.tabDataGenerator.getTabData('featuredev', false, taskName) - ) - - const addInformationCard = (tabId: string) => { - this.mynahUI?.addChatItem(tabId, { - type: ChatItemType.ANSWER, - informationCard: { - title: "Feature development", - description: "Amazon Q Developer Agent for Software Development", - icon: MynahIcons.BUG, - content: { - body: [ - "I can generate code to accomplish a task or resolve an issue.", - "After you provide a task, I will:", - "1. Generate code based on your description and the code in your workspace", - "2. Provide a list of suggestions for you to review and add to your workspace", - "3. If needed, iterate based on your feedback", - "", - "To learn more, visit the [user guide](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/software-dev.html).", - ].join("\n") - }, - }, - }) - }; - - if (realPromptText !== '') { - this.mynahUI?.addChatItem(affectedTabId, { - type: ChatItemType.PROMPT, - body: realPromptText, - }) - - addInformationCard(affectedTabId) - - this.mynahUI?.addChatItem(affectedTabId, { - type: ChatItemType.ANSWER_STREAM, - body: '', - }) - - this.mynahUI?.updateStore(affectedTabId, { - loadingChat: true, - promptInputDisabledState: true, - }) - - this.connector.requestGenerativeAIAnswer(affectedTabId, { - chatMessage: realPromptText, - }) - } else { - addInformationCard(affectedTabId) - } - } - } - -private handleDocCommand(chatPrompt: ChatPrompt, tabID: string, taskName: string) { - if (!this.isDocEnabled) { - return - } - - const affectedTabId: string | undefined = this.addTab(tabID) - const realPromptText = chatPrompt.escapedPrompt?.trim() ?? '' - - - if (affectedTabId === undefined) { - this.mynahUI?.notify({ - content: uiComponentsTexts.noMoreTabsTooltip, - type: NotificationType.WARNING, - }) - return - } else { - this.tabsStorage.updateTabTypeFromUnknown(affectedTabId, 'doc') - this.connector.onKnownTabOpen(affectedTabId) - this.connector.onUpdateTabType(affectedTabId) - - this.mynahUI?.updateStore(affectedTabId, { chatItems: [] }) - - this.mynahUI?.updateStore( - affectedTabId, { - ...this.tabDataGenerator.getTabData('doc', realPromptText === '', taskName), - promptInputDisabledState: true - } - ) - - if (realPromptText !== '') { - this.mynahUI?.addChatItem(affectedTabId, { - type: ChatItemType.PROMPT, - body: realPromptText, - }) - - this.mynahUI?.updateStore(affectedTabId, { - loadingChat: true, - promptInputDisabledState: true, - }) - - void this.connector.requestGenerativeAIAnswer(affectedTabId, { - chatMessage: realPromptText, - }) - } - } - } - - private showScanInTab( tabId: string) { - this.mynahUI?.addChatItem(tabId, { - type: ChatItemType.PROMPT, - body: "Run a code review", - }) - this.mynahUI?.addChatItem(tabId, { - type: ChatItemType.ANSWER, - informationCard: { - title: "/review", - description: "Included in your Q Developer subscription", - icon: MynahIcons.BUG, - content: { - body: "Automated code review allowing developers to identify and resolve code quality issues, " + - "security vulnerabilities, misconfigurations, and deviations from coding best practices.\n\n" + - "For this workflow, Q will:\n1. Review the project or a particular file you select and identify issues before code commit\n" + - "2. Provide a list of findings from where you can follow up with Q to find solutions\n3. Generate on-demand code fixes inline\n\n" + - "To learn more, check out our [user guide](https://aws.amazon.com/q/developer/)." - }, - }, - }) - this.connector.scan(tabId) - } - - private handleCodeScanCommand(tabID: string, eventId?: string) { - if (!this.isCodeScanEnabled) { - return - } - - // Check for existing opened code scan tab - const existingCodeScanTab = this.tabsStorage.getTabs().find(tab => tab.type === 'codescan') - if (existingCodeScanTab !== undefined ) { - this.mynahUI?.selectTab(existingCodeScanTab.id, eventId || "") - this.connector.onTabChange(existingCodeScanTab.id) - - this.mynahUI?.notify({ - title: "Q - Review", - content: "Switched to the opened code review tab" - }); - this.showScanInTab(existingCodeScanTab.id) - return - } - - // Add new tab - const affectedTabId: string | undefined = this.addTab(tabID) - - if (affectedTabId === undefined) { - this.mynahUI?.notify({ - content: uiComponentsTexts.noMoreTabsTooltip, - type: NotificationType.WARNING - }) - return - } else { - this.tabsStorage.updateTabTypeFromUnknown(affectedTabId, 'codescan') - this.connector.onKnownTabOpen(affectedTabId) - // Clear unknown tab type's welcome message - this.mynahUI?.updateStore(affectedTabId, {chatItems: []}) - this.mynahUI?.updateStore(affectedTabId, this.tabDataGenerator.getTabData('codescan', true)) - this.mynahUI?.updateStore(affectedTabId, { - promptInputDisabledState: true, - promptInputPlaceholder: 'Waiting on your inputs...', - loadingChat: true, - }) - - this.connector.onTabAdd(affectedTabId) - } - this.showScanInTab(affectedTabId) - } - - private handleCodeTestCommand(chatPrompt: ChatPrompt, tabID: string | undefined, eventId: string | undefined) { - if (!this.isCodeTestEnabled) { - return - } - const testTabId = this.tabsStorage.getTabs().find((tab) => tab.type === 'codetest')?.id - const realPromptText = chatPrompt.escapedPrompt?.trim() ?? '' - if (testTabId !== undefined) { - this.mynahUI?.selectTab(testTabId, eventId || '') - this.connector.onTabChange(testTabId) - this.connector.startTestGen(testTabId, realPromptText) - return - } - - const affectedTabId: string | undefined = this.addTab(tabID) - - // if there is no test tab, open a new one - if (affectedTabId === undefined) { - this.mynahUI?.notify({ - content: uiComponentsTexts.noMoreTabsTooltip, - type: NotificationType.WARNING, - }) - return - } else { - this.tabsStorage.updateTabTypeFromUnknown(affectedTabId, 'codetest') - this.connector.onKnownTabOpen(affectedTabId) - this.connector.onUpdateTabType(affectedTabId) - // reset chat history - this.mynahUI?.updateStore(affectedTabId, { - chatItems: [], - }) - - // creating a new tab and printing some title - this.mynahUI?.updateStore( - affectedTabId, - this.tabDataGenerator.getTabData('codetest', realPromptText === '', 'Q - Test') - ) - - this.connector.startTestGen(affectedTabId, realPromptText) - } - } - // Ref: https://github.com/aws/aws-toolkit-vscode/blob/e9ea8082ffe0b9968a873437407d0b6b31b9e1a5/packages/core/src/amazonq/webview/ui/quickActions/handler.ts#L345 private addTab(affectedTabId: string | undefined) { if (!affectedTabId || !this.mynahUI) { diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/storages/tabsStorage.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/storages/tabsStorage.ts index 6b36eae6848..1df5d12fa08 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/storages/tabsStorage.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/storages/tabsStorage.ts @@ -6,11 +6,7 @@ export type TabStatus = 'free' | 'busy' | 'dead' const TabTypes = [ 'cwc', - 'featuredev', 'codetransform', - 'doc', - 'codescan', - 'codetest', 'agentWalkthrough', 'welcome', 'unknown', @@ -22,16 +18,8 @@ export function isTabType(value: string): value is TabType { export function getTabCommandFromTabType(tabType: TabType): string { switch (tabType) { - case 'featuredev': - return '/dev' case 'codetransform': return '/transform' - case 'doc': - return '/doc' - case 'codescan': - return '/review' - case 'codetest': - return '/test' default: return '' } diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/tabs/generator.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/tabs/generator.ts index 3ea71cec291..c55a5bac400 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/tabs/generator.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/tabs/generator.ts @@ -28,20 +28,12 @@ export class TabDataGenerator { private tabTitle: Map = new Map([ ['unknown', 'Chat'], ['cwc', 'Chat'], - ['featuredev', 'Q - Dev'], ['codetransform', 'Q - Transform'], - ['doc', 'Q - Documentation'], - ['codescan', 'Q - Review'], - ['codetest', 'Q - Test'], ]) private tabInputPlaceholder: Map = new Map([ ['unknown', 'Ask a question or enter "/" for quick commands'], ['cwc', 'Ask a question or enter "/" for quick commands'], - ['featuredev', 'Describe your task or issue in detail'], - ['doc', 'Ask Amazon Q to generate documentation for your project'], - ['codescan', 'Waiting for your inputs...'], - ['codetest', 'Specify a function(s) in the current file(optional)'], ]) private tabWelcomeMessage: Map = new Map([ @@ -56,27 +48,11 @@ export class TabDataGenerator { `Hi, I'm Amazon Q. I can answer your software development questions. Ask me to explain, debug, or optimize your code. You can enter \`/\` to see a list of quick actions. Add @workspace at the beginning of your message to enhance Q response with entire workspace files.`, - ], - [ - 'featuredev', - `Hi! I'm the Amazon Q Developer Agent for software development. - -I can generate code to implement new functionality across your workspace. To get started, describe the task you're trying to accomplish, and I'll generate code to implement it. If you want to make changes to the code, you can tell me what to improve and I'll generate new code based on your feedback. - -What would you like to work on?`, ], [ 'codetransform', `Welcome to Code Transformation! **You can also run transformations from the command line. To install the tool, see the [documentation](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/run-CLI-transformations.html).**`, ], - [ - 'doc', - `Welcome to doc generation!\n\nI can help generate documentation for your code. To get started, choose what type of doc update you'd like to make.`, - ], - [ - 'codetest', - `Welcome to Amazon Q Unit Test Generation. I can help you generate unit tests for your active file.`, - ] ]) private tabContextCommand: Map = new Map([ diff --git a/plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties b/plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties index 28c4d0eeeef..275670848dc 100644 --- a/plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties +++ b/plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties @@ -907,7 +907,6 @@ codewhisperer.codescan.no_file_open_telemetry=Open a valid file to review. codewhisperer.codescan.problems_window_not_found=Unable to display Code Review results as the Problems View tool window cannot be fetched. codewhisperer.codescan.quota_exceeded=You've reached the monthly quota for Amazon Q Developer's agent capabilities. You can try again next month. For more information on usage limits, see the Amazon Q Developer pricing page. codewhisperer.codescan.regenerate_fix_button_label=Regenerate Fix -codewhisperer.codescan.run_scan=Full Project Scan is now /review! Open in Chat Panel codewhisperer.codescan.run_scan_complete= Code Review completed for {0, choice, 1#1 file|2#{0,number} files}. {1, choice, 0#No issues|1#1 issue|2#{1,number} issues} found in {2}. Last Run {4} codewhisperer.codescan.run_scan_error=Amazon Q encountered an error while reviewing for code issues. Please try again later. codewhisperer.codescan.run_scan_error_telemetry=Code Review failed. @@ -925,7 +924,6 @@ codewhisperer.codescan.scan_results_hidden_by_filters=All code review results ar codewhisperer.codescan.scan_timed_out=Code Review failed. Amazon Q timed out. codewhisperer.codescan.scanned_files_heading= {0} files were reviewed during the last code review. codewhisperer.codescan.severity_issues_count= {0} {1, choice, 1#{1,number} issue|2#{1,number} issues} -codewhisperer.codescan.stop_scan=Stop Code Review codewhisperer.codescan.stop_scan_confirm_button=Stop review codewhisperer.codescan.stop_scan_confirm_message=Are you sure you want to stop ongoing code review? This review will be counted as one complete review towards your monthly code review limits. codewhisperer.codescan.stopping_scan=Stopping Code Review... From 784b4e053c49f31b616b43734a20b880943d3396 Mon Sep 17 00:00:00 2001 From: laileni Date: Mon, 15 Sep 2025 16:25:17 -0700 Subject: [PATCH 2/2] fix: removing commented lines of code --- .../resources/META-INF/plugin-chat.xml | 4 --- .../src/mynah-ui/ui/apps/docChatConnector.ts | 18 ------------- .../ui/apps/featureDevChatConnector.ts | 2 -- .../mynah-ui/src/mynah-ui/ui/connector.ts | 25 ------------------- 4 files changed, 49 deletions(-) diff --git a/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml b/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml index fb35971de2e..5a22610e189 100644 --- a/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml +++ b/plugins/amazonq/chat/jetbrains-community/resources/META-INF/plugin-chat.xml @@ -23,10 +23,6 @@ - - - - diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts index 8f31cf04629..ab469017424 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/docChatConnector.ts @@ -243,13 +243,6 @@ export class Connector { canBeVoted: false, }) - // this.onChatAnswerReceived(messageData.tabID, { - // type: ChatItemType.SYSTEM_PROMPT, - // body: undefined, - // followUp: this.followUpGenerator.generateAuthFollowUps('doc', messageData.authType), - // canBeVoted: false, - // }) - return } @@ -319,17 +312,6 @@ export class Connector { ) return } - - if (messageData.type === 'authNeededException') { - // this.processAuthNeededException(messageData) - return - } - - if (messageData.type === 'openNewTabMessage') { - // this.onNewTab('doc') - return - } - if (messageData.type === 'updatePromptProgress') { this.onUpdatePromptProgress(messageData.tabId, messageData.progressField) } diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts index e60c9405812..b1000d56217 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/apps/featureDevChatConnector.ts @@ -50,7 +50,6 @@ export class Connector { private readonly chatInputEnabled private readonly onUpdateAuthentication private readonly followUpGenerator: FollowUpGenerator - // private readonly onNewTab private readonly onFileComponentUpdate constructor(props: ConnectorProps) { @@ -64,7 +63,6 @@ export class Connector { this.chatInputEnabled = props.onChatInputEnabled this.onUpdateAuthentication = props.onUpdateAuthentication this.followUpGenerator = new FollowUpGenerator() - // this.onNewTab = props.onNewTab this.onFileComponentUpdate = props.onFileComponentUpdate } diff --git a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts index e9c81ca4a8c..381efe0854c 100644 --- a/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts +++ b/plugins/amazonq/mynah-ui/src/mynah-ui/ui/connector.ts @@ -13,18 +13,13 @@ import { ChatPrompt, QuickActionCommand, } from '@aws/mynah-ui-chat' import { Connector as CWChatConnector } from './apps/cwChatConnector' -// import { Connector as FeatureDevChatConnector } from './apps/featureDevChatConnector' -// import { Connector as DocChatConnector } from './apps/docChatConnector' import { Connector as AmazonQCommonsConnector } from './apps/amazonqCommonsConnector' import { ExtensionMessage } from './commands' import { TabType, TabsStorage } from './storages/tabsStorage' import { WelcomeFollowupType } from './apps/amazonqCommonsConnector' import { AuthFollowUpType } from './followUps/generator' import { CodeTransformChatConnector } from './apps/codeTransformChatConnector' -// import { isFormButtonCodeTest, isFormButtonCodeScan, isFormButtonCodeTransform } from './forms/constants' import { DiffTreeFileInfo } from './diffTree/types' -// import { CodeScanChatConnector } from "./apps/codeScanChatConnector"; -// import { CodeTestChatConnector } from './apps/codeTestChatConnector' export interface CodeReference { licenseName?: string @@ -101,11 +96,7 @@ export class Connector { private readonly sendMessageToExtension private readonly onMessageReceived private readonly cwChatConnector - // private readonly featureDevChatConnector private readonly codeTransformChatConnector: CodeTransformChatConnector - // private readonly docChatConnector - // private readonly codeScanChatConnector: CodeScanChatConnector - // private readonly codeTestChatConnector: CodeTestChatConnector private readonly tabsStorage private readonly amazonqCommonsConnector: AmazonQCommonsConnector @@ -115,11 +106,7 @@ export class Connector { this.sendMessageToExtension = props.sendMessageToExtension this.onMessageReceived = props.onMessageReceived this.cwChatConnector = new CWChatConnector(props as ConnectorProps) - // this.featureDevChatConnector = new FeatureDevChatConnector(props) this.codeTransformChatConnector = new CodeTransformChatConnector(props) - // this.docChatConnector = new DocChatConnector(props) - // this.codeScanChatConnector = new CodeScanChatConnector(props) - // this.codeTestChatConnector = new CodeTestChatConnector(props) this.amazonqCommonsConnector = new AmazonQCommonsConnector({ sendMessageToExtension: this.sendMessageToExtension, onWelcomeFollowUpClicked: props.onWelcomeFollowUpClicked, @@ -203,18 +190,6 @@ export class Connector { } } - // scan = (tabID: string): void => { - // switch (this.tabsStorage.getTab(tabID)?.type) { - // default: - // this.codeScanChatConnector.scan(tabID) - // break - // } - // } - - // startTestGen = (tabID: string, prompt: string): void => { - // this.codeTestChatConnector.startTestGen(tabID, prompt) - // } - handleMessageReceive = async (message: MessageEvent): Promise => { if (message.data === undefined) { return