Skip to content

Commit fc5c571

Browse files
authored
Update to version v4.0.0
### Added - Multi-Agent workflow orchestration to address complex tasks with multiple coordinated agents. - Agent Builder use case for configuring, deploying, and managing AI Agents from the Management Dashboard. - MCP Server deployment using images, Lambda functions, OpenAPI specs, or Smitty files. - Multimodal input capabilities for Agent Builder and workflow use cases. - AWS Lambda provisioned concurrency support for text and bedrock agent use cases to improve performance and reduce cold starts. ### Security - Upgraded js-yaml to `3.14.2` and `4.1.1` to mitigate CVE-2025-64718 - Upgraded glob to `10.5.0` to mitigate CVE-2025-64756 - Upgraded langchain-core to `0.3.80` to mitigate CVE-2025-65106
2 parents 9812c32 + 0af6f3c commit fc5c571

File tree

795 files changed

+154789
-15368
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

795 files changed

+154789
-15368
lines changed

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ git-info
77
**/coverage/
88
**/coverage-reports/
99
.coverage*
10+
coverage.xml
11+
htmlcov
1012

1113
node_modules/
1214

@@ -65,3 +67,14 @@ bom.xml
6567
.python-version
6668
**/build/
6769
.aider*
70+
71+
mise.toml
72+
73+
# Bedrock AgentCore authentication files
74+
.agentcore.yaml
75+
**/.agentcore.yaml
76+
77+
# Copied gaab-strands-common in agent directories (build artifacts)
78+
# These are copied during build process and should not be tracked
79+
deployment/ecr/gaab-strands-agent/gaab-strands-common/
80+
deployment/ecr/gaab-strands-workflow-agent/gaab-strands-common/

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [4.0.0] - 2025-11-20
9+
10+
### Added
11+
12+
- Multi-Agent workflow orchestration to address complex tasks with multiple coordinated agents.
13+
- Agent Builder use case for configuring, deploying, and managing AI Agents from the Management Dashboard.
14+
- MCP Server deployment using images, Lambda functions, OpenAPI specs, or Smitty files.
15+
- Multimodal input capabilities for Agent Builder and workflow use cases.
16+
- AWS Lambda provisioned concurrency support for text and bedrock agent use cases to improve performance and reduce cold starts.
17+
18+
### Security
19+
20+
- Upgraded js-yaml to `3.14.2` and `4.1.1` to mitigate CVE-2025-64718
21+
- Upgraded glob to `10.5.0` to mitigate CVE-2025-64756
22+
- Upgraded langchain-core to `0.3.80` to mitigate CVE-2025-65106
23+
824
## [3.0.7] - 2025-11-12
925

1026
### Security

NOTICE.txt

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ This software includes third party software subject to the following copyrights:
4040
@aws-cdk/asset-awscli-v1 under the Apache-2.0 license.
4141
@aws-cdk/asset-kubectl-v20 under the Apache-2.0 license.
4242
@aws-cdk/asset-node-proxy-agent-v6 under the Apache-2.0 license.
43-
@aws-cdk/aws-servicecatalogappregistry-alpha under the Apache-2.0 license.
4443
@aws-cdk/cloud-assembly-schema under the Apache-2.0 license.
4544
@aws-cdk/integ-tests-alpha under the Apache-2.0 license.
4645
@aws-crypto/crc32 under the Apache-2.0 license.
@@ -57,6 +56,7 @@ This software includes third party software subject to the following copyrights:
5756
@aws-lambda-powertools/tracer under the MIT-0 license.
5857
@aws-sdk/abort-controller under the Apache-2.0 license.
5958
@aws-sdk/client-api-gateway under the Apache-2.0 license.
59+
@aws-sdk/client-bedrock-agentcore-control under the Apache-2.0 license.
6060
@aws-sdk/client-cloudformation under the Apache-2.0 license.
6161
@aws-sdk/client-cloudwatch-logs under the Apache-2.0 license.
6262
@aws-sdk/client-cognito-identity-provider under the Apache-2.0 license.
@@ -130,6 +130,8 @@ This software includes third party software subject to the following copyrights:
130130
@aws-sdk/querystring-builder under the Apache-2.0 license.
131131
@aws-sdk/querystring-parser under the Apache-2.0 license.
132132
@aws-sdk/region-config-resolver under the Apache-2.0 license.
133+
@aws-sdk/s3-presigned-post under the Apache-2.0 license.
134+
@aws-sdk/s3-request-presigner under the Apache-2.0 license.
133135
@aws-sdk/service-error-classification under the Apache-2.0 license.
134136
@aws-sdk/shared-ini-file-loader under the Apache-2.0 license.
135137
@aws-sdk/signature-v4 under the Apache-2.0 license.
@@ -150,6 +152,7 @@ This software includes third party software subject to the following copyrights:
150152
@aws-sdk/util-defaults-mode-node under the Apache-2.0 license.
151153
@aws-sdk/util-dynamodb under the Apache-2.0 license.
152154
@aws-sdk/util-endpoints under the Apache-2.0 license.
155+
@aws-sdk/util-format-url under the Apache-2.0 license.
153156
@aws-sdk/util-hex-encoding under the Apache-2.0 license.
154157
@aws-sdk/util-locate-window under the Apache-2.0 license.
155158
@aws-sdk/util-middleware under the Apache-2.0 license.
@@ -163,11 +166,13 @@ This software includes third party software subject to the following copyrights:
163166
@aws-solutions-constructs/aws-apigateway-lambda under the Apache-2.0 license.
164167
@aws-solutions-constructs/aws-apigatewayv2websocket-sqs under the Apache-2.0 license.
165168
@aws-solutions-constructs/aws-cloudfront-s3 under the Apache-2.0 license.
169+
@aws-solutions-constructs/aws-constructs-factories under the Apache-2.0 license.
166170
@aws-solutions-constructs/aws-lambda-dynamodb under the Apache-2.0 license.
167171
@aws-solutions-constructs/aws-sqs-lambda under the Apache-2.0 license.
168172
@aws-solutions-constructs/aws-wafwebacl-apigateway under the Apache-2.0 license.
169173
@aws-solutions-constructs/core under the Apache-2.0 license.
170174
@aws-solutions-constructs/resources under the Apache-2.0 license.
175+
@aws/lambda-invoke-store under the Apache-2.0 license.
171176
@babel/code-frame under the MIT license.
172177
@babel/compat-data under the MIT license.
173178
@babel/core under the MIT license.
@@ -180,6 +185,7 @@ This software includes third party software subject to the following copyrights:
180185
@babel/helper-define-polyfill-provider under the MIT license.
181186
@babel/helper-environment-visitor under the MIT license.
182187
@babel/helper-function-name under the MIT license.
188+
@babel/helper-globals under the MIT license.
183189
@babel/helper-hoist-variables under the MIT license.
184190
@babel/helper-member-expression-to-functions under the MIT license.
185191
@babel/helper-module-imports under the MIT license.
@@ -385,11 +391,14 @@ This software includes third party software subject to the following copyrights:
385391
@jest/console under the MIT license.
386392
@jest/core under the MIT license.
387393
@jest/create-cache-key-function under the MIT license.
394+
@jest/diff-sequences under the MIT license.
388395
@jest/environment under the MIT license.
389396
@jest/expect under the MIT license.
390397
@jest/expect-utils under the MIT license.
391398
@jest/fake-timers under the MIT license.
399+
@jest/get-type under the MIT license.
392400
@jest/globals under the MIT license.
401+
@jest/pattern under the MIT license.
393402
@jest/reporters under the MIT license.
394403
@jest/schemas under the MIT license.
395404
@jest/source-map under the MIT license.
@@ -398,6 +407,7 @@ This software includes third party software subject to the following copyrights:
398407
@jest/transform under the MIT license.
399408
@jest/types under the MIT license.
400409
@jridgewell/gen-mapping under the MIT license.
410+
@jridgewell/remapping under the MIT license.
401411
@jridgewell/resolve-uri under the MIT license.
402412
@jridgewell/set-array under the MIT license.
403413
@jridgewell/source-map under the MIT license.
@@ -573,6 +583,8 @@ This software includes third party software subject to the following copyrights:
573583
@smithy/util-uri-escape under the Apache-2.0 license.
574584
@smithy/util-utf8 under the Apache-2.0 license.
575585
@smithy/util-waiter under the Apache-2.0 license.
586+
@smithy/uuid under the Apache-2.0 license.
587+
@standard-schema/spec under the MIT license.
576588
@swc/core under the Apache-2.0 license.
577589
@swc/core-darwin-arm64 under the Apache-2.0 AND MIT licenses.
578590
@swc/core-darwin-x64 under the Apache-2.0 AND MIT licenses.
@@ -601,6 +613,7 @@ This software includes third party software subject to the following copyrights:
601613
@testing-library/react under the MIT license.
602614
@testing-library/user-event under MIT license.
603615
@testing-library/user-event under the MIT license.
616+
@tokenizer/token under the MIT license.
604617
@tsconfig/node10 under the MIT license.
605618
@tsconfig/node12 under the MIT license.
606619
@tsconfig/node14 under the MIT license.
@@ -614,10 +627,12 @@ This software includes third party software subject to the following copyrights:
614627
@types/babel__generator under the MIT license.
615628
@types/babel__template under the MIT license.
616629
@types/babel__traverse under the MIT license.
630+
@types/chai under the MIT license.
617631
@types/cls-hooked under the MIT license.
618632
@types/cookie under the MIT license.
619633
@types/cypress under the MIT license.
620634
@types/debug under the MIT license.
635+
@types/deep-eql under the MIT license.
621636
@types/eslint under the MIT license.
622637
@types/eslint-scope under the MIT license.
623638
@types/estree under the MIT license.
@@ -661,7 +676,9 @@ This software includes third party software subject to the following copyrights:
661676
@types/yauzl under the MIT license.
662677
@typescript-eslint/eslint-plugin under the MIT license.
663678
@typescript-eslint/parser under the BSD-2-Clause license.
679+
@typescript-eslint/project-service under the MIT license.
664680
@typescript-eslint/scope-manager under the MIT license.
681+
@typescript-eslint/tsconfig-utils under the MIT license.
665682
@typescript-eslint/type-utils under the MIT license.
666683
@typescript-eslint/types under the MIT license.
667684
@typescript-eslint/typescript-estree under the BSD-2-Clause license.
@@ -748,6 +765,7 @@ asn1 under the MIT license.
748765
assert-plus under the MIT license.
749766
assertion-error under the MIT license.
750767
ast-types under the MIT license.
768+
ast-v8-to-istanbul under the MIT license.
751769
astral-regex under the MIT license.
752770
async under the MIT license.
753771
async-function under the MIT license.
@@ -763,6 +781,7 @@ aws-cdk under the Apache-2.0 license.
763781
aws-cdk-lib under the Apache-2.0 license.
764782
aws-jwt-verify under the Apache-2.0 license.
765783
aws-lambda-powertools under the MIT license.
784+
aws-opentelemetry-distro under the Apache-2.0 license.
766785
aws-sdk under the Apache-2.0 license.
767786
aws-sdk-client-mock under the MIT license.
768787
aws-sdk-client-mock-jest under the MIT license.
@@ -785,6 +804,7 @@ bail under the MIT license.
785804
balanced-match under the MIT license.
786805
base-64 under the MIT license.
787806
base64-js under the MIT license.
807+
baseline-browser-mapping under the Apache-2.0 license.
788808
bcrypt-pbkdf under the BSD-3-Clause license.
789809
big.js under the MIT license.
790810
binary-extensions under the MIT license.
@@ -1040,6 +1060,7 @@ fflate under the MIT license.
10401060
figures under the MIT license.
10411061
file-entry-cache under the MIT license.
10421062
file-loader under the MIT license.
1063+
file-type under the MIT license.
10431064
filelist under the Apache-2.0 license.
10441065
fill-range under the MIT license.
10451066
finalhandler under the MIT license.
@@ -1093,6 +1114,7 @@ graphemer under the MIT license.
10931114
graphql under the MIT license.
10941115
greenlet under the MIT license.
10951116
h11 under the MIT license.
1117+
handlebars under the MIT license.
10961118
harmony-reflect under the Apache-2.0 license.
10971119
has under the MIT license.
10981120
has-bigints under the MIT license.
@@ -1482,6 +1504,7 @@ path-to-regexp under the MIT license.
14821504
path-type under the MIT license.
14831505
pathe under the MIT license.
14841506
pathval under the MIT license.
1507+
peek-readable under the MIT license.
14851508
pend under the MIT license.
14861509
performance-now under the MIT license.
14871510
picocolors under the ISC license.
@@ -1526,9 +1549,10 @@ pyasn1 under the BSD-2-Clause license.
15261549
pycparser under the 0BSD license.
15271550
pydantic under the MIT license.
15281551
pydantic-core under the MIT license.
1529-
pyjwt under the MIT license.
1552+
PyJWT under the MIT license.
15301553
PyJWT under the MIT license.
15311554
pytest under the MIT license.
1555+
pytest-asyncio under the Apache-2.0 license.
15321556
pytest-cov under the MIT license.
15331557
pytest-env under the MIT license.
15341558
python-dateutil under the Dual License license(s).
@@ -1575,6 +1599,7 @@ react-use-websocket under MIT license.
15751599
react-use-websocket under the MIT license.
15761600
read-cache under the MIT license.
15771601
readable-stream under the MIT license.
1602+
readable-web-to-node-stream under the MIT license.
15781603
readdirp under the MIT license.
15791604
readline under the BSD license.
15801605
recast under the MIT license.
@@ -1685,13 +1710,15 @@ stackframe under the MIT license.
16851710
stacktrace-parser under the MIT license.
16861711
statuses under the MIT license.
16871712
std-env under the MIT license.
1713+
strands-agents under the Apache-2.0 License.
1714+
strands-agents-tools under the Apache-2.0 License.
16881715
strict-event-emitter under the MIT license.
1689-
string_decoder under the MIT license.
16901716
string-length under the MIT license.
16911717
string-width under the MIT license.
16921718
string.prototype.trim under the MIT license.
16931719
string.prototype.trimend under the MIT license.
16941720
string.prototype.trimstart under the MIT license.
1721+
string_decoder under the MIT license.
16951722
stringify-entities under the MIT license.
16961723
strip-ansi under the MIT license.
16971724
strip-bom under the MIT license.
@@ -1700,6 +1727,7 @@ strip-indent under the MIT license.
17001727
strip-json-comments under the MIT license.
17011728
strip-literal under the MIT license.
17021729
strnum under the MIT license.
1730+
strtok3 under the MIT license.
17031731
style-dictionary under the Apache-2.0 license.
17041732
style-to-object under the MIT license.
17051733
sucrase under the MIT license.
@@ -1737,6 +1765,7 @@ tmpl under the BSD-3-Clause license.
17371765
to-fast-properties under the MIT license.
17381766
to-regex-range under the MIT license.
17391767
toidentifier under the MIT license.
1768+
token-types under the MIT license.
17401769
tough-cookie under the BSD-3-Clause license.
17411770
tr46 under the MIT license.
17421771
traverse under the MIT license.
@@ -1765,6 +1794,7 @@ typescript under the Apache-2.0 license.
17651794
typing-extensions under the PSF-2.0 license.
17661795
typing-inspection under the MIT license.
17671796
ufo under the MIT license.
1797+
uglify-js under the BSD-2-Clause license.
17681798
ulid under the MIT license.
17691799
unbox-primitive under the MIT license.
17701800
uncontrollable under the MIT license.
@@ -1839,6 +1869,7 @@ which-typed-array under the MIT license.
18391869
why-is-node-running under the MIT license.
18401870
wide-align under the ISC license.
18411871
word-wrap under the MIT license.
1872+
wordwrap under the MIT license.
18421873
wrap-ansi under the MIT license.
18431874
wrappy under the ISC license.
18441875
wrapt under the BSD-2-Clause license.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,9 +381,9 @@ Follow the standard React development workflow to make changes to the code, and
381381
382382
When you're ready to deploy your customized UI projects, follow the instructions in the main README file for building and deploying the solution using the AWS CDK.
383383
384-
## Anonymized data collection
384+
## Data collection
385385
386-
This solution collects anonymized operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/generative-ai-application-builder-on-aws/anonymized-data-collection.html).
386+
This solution sends operational metrics to AWS (the “Data”) about the use of this solution. We use this Data to better understand how customers use this solution and related services and products. AWS’s collection of this Data is subject to the [AWS Privacy Notice](https://aws.amazon.com/privacy/).
387387
388388
---
389389

deployment/build-s3-dist.sh

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,96 @@ echo "--------------------------------------------------------------------------
6060
cd $template_dir/cdk-solution-helper
6161
npm ci --omit=dev
6262

63+
echo "------------------------------------------------------------------------------"
64+
echo "[Prep] Copying gaab-strands-common to agent source directories"
65+
echo "------------------------------------------------------------------------------"
66+
67+
copy_gaab_strands_common() {
68+
local source_common="$template_dir/../deployment/ecr/gaab-strands-common"
69+
local ecr_dir="$template_dir/../deployment/ecr"
70+
71+
# Validate source exists
72+
if [ ! -d "$source_common" ]; then
73+
echo "ERROR: gaab-strands-common source directory not found at $source_common"
74+
exit 1
75+
fi
76+
77+
echo "Source: $source_common"
78+
79+
# Known agent directories
80+
local agent_dirs=("gaab-strands-agent" "gaab-strands-workflow-agent")
81+
local copied_count=0
82+
83+
# Copy to each agent directory
84+
for agent in "${agent_dirs[@]}"; do
85+
local agent_dir="$ecr_dir/$agent"
86+
87+
if [ ! -d "$agent_dir" ]; then
88+
echo "WARNING: Agent directory not found: $agent_dir"
89+
continue
90+
fi
91+
92+
echo "Processing $agent..."
93+
local dest="$agent_dir/gaab-strands-common"
94+
95+
# Remove existing copy if present
96+
if [ -d "$dest" ]; then
97+
echo " Removing existing gaab-strands-common"
98+
rm -rf "$dest"
99+
fi
100+
101+
# Copy with exclusions using rsync
102+
echo " Copying gaab-strands-common..."
103+
rsync -a \
104+
--exclude='.venv' \
105+
--exclude='__pycache__' \
106+
--exclude='.pytest_cache' \
107+
--exclude='htmlcov' \
108+
--exclude='.coverage' \
109+
--exclude='*.pyc' \
110+
--exclude='*.pyo' \
111+
--exclude='.git' \
112+
"$source_common/" "$dest/"
113+
114+
if [ $? -eq 0 ]; then
115+
echo " ✓ Successfully copied to $agent"
116+
copied_count=$((copied_count + 1))
117+
else
118+
echo "ERROR: Failed to copy gaab-strands-common to $dest"
119+
exit 1
120+
fi
121+
done
122+
123+
if [ $copied_count -eq 0 ]; then
124+
echo "ERROR: No agent directories found or all copies failed"
125+
exit 1
126+
else
127+
echo "Successfully copied gaab-strands-common to $copied_count agent directory(ies)"
128+
fi
129+
130+
# Delete source directory in CI/CD pipeline only
131+
# DIST_OUTPUT_BUCKET is only set in the CI/CD pipeline
132+
# This prevents CodeBuild Stage 2 from scanning gaab-strands-common (which has no Dockerfile)
133+
if [ -n "$DIST_OUTPUT_BUCKET" ]; then
134+
echo "CI/CD pipeline detected (DIST_OUTPUT_BUCKET is set)"
135+
echo "Deleting source gaab-strands-common directory..."
136+
137+
if rm -rf "$source_common"; then
138+
echo "✓ Successfully deleted $source_common"
139+
else
140+
echo "ERROR: Failed to delete source gaab-strands-common directory at $source_common"
141+
echo "This is required in CI/CD to prevent CodeBuild from scanning directories without Dockerfiles"
142+
exit 1
143+
fi
144+
else
145+
echo "Local build detected (DIST_OUTPUT_BUCKET not set)"
146+
echo "Keeping source gaab-strands-common directory for local development"
147+
fi
148+
}
149+
150+
# Execute the copy function
151+
copy_gaab_strands_common
152+
63153
echo "------------------------------------------------------------------------------"
64154
echo "[Synth] CDK Project"
65155
echo "------------------------------------------------------------------------------"

0 commit comments

Comments
 (0)