Skip to content

Conversation

@laura-codess
Copy link

Resolved merge conflicts from the origin master branch.

  • Treat all work as PUBLIC. Private feature/x branches will not be squash-merged at release time.
  • Your code changes must meet the guidelines in CONTRIBUTING.md.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

roger-zhangg and others added 30 commits July 15, 2025 20:55
…ws#7678)

## Problem
* Enhanced Developer Experience - Current Remote Lambda debugging
options are limited, primarily relying on print statements. LDK will
significantly improve the developer experience by allowing real-time
inspection of variables and execution flow.
* Authentic Environment Debugging - Customers are eager to debug in the
actual Lambda environment. However, Lambda doesn't allow direct SSH
connections from external sources, making it challenging to access the
runtime for debugging purposes.
* Advantages over Local Debugging - While local debugging is a common
alternative, Remote debugging offers significant benefits: Access to
resources within VPCs, Ability to follow specific IAM rules and
permissions which are typically not possible in a local debugging
solution.
* Efficient Problem Resolution - Debugging in the real Lambda
environment provides the shortest path to identifying and resolving
issues, as it eliminates

[discrepancies](aws/aws-lambda-base-images#112)
between local and real Lambda environments.

## Solution
Remote debugging (LDK) enable developers to remote debug live Lambda
functions from AWS Toolkit for Visual Studio Code. LDK creates a secure
tunnel between a developer’s local computer and a live Lambda function
running in the cloud. With LDK, developers can use Visual Studio Code
debugger to debug a running Lambda function, set break points, inspect
variables, and step through the code.

### File structure
- ldkClient.ts
  - Implement API calls to IoT & Lambda
- localproxy.ts
- Implement the local proxy to connect to the IoT SecureTunneling(ST)
websocket and create a proxy tcp server
- ldkController.ts
  - Control the debug workflow

###  UI update


![image](https://github.com/user-attachments/assets/e526a46d-952c-45c5-aca6-77353d46ca7a)



### Arch


![image](https://github.com/user-attachments/assets/aaf90b74-3060-44b7-bde6-383e15b04910)
### Sequence Diagram


![image](https://github.com/user-attachments/assets/866b61dc-3872-41b0-a140-7b35d0c2a8be)

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Duplicate code linter was finding errors in the `utils` tests for Lambda

## Solution
Remove duplicate code (now relying on already existing `mockLambda`)

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Notes
- feat(sagemaker): Merging Feature/sagemaker-connect-phase-2 to master
- Reference PR: aws#7677
---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <[email protected]>
Co-authored-by: Roger Zhang <[email protected]>
Co-authored-by: Reed Hamilton <[email protected]>
Co-authored-by: Jacob Chung <[email protected]>
Co-authored-by: aws-ides-bot <[email protected]>
Co-authored-by: aws-asolidu <[email protected]>
Co-authored-by: Newton Der <[email protected]>
Co-authored-by: Newton Der <[email protected]>
… to reconnect (aws#7684)

## Problem
- When reconnecting to multiple SageMaker Spaces (either via deeplink or
from within the VS Code extension), a **race condition** occurs when
writing to shared temporary files. This can cause the local SageMaker
server to crash due to concurrent access.
- Need clearer error messaging when reconnection to a deeplinked space
is attempted without an active Studio login.

## Solution
- For connections initiated from the VS Code extension, we generate
**unique temporary files** to read the response json.
- For deeplink-based reconnections, we introduce a **queue** to process
session requests sequentially.
- Add `remote_access_token_refresh` flag to the refresh URL to enable
the Studio server to return more specific error messages.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…logs (aws#7689)

## Problem

- Removing feature flag for Code Review tool
- Removed change logs for the above too

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
feat(amazonq): write logs to disk with  rotation & cleanup
fix(amazonq): handle suppress single finding, change icon
## Problem

applyDiff may fail and the consequence is the `newCode` to update become
empty string, thus deleting all users' code.


## Before


https://github.com/user-attachments/assets/6524bae2-1374-452d-bb4e-3ec6f865c258






## After




https://github.com/user-attachments/assets/75d5ed7a-6940-4432-a8d9-73c485afb2c3



## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
)

## Problem
This pr: aws#7670 didn't been
covered by the unit test

## Solution
Add unit test for the activation initialize method.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…nput (aws#7697)

## Problem

The auto trigger classifier needs the entire document change event as
input to correctly predict whether to make auto trigger or not. This
code path was lost when we migrate inline completion to Flare (language
server).

## Solution

Implement the IDE side changes for below PRs:

aws/language-server-runtimes#618

aws/language-servers#1912

https://github.com/aws/language-servers/pull/1914/files


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…#7700)

## Problem

The VS Code provideInlineCompletionCallback may not trigger when Enter
is pressed, especially in Python files


## Solution
manually make this trigger. In case of duplicate, the
provideInlineCompletionCallback is already debounced

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
aws-toolkit-automation and others added 24 commits July 30, 2025 22:02
feat(amazonq): adapt feature flag for CodeReviewInChat, emit metrics for explainIssue, applyFix
…ompletion acceptance (aws#7783)

## Problem



https://github.com/user-attachments/assets/56c70784-f92b-43dc-8f7e-b38b873a3784

When an inline completion is accepted, there can be extra ) ] } ' " that
breaks the syntax.

## Solution



https://github.com/user-attachments/assets/c84f1e6a-4f80-4605-a2e1-074047ac19bf

Bring back old code that was used to remove the extra  ) ] } ' " .



https://github.com/user-attachments/assets/35a65fce-98c1-4819-8bc5-3cb5c9aad5ab



Ref:
https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/util/closingBracketUtil.ts

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem

There is a bug in VS Code inline completion API, when hitting Enter, the
context.triggerKind is Invoke (0)
when hitting other keystrokes, the context.triggerKind is Automatic (1)
we should only mark option + C as manual trigger Invoke(0)

## Solution

Use timestamp to decide what is manual trigger and what is auto trigger.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem

The AppComposer generate feature is moving from a call to the Q
extension to a call to our owned CDN, the same CDN that hosts our
webview, or CFN template partials.


## Solution

This PR updates the code that used to make a call to the Q extension and
instead replaces it with fetch call to the CDN to gather data. Error
cases (such as the requested file not being found or the CDN being down)
are handled by the existing code.


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Need to differentiate internal vs external customers.

## Solution
add startUrl to more metrics.


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
aws#7792)

## Problem

The unifiedDiff from suggestionResponse is outdated due to the change of
context, resulting to the wrong line getting highlighted while
rendering.


## Solution

Calculate the addedLines and removedLines using the current code content
and new code suggestion.


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…7798)

## Problem
if token is not available or the target branch is not master, then
coverage upload command will report failure

additionally, coverage upload failure should not fail the build

## Solution
suppress failure

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…ws#7780)

## Problem
During the inline completion migration to Flare, the timeout handling of
inline completion API was lost. It was there in earlier versions. The
IDE -> Flare call is a local network call that should have a timeout.

## Solution

Add the inline completion call with timeout back. See
https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/util/commonUtil.ts#L21

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
aws#7802)

… to menu string

## Problem

Customer reported issue here:
aws#7796


## Solution
Fix next edit suggestion, inline accept and reject edit to menu string

## Testing

<img width="608" height="87" alt="Screenshot 2025-08-01 at 2 37 51 PM"
src="https://github.com/user-attachments/assets/0004dc9b-32b9-40fb-a5c4-528a8b15c2a2"
/>

<img width="608" height="105" alt="Screenshot 2025-08-01 at 2 38 54 PM"
src="https://github.com/user-attachments/assets/783b4065-a1ae-40df-b16d-55c747b38489"
/>

<img width="608" height="105" alt="Screenshot 2025-08-01 at 2 39 17 PM"
src="https://github.com/user-attachments/assets/31578cf4-2e46-4c30-a6b4-e762543e5252"
/>


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
aws#7786)

## Problem
In order to set appropriate Origin Info on LSP side for SMUS CodeEditor,
[link](https://github.com/aws/language-servers/blob/68adf18d7ec46a7ecf9c66fd9d52b1b8f7bc236e/server/aws-lsp-codewhisperer/src/shared/utils.ts#L377),
clientInfo needs to be distinct and with current logic that uses
```vscode.env.appName``` whose value will be same for all sagemaker
codeeditor instances

## Solution
- To check if the environment is SageMaker and a Unified Studio instance
and set corresponding clientInfo Name which is AmazonQ-For-SMUS-CE


## Testing
- Built artefact locally using ```npm run compile && npm run package```
and tested on a SMUS CE space
- LSP logs are attached to show the respective client Info details
```
[Trace - 9:55:46 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 6395,
    "clientInfo": {
        "name": "vscode",
        "version": "1.90.1"
    },
....
"initializationOptions": {
        "aws": {
            "clientInfo": {
                "name": "AmazonQ-For-SMUS-CE",
                "version": "1.90.1",
                "extension": {
                    "name": "AmazonQ-For-VSCode",
.....
```

- Tested the debug artefact in SMUS and SMAI spaces

As observed below, the sign out was only disabled for SMUS case
initially with
[this](https://github.com/parameja1/aws-toolkit-vscode/blob/f5fa7989be44238d4d27b8c9e7fed967c05bc0e9/packages/core/src/codewhisperer/ui/statusBarMenu.ts#L96)
change, a
[CR](aws@f5cf3bd)
followed up which overrode the logic in isSageMaker and returned true
for all cases irrespective of the appName passed

SMUS
------
<img width="720" height="383" alt="image"
src="https://github.com/user-attachments/assets/49504777-0922-49b8-942a-12efacfd4311"
/>

SMAI
-----
<img width="720" height="383" alt="image"
src="https://github.com/user-attachments/assets/e50c30df-f275-4f7b-bff0-11177a7fed0a"
/>


- Observing Q sendMessage failure in SMAI CE instance due to missing
permissions, again unrelated to this change

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Need to enable and support findings coming in from the displayFindings
tool

Also - Agentic scans are supposed to use the CodeAnalysisScope of
AGENTIC, which needed to be added

## Solution
Set feature flag for displayFindings to be true

Listen for displayFindings messageId from FLARE similarly to how is
being done for CodeReview tool.

Treat displayFindings findings and CodeReview findings separately, so
they do not overwrite one another.

<img width="435" height="1363" alt="image"
src="https://github.com/user-attachments/assets/17a2e571-65c9-45d5-b89d-bccafda76fe2"
/>

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Blake Lazarine <[email protected]>
Co-authored-by: Nitish <[email protected]>
## Problem

In SMAI remote ssh space, Q chat request failed as IAM creds not found

## Solution

Discussed with SMAI team, for SMAI remote ssh space, not set the default
auth mode as IAM.


## Test
before tested with the latest version v1.87.0


https://github.com/user-attachments/assets/7a4f8b23-fb64-453c-830a-bfc58fc8394c

after tested with a local build version



https://github.com/user-attachments/assets/765c772c-13b2-444f-bada-eb9eb5068d55





---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
aws/language-server-runtimes#638

The workspace.getAllTextDocuments() API only returns the open tabs that
were clicked during this IDE session. If you open, close, reopen IDE,
this API returns empty unless user re-click those files again.

So we need to let IDE compute the list of open tab files and send it to
language server

## Solution

Pass open tabs from the IDE to language server.
This is not customer facing so there is no change log needed.
It merely brings back old functional code.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…me interrupted jobs (aws#7781)

## Problem
Users cannot see previous job details (status, project name, job id,
etc) and cannot access the final diff patch. Network issues can cause
jobs to fail on client side while they continue on the backend, and
users have no way to access those artifacts.

## Solution
Repurpose the job status table to show most recent 10 jobs run in the
last 30 days, including links to final diff patch and summary files.
Allow users to retrieve missing artifacts for jobs and to resume
incomplete jobs via refresh button.

<img width="1133" height="290" alt="History Table - New Text"
src="https://github.com/user-attachments/assets/5aea4f3d-5fd6-4109-997a-af7ed737ea32"
/>

<img width="313" height="274" alt="View History Button"
src="https://github.com/user-attachments/assets/216ee214-df39-4e95-bf03-1f9f448faf1f"
/>

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Laxman Reddy <[email protected]>
Co-authored-by: chungjac <[email protected]>
… on acceptance (aws#7814)

## Problem

For Edits pagination case, we always send discard telemetry even though
there are pending Edits suggestions. The root cause is due to prefix
matching logic (we always send discard telemetry if the prefix does not
match).

## Solution

Skip prefix matching for Edits suggestions that trigger on acceptance
(pagination case)

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
@laura-codess laura-codess requested a review from Hweinstock August 7, 2025 20:38
@laura-codess laura-codess requested a review from a team as a code owner August 7, 2025 20:38
@amazon-inspector-ohio
Copy link

⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done

@laura-codess laura-codess changed the base branch from master to feature/ui-e2e-tests August 7, 2025 20:38
@amazon-inspector-ohio
Copy link

✅ I finished the code review, and didn't find any security or code quality issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.