Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
a880a35
Merge staging into feature/smus
aws-toolkit-automation Jul 7, 2025
5e5400e
Merge public/master to private/staging
aws-toolkit-automation Jul 7, 2025
bef0940
Merge public/master to private/staging
aws-toolkit-automation Jul 7, 2025
77a7b48
Merge staging into feature/smus
aws-toolkit-automation Jul 7, 2025
c26f3b3
Merge public/master to private/staging
aws-toolkit-automation Jul 7, 2025
2896714
Merge staging into feature/smus
aws-toolkit-automation Jul 7, 2025
4deb3b3
Merge public/master to private/staging
aws-toolkit-automation Jul 8, 2025
e29d5ba
Merge staging into feature/smus
aws-toolkit-automation Jul 8, 2025
ba8fce1
Merge public/master to private/staging
aws-toolkit-automation Jul 8, 2025
cb674a6
Merge staging into feature/smus
aws-toolkit-automation Jul 8, 2025
8c4a9f4
Merge public/master to private/staging
aws-toolkit-automation Jul 8, 2025
77c1107
Merge staging into feature/smus
aws-toolkit-automation Jul 8, 2025
a6ee9b4
Merge public/master to private/staging
aws-toolkit-automation Jul 8, 2025
25874ef
Merge staging into feature/smus
aws-toolkit-automation Jul 8, 2025
3b2a161
Merge public/master to private/staging
aws-toolkit-automation Jul 9, 2025
b7142f2
Merge staging into feature/smus
aws-toolkit-automation Jul 9, 2025
9c44261
Merge public/master to private/staging
aws-toolkit-automation Jul 9, 2025
6976e7f
Merge staging into feature/smus
aws-toolkit-automation Jul 9, 2025
1157292
feat(sagemaker): Add deeplink space reconnect logic (#2155)
aws-asolidu Jul 10, 2025
b033eff
Merge staging into feature/smus
aws-toolkit-automation Jul 10, 2025
39efe43
fix(sagemaker): manual filtering of spaces per region (#2154)
NewtonDer Jul 10, 2025
51366eb
Merge staging into feature/smus
aws-toolkit-automation Jul 10, 2025
92e11ee
Merge public/master to private/staging
aws-toolkit-automation Jul 10, 2025
a2bd866
Merge staging into feature/smus
aws-toolkit-automation Jul 10, 2025
27387c9
Merge public/master to private/staging
aws-toolkit-automation Jul 10, 2025
762d4e7
Merge public/master to private/staging
aws-toolkit-automation Jul 10, 2025
f0a9d0a
Merge staging into feature/smus
aws-toolkit-automation Jul 10, 2025
647f457
Merge public/master to private/staging
aws-toolkit-automation Jul 10, 2025
4e788b7
Merge staging into feature/smus
aws-toolkit-automation Jul 10, 2025
0bd4d8b
Merge public/master to private/staging
aws-toolkit-automation Jul 11, 2025
76e72a9
Merge staging into feature/smus
aws-toolkit-automation Jul 11, 2025
8d2fdfc
Merge public/master to private/staging
aws-toolkit-automation Jul 11, 2025
3cd7753
Merge staging into feature/smus
aws-toolkit-automation Jul 11, 2025
b9c2783
feat(sagemakerunifiedstudio): set up SageMaker Unified Studio root no…
liuzulin Jul 11, 2025
f7a7e25
Merge public/master to private/staging
aws-toolkit-automation Jul 11, 2025
63e0c84
Merge staging into feature/smus
aws-toolkit-automation Jul 11, 2025
8138566
Merge public/master to private/staging
aws-toolkit-automation Jul 11, 2025
30ad8b5
Merge staging into feature/smus
aws-toolkit-automation Jul 11, 2025
117e03a
Merge public/master to private/staging
aws-toolkit-automation Jul 11, 2025
de55b42
Merge staging into feature/smus
aws-toolkit-automation Jul 11, 2025
fe02ffc
Merge public/master to private/staging
aws-toolkit-automation Jul 13, 2025
5e85615
Merge staging into feature/smus
aws-toolkit-automation Jul 13, 2025
93a4f9d
Merge public/master to private/staging
aws-toolkit-automation Jul 14, 2025
b2e0b03
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
8d7732c
feat(sagemaker): Add Autoshutdown support and Fix connect to capitali…
aws-asolidu Jul 14, 2025
a0dd48a
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
db0f3b4
Merge public/master to private/staging
aws-toolkit-automation Jul 14, 2025
f9499c7
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
dee06a0
Merge public/master to private/staging
aws-toolkit-automation Jul 14, 2025
5afce5b
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
b63bf21
Merge public/master to private/staging
aws-toolkit-automation Jul 14, 2025
33aed20
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
7d48d48
Merge public/master to private/staging
aws-toolkit-automation Jul 14, 2025
59aeed6
Merge staging into feature/smus
aws-toolkit-automation Jul 14, 2025
6d9764b
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
846ffa6
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
3c1c282
feat(sagemaker): Show notification if instanceType has insufficient m…
NewtonDer Jul 15, 2025
d8d0b1c
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
ac33d67
fix(sagemaker): GetStatus error when refreshing large number of space…
aws-asolidu Jul 15, 2025
1fd8fbd
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
394eda9
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
159776a
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
cb1b95d
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
48c1b3a
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
3008405
fix(sagemaker): Show error message when trying to connect remotely fr…
NewtonDer Jul 15, 2025
eae4c09
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
42f8826
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
b0b54be
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
2599c04
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
a654cac
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
59f35fb
Merge public/master to private/staging
aws-toolkit-automation Jul 15, 2025
a8a546e
Merge staging into feature/smus
aws-toolkit-automation Jul 15, 2025
72d06ed
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
e029344
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
43ee839
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
e272d74
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
4febba1
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
d731342
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
e0de89d
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
d2103a4
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
05b34c7
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
c74bcb9
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
6be721e
Merge public/master to private/staging
aws-toolkit-automation Jul 16, 2025
eeee7a5
Merge staging into feature/smus
aws-toolkit-automation Jul 16, 2025
4569819
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
e8cee99
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
cb0bfa1
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
0bb235f
feat(sagemakerunifiedstudio): Add notebook create job page (#2164)
spkamboj Jul 17, 2025
5559de6
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
8511824
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
87e067c
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
2a15f63
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
d8ededc
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
d8ce01a
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
ff3b76e
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
e294c0c
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
a344b48
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
fc6b9ed
feat(sagemakerunifiedstudio): Refactor SageMaker Unified Studio explo…
bharathGuntamadugu Jul 17, 2025
684d7a8
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
8b36949
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
46f6bb6
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
fbafbdc
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
158e077
Merge public/master to private/staging
aws-toolkit-automation Jul 17, 2025
51f8ade
Merge staging into feature/smus
aws-toolkit-automation Jul 17, 2025
68fe520
Merge public/master to private/staging
aws-toolkit-automation Jul 18, 2025
a380317
Merge staging into feature/smus
aws-toolkit-automation Jul 18, 2025
4c155e8
Merge public/master to private/staging
aws-toolkit-automation Jul 18, 2025
d2cd3cb
Merge staging into feature/smus
aws-toolkit-automation Jul 18, 2025
1726fcc
Merge public/master to private/staging
aws-toolkit-automation Jul 18, 2025
98d386d
Merge staging into feature/smus
aws-toolkit-automation Jul 18, 2025
f693ca6
Merge public/master to private/staging
aws-toolkit-automation Jul 18, 2025
0646186
Merge staging into feature/smus
aws-toolkit-automation Jul 18, 2025
a64e49a
Merge public/master to private/staging
aws-toolkit-automation Jul 19, 2025
08f97f8
Merge staging into feature/smus
aws-toolkit-automation Jul 19, 2025
d8317a2
Merge public/master to private/staging
aws-toolkit-automation Jul 19, 2025
1b04f60
Merge staging into feature/smus
aws-toolkit-automation Jul 19, 2025
904eaf6
Merge public/master to private/staging
aws-toolkit-automation Jul 19, 2025
b4e4c6b
Merge staging into feature/smus
aws-toolkit-automation Jul 19, 2025
043d463
Merge public/master to private/staging
aws-toolkit-automation Jul 22, 2025
763b738
Merge staging into feature/smus
aws-toolkit-automation Jul 22, 2025
232d986
Merge public/master to private/staging
aws-toolkit-automation Jul 22, 2025
b6484e7
Merge staging into feature/smus
aws-toolkit-automation Jul 22, 2025
2654b65
Merge public/master to private/staging
aws-toolkit-automation Jul 22, 2025
b9a4a2b
Merge staging into feature/smus
aws-toolkit-automation Jul 22, 2025
421bd8a
feat(smus): Enhance project switching functionality
Jul 22, 2025
bb6f1a7
feat(smus): Add basic SMUS login UI to SMUS explorer (#2168)
vpbhargav Jul 22, 2025
27eaecf
Merge public/master to private/staging
aws-toolkit-automation Jul 22, 2025
35dbd54
Merge staging into feature/smus
aws-toolkit-automation Jul 22, 2025
6f94e7a
Merge upstream/feature/smus into feature/smus
Jul 22, 2025
0caa3a2
Merge public/master to private/staging
aws-toolkit-automation Jul 22, 2025
5e04c04
Merge staging into feature/smus
aws-toolkit-automation Jul 22, 2025
3fbe255
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
b6fc00a
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
7b1d2ba
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
9d825ce
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
4ec5356
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
d77fa66
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
f6561be
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
2a9afa5
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
b476bbb
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
8cb1089
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
540d8b7
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
6797c36
feat(sagemakerunifiedstudio): Add view notebook jobs page (#2171)
spkamboj Jul 23, 2025
7c61e98
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
75e99aa
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
d2a3769
Merge public/master to private/staging
aws-toolkit-automation Jul 23, 2025
90b530c
Merge staging into feature/smus
aws-toolkit-automation Jul 23, 2025
44d882f
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
a8b88cc
Merge staging into feature/smus
aws-toolkit-automation Jul 24, 2025
9f8a87a
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
56b0436
Merge staging into feature/smus
aws-toolkit-automation Jul 24, 2025
bd42b02
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
49333ea
Merge staging into feature/smus
aws-toolkit-automation Jul 24, 2025
adc212e
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
c54c119
Merge staging into feature/smus
aws-toolkit-automation Jul 24, 2025
eb44619
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
cf92886
Merge public/master to private/staging
aws-toolkit-automation Jul 24, 2025
abd7d85
Merge public/master to private/staging
aws-toolkit-automation Jul 25, 2025
e1c505c
feat(sagemakerunifiedstudio): Add view notebook job definitions page …
spkamboj Jul 25, 2025
09e7181
Merge public/master to private/staging
aws-toolkit-automation Jul 25, 2025
be80900
Merge public/master to private/staging
aws-toolkit-automation Jul 25, 2025
5d703d8
Merge pull request #2170 from bharathGuntamadugu/feature/smus
bywang56 Jul 25, 2025
d965a77
Merge public/master to private/staging
aws-toolkit-automation Jul 25, 2025
4fc4d0a
Merge public/master to private/staging
aws-toolkit-automation Jul 25, 2025
cea2d7f
Merge public/master to private/staging
aws-toolkit-automation Jul 28, 2025
522afd6
Merge public/master to private/staging
aws-toolkit-automation Jul 28, 2025
47fd018
Merge public/master to private/staging
aws-toolkit-automation Jul 28, 2025
f0e138e
Merge public/master to private/staging
aws-toolkit-automation Jul 28, 2025
0775675
feat(sagemakerunifiedstudio): Add job detail page (#2180)
spkamboj Jul 29, 2025
f55b330
Merge public/master to private/staging
aws-toolkit-automation Jul 29, 2025
fbdaf5b
Merge public/master to private/staging
aws-toolkit-automation Jul 29, 2025
dcaa849
Merge staging into feature/smus
aws-toolkit-automation Jul 29, 2025
8a82177
Merge public/master to private/staging
aws-toolkit-automation Jul 30, 2025
9a95f82
Merge staging into feature/smus
aws-toolkit-automation Jul 30, 2025
1b8d1b3
Merge public/master to private/staging
aws-toolkit-automation Jul 30, 2025
cddb6e7
Merge staging into feature/smus
aws-toolkit-automation Jul 30, 2025
c4641e7
Merge public/master to private/staging
aws-toolkit-automation Jul 30, 2025
7e3f4dd
Merge staging into feature/smus
aws-toolkit-automation Jul 30, 2025
5cf3a8c
Merge public/master to private/staging
aws-toolkit-automation Jul 31, 2025
db0492a
Merge public/master to private/staging
aws-toolkit-automation Jul 31, 2025
9bdce0e
Merge staging into feature/smus
aws-toolkit-automation Jul 31, 2025
cd2cd06
Merge public/master to private/staging
aws-toolkit-automation Jul 31, 2025
37d3258
Merge staging into feature/smus
aws-toolkit-automation Jul 31, 2025
df9dc44
Merge public/master to private/staging
aws-toolkit-automation Jul 31, 2025
3ba0187
Merge public/master to private/staging
aws-toolkit-automation Jul 31, 2025
5d64e81
Merge staging into feature/smus
aws-toolkit-automation Jul 31, 2025
10b56d2
Merge public/master to private/staging
aws-toolkit-automation Aug 1, 2025
605d62a
Merge staging into feature/smus
aws-toolkit-automation Aug 1, 2025
f1798a9
Merge public/master to private/staging
aws-toolkit-automation Aug 1, 2025
aa5c07b
Merge staging into feature/smus
aws-toolkit-automation Aug 1, 2025
7e26cf2
Merge public/master to private/staging
aws-toolkit-automation Aug 1, 2025
24ee443
Merge staging into feature/smus
aws-toolkit-automation Aug 1, 2025
65ceb7e
Merge public/master to private/staging
aws-toolkit-automation Aug 1, 2025
28b1d0b
Merge staging into feature/smus
aws-toolkit-automation Aug 1, 2025
582cc2d
Merge public/master to private/staging
aws-toolkit-automation Aug 4, 2025
2ab4daa
Merge staging into feature/smus
aws-toolkit-automation Aug 4, 2025
4e471af
Merge public/master to private/staging
aws-toolkit-automation Aug 4, 2025
b5353b0
Merge staging into feature/smus
aws-toolkit-automation Aug 4, 2025
d71c9c5
Merge public/master to private/staging
aws-toolkit-automation Aug 4, 2025
e30d0b8
Merge staging into feature/smus
aws-toolkit-automation Aug 4, 2025
95784d7
Merge public/master to private/staging
aws-toolkit-automation Aug 4, 2025
8033b63
Merge staging into feature/smus
aws-toolkit-automation Aug 4, 2025
081c9b3
feat(sagemakerunifiedstudio): Add S3 nodes and Redshift nodes to Sage…
liuzulin Aug 4, 2025
f9334fd
feat(sagemakerunifiedstudio): Add job definition detail page and edit…
spkamboj Aug 4, 2025
78e6ca0
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
44617ae
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
1358770
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
d4ca0c9
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
a5f7341
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
2ced0b6
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
e18cf81
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
53ba27d
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
8ca4485
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
ca9f86e
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
29a8770
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
dd0b6b6
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
bd50aec
Merge public/master to private/staging
aws-toolkit-automation Aug 5, 2025
84df901
Merge staging into feature/smus
aws-toolkit-automation Aug 5, 2025
436fc38
feat(smsus): Add connection handling for SMUS (#2179)
vpbhargav Aug 6, 2025
db2f85d
Merge public/master to private/staging
aws-toolkit-automation Aug 6, 2025
e68d5ae
Merge staging into feature/smus
aws-toolkit-automation Aug 6, 2025
dc372c4
feat(sagemakerunifiedstudio): Fetch notebook training jobs (#2184)
spkamboj Aug 6, 2025
c52cef8
Merge public/master to private/staging
aws-toolkit-automation Aug 6, 2025
a7e454b
Merge public/master to private/staging
aws-toolkit-automation Aug 6, 2025
d996b0a
Merge staging into feature/smus
aws-toolkit-automation Aug 6, 2025
edb57fc
Merge public/master to private/staging
aws-toolkit-automation Aug 7, 2025
288ef88
Merge staging into feature/smus
aws-toolkit-automation Aug 7, 2025
cdbec4c
Merge public/master to private/staging
aws-toolkit-automation Aug 7, 2025
3edd5a8
Merge staging into feature/smus
aws-toolkit-automation Aug 7, 2025
fd73378
feat(smus): Add credential providers for SMUS (#2187)
vpbhargav Aug 11, 2025
d097668
feat(smus): Add Project Space management functionality (#2190)
bharathGuntamadugu Aug 13, 2025
f064a4f
feat(sagemakerunifiedstudio): Add Lakehouse nodes to SageMaker Unifie…
liuzulin Aug 13, 2025
f455105
feat(smus): List connections under compute node (#2193)
PotatoWKY Aug 14, 2025
711c488
fix(smus): Stop buttom not showing on newly created spaces (#2199)
PotatoWKY Aug 15, 2025
573b674
feat(sagemakerunifiedstudio): Wire connection credentials provider an…
liuzulin Aug 15, 2025
0ffb792
feat(sagemakerunifiedstudio): Add Connection Magics Selector feature …
hurstsad Aug 19, 2025
b40b9bd
fix(smus): Improve error handling and handle No projects and spaces s…
bharathGuntamadugu Aug 19, 2025
918f95b
feat(sagemakerunifiedstudio): Also show catalogs under Redshift nodes…
liuzulin Aug 21, 2025
df42b76
feat(sagemakerunifiedstudio): Handle experience in remote ssh connect…
liuzulin Aug 22, 2025
8ce40c2
feat(smus): improve project selection error handling and remove auto-…
bharathGuntamadugu Aug 25, 2025
e8a8c59
fix(smsus): Update DER cred expiry time and project pick (#2206)
vpbhargav Aug 27, 2025
d39c3ec
feat(sagemakerunifiedstudio): Add telemetry for login, signout, acces…
liuzulin Aug 28, 2025
5c8fc36
feat(sagemakerunifiedstudio): Fix list spaces in cross region cross a…
liuzulin Aug 29, 2025
c0d1e99
fix(smus): Space metadata is stale after the updateSpace call (#2213)
PotatoWKY Sep 3, 2025
75d77b8
feat(sagemaker): Expand project and compute nodes by default (#2210)
bharathGuntamadugu Sep 4, 2025
8049826
fix(smus): Add proactive cred refresh for active SSH connections
Aug 31, 2025
b49c0d7
Merge branch 'master' into master
laileni-aws Sep 5, 2025
10e40ee
fix (Smus): Activate SMUS in NodeJS environment and remove Notebooks
Sep 8, 2025
c14ffd0
Trigger
Sep 8, 2025
9a49e16
empty commit to trigger ci
Will-ShaoHua Sep 8, 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
1 change: 1 addition & 0 deletions .github/workflows/lintcommit.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ const scopes = new Set([
'telemetry',
'toolkit',
'ui',
'sagemakerunifiedstudio',
])
void scopes

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ src.gen/*
**/src/codewhisperer/client/codewhispererclient.d.ts
**/src/codewhisperer/client/codewhispereruserclient.d.ts
**/src/auth/sso/oidcclientpkce.d.ts
**/src/sagemakerunifiedstudio/shared/client/gluecatalogapi.d.ts
**/src/sagemakerunifiedstudio/shared/client/sqlworkbench.d.ts

# Generated by tests
**/src/testFixtures/**/bin
Expand Down
4,983 changes: 4,190 additions & 793 deletions package-lock.json

Large diffs are not rendered by default.

44 changes: 41 additions & 3 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -421,26 +421,61 @@
"fontCharacter": "\\f1e0"
}
},
"aws-schemas-registry": {
"aws-sagemakerunifiedstudio-catalog": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e1"
}
},
"aws-schemas-schema": {
"aws-sagemakerunifiedstudio-spaces": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e2"
}
},
"aws-stepfunctions-preview": {
"aws-sagemakerunifiedstudio-spaces-dark": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e3"
}
},
"aws-sagemakerunifiedstudio-symbol-int": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e4"
}
},
"aws-sagemakerunifiedstudio-table": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e5"
}
},
"aws-schemas-registry": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e6"
}
},
"aws-schemas-schema": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e7"
}
},
"aws-stepfunctions-preview": {
"description": "AWS Contributed Icon",
"default": {
"fontPath": "./resources/fonts/aws-toolkit-icons.woff",
"fontCharacter": "\\f1e8"
}
}
}
},
Expand Down Expand Up @@ -539,12 +574,15 @@
"@aws-sdk/client-cloudwatch-logs": "<3.731.0",
"@aws-sdk/client-codecatalyst": "<3.731.0",
"@aws-sdk/client-cognito-identity": "<3.731.0",
"@aws-sdk/client-datazone": "^3.848.0",
"@aws-sdk/client-docdb": "<3.731.0",
"@aws-sdk/client-docdb-elastic": "<3.731.0",
"@aws-sdk/client-ec2": "<3.731.0",
"@aws-sdk/client-glue": "^3.852.0",
"@aws-sdk/client-iam": "<3.731.0",
"@aws-sdk/client-lambda": "<3.731.0",
"@aws-sdk/client-s3": "<3.731.0",
"@aws-sdk/client-s3-control": "^3.830.0",
"@aws-sdk/client-sagemaker": "<3.696.0",
"@aws-sdk/client-ssm": "<3.731.0",
"@aws-sdk/client-sso": "<3.731.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/core/package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,9 @@
"AWS.command.s3.createFolder": "Create Folder...",
"AWS.command.s3.uploadFile": "Upload Files...",
"AWS.command.s3.uploadFileToParent": "Upload to Parent...",
"AWS.command.smus.switchProject": "Switch Project",
"AWS.command.smus.refreshProject": "Refresh Project",
"AWS.command.smus.signOut": "Sign Out",
"AWS.command.sagemaker.filterSpaces": "Filter Sagemaker Spaces",
"AWS.command.stepFunctions.createStateMachineFromTemplate": "Create a new Step Functions state machine",
"AWS.command.stepFunctions.publishStateMachine": "Publish state machine to Step Functions",
Expand Down Expand Up @@ -297,6 +300,7 @@
"AWS.appcomposer.explorerTitle": "Infrastructure Composer",
"AWS.cdk.explorerTitle": "CDK",
"AWS.codecatalyst.explorerTitle": "CodeCatalyst",
"AWS.sagemakerunifiedstudio.explorerTitle": "SageMaker Unified Studio",
"AWS.cwl.limit.desc": "Maximum amount of log entries pulled per request from CloudWatch Logs. For LiveTail, when the limit is reached, the oldest events will be removed to accomodate new events. (max 10000)",
"AWS.samcli.deploy.bucket.recentlyUsed": "Buckets recently used for SAM deployments",
"AWS.submenu.amazonqEditorContextSubmenu.title": "Amazon Q",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions packages/core/scripts/build/generateServiceClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,14 @@ void (async () => {
serviceJsonPath: 'src/codewhisperer/client/user-service-2.json',
serviceName: 'CodeWhispererUserClient',
},
{
serviceJsonPath: 'src/sagemakerunifiedstudio/shared/client/gluecatalogapi.json',
serviceName: 'GlueCatalogApi',
},
{
serviceJsonPath: 'src/sagemakerunifiedstudio/shared/client/sqlworkbench.json',
serviceName: 'SQLWorkbench',
},
]
await generateServiceClients(serviceClientDefinitions)
})()
38 changes: 37 additions & 1 deletion packages/core/src/auth/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,30 @@ export class Auth implements AuthService, ConnectionManager {
}
}

/**
* Gets the SSO access token for a connection
* @param connection The SSO connection to get the token for
* @returns Promise resolving to the access token string
*/
@withTelemetryContext({ name: 'getSsoAccessToken', class: authClassName })
public async getSsoAccessToken(connection: Pick<SsoConnection, 'id'>): Promise<string> {
const profile = this.store.getProfileOrThrow(connection.id)

if (profile.type !== 'sso') {
throw new Error(`Connection ${connection.id} is not an SSO connection`)
}

const provider = this.getSsoTokenProvider(connection.id, profile)
// Calling existing getToken private method - It will handle setting the connection state etc.
const token = await this._getToken(connection.id, provider)

if (!token?.accessToken) {
throw new Error(`No access token available for connection ${connection.id}`)
}

return token.accessToken
}

public async useConnection({ id }: Pick<SsoConnection, 'id'>): Promise<SsoConnection>
public async useConnection({ id }: Pick<IamConnection, 'id'>): Promise<IamConnection>
@withTelemetryContext({ name: 'useConnection', class: authClassName })
Expand Down Expand Up @@ -923,10 +947,22 @@ export class Auth implements AuthService, ConnectionManager {
if (previousState === 'valid') {
// Non-token expiration errors can happen. We must log it here, otherwise they are lost.
getLogger().warn(`auth: valid connection became invalid. Last error: %s`, this.#validationErrors.get(id))

const timeout = new Timeout(60000)
this.#invalidCredentialsTimeouts.set(id, timeout)

// Check if this is a SMUS profile - if so, skip the generic prompt
// as SMUS has its own reauthentication flow
const isSmusConnection = profile.type === 'sso' && 'domainUrl' in profile && 'domainId' in profile
if (isSmusConnection) {
getLogger().debug(`auth: Skipping generic reauthentication prompt for SMUS connection ${id}`)
// For SMUS connections, just throw the InvalidConnection error
// The SMUS auth provider will handle showing the appropriate prompt
throw new ToolkitError('Connection is invalid or expired. Try logging in again.', {
code: errorCode.invalidConnection,
cause: this.#validationErrors.get(id),
})
}

const connLabel = profile.metadata.label ?? (profile.type === 'sso' ? this.getSsoProfileLabel(profile) : id)
const message = localize(
'aws.auth.invalidConnection',
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/auth/secondaryAuth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { withTelemetryContext } from '../shared/telemetry/util'
import { isNetworkError } from '../shared/errors'
import globals from '../shared/extensionGlobals'

export type ToolId = 'codecatalyst' | 'codewhisperer' | 'testId'
export type ToolId = 'codecatalyst' | 'codewhisperer' | 'testId' | 'smus'

let currentConn: Auth['activeConnection']
const auths = new Map<string, SecondaryAuth>()
Expand Down
37 changes: 29 additions & 8 deletions packages/core/src/awsService/sagemaker/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { ToolkitError } from '../../shared/errors'
import { showConfirmationMessage } from '../../shared/utilities/messages'
import { RemoteSessionError } from '../../shared/remoteSession'
import { ConnectFromRemoteWorkspaceMessage, InstanceTypeError } from './constants'
import { SagemakerUnifiedStudioSpaceNode } from '../../sagemakerunifiedstudio/explorer/nodes/sageMakerUnifiedStudioSpaceNode'

const localize = nls.loadMessageBundle()

Expand Down Expand Up @@ -101,6 +102,8 @@ export async function deeplinkConnect(
connectionIdentifier,
ctx.extensionContext,
'sm_dl',
false /* isSMUS */,
undefined /* node */,
session,
wsUrl,
token,
Expand All @@ -125,7 +128,11 @@ export async function deeplinkConnect(
}
}

export async function stopSpace(node: SagemakerSpaceNode, ctx: vscode.ExtensionContext) {
export async function stopSpace(
node: SagemakerSpaceNode | SagemakerUnifiedStudioSpaceNode,
ctx: vscode.ExtensionContext,
sageMakerClient?: SagemakerClient
) {
const spaceName = node.spaceApp.SpaceName!
const confirmed = await showConfirmationMessage({
prompt: `You are about to stop this space. Any active resource will also be stopped. Are you sure you want to stop the space?`,
Expand All @@ -137,8 +144,8 @@ export async function stopSpace(node: SagemakerSpaceNode, ctx: vscode.ExtensionC
if (!confirmed) {
return
}

const client = new SagemakerClient(node.regionCode)
// In case of SMUS, we pass in a SM Client and for SM AI, it creates a new SM Client.
const client = sageMakerClient ? sageMakerClient : new SagemakerClient(node.regionCode)
try {
await client.deleteApp({
DomainId: node.spaceApp.DomainId!,
Expand All @@ -151,36 +158,50 @@ export async function stopSpace(node: SagemakerSpaceNode, ctx: vscode.ExtensionC
if (error.name === 'AccessDeniedException') {
throw new ToolkitError('You do not have permission to stop spaces. Please contact your administrator', {
cause: error,
code: error.name,
})
} else {
throw err
throw new ToolkitError(`Failed to stop space ${spaceName}: ${(error as Error).message}`, {
cause: error,
code: error.name,
})
}
}
await tryRefreshNode(node)
}

export async function openRemoteConnect(node: SagemakerSpaceNode, ctx: vscode.ExtensionContext) {
export async function openRemoteConnect(
node: SagemakerSpaceNode | SagemakerUnifiedStudioSpaceNode,
ctx: vscode.ExtensionContext,
sageMakerClient?: SagemakerClient
) {
if (isRemoteWorkspace()) {
void vscode.window.showErrorMessage(ConnectFromRemoteWorkspaceMessage)
return
}

if (node.getStatus() === 'Stopped') {
const client = new SagemakerClient(node.regionCode)
// In case of SMUS, we pass in a SM Client and for SM AI, it creates a new SM Client.
const client = sageMakerClient ? sageMakerClient : new SagemakerClient(node.regionCode)

try {
await client.startSpace(node.spaceApp.SpaceName!, node.spaceApp.DomainId!)
await tryRefreshNode(node)
const appType = node.spaceApp.SpaceSettingsSummary?.AppType
if (!appType) {
throw new ToolkitError('AppType is undefined for the selected space. Cannot start remote connection.')
throw new ToolkitError('AppType is undefined for the selected space. Cannot start remote connection.', {
code: 'undefinedAppType',
})
}
await client.waitForAppInService(node.spaceApp.DomainId!, node.spaceApp.SpaceName!, appType)
await tryRemoteConnection(node, ctx)
} catch (err: any) {
// Ignore InstanceTypeError since it means the user decided not to use an instanceType with more memory
if (err.code !== InstanceTypeError) {
throw err
throw new ToolkitError(`Remote connection failed: ${(err as Error).message}`, {
cause: err as Error,
code: err.code,
})
}
}
} else if (node.getStatus() === 'Running') {
Expand Down
Loading
Loading