@servicevic-oss/cdk-cleanup-certificate-validation-records 1.3.40 → 1.3.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.jsii +4 -4
  2. package/lib/index.js +2 -2
  3. package/node_modules/@aws/lambda-invoke-store/README.md +25 -1
  4. package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +12 -0
  5. package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +12 -0
  6. package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +6 -0
  7. package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
  8. package/node_modules/@aws-sdk/client-acm/dist-cjs/index.js +1 -1
  9. package/node_modules/@aws-sdk/client-acm/package.json +3 -3
  10. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
  11. package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
  12. package/node_modules/@aws-sdk/core/package.json +3 -3
  13. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  14. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  15. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  16. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  17. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  18. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  19. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  20. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  21. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  22. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  23. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  24. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  25. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  26. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  27. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  28. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +31 -27
  29. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +31 -27
  30. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +22 -14
  31. package/node_modules/@smithy/core/package.json +1 -1
  32. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  33. package/node_modules/@smithy/signature-v4/package.json +2 -2
  34. package/package.json +5 -5
package/.jsii CHANGED
@@ -7,8 +7,8 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-sdk/client-acm": "^3.1078.0",
11
- "@aws-sdk/client-route-53": "^3.1078.0",
10
+ "@aws-sdk/client-acm": "^3.1080.0",
11
+ "@aws-sdk/client-route-53": "^3.1080.0",
12
12
  "@types/aws-lambda": "^8.10.162",
13
13
  "async-await-retry": "^2.1.0"
14
14
  },
@@ -8898,6 +8898,6 @@
8898
8898
  "symbolId": "src/index:CertificateWithCleanup"
8899
8899
  }
8900
8900
  },
8901
- "version": "1.3.40",
8902
- "fingerprint": "Xpx+3S5SFa55qY5W6OiCygdO+o2s2708bk/cOUtf8Bs="
8901
+ "version": "1.3.42",
8902
+ "fingerprint": "Ya43l7fk/tsRKORJdc01NJfn5b0JKGByGIb3VdqX3j8="
8903
8903
  }
package/lib/index.js CHANGED
@@ -43,7 +43,7 @@ const constructs_1 = require("constructs");
43
43
  * leave behind when deleting a DNS validated certificate
44
44
  */
45
45
  class CertificateValidationRecordCleanup extends constructs_1.Construct {
46
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@servicevic-oss/cdk-cleanup-certificate-validation-records.CertificateValidationRecordCleanup", version: "1.3.40" };
46
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@servicevic-oss/cdk-cleanup-certificate-validation-records.CertificateValidationRecordCleanup", version: "1.3.42" };
47
47
  static HANDLER_UID = 'CertRecordsCleanupHandler-2B663BAB-7981';
48
48
  static PROVIDER_UID = 'CertRecordsCleanupProvider-57EBF059-2E26';
49
49
  static LOG_GROUP_UID = 'CertRecordsCleanupLogGroup-57ABF051-1E25';
@@ -109,7 +109,7 @@ exports.CertificateValidationRecordCleanup = CertificateValidationRecordCleanup;
109
109
  * A wrapper class for a vanilla `Certificate` object with automatic cleanup attached
110
110
  */
111
111
  class CertificateWithCleanup extends cdk.aws_certificatemanager.Certificate {
112
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@servicevic-oss/cdk-cleanup-certificate-validation-records.CertificateWithCleanup", version: "1.3.40" };
112
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@servicevic-oss/cdk-cleanup-certificate-validation-records.CertificateWithCleanup", version: "1.3.42" };
113
113
  constructor(scope, id, props) {
114
114
  super(scope, id, props);
115
115
  if (props.validation && props.validation.props.hostedZone && props.validation?.method == cdk.aws_certificatemanager.ValidationMethod.DNS) {
@@ -8,7 +8,7 @@ concurrent executions.
8
8
  ## Features
9
9
 
10
10
  - **Invocation Isolation**: Safely store and retrieve data within a single Lambda invocation.
11
- - **Protected Lambda Context**: Built-in protection for Lambda execution metadata (requestId, [traceId](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces))
11
+ - **Protected Lambda Context**: Built-in protection for Lambda execution metadata (requestId, [traceId](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces), [W3C Trace Context](https://www.w3.org/TR/trace-context/), [W3C Baggage](https://www.w3.org/TR/baggage/))
12
12
  - **Custom Data Storage**: Store any custom data within the invocation context
13
13
  - **Async/Await Support**: Full support for asynchronous operations with context preservation
14
14
  - **Type Safety**: Complete TypeScript type definitions
@@ -123,6 +123,30 @@ Convenience method to get the current [X-Ray trace ID](https://docs.aws.amazon.c
123
123
  const traceId = invokeStore.getXRayTraceId(); // Returns undefined if not set or outside context
124
124
  ```
125
125
 
126
+ ### invokeStore.getTraceparent()
127
+
128
+ Convenience method to get the [W3C `traceparent`](https://www.w3.org/TR/trace-context/#traceparent-header) header value.
129
+
130
+ ```typescript
131
+ const traceparent = invokeStore.getTraceparent(); // e.g. "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
132
+ ```
133
+
134
+ ### invokeStore.getTracestate()
135
+
136
+ Convenience method to get the [W3C `tracestate`](https://www.w3.org/TR/trace-context/#tracestate-header) header value.
137
+
138
+ ```typescript
139
+ const tracestate = invokeStore.getTracestate(); // e.g. "congo=t61rcWkgMzE,rojo=00f067aa0ba902b7"
140
+ ```
141
+
142
+ ### invokeStore.getBaggage()
143
+
144
+ Convenience method to get the [W3C Baggage](https://www.w3.org/TR/baggage/) header value.
145
+
146
+ ```typescript
147
+ const baggage = invokeStore.getBaggage(); // e.g. "userId=alice,serverNode=DF28"
148
+ ```
149
+
126
150
  ### invokeStore.hasContext()
127
151
 
128
152
  Checks if code is currently running within an invoke context.
@@ -4,6 +4,9 @@ const PROTECTED_KEYS = {
4
4
  REQUEST_ID: Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
5
5
  X_RAY_TRACE_ID: Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
6
6
  TENANT_ID: Symbol.for("_AWS_LAMBDA_TENANT_ID"),
7
+ TRACEPARENT: Symbol.for("_AWS_LAMBDA_TRACEPARENT"),
8
+ TRACESTATE: Symbol.for("_AWS_LAMBDA_TRACESTATE"),
9
+ BAGGAGE: Symbol.for("_AWS_LAMBDA_BAGGAGE"),
7
10
  };
8
11
  const NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
9
12
  if (!NO_GLOBAL_AWS_LAMBDA) {
@@ -23,6 +26,15 @@ class InvokeStoreBase {
23
26
  getTenantId() {
24
27
  return this.get(PROTECTED_KEYS.TENANT_ID);
25
28
  }
29
+ getTraceparent() {
30
+ return this.get(PROTECTED_KEYS.TRACEPARENT);
31
+ }
32
+ getTracestate() {
33
+ return this.get(PROTECTED_KEYS.TRACESTATE);
34
+ }
35
+ getBaggage() {
36
+ return this.get(PROTECTED_KEYS.BAGGAGE);
37
+ }
26
38
  }
27
39
  class InvokeStoreSingle extends InvokeStoreBase {
28
40
  currentContext;
@@ -2,6 +2,9 @@ const PROTECTED_KEYS = {
2
2
  REQUEST_ID: Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
3
3
  X_RAY_TRACE_ID: Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
4
4
  TENANT_ID: Symbol.for("_AWS_LAMBDA_TENANT_ID"),
5
+ TRACEPARENT: Symbol.for("_AWS_LAMBDA_TRACEPARENT"),
6
+ TRACESTATE: Symbol.for("_AWS_LAMBDA_TRACESTATE"),
7
+ BAGGAGE: Symbol.for("_AWS_LAMBDA_BAGGAGE"),
5
8
  };
6
9
  const NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
7
10
  if (!NO_GLOBAL_AWS_LAMBDA) {
@@ -21,6 +24,15 @@ class InvokeStoreBase {
21
24
  getTenantId() {
22
25
  return this.get(PROTECTED_KEYS.TENANT_ID);
23
26
  }
27
+ getTraceparent() {
28
+ return this.get(PROTECTED_KEYS.TRACEPARENT);
29
+ }
30
+ getTracestate() {
31
+ return this.get(PROTECTED_KEYS.TRACESTATE);
32
+ }
33
+ getBaggage() {
34
+ return this.get(PROTECTED_KEYS.BAGGAGE);
35
+ }
24
36
  }
25
37
  class InvokeStoreSingle extends InvokeStoreBase {
26
38
  currentContext;
@@ -21,6 +21,9 @@ export declare abstract class InvokeStoreBase {
21
21
  readonly REQUEST_ID: symbol;
22
22
  readonly X_RAY_TRACE_ID: symbol;
23
23
  readonly TENANT_ID: symbol;
24
+ readonly TRACEPARENT: symbol;
25
+ readonly TRACESTATE: symbol;
26
+ readonly BAGGAGE: symbol;
24
27
  };
25
28
  abstract getContext(): Context | undefined;
26
29
  abstract hasContext(): boolean;
@@ -31,6 +34,9 @@ export declare abstract class InvokeStoreBase {
31
34
  getRequestId(): string;
32
35
  getXRayTraceId(): string | undefined;
33
36
  getTenantId(): string | undefined;
37
+ getTraceparent(): string | undefined;
38
+ getTracestate(): string | undefined;
39
+ getBaggage(): string | undefined;
34
40
  }
35
41
  /**
36
42
  * Provides access to AWS Lambda execution context storage.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/lambda-invoke-store",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "Invoke scoped data storage for AWS Lambda Node.js Runtime Environment",
5
5
  "homepage": "https://github.com/awslabs/aws-lambda-invoke-store",
6
6
  "main": "./dist-cjs/invoke-store.js",
@@ -71,7 +71,7 @@ const commonParams = {
71
71
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
72
72
  };
73
73
 
74
- var version = "3.1077.0";
74
+ var version = "3.1079.0";
75
75
  var packageInfo = {
76
76
  version: version};
77
77
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-acm",
3
3
  "description": "AWS SDK for JavaScript Acm Client for Node.js, Browser and React Native",
4
- "version": "3.1078.0",
4
+ "version": "3.1080.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
7
7
  "build:cjs": "node ../../scripts/compilation/inline",
@@ -21,8 +21,8 @@
21
21
  "module": "./dist-es/index.js",
22
22
  "sideEffects": false,
23
23
  "dependencies": {
24
- "@aws-sdk/core": "^3.974.26",
25
- "@aws-sdk/credential-provider-node": "^3.972.61",
24
+ "@aws-sdk/core": "^3.974.28",
25
+ "@aws-sdk/credential-provider-node": "^3.972.63",
26
26
  "@aws-sdk/types": "^3.973.15",
27
27
  "@smithy/core": "^3.29.0",
28
28
  "@smithy/fetch-http-handler": "^5.6.2",
@@ -70,7 +70,7 @@ const commonParams = {
70
70
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
71
71
  };
72
72
 
73
- var version = "3.1077.0";
73
+ var version = "3.1079.0";
74
74
  var packageInfo = {
75
75
  version: version};
76
76
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-route-53",
3
3
  "description": "AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native",
4
- "version": "3.1078.0",
4
+ "version": "3.1080.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
7
7
  "build:cjs": "node ../../scripts/compilation/inline",
@@ -25,8 +25,8 @@
25
25
  "module": "./dist-es/index.js",
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@aws-sdk/core": "^3.974.26",
29
- "@aws-sdk/credential-provider-node": "^3.972.61",
28
+ "@aws-sdk/core": "^3.974.28",
29
+ "@aws-sdk/credential-provider-node": "^3.972.63",
30
30
  "@aws-sdk/middleware-sdk-route53": "^3.972.19",
31
31
  "@aws-sdk/types": "^3.973.15",
32
32
  "@smithy/core": "^3.29.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/core",
3
- "version": "3.974.26",
3
+ "version": "3.974.28",
4
4
  "description": "Core functions & classes shared by multiple AWS SDK clients.",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
@@ -12,7 +12,7 @@
12
12
  "clean": "premove dist-cjs dist-es dist-types",
13
13
  "extract:docs": "api-extractor run --local",
14
14
  "lint": "node ../../scripts/validation/submodules-linter.js",
15
- "prebuild": "node scripts/copy-partitions.js && yarn lint",
15
+ "prebuild": "yarn lint",
16
16
  "test": "yarn g:vitest run",
17
17
  "test:watch": "yarn g:vitest watch",
18
18
  "test:integration": "yarn g:vitest run -c vitest.config.integ.mts && yarn test:temp:retry",
@@ -105,7 +105,7 @@
105
105
  "dependencies": {
106
106
  "@aws-sdk/types": "^3.973.15",
107
107
  "@aws-sdk/xml-builder": "^3.972.33",
108
- "@aws/lambda-invoke-store": "^0.2.2",
108
+ "@aws/lambda-invoke-store": "^0.3.0",
109
109
  "@smithy/core": "^3.29.0",
110
110
  "@smithy/signature-v4": "^5.6.1",
111
111
  "@smithy/types": "^4.15.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-env",
3
- "version": "3.972.52",
3
+ "version": "3.972.54",
4
4
  "description": "AWS credential provider that sources credentials from known environment variables",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.26",
29
+ "@aws-sdk/core": "^3.974.28",
30
30
  "@aws-sdk/types": "^3.973.15",
31
31
  "@smithy/core": "^3.29.0",
32
32
  "@smithy/types": "^4.15.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-http",
3
- "version": "3.972.54",
3
+ "version": "3.972.56",
4
4
  "description": "AWS credential provider for containers and HTTP sources",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "license": "Apache-2.0",
38
38
  "dependencies": {
39
- "@aws-sdk/core": "^3.974.26",
39
+ "@aws-sdk/core": "^3.974.28",
40
40
  "@aws-sdk/types": "^3.973.15",
41
41
  "@smithy/core": "^3.29.0",
42
42
  "@smithy/fetch-http-handler": "^5.6.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-ini",
3
- "version": "3.972.59",
3
+ "version": "3.972.61",
4
4
  "description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,14 +28,14 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.26",
32
- "@aws-sdk/credential-provider-env": "^3.972.52",
33
- "@aws-sdk/credential-provider-http": "^3.972.54",
34
- "@aws-sdk/credential-provider-login": "^3.972.58",
35
- "@aws-sdk/credential-provider-process": "^3.972.52",
36
- "@aws-sdk/credential-provider-sso": "^3.972.58",
37
- "@aws-sdk/credential-provider-web-identity": "^3.972.58",
38
- "@aws-sdk/nested-clients": "^3.997.26",
31
+ "@aws-sdk/core": "^3.974.28",
32
+ "@aws-sdk/credential-provider-env": "^3.972.54",
33
+ "@aws-sdk/credential-provider-http": "^3.972.56",
34
+ "@aws-sdk/credential-provider-login": "^3.972.60",
35
+ "@aws-sdk/credential-provider-process": "^3.972.54",
36
+ "@aws-sdk/credential-provider-sso": "^3.972.60",
37
+ "@aws-sdk/credential-provider-web-identity": "^3.972.60",
38
+ "@aws-sdk/nested-clients": "^3.997.28",
39
39
  "@aws-sdk/types": "^3.973.15",
40
40
  "@smithy/core": "^3.29.0",
41
41
  "@smithy/credential-provider-imds": "^4.4.5",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-login",
3
- "version": "3.972.58",
3
+ "version": "3.972.60",
4
4
  "description": "AWS credential provider that sources credentials from aws login cached tokens",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.26",
32
- "@aws-sdk/nested-clients": "^3.997.26",
31
+ "@aws-sdk/core": "^3.974.28",
32
+ "@aws-sdk/nested-clients": "^3.997.28",
33
33
  "@aws-sdk/types": "^3.973.15",
34
34
  "@smithy/core": "^3.29.0",
35
35
  "@smithy/types": "^4.15.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.972.61",
3
+ "version": "3.972.63",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=20.0.0"
@@ -31,12 +31,12 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@aws-sdk/credential-provider-env": "^3.972.52",
35
- "@aws-sdk/credential-provider-http": "^3.972.54",
36
- "@aws-sdk/credential-provider-ini": "^3.972.59",
37
- "@aws-sdk/credential-provider-process": "^3.972.52",
38
- "@aws-sdk/credential-provider-sso": "^3.972.58",
39
- "@aws-sdk/credential-provider-web-identity": "^3.972.58",
34
+ "@aws-sdk/credential-provider-env": "^3.972.54",
35
+ "@aws-sdk/credential-provider-http": "^3.972.56",
36
+ "@aws-sdk/credential-provider-ini": "^3.972.61",
37
+ "@aws-sdk/credential-provider-process": "^3.972.54",
38
+ "@aws-sdk/credential-provider-sso": "^3.972.60",
39
+ "@aws-sdk/credential-provider-web-identity": "^3.972.60",
40
40
  "@aws-sdk/types": "^3.973.15",
41
41
  "@smithy/core": "^3.29.0",
42
42
  "@smithy/credential-provider-imds": "^4.4.5",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-process",
3
- "version": "3.972.52",
3
+ "version": "3.972.54",
4
4
  "description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/core": "^3.974.26",
29
+ "@aws-sdk/core": "^3.974.28",
30
30
  "@aws-sdk/types": "^3.973.15",
31
31
  "@smithy/core": "^3.29.0",
32
32
  "@smithy/types": "^4.15.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.972.58",
3
+ "version": "3.972.60",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,9 +28,9 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.26",
32
- "@aws-sdk/nested-clients": "^3.997.26",
33
- "@aws-sdk/token-providers": "3.1078.0",
31
+ "@aws-sdk/core": "^3.974.28",
32
+ "@aws-sdk/nested-clients": "^3.997.28",
33
+ "@aws-sdk/token-providers": "3.1080.0",
34
34
  "@aws-sdk/types": "^3.973.15",
35
35
  "@smithy/core": "^3.29.0",
36
36
  "@smithy/types": "^4.15.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-web-identity",
3
- "version": "3.972.58",
3
+ "version": "3.972.60",
4
4
  "description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -33,8 +33,8 @@
33
33
  },
34
34
  "license": "Apache-2.0",
35
35
  "dependencies": {
36
- "@aws-sdk/core": "^3.974.26",
37
- "@aws-sdk/nested-clients": "^3.997.26",
36
+ "@aws-sdk/core": "^3.974.28",
37
+ "@aws-sdk/nested-clients": "^3.997.28",
38
38
  "@aws-sdk/types": "^3.973.15",
39
39
  "@smithy/core": "^3.29.0",
40
40
  "@smithy/types": "^4.15.1",
@@ -81,7 +81,7 @@ const commonParams = {
81
81
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
82
82
  };
83
83
 
84
- var version = "3.997.25";
84
+ var version = "3.997.27";
85
85
  var packageInfo = {
86
86
  version: version};
87
87
 
@@ -77,7 +77,7 @@ const commonParams = {
77
77
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
78
78
  };
79
79
 
80
- var version = "3.997.25";
80
+ var version = "3.997.27";
81
81
  var packageInfo = {
82
82
  version: version};
83
83
 
@@ -77,7 +77,7 @@ const commonParams = {
77
77
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
78
78
  };
79
79
 
80
- var version = "3.997.25";
80
+ var version = "3.997.27";
81
81
  var packageInfo = {
82
82
  version: version};
83
83
 
@@ -77,7 +77,7 @@ const commonParams = {
77
77
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
78
78
  };
79
79
 
80
- var version = "3.997.25";
80
+ var version = "3.997.27";
81
81
  var packageInfo = {
82
82
  version: version};
83
83
 
@@ -258,7 +258,7 @@ const commonParams = {
258
258
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
259
259
  };
260
260
 
261
- var version = "3.997.25";
261
+ var version = "3.997.27";
262
262
  var packageInfo = {
263
263
  version: version};
264
264
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.997.26",
3
+ "version": "3.997.28",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/core": "^3.974.26",
31
+ "@aws-sdk/core": "^3.974.28",
32
32
  "@aws-sdk/signature-v4-multi-region": "^3.996.38",
33
33
  "@aws-sdk/types": "^3.973.15",
34
34
  "@smithy/core": "^3.29.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.1078.0",
3
+ "version": "3.1080.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "Apache-2.0",
31
31
  "dependencies": {
32
- "@aws-sdk/core": "^3.974.26",
33
- "@aws-sdk/nested-clients": "^3.997.26",
32
+ "@aws-sdk/core": "^3.974.28",
33
+ "@aws-sdk/nested-clients": "^3.997.28",
34
34
  "@aws-sdk/types": "^3.973.15",
35
35
  "@smithy/core": "^3.29.0",
36
36
  "@smithy/types": "^4.15.1",
@@ -2,7 +2,7 @@ const { createHmac, createHash, getRandomValues } = require("node:crypto");
2
2
  const { ReadStream, lstatSync, fstatSync } = require("node:fs");
3
3
  const { HttpResponse } = require("@smithy/core/transport");
4
4
  const { toEndpointV1 } = require("@smithy/core/endpoints");
5
- const { Duplex, Readable, Writable, PassThrough } = require("node:stream");
5
+ const { Readable, Writable, PassThrough } = require("node:stream");
6
6
 
7
7
  const isArrayBuffer = (arg) => (typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer) ||
8
8
  Object.prototype.toString.call(arg) === "[object ArrayBuffer]";
@@ -987,62 +987,66 @@ function castSourceData(toCast, encoding) {
987
987
  return fromArrayBuffer(toCast);
988
988
  }
989
989
 
990
- let ChecksumStream$1 = class ChecksumStream extends Duplex {
990
+ let ChecksumStream$1 = class ChecksumStream extends Readable {
991
991
  expectedChecksum;
992
992
  checksumSourceLocation;
993
993
  checksum;
994
994
  source;
995
995
  base64Encoder;
996
- pendingCallback = null;
997
996
  constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {
998
997
  super();
999
- if (typeof source.pipe === "function") {
1000
- this.source = source;
1001
- }
1002
- else {
998
+ if (typeof source.pipe !== "function") {
1003
999
  throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
1004
1000
  }
1001
+ this.source = source;
1005
1002
  this.base64Encoder = base64Encoder ?? toBase64$1;
1006
1003
  this.expectedChecksum = expectedChecksum;
1007
1004
  this.checksum = checksum;
1008
1005
  this.checksumSourceLocation = checksumSourceLocation;
1009
- this.source.pipe(this);
1006
+ this.source.on("data", this.onSourceData);
1007
+ this.source.on("end", this.onSourceEnd);
1008
+ this.source.on("error", this.onSourceError);
1009
+ this.source.pause();
1010
1010
  }
1011
- _read(size) {
1012
- if (this.pendingCallback) {
1013
- const callback = this.pendingCallback;
1014
- this.pendingCallback = null;
1015
- callback();
1011
+ onSourceData = (chunk) => {
1012
+ if (this.destroyed) {
1013
+ return;
1016
1014
  }
1017
- }
1018
- _write(chunk, encoding, callback) {
1019
1015
  try {
1020
1016
  this.checksum.update(chunk);
1021
- const canPushMore = this.push(chunk);
1022
- if (!canPushMore) {
1023
- this.pendingCallback = callback;
1024
- return;
1025
- }
1026
1017
  }
1027
1018
  catch (e) {
1028
- return callback(e);
1019
+ this.destroy(e);
1020
+ return;
1021
+ }
1022
+ if (!this.push(chunk)) {
1023
+ this.source.pause();
1024
+ }
1025
+ };
1026
+ onSourceEnd = async () => {
1027
+ if (this.destroyed) {
1028
+ return;
1029
1029
  }
1030
- return callback();
1031
- }
1032
- async _final(callback) {
1033
1030
  try {
1034
1031
  const digest = await this.checksum.digest();
1035
1032
  const received = this.base64Encoder(digest);
1036
1033
  if (this.expectedChecksum !== received) {
1037
- return callback(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}"` +
1034
+ this.destroy(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}"` +
1038
1035
  ` in response header "${this.checksumSourceLocation}".`));
1036
+ return;
1039
1037
  }
1040
1038
  }
1041
1039
  catch (e) {
1042
- return callback(e);
1040
+ this.destroy(e);
1041
+ return;
1043
1042
  }
1044
1043
  this.push(null);
1045
- return callback();
1044
+ };
1045
+ onSourceError = (error) => {
1046
+ this.destroy(error);
1047
+ };
1048
+ _read(size) {
1049
+ this.source.resume();
1046
1050
  }
1047
1051
  _destroy(error, callback) {
1048
1052
  this.source?.destroy();
@@ -1,61 +1,65 @@
1
- import { Duplex } from "node:stream";
1
+ import { Readable } from "node:stream";
2
2
  import { toBase64 } from "../../util-base64/toBase64";
3
- export class ChecksumStream extends Duplex {
3
+ export class ChecksumStream extends Readable {
4
4
  expectedChecksum;
5
5
  checksumSourceLocation;
6
6
  checksum;
7
7
  source;
8
8
  base64Encoder;
9
- pendingCallback = null;
10
9
  constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {
11
10
  super();
12
- if (typeof source.pipe === "function") {
13
- this.source = source;
14
- }
15
- else {
11
+ if (typeof source.pipe !== "function") {
16
12
  throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
17
13
  }
14
+ this.source = source;
18
15
  this.base64Encoder = base64Encoder ?? toBase64;
19
16
  this.expectedChecksum = expectedChecksum;
20
17
  this.checksum = checksum;
21
18
  this.checksumSourceLocation = checksumSourceLocation;
22
- this.source.pipe(this);
19
+ this.source.on("data", this.onSourceData);
20
+ this.source.on("end", this.onSourceEnd);
21
+ this.source.on("error", this.onSourceError);
22
+ this.source.pause();
23
23
  }
24
- _read(size) {
25
- if (this.pendingCallback) {
26
- const callback = this.pendingCallback;
27
- this.pendingCallback = null;
28
- callback();
24
+ onSourceData = (chunk) => {
25
+ if (this.destroyed) {
26
+ return;
29
27
  }
30
- }
31
- _write(chunk, encoding, callback) {
32
28
  try {
33
29
  this.checksum.update(chunk);
34
- const canPushMore = this.push(chunk);
35
- if (!canPushMore) {
36
- this.pendingCallback = callback;
37
- return;
38
- }
39
30
  }
40
31
  catch (e) {
41
- return callback(e);
32
+ this.destroy(e);
33
+ return;
34
+ }
35
+ if (!this.push(chunk)) {
36
+ this.source.pause();
37
+ }
38
+ };
39
+ onSourceEnd = async () => {
40
+ if (this.destroyed) {
41
+ return;
42
42
  }
43
- return callback();
44
- }
45
- async _final(callback) {
46
43
  try {
47
44
  const digest = await this.checksum.digest();
48
45
  const received = this.base64Encoder(digest);
49
46
  if (this.expectedChecksum !== received) {
50
- return callback(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}"` +
47
+ this.destroy(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}"` +
51
48
  ` in response header "${this.checksumSourceLocation}".`));
49
+ return;
52
50
  }
53
51
  }
54
52
  catch (e) {
55
- return callback(e);
53
+ this.destroy(e);
54
+ return;
56
55
  }
57
56
  this.push(null);
58
- return callback();
57
+ };
58
+ onSourceError = (error) => {
59
+ this.destroy(error);
60
+ };
61
+ _read(size) {
62
+ this.source.resume();
59
63
  }
60
64
  _destroy(error, callback) {
61
65
  this.source?.destroy();
@@ -1,4 +1,4 @@
1
- import { Duplex, type Readable } from "node:stream";
1
+ import { Readable } from "node:stream";
2
2
  import type { Checksum, Encoder } from "@smithy/types";
3
3
  /**
4
4
  * @internal
@@ -29,34 +29,42 @@ export interface ChecksumStreamInit<T extends Readable | ReadableStream> {
29
29
  * Wrapper for throwing checksum errors for streams without
30
30
  * buffering the stream.
31
31
  *
32
+ * Note: this effectively behaves as a duplex, reading from the source on one
33
+ * side and forwarding chunks to its own readable side on the other. It should
34
+ * not be rewritten back into a Duplex (or Transform). The source is observed
35
+ * and driven manually (pause/resume in onSourceData/_read) so data is pulled
36
+ * at the rate it is consumed and never buffered twice; this manual control is
37
+ * used deliberately for performance and would be lost with the built-in duplex
38
+ * machinery.
39
+ *
32
40
  * @internal
33
41
  */
34
- export declare class ChecksumStream extends Duplex {
42
+ export declare class ChecksumStream extends Readable {
35
43
  private expectedChecksum;
36
44
  private checksumSourceLocation;
37
45
  private checksum;
38
- private source?;
46
+ private source;
39
47
  private base64Encoder;
40
- private pendingCallback;
41
48
  constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }: ChecksumStreamInit<Readable>);
42
49
  /**
43
- * Do not call this directly.
44
- * @internal
50
+ * Update the checksum and forward each source chunk to the readable side,
51
+ * pausing the source when the readable side signals backpressure.
45
52
  */
46
- _read(size: number): void;
53
+ private onSourceData;
47
54
  /**
48
- * When the upstream source flows data to this stream,
49
- * calculate a step update of the checksum.
50
- * Do not call this directly.
51
- * @internal
55
+ * When the source finishes, perform the checksum comparison and end this stream.
56
+ */
57
+ private onSourceEnd;
58
+ /**
59
+ * Surface source errors on this stream.
52
60
  */
53
- _write(chunk: Buffer, encoding: string, callback: (err?: Error) => void): void;
61
+ private onSourceError;
54
62
  /**
55
- * When the upstream source finishes, perform the checksum comparison.
63
+ * Resume the source so it flows at the rate this stream is consumed.
56
64
  * Do not call this directly.
57
65
  * @internal
58
66
  */
59
- _final(callback: (err?: Error) => void): Promise<void>;
67
+ _read(size: number): void;
60
68
  /**
61
69
  * Destroy the upstream source for cleanup so it is not left dangling, then
62
70
  * complete this stream's destruction. The error is intentionally not forwarded
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/core",
3
- "version": "3.29.0",
3
+ "version": "3.29.1",
4
4
  "scripts": {
5
5
  "benchmark:cbor": "node ./scripts/cbor-perf.mjs",
6
6
  "benchmark:checksum": "node ./scripts/checksum-perf.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/credential-provider-imds",
3
- "version": "4.4.5",
3
+ "version": "4.4.6",
4
4
  "description": "AWS credential provider that sources credentials from the EC2 instance metadata service and ECS container metadata service",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -27,7 +27,7 @@
27
27
  "license": "Apache-2.0",
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@smithy/core": "^3.29.0",
30
+ "@smithy/core": "^3.29.1",
31
31
  "@smithy/types": "^4.15.1",
32
32
  "tslib": "^2.6.2"
33
33
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/signature-v4",
3
- "version": "5.6.1",
3
+ "version": "5.6.2",
4
4
  "description": "A standalone implementation of the AWS Signature V4 request signing algorithm",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -25,7 +25,7 @@
25
25
  "license": "Apache-2.0",
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@smithy/core": "^3.29.0",
28
+ "@smithy/core": "^3.29.1",
29
29
  "@smithy/types": "^4.15.1",
30
30
  "tslib": "^2.6.2"
31
31
  },
package/package.json CHANGED
@@ -48,9 +48,9 @@
48
48
  "jest": "^29.7.0",
49
49
  "jest-junit": "^17",
50
50
  "jsii": "~5.9.0",
51
- "jsii-diff": "^1.137.0",
51
+ "jsii-diff": "^1.138.0",
52
52
  "jsii-docgen": "^10.5.0",
53
- "jsii-pacmak": "^1.137.0",
53
+ "jsii-pacmak": "^1.138.0",
54
54
  "jsii-rosetta": "~5.9.0",
55
55
  "projen": "^0.101.4",
56
56
  "ts-jest": "^29.4.11",
@@ -62,8 +62,8 @@
62
62
  "constructs": "^10.5.1"
63
63
  },
64
64
  "dependencies": {
65
- "@aws-sdk/client-acm": "^3.1078.0",
66
- "@aws-sdk/client-route-53": "^3.1078.0",
65
+ "@aws-sdk/client-acm": "^3.1080.0",
66
+ "@aws-sdk/client-route-53": "^3.1080.0",
67
67
  "@types/aws-lambda": "^8.10.162",
68
68
  "async-await-retry": "^2.1.0"
69
69
  },
@@ -91,7 +91,7 @@
91
91
  "publishConfig": {
92
92
  "access": "public"
93
93
  },
94
- "version": "1.3.40",
94
+ "version": "1.3.42",
95
95
  "jest": {
96
96
  "coverageProvider": "v8",
97
97
  "testMatch": [