Skip to content

Commit 239b19a

Browse files
authored
Merge branch 'feature/agentic-chat' into feature/agentic-chat
2 parents 6524f10 + 8b53de4 commit 239b19a

File tree

21 files changed

+235
-294
lines changed

21 files changed

+235
-294
lines changed

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"skippedTestReport": "ts-node ./scripts/skippedTestReport.ts ./packages/amazonq/test/e2e/"
4242
},
4343
"devDependencies": {
44-
"@aws-toolkits/telemetry": "^1.0.312",
44+
"@aws-toolkits/telemetry": "^1.0.313",
4545
"@playwright/browser-chromium": "^1.43.1",
4646
"@stylistic/eslint-plugin": "^2.11.0",
4747
"@types/he": "^1.2.3",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "Bug Fix",
3+
"description": "Amazon Q Chat: code blocks in responses flicker, switching tabs during answer streaming makes expand button disappear"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "Bug Fix",
3+
"description": "Amazon Q Chat: tab bar buttons disappear when closing non-active tab"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "Bug Fix",
3+
"description": "Amazon Q Chat: chat history list does not truncate markdown"
4+
}

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@
525525
"@aws-sdk/s3-request-presigner": "<3.731.0",
526526
"@aws-sdk/smithy-client": "<3.731.0",
527527
"@aws-sdk/util-arn-parser": "<3.731.0",
528-
"@aws/mynah-ui": "^4.30.0",
528+
"@aws/mynah-ui": "^4.30.1",
529529
"@gerhobbelt/gitignore-parser": "^0.2.0-9",
530530
"@iarna/toml": "^2.2.5",
531531
"@smithy/fetch-http-handler": "^5.0.1",

packages/core/resources/css/amazonq-webview.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,19 @@ body.vscode-high-contrast:not(.vscode-high-contrast-light) {
116116

117117
body .mynah-card-body h1 {
118118
--mynah-line-height: 1.5rem;
119+
font-size: 1.25em;
120+
}
121+
122+
body .mynah-card-body h2,
123+
body .mynah-card-body h3,
124+
body .mynah-card-body h4 {
125+
font-size: 1em;
119126
}
120127

121128
div.mynah-card.padding-large {
122129
padding: var(--mynah-sizing-4) var(--mynah-sizing-3);
123130
}
131+
132+
div.mynah-chat-items-container .mynah-chat-item-card.no-padding > .mynah-card {
133+
padding: 0;
134+
}

packages/core/src/amazonq/webview/ui/apps/cwChatConnector.ts

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -179,33 +179,6 @@ export class Connector extends BaseConnector {
179179
}
180180
}
181181

182-
private processToolMessage = async (messageData: any): Promise<void> => {
183-
if (this.onChatAnswerUpdated === undefined) {
184-
return
185-
}
186-
const answer: CWCChatItem = {
187-
type: messageData.messageType,
188-
messageId: messageData.messageID ?? messageData.triggerID,
189-
body: messageData.message,
190-
followUp: messageData.followUps,
191-
canBeVoted: messageData.canBeVoted ?? false,
192-
codeReference: messageData.codeReference,
193-
userIntent: messageData.contextList,
194-
codeBlockLanguage: messageData.codeBlockLanguage,
195-
contextList: messageData.contextList,
196-
title: messageData.title,
197-
buttons: messageData.buttons,
198-
fileList: messageData.fileList,
199-
header: messageData.header ?? undefined,
200-
padding: messageData.padding ?? undefined,
201-
fullWidth: messageData.fullWidth ?? undefined,
202-
codeBlockActions: messageData.codeBlockActions ?? undefined,
203-
rootFolderTitle: messageData.rootFolderTitle,
204-
}
205-
this.onChatAnswerUpdated(messageData.tabID, answer)
206-
return
207-
}
208-
209182
private storeChatItem(tabId: string, messageId: string, item: ChatItem): void {
210183
if (!this.chatItems.has(tabId)) {
211184
this.chatItems.set(tabId, new Map())
@@ -265,11 +238,6 @@ export class Connector extends BaseConnector {
265238
return
266239
}
267240

268-
if (messageData.type === 'toolMessage') {
269-
await this.processToolMessage(messageData)
270-
return
271-
}
272-
273241
if (messageData.type === 'editorContextCommandMessage') {
274242
await this.processEditorContextCommandMessage(messageData)
275243
return

packages/core/src/amazonq/webview/ui/connector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export interface ConnectorProps {
7878
sendMessageToExtension: (message: ExtensionMessage) => void
7979
onMessageReceived?: (tabID: string, messageData: any, needToShowAPIDocsTab: boolean) => void
8080
onRunTestMessageReceived?: (tabID: string, showRunTestMessage: boolean) => void
81-
onChatAnswerUpdated?: (tabID: string, message: CWCChatItem) => void
81+
onChatAnswerUpdated?: (tabID: string, message: ChatItem) => void
8282
onChatAnswerReceived?: (tabID: string, message: ChatItem, messageData: any) => void
8383
onWelcomeFollowUpClicked: (tabID: string, welcomeFollowUpType: WelcomeFollowupType) => void
8484
onAsyncEventProgress: (tabID: string, inProgress: boolean, message: string | undefined) => void

packages/core/src/amazonq/webview/ui/main.ts

Lines changed: 27 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -100,41 +100,6 @@ export const createMynahUI = (
100100
welcomeCount += 1
101101
}
102102

103-
/**
104-
* Creates a file list header from context list
105-
* @param contextList List of file contexts
106-
* @param rootFolderTitle Title for the root folder
107-
* @returns Header object with file list
108-
*/
109-
const createFileListHeader = (contextList: any[], rootFolderTitle?: string) => {
110-
return {
111-
fileList: {
112-
fileTreeTitle: '',
113-
filePaths: contextList.map((file) => file.relativeFilePath),
114-
rootFolderTitle: rootFolderTitle,
115-
flatList: true,
116-
collapsed: true,
117-
hideFileCount: true,
118-
details: Object.fromEntries(
119-
contextList.map((file) => [
120-
file.relativeFilePath,
121-
{
122-
label: file.lineRanges
123-
.map((range: { first: number; second: number }) =>
124-
range.first === -1 || range.second === -1
125-
? ''
126-
: `line ${range.first} - ${range.second}`
127-
)
128-
.join(', '),
129-
description: file.relativeFilePath,
130-
clickable: true,
131-
},
132-
])
133-
),
134-
},
135-
}
136-
}
137-
138103
// Adding the first tab as CWC tab
139104
tabsStorage.addTab({
140105
id: 'tab-1',
@@ -381,11 +346,8 @@ export const createMynahUI = (
381346
sendMessageToExtension: (message) => {
382347
ideApi.postMessage(message)
383348
},
384-
onChatAnswerUpdated: (tabID: string, item: CWCChatItem) => {
349+
onChatAnswerUpdated: (tabID: string, item: ChatItem) => {
385350
if (item.messageId !== undefined) {
386-
if (item.contextList !== undefined && item.contextList.length > 0) {
387-
item.header = createFileListHeader(item.contextList, item.rootFolderTitle)
388-
}
389351
mynahUI.updateChatAnswerWithMessageId(tabID, item.messageId, {
390352
...(item.body !== undefined ? { body: item.body } : {}),
391353
...(item.buttons !== undefined ? { buttons: item.buttons } : {}),
@@ -447,7 +409,32 @@ export const createMynahUI = (
447409
}
448410

449411
if (item.contextList !== undefined && item.contextList.length > 0) {
450-
item.header = createFileListHeader(item.contextList, item.rootFolderTitle)
412+
item.header = {
413+
fileList: {
414+
fileTreeTitle: '',
415+
filePaths: item.contextList.map((file) => file.relativeFilePath),
416+
rootFolderTitle: item.rootFolderTitle,
417+
flatList: true,
418+
collapsed: true,
419+
hideFileCount: true,
420+
details: Object.fromEntries(
421+
item.contextList.map((file) => [
422+
file.relativeFilePath,
423+
{
424+
label: file.lineRanges
425+
.map((range) =>
426+
range.first === -1 || range.second === -1
427+
? ''
428+
: `line ${range.first} - ${range.second}`
429+
)
430+
.join(', '),
431+
description: file.relativeFilePath,
432+
clickable: true,
433+
},
434+
])
435+
),
436+
},
437+
}
451438
}
452439

453440
if (

0 commit comments

Comments
 (0)