diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8201817..21b9df7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.2.1] - 2025-09-17
+
+### Security
+
+- Upgraded axios to `1.12.0`
+- Fixed high severity vulnerabilities reported by GitHub CodeQL scans
+
## [1.2.0] - 2025-09-11
### Security
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d81723e..d6fe7cb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,7 +10,7 @@ information to effectively respond to your bug report or contribution.
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
-When filing an issue, please check [existing open](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/issues), or [recently closed](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed20), issues to make sure somebody else hasn't already
+When filing an issue, please check [existing open](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/issues), or [recently closed](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/issues?q=is:issue%20is:closed%20), issues to make sure somebody else hasn't already
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
- A reproducible test case or series of steps
@@ -54,6 +54,6 @@ If you discover a potential security issue in this project we ask that you notif
## Licensing
-See the [LICENSE](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/blob/master/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
+See the [LICENSE](https://github.com/aws-solutions/enhanced-document-understanding-on-aws/blob/main/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
-We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
+We may ask you to sign a [Contributor License Agreement (CLA)](https://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
diff --git a/NOTICE.txt b/NOTICE.txt
index 64015f3..0d05dfd 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -26,6 +26,7 @@ tslib under the 0BSD license.
uuid under the MIT license.
@aws-amplify/cache under the Apache-2.0 license.
@aws-amplify/core under the Apache-2.0 license.
+@aws-cdk/cloud-assembly-schema under the Apache-2.0 license.
@aws-crypto/sha256-js under the Apache-2.0 license.
@aws-crypto/util under the Apache-2.0 license.
@aws-sdk/types under the Apache-2.0 license.
@@ -59,6 +60,7 @@ uuid under the MIT license.
@aws-sdk/middleware-logger under the Apache-2.0 license.
@aws-sdk/middleware-retry under the Apache-2.0 license.
@aws-sdk/service-error-classification under the Apache-2.0 license.
+async-function under the MIT license.
react-native-get-random-values under the MIT license.
react-native under the MIT license.
@jest/types under the MIT license.
@@ -91,6 +93,8 @@ csstype under the MIT license.
@react-native-community/cli under the MIT license.
commander under the MIT license.
deepmerge under the MIT license.
+default-browser under the MIT license.
+default-browser-id under the MIT license.
find-up under the MIT license.
path-exists under the MIT license.
fs-extra under the MIT license.
@@ -125,6 +129,7 @@ signal-exit under the ISC license.
strip-final-newline under the MIT license.
ora under the MIT license.
bl under the MIT license.
+bundle-name under the MIT license.
buffer under the MIT license.
base64-js under the MIT license.
ieee754 under the BSD-3-Clause license.
@@ -137,6 +142,7 @@ cli-cursor under the MIT license.
restore-cursor under the MIT license.
cli-spinners under the MIT license.
is-interactive under the MIT license.
+is-inside-container under the MIT license.
is-unicode-supported under the MIT license.
log-symbols under the MIT license.
strip-ansi under the MIT license.
@@ -304,6 +310,7 @@ gensync under the MIT license.
json5 under the MIT license.
@babel/helper-plugin-utils under the MIT license.
@babel/plugin-bugfix-firefox-class-in-computed-class-key under the MIT license.
+@babel/plugin-bugfix-safari-class-field-initializer-scope under the MIT license.
@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression under the MIT license.
@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining under the MIT license.
@babel/helper-skip-transparent-expression-wrappers under the MIT license.
@@ -356,6 +363,7 @@ unicode-match-property-value-ecmascript under the MIT license.
@babel/plugin-transform-destructuring under the MIT license.
@babel/plugin-transform-dotall-regex under the MIT license.
@babel/plugin-transform-duplicate-keys under the MIT license.
+@babel/plugin-transform-duplicate-named-capturing-groups-regex under the MIT license.
@babel/plugin-transform-dynamic-import under the MIT license.
@babel/plugin-transform-exponentiation-operator under the MIT license.
@babel/helper-builder-binary-assignment-operator-visitor under the MIT license.
@@ -382,6 +390,7 @@ unicode-match-property-value-ecmascript under the MIT license.
@babel/plugin-transform-private-property-in-object under the MIT license.
@babel/plugin-transform-property-literals under the MIT license.
@babel/plugin-transform-regenerator under the MIT license.
+@babel/plugin-transform-regexp-modifiers under the MIT license.
regenerator-transform under the MIT license.
@babel/runtime under the MIT license.
@babel/plugin-transform-reserved-words under the MIT license.
@@ -469,6 +478,7 @@ is-docker under the MIT license.
chrome-launcher under the Apache-2.0 license.
lighthouse-logger under the Apache-2.0 license.
marky under the Apache-2.0 license.
+math-intrinsics under the MIT license.
chromium-edge-launcher under the Apache-2.0 license.
node-fetch under the MIT license.
tr46 under the MIT license.
@@ -542,6 +552,10 @@ metro-transform-worker under the MIT license.
metro-minify-terser under the MIT license.
terser under the BSD-2-Clause license.
@jridgewell/source-map under the MIT license.
+@js-sdsl/ordered-map under the MIT license.
+@jsonjoy.com/base64 under the Apache-2.0 license.
+@jsonjoy.com/json-pack under the Apache-2.0 license.
+@jsonjoy.com/util under the Apache-2.0 license.
acorn under the MIT license.
serialize-error under the MIT license.
throat under the MIT license.
@@ -619,6 +633,8 @@ zen-observable under the MIT license.
@aws-sdk/util-waiter under the Apache-2.0 license.
@aws-sdk/client-personalize-events under the Apache-2.0 license.
lodash under the MIT license.
+lodash.camelcase under the MIT license.
+long under the Apache-2.0 license.
@aws-amplify/api under the Apache-2.0 license.
@aws-amplify/api-graphql under the Apache-2.0 license.
@aws-amplify/api-rest under the Apache-2.0 license.
@@ -684,6 +700,7 @@ jackspeak under the BlueOak-1.0.0 license.
eastasianwidth under the MIT license.
@pkgjs/parseargs under the MIT license.
package-json-from-dist under the BlueOak-1.0.0 license.
+package-lock-only under the ISC license. ----!!!!
path-scurry under the BlueOak-1.0.0 license.
minipass under the ISC license.
change-case under the MIT license.
@@ -797,6 +814,16 @@ redux-thunk under the MIT license.
reselect under the MIT license.
bootstrap under the MIT license.
@popperjs/core under the MIT license.
+@protobufjs/aspromise under the BSD-3-Clause license.
+@protobufjs/base64 under the BSD-3-Clause license.
+@protobufjs/codegen under the BSD-3-Clause license.
+@protobufjs/eventemitter under the BSD-3-Clause license.
+@protobufjs/fetch under the BSD-3-Clause license.
+@protobufjs/float under the BSD-3-Clause license.
+@protobufjs/inquire under the BSD-3-Clause license.
+@protobufjs/path under the BSD-3-Clause license.
+@protobufjs/pool under the BSD-3-Clause license.
+@protobufjs/utf8 under the BSD-3-Clause license.
ramda under the MIT license.
react-bootstrap under the MIT license.
@restart/hooks under the MIT license.
@@ -860,6 +887,7 @@ get-package-type under the MIT license.
istanbul-lib-instrument under the BSD-3-Clause license.
istanbul-lib-coverage under the BSD-3-Clause license.
test-exclude under the ISC license.
+text-decoder under the Apache-2.0 license.
fast-json-stable-stringify under the MIT license.
jest-haste-map under the MIT license.
@types/graceful-fs under the MIT license.
@@ -887,6 +915,7 @@ istanbul-lib-report under the BSD-3-Clause license.
istanbul-lib-source-maps under the BSD-3-Clause license.
istanbul-reports under the BSD-3-Clause license.
html-escaper under the MIT license.
+hyperdyperid under the MIT license.
string-length under the MIT license.
char-regex under the MIT license.
v8-to-istanbul under the ISC license.
@@ -970,6 +999,7 @@ jest-environment-jsdom under the MIT license.
@types/jsdom under the MIT license.
@types/tough-cookie under the MIT license.
parse5 under the MIT license.
+protobufjs under the BSD-3-Clause license.
jsdom under the MIT license.
abab under the BSD-3-Clause license.
acorn-globals under the MIT license.
@@ -1012,17 +1042,22 @@ strict-event-emitter under the MIT license.
@xmldom/xmldom under the MIT license.
headers-polyfill under the MIT license.
outvariant under the MIT license.
+own-keys under the MIT license.
web-encoding under the MIT license.
util under the MIT license.
is-arguments under the MIT license.
call-bind under the MIT license.
+call-bind-apply-helpers under the MIT license.
+call-bound under the MIT license.
es-define-property under the MIT license.
get-intrinsic under the MIT license.
+get-proto under the MIT license.
es-errors under the MIT license.
has-proto under the MIT license.
has-symbols under the MIT license.
set-function-length under the MIT license.
define-data-property under the MIT license.
+dunder-proto under the MIT license.
gopd under the MIT license.
has-property-descriptors under the MIT license.
has-tostringtag under the MIT license.
@@ -1047,6 +1082,7 @@ tmp under the MIT license.
os-tmpdir under the MIT license.
figures under the MIT license.
mute-stream under the ISC license.
+run-applescript under the MIT license.
run-async under the MIT license.
rxjs under the Apache-2.0 license.
is-node-process under the MIT license.
@@ -1125,6 +1161,7 @@ bonjour-service under the MIT license.
multicast-dns under the MIT license.
dns-packet under the MIT license.
@leichtgewicht/ip-codec under the MIT license.
+thingies under the MIT license.
thunky under the MIT license.
connect-history-api-fallback under the MIT license.
default-gateway under the BSD-2-Clause license.
@@ -1134,6 +1171,9 @@ body-parser under the MIT license.
content-type under the MIT license.
qs under the BSD-3-Clause license.
side-channel under the MIT license.
+side-channel-list under the MIT license.
+side-channel-map under the MIT license.
+side-channel-weakmap under the MIT license.
object-inspect under the MIT license.
raw-body under the MIT license.
type-is under the MIT license.
@@ -1242,13 +1282,16 @@ get-symbol-description under the MIT license.
globalthis under the MIT license.
internal-slot under the MIT license.
is-negative-zero under the MIT license.
+is-network-error under the MIT license.
is-regex under the MIT license.
is-string under the MIT license.
is-weakref under the MIT license.
object.assign under the MIT license.
regexp.prototype.flags under the MIT license.
set-function-name under the MIT license.
+set-proto under the MIT license.
safe-array-concat under the MIT license.
+safe-push-apply under the MIT license.
safe-regex-test under the MIT license.
string.prototype.trim under the MIT license.
string.prototype.trimend under the MIT license.
@@ -1347,6 +1390,7 @@ eslint under the MIT license.
@eslint-community/eslint-utils under the MIT license.
eslint-visitor-keys under the Apache-2.0 license.
@eslint-community/regexpp under the MIT license.
+@eslint/config-helpers under the Apache-2.0 license.
@eslint/eslintrc under the MIT license.
espree under the BSD-2-Clause license.
acorn-jsx under the MIT license.
@@ -1436,6 +1480,7 @@ eslint-plugin-react-hooks under the MIT license.
eslint-plugin-testing-library under the MIT license.
eslint-webpack-plugin under the MIT license.
@types/eslint under the MIT license.
+@types/eslint-scope under the MIT license.
file-loader under the MIT license.
html-webpack-plugin under the MIT license.
@types/html-minifier-terser under the MIT license.
@@ -1639,16 +1684,23 @@ nise under the BSD-3-Clause license.
@sinonjs/text-encoding under the Apache-2.0 license.
just-extend under the MIT license.
traverse under the MIT license.
+tree-dump under the Apache-2.0 license.
@eslint/config-array under the Apache-2.0 license.
@eslint/object-schema under the Apache-2.0 license.
@eslint/core under the Apache-2.0 license.
@eslint/plugin-kit under the Apache-2.0 license.
+@grpc/grpc-js under the Apache-2.0 license.
+@grpc/proto-loader under the Apache-2.0 license.
@humanfs/node under the Apache-2.0 license.
@humanwhocodes/retry under the Apache-2.0 license.
@humanfs/core under the Apache-2.0 license.
+@inquirer/external-editor under the MIT license.
@aashutoshrathi/word-wrap under the MIT license.
prettier under the MIT license.
has under the MIT license.
+@rollup/rollup-freebsd-arm64 under the MIT license.
+@rollup/rollup-freebsd-x64 under the MIT license.
+@rollup/rollup-linux-loongarch64-gnu under the MIT license.
@smithy/property-provider under the Apache-2.0 license.
@aws-sdk/credential-provider-http under the Apache-2.0 license.
@smithy/fetch-http-handler under the Apache-2.0 license.
@@ -1968,6 +2020,7 @@ jinja2 under the 0BSD license.
markupsafe under the 0BSD license.
pyyaml under the MIT license.
werkzeug under the 0BSD license.
+wsl-utils under the MIT license.
********************
OPEN SOURCE LICENSES
diff --git a/deployment/build-s3-dist.sh b/deployment/build-s3-dist.sh
index 5993cea..9fcd686 100755
--- a/deployment/build-s3-dist.sh
+++ b/deployment/build-s3-dist.sh
@@ -30,7 +30,7 @@ set -e
# Check to see if input has been provided:
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]; then
echo "Please provide all required parameters for the build script"
- echo "For example: ./build-s3-dist.sh solutions trademarked-solution-name v1.2.0 template-bucket-name"
+ echo "For example: ./build-s3-dist.sh solutions trademarked-solution-name v1.2.1 template-bucket-name"
exit 1
fi
diff --git a/source/infrastructure/bin/dus.ts b/source/infrastructure/bin/dus.ts
index 7438d05..c5ee35c 100644
--- a/source/infrastructure/bin/dus.ts
+++ b/source/infrastructure/bin/dus.ts
@@ -31,7 +31,7 @@ const namespace = process.env.APP_NAMESPACE ?? app.node.tryGetContext('app_names
const applicationTrademarkName = app.node.tryGetContext('application_trademark_name');
const dus = new DusStack(app, 'DocUnderstanding', {
- description: `(${solutionID}) - ${solutionName}. Version ${version}`,
+ description: `(${solutionID}) - ${solutionName} - Version ${version}`,
synthesizer: new cdk.DefaultStackSynthesizer({
generateBootstrapVersionRule: false
}),
diff --git a/source/infrastructure/cdk.json b/source/infrastructure/cdk.json
index 56dbf42..53ae04b 100644
--- a/source/infrastructure/cdk.json
+++ b/source/infrastructure/cdk.json
@@ -57,7 +57,7 @@
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
"solution_id": "SO0281",
"solution_name": "enhanced-document-understanding-on-aws",
- "solution_version": "v1.2.0",
+ "solution_version": "v1.2.1",
"app_namespace": "app.idp",
"application_trademark_name": "Enhanced Document Understanding on AWS"
diff --git a/source/infrastructure/lib/dus-stack.ts b/source/infrastructure/lib/dus-stack.ts
index 94ad354..9180d26 100644
--- a/source/infrastructure/lib/dus-stack.ts
+++ b/source/infrastructure/lib/dus-stack.ts
@@ -140,7 +140,7 @@ export class DusStack extends cdk.Stack {
SamplesSourceBucketName: applicationSetup.appSetupS3Bucket.bucketName,
SamplesCustomResourceLambdaArn: applicationSetup.customResourceLambda.functionArn
},
- description: 'Nested stack that deploys sample documents'
+ description: `(${props.solutionID}) - ${props.solutionName} - Nested stack that deploys sample documents - Version ${props.solutionVersion}`
});
(this.sampleDocuments.node.defaultChild as cdk.CfnResource).cfnOptions.condition = sampleDocsCondition;
@@ -150,7 +150,9 @@ export class DusStack extends cdk.Stack {
const indexedStorageParameters = new IndexedStorageParams(this, 'IndexedStorageParameters');
- this.vpcStack = new VpcStack(this, 'VPCStack');
+ this.vpcStack = new VpcStack(this, 'VPCStack', {
+ description: `(${props.solutionID}) - ${props.solutionName} - Nested Stack that creates VPC infrastructure for the solution - Version ${props.solutionVersion}`
+ });
this.vpcStack.nestedStackResource!.cfnOptions.condition =
indexedStorageParameters.deployOpenSearchIndexCondition;
@@ -242,7 +244,7 @@ export class DusStack extends cdk.Stack {
UploadBucketArn: documentUploadBucketArn,
GenUUID: applicationSetup.generateUUID.getAttString('UUID')
},
- description: 'Nested Stack that deploys components to interact with Amazon Textract for uploaded documents'
+ description: `(${props.solutionID}) - ${props.solutionName} - Nested Stack that deploys components to interact with Amazon Textract for uploaded documents - Version ${props.solutionVersion}`
});
(this.textractWorkflow.node.defaultChild as cdk.CfnResource).cfnOptions.condition = textractWorkflowCondition;
@@ -262,7 +264,7 @@ export class DusStack extends cdk.Stack {
UploadBucketArn: documentUploadBucketArn,
GenUUID: applicationSetup.generateUUID.getAttString('UUID')
},
- description: 'Nested Stack that deploys components to redact content in uploaded documents'
+ description: `(${props.solutionID}) - ${props.solutionName} - Nested Stack that deploys components to redact content in uploaded documents - Version ${props.solutionVersion}`
});
(this.redactionWorkflow.node.defaultChild as cdk.CfnResource).cfnOptions.condition = redactionWorkflowCondition;
@@ -283,8 +285,7 @@ export class DusStack extends cdk.Stack {
UploadBucketArn: documentUploadBucketArn,
GenUUID: applicationSetup.generateUUID.getAttString('UUID')
},
- description:
- 'Nested Stack that deploys components to interact with Amazon Comprehend and Amazon Comprehend Medical for uploaded documents'
+ description: `(${props.solutionID}) - ${props.solutionName} - Nested Stack that deploys components to interact with Amazon Comprehend and Amazon Comprehend Medical for uploaded documents - Version ${props.solutionVersion}`
});
(this.entityDetectionWorkflow.node.defaultChild as cdk.CfnResource).cfnOptions.condition =
comprehendWorkflowCondition;
diff --git a/source/infrastructure/lib/search/indexed-storage.ts b/source/infrastructure/lib/search/indexed-storage.ts
index 07fa159..a99ff44 100644
--- a/source/infrastructure/lib/search/indexed-storage.ts
+++ b/source/infrastructure/lib/search/indexed-storage.ts
@@ -88,6 +88,10 @@ export class IndexedStorage extends Construct {
constructor(scope: Construct, id: string, props: IndexedStorageProps) {
super(scope, id);
+ const solutionId = process.env.SOLUTION_ID ?? this.node.tryGetContext('solution_id');
+ const solutionName = process.env.SOLUTION_NAME ?? this.node.tryGetContext('solution_name');
+ const solutionVersion = process.env.VERSION ?? this.node.tryGetContext('solution_version');
+
this.openSearchCaseStorage = new OpenSearchCaseStorage(this, 'openSearchCaseSearch', {
parameters: {
VpcId: props.vpcId,
@@ -95,7 +99,8 @@ export class IndexedStorage extends Construct {
SecurityGroupId: props.securityGroupId,
WriteRoleArn: props.roleArn,
ReadRoleArn: props.searchLambda.role!.roleArn
- }
+ },
+ description: `(${solutionId}) - ${solutionName} - Nested Stack that creates OpenSearch serverless collection for document search - Version ${solutionVersion}`
});
this.openSearchCaseStorage.nestedStackResource!.cfnOptions.condition =
@@ -110,7 +115,7 @@ export class IndexedStorage extends Construct {
DocumentBucketName: props.documentBucketName,
ExtUserPoolId: props.extUserPoolId
},
- description: 'Nested Stack that creates the Kendra Index'
+ description: `(${solutionId}) - ${solutionName} - Nested Stack that creates the Kendra Index for document search - Version ${solutionVersion}`
});
this.kendraCaseSearch.nestedStackResource!.cfnOptions.condition =
diff --git a/source/infrastructure/lib/ui-infrastructure.ts b/source/infrastructure/lib/ui-infrastructure.ts
index b5e4586..f2efbf6 100644
--- a/source/infrastructure/lib/ui-infrastructure.ts
+++ b/source/infrastructure/lib/ui-infrastructure.ts
@@ -58,8 +58,7 @@ export class UIInfrastructure extends Construct {
CustomResourceRoleArn: props.customInfra.role!.roleArn,
AccessLoggingBucketArn: props.accessLoggingBucket.bucketArn
},
- description:
- 'Nested stack that deploys UI components that include an S3 bucket for web assets and a CloudFront distribution'
+ description: `(${process.env.SOLUTION_ID ?? this.node.tryGetContext('solution_id')}) - ${process.env.SOLUTION_NAME ?? this.node.tryGetContext('solution_name')} - Nested stack that deploys UI components that include an S3 bucket for web assets and a CloudFront distribution - Version ${process.env.VERSION ?? this.node.tryGetContext('solution_version')}`
});
(this.nestedUIStack.node.defaultChild as cdk.CfnResource).cfnOptions.condition = this.deployWebApp;
}
diff --git a/source/infrastructure/lib/utils/app-registry-aspects.ts b/source/infrastructure/lib/utils/app-registry-aspects.ts
deleted file mode 100644
index 86f7f87..0000000
--- a/source/infrastructure/lib/utils/app-registry-aspects.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/usr/bin/env node
-// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
-// SPDX-License-Identifier: Apache-2.0
-
-import * as appreg from '@aws-cdk/aws-servicecatalogappregistry-alpha';
-import * as cdk from 'aws-cdk-lib';
-
-import { Construct, IConstruct } from 'constructs';
-
-export interface AppRegistryProps {
- /**
- * Name of the solution as set through from cdk.json
- */
- solutionName: string;
-
- /**
- * Name of the application used to create an entry in AppRegistry as set through cdk.json
- */
- applicationName: string;
-
- /**
- * Solution ID associated with the application
- */
- solutionID: string;
- /**
- * Solution version of the application
- */
- solutionVersion: string;
- /**
- * An application type attribute initialized in the constructor of this class
- */
- applicationType: string;
-}
-
-/**
- * A CDK Aspect to add App Registry constructs
- */
-export class AppRegistry extends Construct implements cdk.IAspect {
- /**
- * Name of the solution as set through from cdk.json
- */
- private solutionName: string;
-
- /**
- * Name of the application used to create an entry in AppRegistry as set through cdk.json
- */
- private applicationName: string;
-
- /**
- * Solution ID as set through cdk.json
- */
- private solutionID: string;
-
- /**
- * Solution version as set through cdk.json
- */
- private solutionVersion: string;
-
- /**
- * An application type attribute initialized in the constructor of this class
- */
- private applicationType: string;
-
- /**
- * The instance of application that the solution stacks should be associated with
- */
- private application: appreg.Application;
-
- constructor(scope: Construct, id: string, props: AppRegistryProps) {
- super(scope, id);
- this.solutionName = props.solutionName;
- this.applicationName = `App-${props.applicationName}`;
- this.solutionID = props.solutionID;
- this.solutionVersion = props.solutionVersion;
- this.applicationType = props.applicationType;
- }
-
- /**
- * Method invoked as a `Visitor` pattern to inject aspects during cdk synthesis
- *
- * @param node
- */
- public visit(node: IConstruct): void {
- if (node instanceof cdk.Stack) {
- if (!node.nested) {
- // parent stack
- const stack = node;
- this.createAppForAppRegistry();
- this.application.associateApplicationWithStack(stack);
- this.createAttributeGroup();
- this.addTagsforApplication();
- } else {
- if (!this.application) {
- this.createAppForAppRegistry();
- }
-
- const nestedStack = node;
- this.application.associateApplicationWithStack(nestedStack);
- (nestedStack.node.defaultChild as cdk.CfnResource).addDependency(
- this.application.node.defaultChild as cdk.CfnResource
- );
- }
- }
- }
-
- /**
- * Method to initialize an Application in AppRegistry service
- *
- * @returns - Instance of AppRegistry's Application class
- */
- private createAppForAppRegistry(): void {
- this.application = new appreg.Application(this, 'RegistrySetup', {
- applicationName: this.applicationName,
- description: `Service Catalog application to track and manage all your resources for the solution ${this.solutionName}`
- });
- }
-
- /**
- * Method to add tags to the AppRegistry's Application instance
- *
- */
- private addTagsforApplication(): void {
- if (!this.application) {
- this.createAppForAppRegistry();
- }
-
- cdk.Tags.of(this.application).add('Solutions:SolutionID', this.solutionID);
- cdk.Tags.of(this.application).add('Solutions:SolutionName', this.solutionName);
- cdk.Tags.of(this.application).add('Solutions:SolutionVersion', this.solutionVersion);
- cdk.Tags.of(this.application).add('Solutions:ApplicationType', this.applicationType);
- }
-
- /**
- * Method to create AttributeGroup to be associated with the Application's instance in AppRegistry
- *
- */
- private createAttributeGroup(): void {
- if (!this.application) {
- this.createAppForAppRegistry();
- }
- const attrGroup = new appreg.AttributeGroup(this, 'AppAttributes', {
- attributeGroupName: `AttrGrp-${cdk.Aws.STACK_NAME}`,
- description: 'Attributes for Solutions Metadata',
- attributes: {
- applicationType: this.applicationType,
- version: this.solutionVersion,
- solutionID: this.solutionID,
- solutionName: this.solutionName
- }
- });
- attrGroup.associateWith(this.application);
- }
-}
diff --git a/source/infrastructure/package-lock.json b/source/infrastructure/package-lock.json
index 3991753..277f573 100644
--- a/source/infrastructure/package-lock.json
+++ b/source/infrastructure/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "enhanced-document-understanding-on-aws-infrastructure",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "enhanced-document-understanding-on-aws-infrastructure",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"dependencies": {
"@aws-solutions-constructs/aws-apigateway-lambda": "^2.56.0",
diff --git a/source/infrastructure/package.json b/source/infrastructure/package.json
index 7d2d242..debabaa 100644
--- a/source/infrastructure/package.json
+++ b/source/infrastructure/package.json
@@ -1,6 +1,6 @@
{
"name": "enhanced-document-understanding-on-aws-infrastructure",
- "version": "1.2.0",
+ "version": "1.2.1",
"bin": {
"infrastructure": "bin/dus.js"
},
diff --git a/source/infrastructure/test/dus-stack.test.ts b/source/infrastructure/test/dus-stack.test.ts
index 8d0524d..5ab65fd 100644
--- a/source/infrastructure/test/dus-stack.test.ts
+++ b/source/infrastructure/test/dus-stack.test.ts
@@ -13,6 +13,9 @@ describe('When App is created', () => {
let template: Template;
let jsonTemplate: { [key: string]: any };
let stack: cdk.Stack;
+ const solutionId = process.env.SOLUTION_ID ?? 'undefined';
+ const solutionName = process.env.SOLUTION_NAME ?? 'undefined';
+ const solutionVersion = process.env.VERSION ?? 'undefined';
beforeAll(() => {
[template, jsonTemplate, stack] = buildStack();
@@ -56,15 +59,15 @@ describe('When App is created', () => {
it('should have a description in the nested stack', () => {
const dusStack = stack as DusStack;
expect(Template.fromStack(dusStack.textractWorkflow).toJSON()['Description']).toEqual(
- 'Nested Stack that deploys components to interact with Amazon Textract for uploaded documents'
+ `(${solutionId}) - ${solutionName} - Nested Stack that deploys components to interact with Amazon Textract for uploaded documents - Version ${solutionVersion}`
);
expect(Template.fromStack(dusStack.entityDetectionWorkflow).toJSON()['Description']).toEqual(
- 'Nested Stack that deploys components to interact with Amazon Comprehend and Amazon Comprehend Medical for uploaded documents'
+ `(${solutionId}) - ${solutionName} - Nested Stack that deploys components to interact with Amazon Comprehend and Amazon Comprehend Medical for uploaded documents - Version ${solutionVersion}`
);
expect(Template.fromStack(dusStack.redactionWorkflow).toJSON()['Description']).toEqual(
- 'Nested Stack that deploys components to redact content in uploaded documents'
+ `(${solutionId}) - ${solutionName} - Nested Stack that deploys components to redact content in uploaded documents - Version ${solutionVersion}`
);
});
@@ -152,7 +155,7 @@ describe('When App is created', () => {
it('should have a description in the nested UI stack', () => {
const dusStack = stack as DusStack;
expect(Template.fromStack(dusStack.uiInfrastructure.nestedUIStack).toJSON()['Description']).toEqual(
- 'Nested stack that deploys UI components that include an S3 bucket for web assets and a CloudFront distribution'
+ `(${solutionId}) - ${solutionName} - Nested stack that deploys UI components that include an S3 bucket for web assets and a CloudFront distribution - Version ${solutionVersion}`
);
});
});
@@ -192,7 +195,7 @@ describe('When App is created', () => {
it('should have a description in the nested stack', () => {
const dusStack = stack as DusStack;
expect(Template.fromStack(dusStack.indexedStorage.kendraCaseSearch).toJSON()['Description']).toEqual(
- 'Nested Stack that creates the Kendra Index'
+ `(${solutionId}) - ${solutionName} - Nested Stack that creates the Kendra Index for document search - Version ${solutionVersion}`
);
});
diff --git a/source/infrastructure/test/mock-lambda-func/java-lambda/pom.xml b/source/infrastructure/test/mock-lambda-func/java-lambda/pom.xml
index 21e130d..789d8f1 100644
--- a/source/infrastructure/test/mock-lambda-func/java-lambda/pom.xml
+++ b/source/infrastructure/test/mock-lambda-func/java-lambda/pom.xml
@@ -6,7 +6,7 @@
4.0.0
example
java-lambda
- 1.2.0
+ 1.2.1
mock-java-lambda
diff --git a/source/infrastructure/test/mock-lambda-func/node-lambda/package-lock.json b/source/infrastructure/test/mock-lambda-func/node-lambda/package-lock.json
index d56744b..9b22d32 100644
--- a/source/infrastructure/test/mock-lambda-func/node-lambda/package-lock.json
+++ b/source/infrastructure/test/mock-lambda-func/node-lambda/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "node-lambda",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "node-lambda",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0"
}
}
diff --git a/source/infrastructure/test/mock-lambda-func/node-lambda/package.json b/source/infrastructure/test/mock-lambda-func/node-lambda/package.json
index bfb7ec1..8f17805 100644
--- a/source/infrastructure/test/mock-lambda-func/node-lambda/package.json
+++ b/source/infrastructure/test/mock-lambda-func/node-lambda/package.json
@@ -1,6 +1,6 @@
{
"name": "node-lambda",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "A mock lambda implementation for CDK infrastructure unit",
"main": "index.js",
"scripts": {
diff --git a/source/infrastructure/test/mock-lambda-func/python-lambda/pyproject.toml b/source/infrastructure/test/mock-lambda-func/python-lambda/pyproject.toml
index fbca929..b66ee5b 100644
--- a/source/infrastructure/test/mock-lambda-func/python-lambda/pyproject.toml
+++ b/source/infrastructure/test/mock-lambda-func/python-lambda/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "mock-python-lambda"
-version = "1.2.0"
+version = "1.2.1"
authors = ["Amazon Web Services"]
description = "Mock function for infra testing"
packages = [{ include = "*.toml" }, { include = "*.lock" }]
diff --git a/source/infrastructure/test/mock-ui/package-lock.json b/source/infrastructure/test/mock-ui/package-lock.json
index 085ec06..f683452 100644
--- a/source/infrastructure/test/mock-ui/package-lock.json
+++ b/source/infrastructure/test/mock-ui/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mock-react-app",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mock-react-app",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"dependencies": {
"react": "^18.3.1"
diff --git a/source/infrastructure/test/mock-ui/package.json b/source/infrastructure/test/mock-ui/package.json
index c4613db..724a639 100644
--- a/source/infrastructure/test/mock-ui/package.json
+++ b/source/infrastructure/test/mock-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "mock-react-app",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "Mock Reactjs app used for unit testing constructs",
"main": "index.js",
"scripts": {
diff --git a/source/infrastructure/test/utils/app-registry.test.ts b/source/infrastructure/test/utils/app-registry.test.ts
deleted file mode 100644
index b9769fd..0000000
--- a/source/infrastructure/test/utils/app-registry.test.ts
+++ /dev/null
@@ -1,239 +0,0 @@
-// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
-// SPDX-License-Identifier: Apache-2.0
-
-import * as cdk from 'aws-cdk-lib';
-import * as rawCdkJson from '../../cdk.json';
-
-import { Capture, Match, Template } from 'aws-cdk-lib/assertions';
-
-import { DusStack } from '../../lib/dus-stack';
-import { AppRegistry } from '../../lib/utils/app-registry-aspects';
-
-describe('When Solution Stack with a nested stack is registered with AppRegistry', () => {
- let template: Template;
- let app: cdk.App;
- let stack: DusStack;
- const appRegApplicationCapture = new Capture();
- const expectedTags = {
- 'Solutions:ApplicationType': 'AWS-Solutions',
- 'Solutions:SolutionID': 'SO0281',
- 'Solutions:SolutionName': 'enhanced-document-understanding-on-aws',
- 'Solutions:SolutionVersion': rawCdkJson.context.solution_version
- };
-
- const applicationName = `App-${rawCdkJson.context.app_registry_name}`;
-
- beforeAll(() => {
- app = new cdk.App({
- context: rawCdkJson.context
- });
-
- stack = new DusStack(app, 'TestStack', {
- solutionID: rawCdkJson.context.solution_id,
- solutionName: rawCdkJson.context.solution_name,
- solutionVersion: rawCdkJson.context.solution_version,
- appNamespace: rawCdkJson.context.app_namespace,
- applicationTrademarkName: rawCdkJson.context.application_trademark_name
- });
- cdk.Aspects.of(app).add(
- new AppRegistry(stack, 'AppRegistryAspect', {
- solutionName: rawCdkJson.context.solution_name,
- applicationName: rawCdkJson.context.app_registry_name,
- solutionID: rawCdkJson.context.solution_id,
- solutionVersion: rawCdkJson.context.solution_version,
- applicationType: rawCdkJson.context.application_type
- })
- );
- template = Template.fromStack(stack);
- });
-
- it('should create a ServiceCatalogueRegistry Application', () => {
- expect(app.node.tryGetContext('app_registry_name')).toStrictEqual('enhanced-document-understanding');
- expect(app.node.tryGetContext('solution_name')).toStrictEqual('enhanced-document-understanding-on-aws');
- template.resourceCountIs('AWS::ServiceCatalogAppRegistry::Application', 1);
- template.hasResourceProperties('AWS::ServiceCatalogAppRegistry::Application', {
- Name: 'App-enhanced-document-understanding',
- Description: `Service Catalog application to track and manage all your resources for the solution ${expectedTags['Solutions:SolutionName']}`,
- Tags: expectedTags
- });
- });
-
- it('should create ResourceAssociation for parent stack', () => {
- template.resourceCountIs('AWS::ServiceCatalogAppRegistry::ResourceAssociation', 1);
- template.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: {
- 'Fn::GetAtt': [appRegApplicationCapture, 'Id']
- },
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
- });
-
- it('should create ResourceAssociation for Textract Nested Stack', () => {
- const textractStack = stack.textractWorkflow;
- const nestedTemplate = Template.fromStack(textractStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: 'App-enhanced-document-understanding',
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: 'DeployTextractWorkflow'
- });
- });
-
- it('should create ResourceAssociation for Redaction Nested Stack', () => {
- const redactionStack = stack.redactionWorkflow;
- const nestedTemplate = Template.fromStack(redactionStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: applicationName,
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: 'DeployRedactionWorkflow'
- });
- });
-
- it('should create ResourceAssociation for Entity Detection Nested Stack', () => {
- const entityDetectionStack = stack.entityDetectionWorkflow;
- const nestedTemplate = Template.fromStack(entityDetectionStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: applicationName,
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: 'DeployComprehendWorkflow'
- });
- });
-
- it('should create ResourceAssociation for Kendra Nested Stack', () => {
- const kendraStack = stack.indexedStorage.kendraCaseSearch;
- const nestedTemplate = Template.fromStack(kendraStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: applicationName,
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: Match.stringLikeRegexp('IndexedStorageParametersDeployKendraIndexCondition*')
- });
- });
-
- it('should create ResourceAssociation for Sample Documents Nested Stack', () => {
- const sampleDocumentsStack: cdk.NestedStack = stack.sampleDocuments;
- const nestedTemplate = Template.fromStack(sampleDocumentsStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: applicationName,
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString(), Match.anyValue()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: 'DeploySamples'
- });
- });
-
- it('should create ResourceAssociation for WebApp Nested Stack', () => {
- const webAppStack = stack.uiInfrastructure.nestedUIStack;
- const nestedTemplate = Template.fromStack(webAppStack);
- nestedTemplate.hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', {
- Application: applicationName,
- Resource: {
- Ref: 'AWS::StackId'
- },
- ResourceType: 'CFN_STACK'
- });
-
- template.hasResource('AWS::CloudFormation::Stack', {
- Type: 'AWS::CloudFormation::Stack',
- Properties: Match.anyValue(),
- DependsOn: [appRegApplicationCapture.asString(), Match.anyValue(), Match.anyValue()],
- UpdateReplacePolicy: Match.anyValue(),
- DeletionPolicy: Match.anyValue(),
- Condition: 'DeployWebApp'
- });
- });
-
- const attGrpCapture = new Capture();
- it('should have AttributeGroupAssociation', () => {
- template.resourceCountIs('AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation', 1);
- template.hasResourceProperties('AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation', {
- Application: {
- 'Fn::GetAtt': [Match.stringLikeRegexp('AppRegistryAspectRegistrySetup*'), 'Id']
- },
- AttributeGroup: {
- 'Fn::GetAtt': [attGrpCapture, 'Id']
- }
- });
- expect(template.toJSON()['Resources'][attGrpCapture.asString()]['Type']).toStrictEqual(
- 'AWS::ServiceCatalogAppRegistry::AttributeGroup'
- );
- });
-
- it('should have AttributeGroup', () => {
- template.resourceCountIs('AWS::ServiceCatalogAppRegistry::AttributeGroup', 1);
- template.hasResourceProperties('AWS::ServiceCatalogAppRegistry::AttributeGroup', {
- Attributes: {
- applicationType: 'AWS-Solutions',
- solutionID: 'SO0281',
- solutionName: expectedTags['Solutions:SolutionName'],
- version: expectedTags['Solutions:SolutionVersion']
- },
- Name: {
- 'Fn::Join': [
- '',
- [
- 'AttrGrp-',
- {
- 'Ref': 'AWS::StackName'
- }
- ]
- ]
- },
- Description: 'Attributes for Solutions Metadata'
- });
- });
-});
diff --git a/source/lambda/create-presigned-url/package-lock.json b/source/lambda/create-presigned-url/package-lock.json
index 9006827..5f17f49 100644
--- a/source/lambda/create-presigned-url/package-lock.json
+++ b/source/lambda/create-presigned-url/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "create-presigned-url",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "create-presigned-url",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-mock": "^5.8.0",
diff --git a/source/lambda/create-presigned-url/package.json b/source/lambda/create-presigned-url/package.json
index eb1654b..b9d42da 100644
--- a/source/lambda/create-presigned-url/package.json
+++ b/source/lambda/create-presigned-url/package.json
@@ -1,6 +1,6 @@
{
"name": "create-presigned-url",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda has minimal permissions required to create downloadable presigned URLs for documents.",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/custom-resource/poetry.lock b/source/lambda/custom-resource/poetry.lock
index 7c90a27..a355a69 100644
--- a/source/lambda/custom-resource/poetry.lock
+++ b/source/lambda/custom-resource/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand.
+# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand.
[[package]]
name = "aws-lambda-powertools"
@@ -64,7 +64,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]]
name = "boto3-layer"
-version = "1.1.18"
+version = "1.2.1"
description = "Layer for AWS Boto3 python SDK"
optional = false
python-versions = "^3.11"
@@ -445,7 +445,7 @@ test-randomorder = ["pytest-randomly"]
[[package]]
name = "custom-boto3-init"
-version = "1.1.18"
+version = "1.2.1"
description = "Initialize boto config for AWS Python SDK with custom configuration"
optional = false
python-versions = "^3.11"
@@ -808,7 +808,6 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
diff --git a/source/lambda/custom-resource/pyproject.toml b/source/lambda/custom-resource/pyproject.toml
index 5043262..dd251a2 100644
--- a/source/lambda/custom-resource/pyproject.toml
+++ b/source/lambda/custom-resource/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "custom-resource"
-version = "1.2.0"
+version = "1.2.1"
authors = [ "Amazon Web Services" ]
description = "Perform specific operations triggered by AWS CloudFormation events"
packages = [
diff --git a/source/lambda/entity-detection/package-lock.json b/source/lambda/entity-detection/package-lock.json
index 49fd342..2ddfd03 100644
--- a/source/lambda/entity-detection/package-lock.json
+++ b/source/lambda/entity-detection/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "entity-detection",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "entity-detection",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-mock": "^5.7.0",
diff --git a/source/lambda/entity-detection/package.json b/source/lambda/entity-detection/package.json
index 9573692..7d9bc05 100644
--- a/source/lambda/entity-detection/package.json
+++ b/source/lambda/entity-detection/package.json
@@ -1,6 +1,6 @@
{
"name": "entity-detection",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda function detects entities within Text",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/entity-detection/utils/generic.js b/source/lambda/entity-detection/utils/generic.js
index 5145595..aeed882 100644
--- a/source/lambda/entity-detection/utils/generic.js
+++ b/source/lambda/entity-detection/utils/generic.js
@@ -87,7 +87,7 @@ exports.computeBoundingBoxes = (entity, offsetToLineIdMap, blockDict) => { // NO
// textract 'WORD' blocks include the enclosing punctuation, whereas comprehend entities do not.
// hence, we use this regex which will match if the textract word is surrounded by some extra characters.
const matchSurroundedEntityRegex = new RegExp(
- `(?com.builder.config
custom-java-sdk-config
jar
- 1.1.11
+ 1.2.1
custom-java-sdk-config
UTF-8
diff --git a/source/lambda/layers/custom_boto3_init/poetry.lock b/source/lambda/layers/custom_boto3_init/poetry.lock
index 486a9e4..0beba40 100644
--- a/source/lambda/layers/custom_boto3_init/poetry.lock
+++ b/source/lambda/layers/custom_boto3_init/poetry.lock
@@ -64,7 +64,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]]
name = "boto3-layer"
-version = "1.2.0"
+version = "1.2.1"
description = "Layer for AWS Boto3 python SDK"
optional = false
python-versions = "^3.11"
diff --git a/source/lambda/layers/custom_boto3_init/pyproject.toml b/source/lambda/layers/custom_boto3_init/pyproject.toml
index 8699844..14328fa 100644
--- a/source/lambda/layers/custom_boto3_init/pyproject.toml
+++ b/source/lambda/layers/custom_boto3_init/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "custom_boto3_init"
-version = "1.2.0"
+version = "1.2.1"
authors = [ "Amazon Web Services" ]
description = "Initialize boto config for AWS Python SDK with custom configuration"
packages = [
diff --git a/source/lambda/layers/custom_boto3_init/setup.py b/source/lambda/layers/custom_boto3_init/setup.py
index 2cf827a..c6c79c9 100644
--- a/source/lambda/layers/custom_boto3_init/setup.py
+++ b/source/lambda/layers/custom_boto3_init/setup.py
@@ -5,7 +5,7 @@
setup(
name="custom_boto3_init",
- version="1.2.0",
+ version="1.2.1",
description="Initialize boto config for AWS Python SDK with custom configuration",
url="https://github.com/aws-solutions/enhanced-document-understanding-on-aws",
author="Amazon Web Services",
diff --git a/source/lambda/redact-content/pom.xml b/source/lambda/redact-content/pom.xml
index e1fdb44..2f4d93e 100644
--- a/source/lambda/redact-content/pom.xml
+++ b/source/lambda/redact-content/pom.xml
@@ -7,7 +7,7 @@
com.builder.lambda
redact-content
jar
- 1.2.0
+ 1.2.1
redact-content
UTF-8
diff --git a/source/lambda/search/package-lock.json b/source/lambda/search/package-lock.json
index 737329e..7fa0e60 100644
--- a/source/lambda/search/package-lock.json
+++ b/source/lambda/search/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "search",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "search",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-mock": "^5.8.0",
diff --git a/source/lambda/search/package.json b/source/lambda/search/package.json
index 760fa8e..8c49c4e 100644
--- a/source/lambda/search/package.json
+++ b/source/lambda/search/package.json
@@ -1,6 +1,6 @@
{
"name": "search",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda function is used to search for queries in the kendra index backing the rest-endpoints",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/send-notification/package-lock.json b/source/lambda/send-notification/package-lock.json
index 70035ec..ab5fd22 100644
--- a/source/lambda/send-notification/package-lock.json
+++ b/source/lambda/send-notification/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "send-notification",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "send-notification",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-mock": "^5.7.0",
diff --git a/source/lambda/send-notification/package.json b/source/lambda/send-notification/package.json
index 053c075..aaab585 100644
--- a/source/lambda/send-notification/package.json
+++ b/source/lambda/send-notification/package.json
@@ -1,6 +1,6 @@
{
"name": "send-notification",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda function sends notifications about document processing updates",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/text-extract/package-lock.json b/source/lambda/text-extract/package-lock.json
index c85046e..bb1136b 100644
--- a/source/lambda/text-extract/package-lock.json
+++ b/source/lambda/text-extract/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "text-extract",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "text-extract",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-mock": "^5.8.0",
diff --git a/source/lambda/text-extract/package.json b/source/lambda/text-extract/package.json
index 0c44c78..24bb4c1 100644
--- a/source/lambda/text-extract/package.json
+++ b/source/lambda/text-extract/package.json
@@ -1,6 +1,6 @@
{
"name": "text-extract",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda function extracts text from a document like ID or Paystub, and also detects texts.",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/upload-document/package-lock.json b/source/lambda/upload-document/package-lock.json
index 88083cb..792102d 100644
--- a/source/lambda/upload-document/package-lock.json
+++ b/source/lambda/upload-document/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "upload-document",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "upload-document",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"dependencies": {
"lodash": "4.17.21"
diff --git a/source/lambda/upload-document/package.json b/source/lambda/upload-document/package.json
index 84852ed..6f9eb93 100644
--- a/source/lambda/upload-document/package.json
+++ b/source/lambda/upload-document/package.json
@@ -1,6 +1,6 @@
{
"name": "upload-document",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda function to upload documents",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/workflow-orchestrator/package-lock.json b/source/lambda/workflow-orchestrator/package-lock.json
index b109f62..4f33658 100644
--- a/source/lambda/workflow-orchestrator/package-lock.json
+++ b/source/lambda/workflow-orchestrator/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "workflow-orchestrator",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "workflow-orchestrator",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"dependencies": {
"lodash": "4.17.21"
diff --git a/source/lambda/workflow-orchestrator/package.json b/source/lambda/workflow-orchestrator/package.json
index 0e3705e..8b87e39 100644
--- a/source/lambda/workflow-orchestrator/package.json
+++ b/source/lambda/workflow-orchestrator/package.json
@@ -1,6 +1,6 @@
{
"name": "workflow-orchestrator",
- "version": "1.2.0",
+ "version": "1.2.1",
"description": "This lambda validates if required documents for a workflow has been uploaded",
"main": "index.js",
"scripts": {
diff --git a/source/package-lock.json b/source/package-lock.json
deleted file mode 100644
index 06ffc45..0000000
--- a/source/package-lock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "source",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {}
-}
diff --git a/source/ui/package-lock.json b/source/ui/package-lock.json
index e26cd6a..17564e8 100644
--- a/source/ui/package-lock.json
+++ b/source/ui/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "intelligent-document-processing-ui",
- "version": "1.2.0",
+ "version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "intelligent-document-processing-ui",
- "version": "1.2.0",
+ "version": "1.2.1",
"license": "Apache-2.0",
"dependencies": {
"@aws-amplify/ui-react": "^5.3.2",
@@ -14902,14 +14902,13 @@
}
},
"node_modules/axios": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz",
- "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==",
- "license": "MIT",
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz",
+ "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==",
"peer": true,
"dependencies": {
"follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
+ "form-data": "^4.0.4",
"proxy-from-env": "^1.1.0"
}
},
diff --git a/source/ui/package.json b/source/ui/package.json
index 5d833cb..98e8f15 100644
--- a/source/ui/package.json
+++ b/source/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "intelligent-document-processing-ui",
- "version": "1.2.0",
+ "version": "1.2.1",
"dependencies": {
"@aws-amplify/ui-react": "^5.3.2",
"@cloudscape-design/components": "^3.0.484",