Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
9f44fa6
Release 3.60.0
May 6, 2025
734bd98
fix(nep): truncate editor state (#7256)
tomcat323 May 8, 2025
529f833
fix(amazonq): Revert refactor(amazonq): reduce extra call of listAvai…
Will-ShaoHua May 8, 2025
8a02d60
fix(amazonq): agent tabs open with prompt options (#7265)
ctlai95 May 8, 2025
4369fb5
fix(amazonq): flare clientId changes on every instance (#7273)
jpinkney-aws May 9, 2025
0d97988
Release 1.66.0
May 9, 2025
dcaeb53
Update version to snapshot version: 3.61.0-SNAPSHOT
May 9, 2025
3290630
Merge release into master
May 9, 2025
91e5039
Update version to snapshot version: 1.67.0-SNAPSHOT
May 9, 2025
a7fd043
Merge release into master
May 9, 2025
1085a8d
telemetry(amazonq): Emit metric on server crash (#7278)
nkomonen-amazon May 9, 2025
a14b9a2
telemetry(amazonq): expose FileCreationFailed exceptions #7260
akhamis-amzn May 9, 2025
05cde57
fix(lsp): send extension version to Q LSP #7279
yueny2020 May 9, 2025
4b09167
fix(amazonq): adding logs for the agentic chat telemetry events (#7276)
laileni-aws May 9, 2025
ffc0cb4
fix(amazonq): pass uri.path as workspaceIdentifier when initializing …
LiGaCu May 12, 2025
2d898fb
deps: bump @aws-toolkits/telemetry to 1.0.318 #7290
avi-alpert May 12, 2025
8e85476
fix(amazonq): use neighbor cells as completion context in Notebook #7086
brdskggs May 13, 2025
c97740e
feat(amazonq): import userWrittenCode configuration for inline with l…
zixlin7 May 13, 2025
143e35c
fix(amazonq): push customizations on startup (#7297)
nkomonen-amazon May 13, 2025
3f5fa17
deps: bump @aws-toolkits/telemetry to 1.0.319 (#7300)
chungjac May 14, 2025
6081f89
fix(amazonq):support chat in al2 aarch64 and CDM (#7270)
leigaol May 14, 2025
229126e
docs(amazonq): How to export logs (#7308)
nkomonen-amazon May 14, 2025
04eb09a
deps: bump @aws-toolkits/telemetry to 1.0.321 #7307
laileni-aws May 14, 2025
ab781b9
Release 3.61.0
May 14, 2025
2b44176
Release 1.67.0
May 14, 2025
ae4dbcd
Update version to snapshot version: 3.62.0-SNAPSHOT
May 14, 2025
74bd712
Update version to snapshot version: 1.68.0-SNAPSHOT
May 14, 2025
1619e6b
Merge release into master
May 14, 2025
6fead6e
feat(amazonq): add inline completion support for abap language (#7303)
Will-ShaoHua May 14, 2025
ffb6ec1
fix(amazonq): standardize reference type for reference log (#7311)
Hweinstock May 14, 2025
6898221
fix(amazonq): Profile needing to be selected on server restart (#7316)
nkomonen-amazon May 15, 2025
b5540e2
feat(amazonq): show a message when no suggestions are found on manual…
Hweinstock May 15, 2025
327fb56
fix(chat): adding new events for list mcp server and click mcp events…
ashishrp-aws May 15, 2025
dbb24b7
Release 3.62.0
May 15, 2025
9881fae
Release 1.68.0
May 15, 2025
c81f7dd
Update version to snapshot version: 3.63.0-SNAPSHOT
May 15, 2025
c35805e
Update version to snapshot version: 1.69.0-SNAPSHOT
May 15, 2025
fbf8bd0
Merge release into master
May 15, 2025
5468d3d
Merge remote-tracking branch 'origin/master' into HEAD
Hweinstock May 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,9 @@ If you need to report an issue attach these to give the most detailed informatio
4. Open the Command Palette again and select `Reload Window`.
5. Now you should see additional `[debug]` prefixed logs in the output.
- ![](./docs/images/logsDebugLog.png)
6. To export logs, click the kebab (`...`), select `Export Logs`, and then select the appropriate channel (`Amazon Q Logs` for Amazon Q)
- ![](./docs/images/openExportLogs.png)
- ![](./docs/images/exportAmazonQLogs.png)

### Telemetry

Expand Down
Binary file added docs/images/exportAmazonQLogs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/openExportLogs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,665 changes: 386 additions & 1,279 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"skippedTestReport": "ts-node ./scripts/skippedTestReport.ts ./packages/amazonq/test/e2e/"
},
"devDependencies": {
"@aws-toolkits/telemetry": "^1.0.319",
"@aws-toolkits/telemetry": "^1.0.322",
"@playwright/browser-chromium": "^1.43.1",
"@stylistic/eslint-plugin": "^2.11.0",
"@types/he": "^1.2.3",
Expand Down
14 changes: 14 additions & 0 deletions packages/amazonq/.changes/1.67.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"date": "2025-05-14",
"version": "1.67.0",
"entries": [
{
"type": "Bug Fix",
"description": "Previous and subsequent cells are used as context for completion in a Jupyter notebook"
},
{
"type": "Bug Fix",
"description": "Support chat in AL2 aarch64"
}
]
}
18 changes: 18 additions & 0 deletions packages/amazonq/.changes/1.68.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"date": "2025-05-15",
"version": "1.68.0",
"entries": [
{
"type": "Bug Fix",
"description": "Fix Error: 'Amazon Q service is not signed in'"
},
{
"type": "Bug Fix",
"description": "Fix Error: 'Amazon Q Profile is not selected for IDC connection type'"
},
{
"type": "Feature",
"description": "Add inline completion support for abap language"
}
]
}
11 changes: 11 additions & 0 deletions packages/amazonq/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## 1.68.0 2025-05-15

- **Bug Fix** Fix Error: 'Amazon Q service is not signed in'
- **Bug Fix** Fix Error: 'Amazon Q Profile is not selected for IDC connection type'
- **Feature** Add inline completion support for abap language

## 1.67.0 2025-05-14

- **Bug Fix** Previous and subsequent cells are used as context for completion in a Jupyter notebook
- **Bug Fix** Support chat in AL2 aarch64

## 1.66.0 2025-05-09

- **Bug Fix** Avoid inline completion 'Improperly formed request' errors when file is too large
Expand Down
2 changes: 1 addition & 1 deletion packages/amazonq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "amazon-q-vscode",
"displayName": "Amazon Q",
"description": "The most capable generative AI-powered assistant for building, operating, and transforming software, with advanced capabilities for managing data and AI",
"version": "1.67.0-SNAPSHOT",
"version": "1.69.0-SNAPSHOT",
"extensionKind": [
"workspace"
],
Expand Down
12 changes: 11 additions & 1 deletion packages/amazonq/src/app/inline/completion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,14 @@ import {
CodeSuggestionsState,
vsCodeState,
inlineCompletionsDebounceDelay,
noInlineSuggestionsMsg,
} from 'aws-core-vscode/codewhisperer'
import { InlineGeneratingMessage } from './inlineGeneratingMessage'
import { LineTracker } from './stateTracker/lineTracker'
import { InlineTutorialAnnotation } from './tutorials/inlineTutorialAnnotation'
import { TelemetryHelper } from './telemetryHelper'
import { getLogger } from 'aws-core-vscode/shared'
import { debounce } from 'aws-core-vscode/utils'
import { debounce, messageUtils } from 'aws-core-vscode/utils'

export class InlineCompletionManager implements Disposable {
private disposable: Disposable
Expand Down Expand Up @@ -241,7 +242,16 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
const items = this.sessionManager.getActiveRecommendation()
const session = this.sessionManager.getActiveSession()
const editor = window.activeTextEditor

// Show message to user when manual invoke fails to produce results.
if (items.length === 0 && context.triggerKind === InlineCompletionTriggerKind.Invoke) {
void messageUtils.showTimedMessage(noInlineSuggestionsMsg, 2000)
}

if (!session || !items.length || !editor) {
getLogger().debug(
`Failed to produce inline suggestion results. Received ${items.length} items from service`
)
return []
}

Expand Down
7 changes: 4 additions & 3 deletions packages/amazonq/src/lsp/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { AuthUtil } from 'aws-core-vscode/codewhisperer'
import { Writable } from 'stream'
import { onceChanged } from 'aws-core-vscode/utils'
import { getLogger, oneMinute } from 'aws-core-vscode/shared'
import { isSsoConnection } from 'aws-core-vscode/auth'

export const encryptionKey = crypto.randomBytes(32)

Expand Down Expand Up @@ -76,8 +77,8 @@ export class AmazonQLspAuth {
* @param force bypass memoization, and forcefully update the bearer token
*/
async refreshConnection(force: boolean = false) {
const activeConnection = this.authUtil.auth.activeConnection
if (activeConnection?.state === 'valid' && activeConnection?.type === 'sso') {
const activeConnection = this.authUtil.conn
if (this.authUtil.isConnectionValid() && isSsoConnection(activeConnection)) {
// send the token to the language server
const token = await this.authUtil.getBearerToken()
await (force ? this._updateBearerToken(token) : this.updateBearerToken(token))
Expand Down Expand Up @@ -118,7 +119,7 @@ export class AmazonQLspAuth {
data: jwt,
metadata: {
sso: {
startUrl: AuthUtil.instance.auth.startUrl,
startUrl: AuthUtil.instance.startUrl,
},
},
encrypted: true,
Expand Down
62 changes: 1 addition & 61 deletions packages/amazonq/src/lsp/chat/activation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,11 @@ import { Commands, getLogger, globals, undefinedIfEmpty } from 'aws-core-vscode/
import { activate as registerLegacyChatListeners } from '../../app/chat/activation'
import { DefaultAmazonQAppInitContext } from 'aws-core-vscode/amazonq'
import { AuthUtil, getSelectedCustomization } from 'aws-core-vscode/codewhisperer'
import {
DidChangeConfigurationNotification,
updateConfigurationRequestType,
} from '@aws/language-server-runtimes/protocol'
import { pushConfigUpdate } from '../config'

export async function activate(languageClient: LanguageClient, encryptionKey: Buffer, mynahUIPath: string) {
const disposables = globals.context.subscriptions

// Make sure we've sent an auth profile to the language server before even initializing the UI
await pushConfigUpdate(languageClient, {
type: 'profile',
profileArn: AuthUtil.instance.regionProfileManager.activeRegionProfile?.arn,
})
// We need to push the cached customization on startup explicitly
await pushConfigUpdate(languageClient, {
type: 'customization',
customization: getSelectedCustomization(),
})

const provider = new AmazonQChatViewProvider(mynahUIPath)

disposables.push(
Expand Down Expand Up @@ -79,10 +65,6 @@ export async function activate(languageClient: LanguageClient, encryptionKey: Bu

disposables.push(
AuthUtil.instance.regionProfileManager.onDidChangeRegionProfile(async () => {
void pushConfigUpdate(languageClient, {
type: 'profile',
profileArn: AuthUtil.instance.regionProfileManager.activeRegionProfile?.arn,
})
await provider.refreshWebview()
}),
Commands.register('aws.amazonq.updateCustomizations', () => {
Expand All @@ -99,45 +81,3 @@ export async function activate(languageClient: LanguageClient, encryptionKey: Bu
})
)
}

/**
* Push a config value to the language server, effectively updating it with the
* latest configuration from the client.
*
* The issue is we need to push certain configs to different places, since there are
* different handlers for specific configs. So this determines the correct place to
* push the given config.
*/
async function pushConfigUpdate(client: LanguageClient, config: QConfigs) {
switch (config.type) {
case 'profile':
await client.sendRequest(updateConfigurationRequestType.method, {
section: 'aws.q',
settings: { profileArn: config.profileArn },
})
break
case 'customization':
client.sendNotification(DidChangeConfigurationNotification.type.method, {
section: 'aws.q',
settings: { customization: config.customization },
})
break
case 'logLevel':
client.sendNotification(DidChangeConfigurationNotification.type.method, {
section: 'aws.logLevel',
})
break
}
}
type ProfileConfig = {
type: 'profile'
profileArn: string | undefined
}
type CustomizationConfig = {
type: 'customization'
customization: string | undefined
}
type LogLevelConfig = {
type: 'logLevel'
}
type QConfigs = ProfileConfig | CustomizationConfig | LogLevelConfig
4 changes: 4 additions & 0 deletions packages/amazonq/src/lsp/chat/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ import {
getSerializedChatRequestType,
listConversationsRequestType,
conversationClickRequestType,
listMcpServersRequestType,
mcpServerClickRequestType,
ShowSaveFileDialogRequestType,
ShowSaveFileDialogParams,
LSPErrorCodes,
Expand Down Expand Up @@ -298,6 +300,8 @@ export function registerMessageListeners(
}
case listConversationsRequestType.method:
case conversationClickRequestType.method:
case listMcpServersRequestType.method:
case mcpServerClickRequestType.method:
case tabBarActionRequestType.method:
await resolveChatResponse(message.command, message.params, languageClient, webview)
break
Expand Down
Loading
Loading