Merge master into feature/hybridChat-local#8725
Open
aws-toolkit-automation wants to merge 258 commits into
Open
Merge master into feature/hybridChat-local#8725aws-toolkit-automation wants to merge 258 commits into
aws-toolkit-automation wants to merge 258 commits into
Conversation
## Problem Toolkit is using an older Lambda SDK (3.731, latest 3.9xx) due to compatibility issues. This caused new fields introduced in LMI/DAR to be not available in local types and need to be manually bypassed. see: #8392, we need to update lambda SDK to latest version and resolve all the compatibility issues Below is the compatibility issue when trying to upgrade sdk lambda client ``` npm error src/shared/clients/lambdaClient.ts(327,9): error TS2741: Property 'config' is missing in type 'AwsClient' but required in type 'LambdaClient'. npm error src/shared/clients/lambdaClient.ts(328,13): error TS2419: Types of construct signatures are incompatible. npm error Type 'new (...[configuration]: [] | [LambdaClientConfig]) => LambdaClient' is not assignable to type 'new (o: AwsClientOptions) => AwsClient'. npm error Construct signature return types 'LambdaClient' and 'AwsClient' are incompatible. npm error The types of 'middlewareStack.add' are incompatible between these types. npm error Type '{ (middleware: InitializeMiddleware<ServiceInputTypes, ServiceOutputTypes>, options?: (InitializeHandlerOptions & AbsoluteLocation) | undefined): void; (middleware: SerializeMiddleware<...>, options: SerializeHandlerOptions & AbsoluteLocation): void; (middleware: BuildMiddleware<...>, options: BuildHandlerOptions & ...' is not assignable to type '{ (middleware: InitializeMiddleware<any, MetadataBearer>, options?: (InitializeHandlerOptions & AbsoluteLocation) | undefined): void; (middleware: SerializeMiddleware<...>, options: SerializeHandlerOptions & AbsoluteLocation): void; (middleware: BuildMiddleware<...>, options: BuildHandlerOptions & AbsoluteLocation):...'. npm error Types of parameters 'middleware' and 'middleware' are incompatible. npm error Types of parameters 'context' and 'context' are incompatible. npm error Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/middleware").HandlerExecutionContext' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").HandlerExecutionContext'. npm error Types of property '[SMITHY_CONTEXT_KEY]' are incompatible. npm error Type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?:...' is not assignable to type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?: import("/Users/ruojiazh/proj/aws-toolkit-vsc...'. npm error Type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?:...' is not assignable to type '{ [key: string]: unknown; service?: string | undefined; operation?: string | undefined; commandInstance?: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined; selectedHttpAuthScheme?: import("/Users/ruojiazh/proj/aws-toolkit-vsc...'. npm error Types of property 'commandInstance' are incompatible. npm error Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any> | undefined'. npm error Type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any>' is not assignable to type 'import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/command").Command<any, any, any, any, any>'. npm error The types of 'middlewareStack.add' are incompatible between these types. npm error Type '{ (middleware: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types/dist-types/middleware").InitializeMiddleware<any, any>, options?: (import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/t...' is not assignable to type '{ (middleware: import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").InitializeMiddleware<any, any>, options?: (import("/Users/ruojiazh/proj/aws-toolkit-vscode/node_modules/@smithy/types/dist-types/middleware").InitializeHandlerOptions & import("/Users/ruojiazh/proj/aws-t...'. npm error Types of parameters 'options' and 'options' are incompatible. npm error Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type '(InitializeHandlerOptions & AbsoluteLocation) | undefined'. npm error Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type 'InitializeHandlerOptions & AbsoluteLocation'. npm error Type 'SerializeHandlerOptions & AbsoluteLocation' is not assignable to type 'InitializeHandlerOptions'. npm error Types of property 'step' are incompatible. npm error Type '"serialize"' is not assignable to type '"initialize"'. ``` ## Reason for Compatibility Error Upgrading @aws-sdk/client-lambda to version 3.953.0+ (which uses Smithy v4) causes TypeScript compilation errors due to module path conflicts. The toolkit's awsClientBuilderV3 uses Smithy v3 types, while the new Lambda client uses Smithy v4 types. Even though the types are structurally identical, TypeScript treats them as incompatible because they're imported from different module paths. ## Solution Added type assertions (as any and as LambdaSdkClient) in lambdaClient.ts to bypass TypeScript's type checking when creating the Lambda client. This allows the new SDK version to work while maintaining runtime compatibility. No new tests are required for the lambdaClient.ts changes because there is no behavior change - The type assertions don't change runtime behavior, only bypass compile-time type checking. The Lambda client functions identically before and after. --- - 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: Chengjun Li <>
…8537) ## Problem - Users without pre-configured credentials encounter authentication errors when opening Lambda functions from console - Credential mismatches between console account and local profile cause errors even when function is accessible in console: - `ResourceNotFoundException` when function exists in console account but not in local profile account - `AccessDeniedException` when local credentials lack `lambda:GetFunction` permission but console credentials have access ## Solution - Add `setupConsoleConnection()` to encapsulate browser-based AWS CLI `aws login` authentication and use the new connection - Add `getFunctionWithFallback()` to retrieve Lambda configuration with automatic console login fallback - Integrate fallback into `openLambdaFolderForEdit()` to handle missing credentials and credential mismatches - Improve error handling to distinguish credential mismatches and resource access issues - Handle `ResourceNotFoundException` by showing account-specific error message before fallback - Handle `AccessDeniedException` by showing permission error message before fallback ### Screenshots #### Show warning message when Lambda GetFunction API returns ResourceNotFoundException, then automatically proceed with console login flow <img width="461" height="90" alt="Screenshot 2026-01-29 at 12 29 00 AM" src="https://github.com/user-attachments/assets/1c1c700f-5585-4684-bcae-9daa43add315" /> #### Show warning message when Lambda GetFunction API returns AccessDeniedException, then automatically proceed with console login flow <img width="463" height="91" alt="Screenshot 2026-01-29 at 12 28 07 AM" src="https://github.com/user-attachments/assets/dce48127-1cca-406e-b966-ebc615ef5fa6" /> ## Background The Lambda `load-function` URI handler enables a seamless workflow where users can click "Open in Visual Studio Code" from the AWS Lambda console to view, edit, and deploy their Lambda functions directly in their preferred IDE. This feature downloads the function code locally, opens it in VS Code, and allows users to make changes and deploy updates back to AWS—all without leaving their development environment. ## Testing - [X] Tested with no local credentials configured - [X] Tested credential mismatch scenarios: - ResourceNotFoundException (function in console account but not local profile account) - AccessDeniedException (local credentials lack permission, console credentials have access) - [X] Tested user cancellation flow - [X] Test with SSO connection active --- - 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.
This merges the released changes for rc-20260129 into main. MCM-143408862 --------- Co-authored-by: aws-toolkit-automation <>
…8520) Add support for multi-tenant Lambda functions by introducing a Tenant ID input field in the Local Invoke configuration panel. The field appears conditionally when the SAM template contains TenancyConfig (either at function-level or in Globals section). The tenant ID value is saved in launch.json and passed to SAM CLI when invoking Lambda functions locally. <img width="619" height="862" alt="Screenshot 2026-01-29 at 10 16 29 AM" src="https://github.com/user-attachments/assets/985e01ce-cbcd-4204-a1ce-37ea9c1fca70" /> --------- Co-authored-by: Chengjun Li <>
## Problem Need to add support for AWS SigV4 for the WebSocket URL used to open a remote connection. These parameters, including the cell-number, can contain special characters and must be properly handled. ## Solution Encode all URI query parameters and extract and append AWS signature parameters to the WebSocket URL. --- - 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 is to support the Lambda multi-tenancy feature in toolkit. ## Solution Add conditional Tenant ID field to Remote Invoke panel for multi-tenant Lambda functions. The field appears when function has TenancyConfig and passes the value to AWS Lambda Invoke API. <img width="333" height="381" alt="Screenshot 2026-01-29 at 10 08 54 AM" src="https://github.com/user-attachments/assets/b7048c07-2919-48e9-9bd0-ddfa89660f79" /> --- - 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: Chengjun Li <>
**Description** Added a local cache that will list the last 10 recently used domains during login. The data is stored in the memento storage, which is VSCode's SQLite DB abstraction for storing metadata for extensions. **Motivation** Better UX for login for customers who use multiple domains **Testing Done** Tested locally and also added unit tests ## Problem ## 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. Co-authored-by: Bhargava Varadharajan <vabharga@amazon.com>
This merges the released changes for rc-20260212 into main. MCM-144328882 --- - 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 <>
…8586) ## Problem ## Solution `includePlatform` will append a platform surfix `Visual-Studil-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.
…r fails (#8580) ## Problem - #8537 introduced setupConsoleConnection() and getFunctionWithFallback() to handle authentication fallback for Lambda console-to-IDE transitions. - When developers click "Open in VSCode" and their local AWS profile is invalid, toolkit automatically triggers browser-based console login as a fallback. However, console login requires prerequisites that not all developers can complete. When developers cancel console login, the CLI never writes the connection profile to disk. The Toolkit then attempts to use this non-existent connection, resulting in "Connection does not exist" errors. <img width="471" height="265" alt="problem-before-the-fix-connection-does-not-exist" src="https://github.com/user-attachments/assets/fd973ce1-7b28-4474-8b55-b0408c67e0ce" /> ## Solution - Verify connection exists in `setupConsoleConnection()` after "aws.toolkit.auth.consoleLogin" completes - Show warning message with link to [prerequisites documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html#cli-configure-sign-in-prerequisites) when connection verification fails - Throw ToolkitError to halt execution and prevent downstream connection usage <img width="1293" height="302" alt="update-message-with-learnmore" src="https://github.com/user-attachments/assets/a1d35f14-4c42-43c1-8417-b6532ed00e9a" /> <img width="1042" height="625" alt="click-learnmore-show-dialog" src="https://github.com/user-attachments/assets/aace3330-4ea8-4bd8-ad24-e8e956f09c45" /> ### Background The Lambda load-function URI handler enables a seamless workflow where users can click "Open in Visual Studio Code" from the AWS Lambda console to view, edit, and deploy their Lambda functions directly in their preferred IDE. This feature downloads the function code locally, opens it in VS Code, and allows users to make changes and deploy updates back to AWS—all without leaving their development environment. --- - 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.
Right now, we don't support reconnection from toolkit for hyperpod spaces. This PR will add the reconnection functionality which leads to seamless user experience. The duplicate check is failing but we need that code at 2 places, one for initial connection and in detached-server so that when the user closes the main window, detached server is able to provide the seamless user experience. Tested the unit test cases and reconnection use cases end to end locally. --- - 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: msgupta <mgupta@onemedical.com> Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com> Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
SageMaker Studio currently supports the ability for customers to connect their local VS Code IDE to SageMaker Spaces from the AWS Toolkit extension, but this is not supported for the Kiro IDE due to the Remote SSH extension for VS Code not being supported. Merge staged feature enhancement which allows SageMaker Studio customers to connect to Spaces from the Kiro IDE. This includes the sagemaker-ssh-kiro sidecar extension as a scoped-down replacement for the Remote SSH for specifically SageMaker use cases, which will be installed on-demand with user consent when needed during the remote access ingress. This PR includes a changelog entry. --- - 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-ides-bot <github-aws-toolkit-automation@amazon.com> Co-authored-by: aws-toolkit-automation <43144436+aws-toolkit-automation@users.noreply.github.com> Co-authored-by: Bhargav <bhargavavaradh@gmail.com> Co-authored-by: Bhargava Varadharajan <vabharga@amazon.com> Co-authored-by: kzr <kzr@amazon.com> Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com> Co-authored-by: Sherry Lu <xiaoluk@amazon.com> Co-authored-by: Sherry Lu <75588211+XiaoxuanLu@users.noreply.github.com> Co-authored-by: Dylan Ross <90357952+dylanraws@users.noreply.github.com> Co-authored-by: zulil <31738836+liuzulin@users.noreply.github.com> Co-authored-by: Zulin Liu <zulil@amazon.com> Co-authored-by: Bhavya Sharma <bhavya2109sharma@gmail.com> Co-authored-by: David <60020664+dhasani23@users.noreply.github.com> Co-authored-by: David Hasani <davhasan@amazon.com> Co-authored-by: Arkaprava De <arkaprava08@gmail.com> Co-authored-by: Arkaprava De <arkaprav@amazon.com> Co-authored-by: Keyu Wu <Keyu.Wu.Wky@gmail.com> Co-authored-by: chungjac <chungjac@amazon.com> Co-authored-by: aws-asolidu <asolidu@amazon.com> Co-authored-by: Newton Der <dernewtz@amazon.com> Co-authored-by: Newton Der <newton.der@gmail.com> Co-authored-by: Will Lo <96078566+Will-ShaoHua@users.noreply.github.com> Co-authored-by: Boyu <wangby56@gmail.com> Co-authored-by: atontb <104926752+atonaamz@users.noreply.github.com> Co-authored-by: Richard Li <742829+rli@users.noreply.github.com> Co-authored-by: Shruti Sinha <44882001+shruti0085@users.noreply.github.com> Co-authored-by: Roger Zhang <ruojiazh@amazon.com> Co-authored-by: Tai Lai <ctlai95@gmail.com> Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com> Co-authored-by: BlakeLazarine <blake.l.lazarine@gmail.com> Co-authored-by: Blake Lazarine <blakelaz@amazon.com> Co-authored-by: tobixlea <tobixlea@amazon.com> Co-authored-by: seshubaws <116689586+seshubaws@users.noreply.github.com> Co-authored-by: Keen Wilson <40321520+keenwilson@users.noreply.github.com> Co-authored-by: Bhavya Sharma <bhavyssh@amazon.com> Co-authored-by: satyaki <208557303+satyakigh@users.noreply.github.com> Co-authored-by: Chris Mendoza <chrisqm@amazon.com> Co-authored-by: Kevin DeJong <kddejong@amazon.com> Co-authored-by: Akila Tennakoon <akila.n.tennakoon@gmail.com> Co-authored-by: Akila Tennakoon <tennakoo@amazon.com> Co-authored-by: Deep Furiya <79759607+deepfuriya@users.noreply.github.com> Co-authored-by: Deep Furiya <dfuriya@amazon.com> Co-authored-by: vicheey <181402101+vicheey@users.noreply.github.com> Co-authored-by: Renato Valenzuela <37676028+valerena@users.noreply.github.com> Co-authored-by: Aseem sharma <198968351+aseemxs@users.noreply.github.com> Co-authored-by: Reed Hamilton <reedham@amazon.com> Co-authored-by: Zeeshan Ahmed <37942674+Zee2413@users.noreply.github.com> Co-authored-by: kzr-at-amazon <build@amazon.com> Co-authored-by: Ziwei Ba <ziwikiwi@amazon.com>
…8598) ## Problem When users click “Open in VS Code” from the Lambda console and the request reaches Toolkit without an active connection or with mismatched credentials, Toolkit currently falls back to console credential login (`aws login`) immediately. This triggers a browser-based authentication flow without prior notice. ## Solution This change adds a modal confirmation dialog before invoking `aws login` in these cases. The dialog explains that Toolkit will sign in using browser-based authentication and states the required prerequisites. Users must explicitly choose to continue before the console login flow starts. The prompt: - Explains that signing in is required to open the Lambda function locally - Informs users that browser-based authentication will occur - States the AWS CLI and permission prerequisites - Allows users to explicitly choose whether to proceed This makes the flow intentional, reduces surprise browser redirects, and helps distinguish between informed cancellation and setup issues. ## Screenshots <img width="1197" height="800" alt="Screenshot 2026-02-23 at 3 53 57 PM" src="https://github.com/user-attachments/assets/8e7d0c64-7506-4e13-8ec5-322ca720003f" /> --- - 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 ## 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. Co-authored-by: David Hasani <davhasan@amazon.com> Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
… prompt a warning (#8610) ## Problem The SMUS agent context prompt was displayed as an information notification that users were easily overlooking or ignoring. Additionally, there was no telemetry to track how users responded to the prompt (accepted, declined, or dismissed), making it impossible to measure engagement. ## Solution Changed the prompt from showInformationMessage to showWarningMessage for higher visibility. Added telemetry using smus_acceptAgentsNotification to track whether users accept, decline, or dismiss the prompt. --- - 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: Ziwei Ba <ziwikiwi@amazon.com>
… for MCP servers (#8608) Kiro struggles to troubleshoot credential issues when MCP server doesn't have the proper credentials environment variable, even though it's mentioned in the smus-context file. Add a prompt to smus-context.md to include credentials provider uri in MCP server env block. --- - 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: kzr-at-amazon <build@amazon.com>
… user choice (#8611) ## Problem Previously, we emitted a metric when a user chooses Yes, No, or closes out of the prompt. However, sometimes the notification is buried or goes to the little notification bell. We also want to see if users will actually see the prompt. ## Solution - Changed existing agent context metric to two metrics: - smus_agentContextShowPrompt — emitted when the prompt is displayed - smus_agentContextUserChoice — emitted when the user accepts, declines, or dismisses the prompt - Both metrics include rich context: domain ID, account ID, region, project ID, project account ID, project region, space key, and auth mode. --- - 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: Ziwei Ba <ziwikiwi@amazon.com>
…#8620) The `sagemaker-ssh-kiro` extension VSIX is showing up in the release artifacts for prerelease, but we don't want it to show there. It's intended only to be embedded inside of the toolkit VSIX. Remove the `sagemaker-ssh-kiro` extension VSIX from the top level file system during the GitHub Action workflow step which packages the VSIX 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.
## Problem Did not include "Result: Success" in the emitted metric for showing the AGENTS.md prompt, which resulted in a warning when logging the metric. ## Solution Added this missing field. --- - 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: Ziwei Ba <ziwikiwi@amazon.com> Co-authored-by: Will Lo <96078566+Will-ShaoHua@users.noreply.github.com>
--- - 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 <> Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com>
) ## Problem ## 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. Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
## Problem 1. Toolkit CI builds fail when they detect more than one VSIX file at the top level, due to the `sagemaker-ssh-kiro` extension being present even though it's not needed there 2. Whenever the `sagemaker-ssh-kiro` extension version is updated (e.g., 0.2.0 -> 0.3.0), there can be two VSIX files in the toolkit resources directory, which can eventually lead to an error as the toolkit cannot determine which file to install at runtime ## Solution 1. As part of packaging `toolkit`, move (rather than copy) the `sagemaker-ssh-kiro` VSIX file to the toolkit resources directory, so that it will be no longer present at the top level, thus preventing any CI build failures 2. Remove all `sagemaker-ssh-kiro` VSIX files from the toolkit resources directory before moving the new file there --- - 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 Users are not able to connect to hyperpod spaces through deeplink ## Solution This PR will solve the issue and is tested locally. --- - 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: msgupta <mgupta@onemedical.com>
…down (#8584) ## Problem - Users reported code editor and jupyterlab spaces were prematurely or not shutting down when connecting via remote ide. This issue has been addressed by enhancing the idle activity monitoring system ## Solution - Check for remote ide environment which triggers the last active timestamp script to update. previously this was skipped and the timestamp was not being updated which caused the space to not shut down when idle - Add special case for focused window due to event handlers triggering for idle windows in the background - Add remaining criteria for idle detection: > No background processes running > No notebook kernels processing > No unsaved work - Check for active jupyterlab kernels ## Test - Tested idle detection locally with new VSIX - Internal bugbash --- - 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.
…dl (#8636) ## Problem - When users attempted to open SageMaker spaces in vscode via SageMaker UI, they ran into connection errors. Upon investigation, we discovered that our source code was refactored when another feature was merged. ## Solution - Move ssh config outside sm_hp scope so it also triggers for sm_lc and sm_dl ## Testing - Local testing with vsix --- - 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: invictus <149003065+ashishrp-aws@users.noreply.github.com>
## Problem CloudFormation error messages have repetitive colons that make stack names hard to distinguish from the rest of the message. ## Solution Add quotes around stack names in all CloudFormation failure/success messages to improves readability by clearly separating stack names from error details --- - 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: invictus <149003065+ashishrp-aws@users.noreply.github.com>
## Problem Fixing LSP version config ## 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.
…allback LSP (#8591) ## Problem When users behind corporate proxies/firewalls can't download the LSP from CDN, the extension falls back to a bundled LSP. The bundled LSP currently excludes the entire indexing/ folder (~200MB), which means @file, @folder, and @code context commands don't work for these users. ## Solution Instead of deleting the entire `indexing` folder during bundling, selectively strip only the heavy platform-specific files that aren't needed for context commands: - dist/bin/ — ONNX native binaries (25MB) - dist/build/ — faiss native binaries (11MB) - models/ — CodeSage ONNX model (124MB) This keeps extension.js, lspServer.js, tree-sitter WASMs (~30MB uncompressed, ~3MB compressed in VSIX), which is everything needed for @file, @folder, @code, and BM25 cross-file context. VSIX size impact: +3MB (19MB → 22MB) Depends on aws/language-servers#2629: (CDN must have the updated indexing library)
…o for reconnection (#8641)" (#8646) This reverts commit f3a9935. ## Problem ## 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.
…utes refactor(sagemaker): align HyperPod session routes with jorus architecture
build(amazonq): merge release candidate version rc-20260513
The backend now supports cursor-remote and kiro-remote connection types
in addition to vscode-remote. Pass the IDE type from the caller to
createWorkspaceConnection so the K8s API creates the correct session.
- kubectlClientStub: accept ideType param, send ${ideType}-remote in spec
- kubectlClient: pass ideType through to super
- hyperpodCommands: pass getIdeType() for LC flow
- getHyperpodSession: pass PARENT_IDE_TYPE env var for server reconnection
## Problem Had some lint-duplicate errors when trying to merge in our feature branch to staging from some older commits that were created before the lint checks were running on the old feature branch. ## Solution Fixing them now. Verified in tooling and toolinglite projects in IDC domains, and an IAM domain. --- - 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: Ziwei Ba <ziwikiwi@amazon.com>
feat(smus): Domain unification milestone 2 changes
## Problem - Transition status was not updating in real time. ## Solution - Modify how the node is updated. This allows for the polling mechanism to fetches the real status from Kubernetes and update the UI when transition completes. ## Testing - Tested locally via vsix --- - 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.
…#8743) ## Problem - On Windows, stale remote.SSH.remotePlatform entries accumulate over time as SageMaker/HyperPod connections are established but never cleaned up. This addresses a long-standing TODO in the codebase. ## Solution - On extension activation (Windows only), remove remotePlatform entries matching SageMaker hostname prefixes (sm_, smc_, smhp_, smhpc_). Runs fire-and-forget. Fresh entries are re-added during normal connection flow. ## Testing 1. Verified stale entries are cleaned on restart 2. Verified new entries are correctly added during connection --- - 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.
…e-type feat(sagemaker): pass IDE type to WorkspaceConnection API
Version 4.6.0 became stuck in a corrupt state on the VS Marketplace (partially registered but not installable). The Marketplace rejects re-publishing the same version number, so rolling forward to 4.6.1. ## Problem The first pipeline run for v4.6.0 partially registered the version on the VS Marketplace (metadata created) but the package upload never completed. This left 4.6.0 in a corrupt state: `vsce show` reports it exists, but `code --install-extension` fails and the web UI still shows 4.5.0. Subsequent publish retries all fail with "already exists." `vsce unpublish` did not clear the stuck state. ## Solution Bump the release version from 4.6.0 to 4.6.1. The release content (features, bug fixes) is identical — only the version number changes to bypass the Marketplace's rejection of the corrupted 4.6.0 entry. --- - 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.
build(amazonq): merge release candidate version rc-20260521
Add npm override to update jsonpath-plus to ^10.3.0. The package is pulled in transitively via @kubernetes/client-node and was outdated.
deps: Update transitive jsonpath-plus dependency
feat(sagemaker): Reconnection for parker spaces
feat(sagemaker): route detached server and SSM tunnel through IDE proxy settings
build(toolkits): merge release candidate version rc-20260611
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automatic merge failed
Command line hint
To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):