@mavogel/awscdk-rootmail 0.1.26 → 0.1.28

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 (175) hide show
  1. package/.jsii +8 -8
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/checksums/package.json +4 -4
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +1 -1
  6. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/CloudWatchLogsClient.d.ts +2 -1
  7. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +5 -5
  8. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
  9. package/node_modules/@aws-sdk/client-route-53/dist-types/Route53Client.d.ts +2 -1
  10. package/node_modules/@aws-sdk/client-route-53/package.json +6 -6
  11. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
  12. package/node_modules/@aws-sdk/client-s3/dist-types/S3Client.d.ts +2 -1
  13. package/node_modules/@aws-sdk/client-s3/package.json +9 -9
  14. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +1 -1
  15. package/node_modules/@aws-sdk/client-ses/dist-types/SESClient.d.ts +2 -1
  16. package/node_modules/@aws-sdk/client-ses/package.json +5 -5
  17. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
  18. package/node_modules/@aws-sdk/client-ssm/dist-types/SSMClient.d.ts +2 -1
  19. package/node_modules/@aws-sdk/client-ssm/package.json +5 -5
  20. package/node_modules/@aws-sdk/core/package.json +3 -3
  21. package/node_modules/@aws-sdk/credential-provider-env/package.json +4 -4
  22. package/node_modules/@aws-sdk/credential-provider-http/package.json +4 -4
  23. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  24. package/node_modules/@aws-sdk/credential-provider-login/package.json +5 -5
  25. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  26. package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
  27. package/node_modules/@aws-sdk/credential-provider-sso/package.json +6 -6
  28. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +5 -5
  29. package/node_modules/@aws-sdk/middleware-sdk-route53/package.json +2 -2
  30. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +5 -5
  31. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  32. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  33. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  34. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  35. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  36. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +2 -1
  37. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +2 -1
  38. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +2 -1
  39. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +2 -1
  40. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +2 -1
  41. package/node_modules/@aws-sdk/nested-clients/package.json +5 -5
  42. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  43. package/node_modules/@aws-sdk/token-providers/package.json +5 -5
  44. package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +3 -0
  45. package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +3 -0
  46. package/node_modules/@aws-sdk/types/package.json +1 -1
  47. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +15 -2
  48. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +10 -0
  49. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +10 -0
  50. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -5
  51. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +16 -2
  52. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +10 -0
  53. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +5 -5
  54. package/node_modules/@smithy/core/package.json +1 -1
  55. package/node_modules/@zone-eu/mailsplit/lib/message-splitter.js +39 -27
  56. package/node_modules/@zone-eu/mailsplit/lib/mime-node.d.ts +1 -1
  57. package/node_modules/@zone-eu/mailsplit/lib/mime-node.js +38 -61
  58. package/node_modules/@zone-eu/mailsplit/lib/types.d.ts +1 -1
  59. package/node_modules/@zone-eu/mailsplit/package.json +2 -2
  60. package/node_modules/libmime/CHANGELOG.md +36 -0
  61. package/node_modules/libmime/README.md +40 -3
  62. package/node_modules/libmime/dist/cjs/charset.d.ts +36 -0
  63. package/node_modules/libmime/dist/cjs/charset.js +165 -2
  64. package/node_modules/libmime/dist/cjs/charsets.js +8 -2
  65. package/node_modules/libmime/dist/cjs/libmime.d.ts +20 -3
  66. package/node_modules/libmime/dist/cjs/libmime.js +100 -6
  67. package/node_modules/libmime/dist/cjs/types.d.ts +28 -0
  68. package/node_modules/libmime/dist/esm/charset.d.ts +36 -0
  69. package/node_modules/libmime/dist/esm/charset.js +162 -2
  70. package/node_modules/libmime/dist/esm/charsets.js +8 -2
  71. package/node_modules/libmime/dist/esm/libmime.d.ts +20 -3
  72. package/node_modules/libmime/dist/esm/libmime.js +100 -6
  73. package/node_modules/libmime/dist/esm/types.d.ts +28 -0
  74. package/node_modules/libmime/package.json +3 -3
  75. package/node_modules/mailparser/CHANGELOG.md +51 -0
  76. package/node_modules/mailparser/README.md +32 -1
  77. package/node_modules/mailparser/dist/cjs/address-header.d.ts +19 -0
  78. package/node_modules/mailparser/dist/cjs/address-header.js +185 -0
  79. package/node_modules/mailparser/dist/cjs/index.d.ts +3 -1
  80. package/node_modules/mailparser/dist/cjs/index.js +4 -2
  81. package/node_modules/mailparser/dist/cjs/mail-parser.js +36 -183
  82. package/node_modules/mailparser/dist/cjs/stream-hash.d.ts +5 -4
  83. package/node_modules/mailparser/dist/cjs/stream-hash.js +8 -5
  84. package/node_modules/mailparser/dist/cjs/types.d.ts +33 -6
  85. package/node_modules/mailparser/dist/esm/address-header.d.ts +19 -0
  86. package/node_modules/mailparser/dist/esm/address-header.js +176 -0
  87. package/node_modules/mailparser/dist/esm/index.d.ts +3 -1
  88. package/node_modules/mailparser/dist/esm/index.js +3 -2
  89. package/node_modules/mailparser/dist/esm/mail-parser.js +36 -183
  90. package/node_modules/mailparser/dist/esm/stream-hash.d.ts +5 -4
  91. package/node_modules/mailparser/dist/esm/stream-hash.js +8 -5
  92. package/node_modules/mailparser/dist/esm/types.d.ts +33 -6
  93. package/node_modules/mailparser/package.json +6 -7
  94. package/node_modules/nodemailer/CHANGELOG.md +23 -0
  95. package/node_modules/nodemailer/dist/cjs/addressparser/index.js +2 -5
  96. package/node_modules/nodemailer/dist/cjs/dkim/index.js +1 -3
  97. package/node_modules/nodemailer/dist/cjs/errors.d.ts +19 -0
  98. package/node_modules/nodemailer/dist/cjs/errors.js +14 -1
  99. package/node_modules/nodemailer/dist/cjs/fetch/cookies.js +2 -4
  100. package/node_modules/nodemailer/dist/cjs/fetch/index.js +2 -8
  101. package/node_modules/nodemailer/dist/cjs/mail-composer/index.js +42 -9
  102. package/node_modules/nodemailer/dist/cjs/mailer/mail-message.js +5 -6
  103. package/node_modules/nodemailer/dist/cjs/mime-funcs/index.d.ts +18 -1
  104. package/node_modules/nodemailer/dist/cjs/mime-funcs/index.js +43 -1
  105. package/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.js +3 -12
  106. package/node_modules/nodemailer/dist/cjs/mime-node/index.d.ts +34 -1
  107. package/node_modules/nodemailer/dist/cjs/mime-node/index.js +40 -15
  108. package/node_modules/nodemailer/dist/cjs/package-info.d.ts +1 -1
  109. package/node_modules/nodemailer/dist/cjs/package-info.js +1 -1
  110. package/node_modules/nodemailer/dist/cjs/qp/index.js +3 -12
  111. package/node_modules/nodemailer/dist/cjs/sendmail-transport/index.js +1 -3
  112. package/node_modules/nodemailer/dist/cjs/shared/index.js +2 -6
  113. package/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.js +1 -1
  114. package/node_modules/nodemailer/dist/cjs/smtp-connection/index.d.ts +6 -0
  115. package/node_modules/nodemailer/dist/cjs/smtp-connection/index.js +15 -12
  116. package/node_modules/nodemailer/dist/cjs/smtp-connection/server-message-id.d.ts +14 -0
  117. package/node_modules/nodemailer/dist/cjs/smtp-connection/server-message-id.js +53 -0
  118. package/node_modules/nodemailer/dist/cjs/smtp-pool/index.d.ts +11 -0
  119. package/node_modules/nodemailer/dist/cjs/smtp-pool/index.js +25 -1
  120. package/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.js +2 -5
  121. package/node_modules/nodemailer/dist/esm/addressparser/index.js +2 -5
  122. package/node_modules/nodemailer/dist/esm/dkim/index.js +1 -3
  123. package/node_modules/nodemailer/dist/esm/errors.d.ts +19 -0
  124. package/node_modules/nodemailer/dist/esm/errors.js +12 -0
  125. package/node_modules/nodemailer/dist/esm/fetch/cookies.js +2 -4
  126. package/node_modules/nodemailer/dist/esm/fetch/index.js +2 -8
  127. package/node_modules/nodemailer/dist/esm/mail-composer/index.js +42 -9
  128. package/node_modules/nodemailer/dist/esm/mailer/mail-message.js +5 -6
  129. package/node_modules/nodemailer/dist/esm/mime-funcs/index.d.ts +18 -1
  130. package/node_modules/nodemailer/dist/esm/mime-funcs/index.js +43 -1
  131. package/node_modules/nodemailer/dist/esm/mime-funcs/mime-types.js +3 -12
  132. package/node_modules/nodemailer/dist/esm/mime-node/index.d.ts +34 -1
  133. package/node_modules/nodemailer/dist/esm/mime-node/index.js +40 -15
  134. package/node_modules/nodemailer/dist/esm/package-info.d.ts +1 -1
  135. package/node_modules/nodemailer/dist/esm/package-info.js +1 -1
  136. package/node_modules/nodemailer/dist/esm/qp/index.js +3 -12
  137. package/node_modules/nodemailer/dist/esm/sendmail-transport/index.js +1 -3
  138. package/node_modules/nodemailer/dist/esm/shared/index.js +2 -6
  139. package/node_modules/nodemailer/dist/esm/smtp-connection/http-proxy-client.js +1 -1
  140. package/node_modules/nodemailer/dist/esm/smtp-connection/index.d.ts +6 -0
  141. package/node_modules/nodemailer/dist/esm/smtp-connection/index.js +16 -13
  142. package/node_modules/nodemailer/dist/esm/smtp-connection/server-message-id.d.ts +14 -0
  143. package/node_modules/nodemailer/dist/esm/smtp-connection/server-message-id.js +50 -0
  144. package/node_modules/nodemailer/dist/esm/smtp-pool/index.d.ts +11 -0
  145. package/node_modules/nodemailer/dist/esm/smtp-pool/index.js +25 -1
  146. package/node_modules/nodemailer/dist/esm/smtp-pool/pool-resource.js +2 -5
  147. package/node_modules/nodemailer/package.json +11 -9
  148. package/package.json +9 -9
  149. package/node_modules/mailparser/node_modules/iconv-lite/LICENSE +0 -21
  150. package/node_modules/mailparser/node_modules/iconv-lite/README.md +0 -138
  151. package/node_modules/mailparser/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -532
  152. package/node_modules/mailparser/node_modules/iconv-lite/encodings/dbcs-data.js +0 -185
  153. package/node_modules/mailparser/node_modules/iconv-lite/encodings/index.js +0 -23
  154. package/node_modules/mailparser/node_modules/iconv-lite/encodings/internal.js +0 -218
  155. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -75
  156. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  157. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-data.js +0 -180
  158. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  159. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  160. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  161. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  162. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  163. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  164. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  165. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  166. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf16.js +0 -187
  167. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf32.js +0 -314
  168. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf7.js +0 -283
  169. package/node_modules/mailparser/node_modules/iconv-lite/lib/bom-handling.js +0 -48
  170. package/node_modules/mailparser/node_modules/iconv-lite/lib/helpers/merge-exports.js +0 -13
  171. package/node_modules/mailparser/node_modules/iconv-lite/lib/index.d.ts +0 -129
  172. package/node_modules/mailparser/node_modules/iconv-lite/lib/index.js +0 -182
  173. package/node_modules/mailparser/node_modules/iconv-lite/lib/streams.js +0 -105
  174. package/node_modules/mailparser/node_modules/iconv-lite/package.json +0 -70
  175. package/node_modules/mailparser/node_modules/iconv-lite/types/encodings.d.ts +0 -425
@@ -258,7 +258,7 @@ const commonParams = {
258
258
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
259
259
  };
260
260
 
261
- var version = "3.997.48";
261
+ var version = "3.997.49";
262
262
  var packageInfo = {
263
263
  version: version};
264
264
 
@@ -124,7 +124,8 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
124
124
  maxAttempts?: number | __Provider<number>;
125
125
  /**
126
126
  * Specifies which retry algorithm to use.
127
- * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
127
+ * Accepted values are "standard" and "adaptive".
128
+ * @see https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
128
129
  *
129
130
  */
130
131
  retryMode?: string | __Provider<string>;
@@ -130,7 +130,8 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
130
130
  maxAttempts?: number | __Provider<number>;
131
131
  /**
132
132
  * Specifies which retry algorithm to use.
133
- * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
133
+ * Accepted values are "standard" and "adaptive".
134
+ * @see https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
134
135
  *
135
136
  */
136
137
  retryMode?: string | __Provider<string>;
@@ -123,7 +123,8 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
123
123
  maxAttempts?: number | __Provider<number>;
124
124
  /**
125
125
  * Specifies which retry algorithm to use.
126
- * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
126
+ * Accepted values are "standard" and "adaptive".
127
+ * @see https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
127
128
  *
128
129
  */
129
130
  retryMode?: string | __Provider<string>;
@@ -123,7 +123,8 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
123
123
  maxAttempts?: number | __Provider<number>;
124
124
  /**
125
125
  * Specifies which retry algorithm to use.
126
- * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
126
+ * Accepted values are "standard" and "adaptive".
127
+ * @see https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
127
128
  *
128
129
  */
129
130
  retryMode?: string | __Provider<string>;
@@ -130,7 +130,8 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
130
130
  maxAttempts?: number | __Provider<number>;
131
131
  /**
132
132
  * Specifies which retry algorithm to use.
133
- * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
133
+ * Accepted values are "standard" and "adaptive".
134
+ * @see https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
134
135
  *
135
136
  */
136
137
  retryMode?: string | __Provider<string>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.997.49",
3
+ "version": "3.997.50",
4
4
  "description": "Nested clients for AWS SDK packages.",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
6
6
  "license": "Apache-2.0",
@@ -100,10 +100,10 @@
100
100
  "test:watch": "yarn g:vitest watch"
101
101
  },
102
102
  "dependencies": {
103
- "@aws-sdk/core": "^3.978.4",
104
- "@aws-sdk/signature-v4-multi-region": "^3.996.48",
105
- "@aws-sdk/types": "^3.974.6",
106
- "@smithy/core": "^3.36.0",
103
+ "@aws-sdk/core": "^3.978.5",
104
+ "@aws-sdk/signature-v4-multi-region": "^3.996.49",
105
+ "@aws-sdk/types": "^3.975.0",
106
+ "@smithy/core": "^3.36.1",
107
107
  "@smithy/fetch-http-handler": "^5.8.0",
108
108
  "@smithy/node-http-handler": "^4.12.1",
109
109
  "@smithy/types": "^4.19.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/signature-v4-multi-region",
3
- "version": "3.996.48",
3
+ "version": "3.996.49",
4
4
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/signature-v4-multi-region",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -42,7 +42,7 @@
42
42
  "test:browser": "yarn build:browser && yarn g:vitest run -c vitest.config.browser.mts"
43
43
  },
44
44
  "dependencies": {
45
- "@aws-sdk/types": "^3.974.6",
45
+ "@aws-sdk/types": "^3.975.0",
46
46
  "@smithy/signature-v4": "^5.7.4",
47
47
  "@smithy/types": "^4.19.0",
48
48
  "tslib": "^2.6.2"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.1153.0",
3
+ "version": "3.1155.0",
4
4
  "description": "A collection of token providers",
5
5
  "keywords": [
6
6
  "aws",
@@ -48,10 +48,10 @@
48
48
  "test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
49
49
  },
50
50
  "dependencies": {
51
- "@aws-sdk/core": "^3.978.4",
52
- "@aws-sdk/nested-clients": "^3.997.49",
53
- "@aws-sdk/types": "^3.974.6",
54
- "@smithy/core": "^3.36.0",
51
+ "@aws-sdk/core": "^3.978.5",
52
+ "@aws-sdk/nested-clients": "^3.997.50",
53
+ "@aws-sdk/types": "^3.975.0",
54
+ "@smithy/core": "^3.36.1",
55
55
  "@smithy/types": "^4.19.0",
56
56
  "tslib": "^2.6.2"
57
57
  },
@@ -8,6 +8,9 @@ export type AwsSdkFeatures = Partial<{
8
8
  RETRY_MODE_LEGACY: "D";
9
9
  RETRY_MODE_STANDARD: "E";
10
10
  RETRY_MODE_ADAPTIVE: "F";
11
+ S3_TRANSFER: "G";
12
+ S3_TRANSFER_UPLOAD_DIRECTORY: "9";
13
+ S3_TRANSFER_DOWNLOAD_DIRECTORY: "+";
11
14
  S3_EXPRESS_BUCKET: "J";
12
15
  S3_ACCESS_GRANTS: "K";
13
16
  GZIP_REQUEST_COMPRESSION: "L";
@@ -5,6 +5,9 @@ export type AwsSdkFeatures = Partial<{
5
5
  RETRY_MODE_LEGACY: "D";
6
6
  RETRY_MODE_STANDARD: "E";
7
7
  RETRY_MODE_ADAPTIVE: "F";
8
+ S3_TRANSFER: "G";
9
+ S3_TRANSFER_UPLOAD_DIRECTORY: "9";
10
+ S3_TRANSFER_DOWNLOAD_DIRECTORY: "+";
8
11
  S3_EXPRESS_BUCKET: "J";
9
12
  S3_ACCESS_GRANTS: "K";
10
13
  GZIP_REQUEST_COMPRESSION: "L";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/types",
3
- "version": "3.974.6",
3
+ "version": "3.975.0",
4
4
  "description": "Types for the AWS SDK",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/types",
6
6
  "license": "Apache-2.0",
@@ -578,6 +578,7 @@ function schemaLogFilter(schema, data) {
578
578
  return data;
579
579
  }
580
580
 
581
+ const operationEventStreamMarker = Symbol.for("@smithy/op-event-stream");
581
582
  class Command {
582
583
  middlewareStack = constructStack();
583
584
  schema;
@@ -611,9 +612,21 @@ class Command {
611
612
  requestOptions = { ...requestOptions };
612
613
  delete requestOptions.metricsRecorder;
613
614
  }
614
- if (smithyContext.eventStream) {
615
+ let isEventStream;
616
+ const schema = this.schema;
617
+ const marker = schema?.[operationEventStreamMarker];
618
+ if (marker !== undefined) {
619
+ isEventStream = marker;
620
+ }
621
+ else if (schema) {
622
+ if (Array.isArray(schema) && schema[0] === 9) {
623
+ const [, , , , input$, output$] = schema;
624
+ isEventStream = schema[operationEventStreamMarker] = Boolean(NormalizedSchema.of(input$).getEventStreamMember() || NormalizedSchema.of(output$).getEventStreamMember());
625
+ }
626
+ }
627
+ if (isEventStream) {
615
628
  requestOptions = {
616
- isEventStream: true,
629
+ isEventStream,
617
630
  ...requestOptions,
618
631
  };
619
632
  }
@@ -60,6 +60,9 @@ class HeaderMarshaller {
60
60
  if (!hasOwn(headers, headerName))
61
61
  continue;
62
62
  const bytes = this.fromUtf8(headerName);
63
+ if (bytes.byteLength > 255) {
64
+ throw new Error(`@smithy/core/event-streams - header name exceeds 255 bytes: ${bytes.byteLength}`);
65
+ }
63
66
  chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
64
67
  }
65
68
  const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
@@ -92,6 +95,9 @@ class HeaderMarshaller {
92
95
  longBytes.set(header.value.bytes, 1);
93
96
  return longBytes;
94
97
  case "binary":
98
+ if (header.value.byteLength > MAX_HEADER_VALUE_BYTES) {
99
+ throw new Error(`@smithy/core/event-streams - header value (binary) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${header.value.byteLength}`);
100
+ }
95
101
  const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
96
102
  binView.setUint8(0, 6);
97
103
  binView.setUint16(1, header.value.byteLength, false);
@@ -100,6 +106,9 @@ class HeaderMarshaller {
100
106
  return binBytes;
101
107
  case "string":
102
108
  const utf8Bytes = this.fromUtf8(header.value);
109
+ if (utf8Bytes.byteLength > MAX_HEADER_VALUE_BYTES) {
110
+ throw new Error(`@smithy/core/event-streams - header value (string) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${utf8Bytes.byteLength}`);
111
+ }
103
112
  const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
104
113
  strView.setUint8(0, 7);
105
114
  strView.setUint16(1, utf8Bytes.byteLength, false);
@@ -231,6 +240,7 @@ const STRING_TAG = "string";
231
240
  const TIMESTAMP_TAG = "timestamp";
232
241
  const UUID_TAG = "uuid";
233
242
  const UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
243
+ const MAX_HEADER_VALUE_BYTES = 32767;
234
244
 
235
245
  const PRELUDE_MEMBER_LENGTH = 4;
236
246
  const PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
@@ -61,6 +61,9 @@ class HeaderMarshaller {
61
61
  if (!hasOwn(headers, headerName))
62
62
  continue;
63
63
  const bytes = this.fromUtf8(headerName);
64
+ if (bytes.byteLength > 255) {
65
+ throw new Error(`@smithy/core/event-streams - header name exceeds 255 bytes: ${bytes.byteLength}`);
66
+ }
64
67
  chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
65
68
  }
66
69
  const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
@@ -93,6 +96,9 @@ class HeaderMarshaller {
93
96
  longBytes.set(header.value.bytes, 1);
94
97
  return longBytes;
95
98
  case "binary":
99
+ if (header.value.byteLength > MAX_HEADER_VALUE_BYTES) {
100
+ throw new Error(`@smithy/core/event-streams - header value (binary) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${header.value.byteLength}`);
101
+ }
96
102
  const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
97
103
  binView.setUint8(0, 6);
98
104
  binView.setUint16(1, header.value.byteLength, false);
@@ -101,6 +107,9 @@ class HeaderMarshaller {
101
107
  return binBytes;
102
108
  case "string":
103
109
  const utf8Bytes = this.fromUtf8(header.value);
110
+ if (utf8Bytes.byteLength > MAX_HEADER_VALUE_BYTES) {
111
+ throw new Error(`@smithy/core/event-streams - header value (string) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${utf8Bytes.byteLength}`);
112
+ }
104
113
  const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
105
114
  strView.setUint8(0, 7);
106
115
  strView.setUint16(1, utf8Bytes.byteLength, false);
@@ -232,6 +241,7 @@ const STRING_TAG = "string";
232
241
  const TIMESTAMP_TAG = "timestamp";
233
242
  const UUID_TAG = "uuid";
234
243
  const UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
244
+ const MAX_HEADER_VALUE_BYTES = 32767;
235
245
 
236
246
  const PRELUDE_MEMBER_LENGTH = 4;
237
247
  const PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
@@ -1812,9 +1812,9 @@ class JsonShapeSerializer2 extends SerdeContextConfig {
1812
1812
  this.i = i;
1813
1813
  }
1814
1814
  writeJsonString(s) {
1815
- this.ensure(s.length * 3 + 2);
1816
- this.json[this.i++] = QUOTE;
1817
1815
  const z = s.length;
1816
+ this.ensure(z * 3 + 2);
1817
+ this.json[this.i++] = QUOTE;
1818
1818
  for (let j = 0; j < z; ++j) {
1819
1819
  const c = s.charCodeAt(j);
1820
1820
  if (c > 0x22 && c < 0x5c) {
@@ -1823,7 +1823,7 @@ class JsonShapeSerializer2 extends SerdeContextConfig {
1823
1823
  else if (c < 0x80) {
1824
1824
  const esc = ESCAPE_TABLE[c];
1825
1825
  if (esc !== null) {
1826
- this.ensure(esc.length + 1);
1826
+ this.ensure(esc.length + 1 + (z - j - 1) * 3 + 1);
1827
1827
  this.json[this.i++] = BACKSLASH;
1828
1828
  for (let k = 0; k < esc.length; k++) {
1829
1829
  this.json[this.i++] = esc.charCodeAt(k);
@@ -1842,12 +1842,12 @@ class JsonShapeSerializer2 extends SerdeContextConfig {
1842
1842
  ++j;
1843
1843
  }
1844
1844
  else {
1845
- this.ensure(6);
1845
+ this.ensure(6 + (z - j - 1) * 3 + 1);
1846
1846
  this.writeUnicodeEscape(c);
1847
1847
  }
1848
1848
  }
1849
1849
  else if (c >= 0xdc00 && c <= 0xdfff) {
1850
- this.ensure(6);
1850
+ this.ensure(6 + (z - j - 1) * 3 + 1);
1851
1851
  this.writeUnicodeEscape(c);
1852
1852
  }
1853
1853
  else {
@@ -1,6 +1,8 @@
1
1
  import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
2
2
  import { constructStack } from "../middleware-stack/MiddlewareStack";
3
3
  import { schemaLogFilter } from "./schemaLogFilter";
4
+ import { NormalizedSchema } from "@smithy/core/schema";
5
+ const operationEventStreamMarker = Symbol.for("@smithy/op-event-stream");
4
6
  export class Command {
5
7
  middlewareStack = constructStack();
6
8
  schema;
@@ -34,9 +36,21 @@ export class Command {
34
36
  requestOptions = { ...requestOptions };
35
37
  delete requestOptions.metricsRecorder;
36
38
  }
37
- if (smithyContext.eventStream) {
39
+ let isEventStream;
40
+ const schema = this.schema;
41
+ const marker = schema?.[operationEventStreamMarker];
42
+ if (marker !== undefined) {
43
+ isEventStream = marker;
44
+ }
45
+ else if (schema) {
46
+ if (Array.isArray(schema) && schema[0] === 9) {
47
+ const [, , , , input$, output$] = schema;
48
+ isEventStream = schema[operationEventStreamMarker] = Boolean(NormalizedSchema.of(input$).getEventStreamMember() || NormalizedSchema.of(output$).getEventStreamMember());
49
+ }
50
+ }
51
+ if (isEventStream) {
38
52
  requestOptions = {
39
- isEventStream: true,
53
+ isEventStream,
40
54
  ...requestOptions,
41
55
  };
42
56
  }
@@ -14,6 +14,9 @@ export class HeaderMarshaller {
14
14
  if (!hasOwn(headers, headerName))
15
15
  continue;
16
16
  const bytes = this.fromUtf8(headerName);
17
+ if (bytes.byteLength > 255) {
18
+ throw new Error(`@smithy/core/event-streams - header name exceeds 255 bytes: ${bytes.byteLength}`);
19
+ }
17
20
  chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
18
21
  }
19
22
  const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
@@ -46,6 +49,9 @@ export class HeaderMarshaller {
46
49
  longBytes.set(header.value.bytes, 1);
47
50
  return longBytes;
48
51
  case "binary":
52
+ if (header.value.byteLength > MAX_HEADER_VALUE_BYTES) {
53
+ throw new Error(`@smithy/core/event-streams - header value (binary) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${header.value.byteLength}`);
54
+ }
49
55
  const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
50
56
  binView.setUint8(0, 6);
51
57
  binView.setUint16(1, header.value.byteLength, false);
@@ -54,6 +60,9 @@ export class HeaderMarshaller {
54
60
  return binBytes;
55
61
  case "string":
56
62
  const utf8Bytes = this.fromUtf8(header.value);
63
+ if (utf8Bytes.byteLength > MAX_HEADER_VALUE_BYTES) {
64
+ throw new Error(`@smithy/core/event-streams - header value (string) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${utf8Bytes.byteLength}`);
65
+ }
57
66
  const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
58
67
  strView.setUint8(0, 7);
59
68
  strView.setUint16(1, utf8Bytes.byteLength, false);
@@ -185,3 +194,4 @@ const STRING_TAG = "string";
185
194
  const TIMESTAMP_TAG = "timestamp";
186
195
  const UUID_TAG = "uuid";
187
196
  const UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
197
+ const MAX_HEADER_VALUE_BYTES = 32767;
@@ -118,9 +118,9 @@ export class JsonShapeSerializer2 extends SerdeContextConfig {
118
118
  this.i = i;
119
119
  }
120
120
  writeJsonString(s) {
121
- this.ensure(s.length * 3 + 2);
122
- this.json[this.i++] = QUOTE;
123
121
  const z = s.length;
122
+ this.ensure(z * 3 + 2);
123
+ this.json[this.i++] = QUOTE;
124
124
  for (let j = 0; j < z; ++j) {
125
125
  const c = s.charCodeAt(j);
126
126
  if (c > 0x22 && c < 0x5c) {
@@ -129,7 +129,7 @@ export class JsonShapeSerializer2 extends SerdeContextConfig {
129
129
  else if (c < 0x80) {
130
130
  const esc = ESCAPE_TABLE[c];
131
131
  if (esc !== null) {
132
- this.ensure(esc.length + 1);
132
+ this.ensure(esc.length + 1 + (z - j - 1) * 3 + 1);
133
133
  this.json[this.i++] = BACKSLASH;
134
134
  for (let k = 0; k < esc.length; k++) {
135
135
  this.json[this.i++] = esc.charCodeAt(k);
@@ -148,12 +148,12 @@ export class JsonShapeSerializer2 extends SerdeContextConfig {
148
148
  ++j;
149
149
  }
150
150
  else {
151
- this.ensure(6);
151
+ this.ensure(6 + (z - j - 1) * 3 + 1);
152
152
  this.writeUnicodeEscape(c);
153
153
  }
154
154
  }
155
155
  else if (c >= 0xdc00 && c <= 0xdfff) {
156
- this.ensure(6);
156
+ this.ensure(6 + (z - j - 1) * 3 + 1);
157
157
  this.writeUnicodeEscape(c);
158
158
  }
159
159
  else {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/core",
3
- "version": "3.36.0",
3
+ "version": "3.36.2",
4
4
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/core",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -20,9 +20,17 @@ const MAX_PENDING_LINE_SIZE = 64 * 1024;
20
20
  // how many separate writes the pending line may be kept in before it is compacted
21
21
  const MAX_PENDING_LINE_CHUNKS = 1024;
22
22
 
23
+ // The most SP and HTAB a delimiter line may carry between the boundary value, or its closing
24
+ // "--", and the line ending. RFC 2046 5.1.1 allows the whitespace, and Python and postal-mime
25
+ // accept any amount of it, so a line that ends in a few spaces delimits the same parts here
26
+ // as there. The line still has to fit a header line (RFC 5322 2.1.1), so the pending line
27
+ // kept as a possible delimiter stays bounded
28
+ const BOUNDARY_LINE_TRAILING_WSP = 998;
29
+
23
30
  // what a delimiter line may carry after the boundary value: the "--" prefix, an optional
24
- // "--" suffix and the line terminator. This is the bound compareBoundary() accepts.
25
- const BOUNDARY_LINE_SUFFIX = 2 /* "--" prefix */ + 2 /* "--" suffix */ + 2; /* trailing <CR><LF> */
31
+ // "--" suffix, the trailing whitespace and the line terminator. This is the bound
32
+ // compareBoundary() accepts.
33
+ const BOUNDARY_LINE_SUFFIX = 2 /* "--" prefix */ + 2 /* "--" suffix */ + BOUNDARY_LINE_TRAILING_WSP + 2; /* trailing <CR><LF> */
26
34
 
27
35
  // checkBoundary() additionally allows a line ending in front of the delimiter, so this is
28
36
  // the longest a delimiter line can ever be once the boundary value is subtracted
@@ -389,7 +397,8 @@ class MessageSplitter extends Transform {
389
397
  * @returns {1 | 2 | false}
390
398
  */
391
399
  compareBoundary(line, startpos, boundary) {
392
- // --{boundary}\r\n or --{boundary}--\r\n
400
+ // --{boundary}\r\n or --{boundary}--\r\n, with SP and HTAB allowed in front of the
401
+ // line ending (RFC 2046 5.1.1), where Python and postal-mime accept them as well
393
402
  if (line.length < boundary.length + 3 + startpos || line.length > boundary.length + BOUNDARY_LINE_SUFFIX + startpos) {
394
403
  return false;
395
404
  }
@@ -399,34 +408,37 @@ class MessageSplitter extends Transform {
399
408
  }
400
409
  }
401
410
 
402
- let pos = 0;
403
- for (let i = boundary.length + 2 + startpos; i < line.length; i++) {
404
- let c = line[i];
405
- if (pos === 0 && (c === 0x0d || c === 0x0a)) {
406
- // 1: next node
407
- return 1;
408
- }
409
- if (pos === 0 && c !== 0x2d) {
410
- // expecting "-"
411
- return false;
412
- }
413
- if (pos === 1 && c !== 0x2d) {
414
- // expecting "-"
415
- return false;
416
- }
417
- if (pos === 2 && c !== 0x0d && c !== 0x0a) {
418
- // expecting line terminator, either <CR> or <LF>
411
+ let i = boundary.length + 2 + startpos;
412
+ // 1: next node, 2: multipart end
413
+ let result = /** @type {1 | 2} */ (1);
414
+ if (line[i] === 0x2d) {
415
+ if (line[i + 1] !== 0x2d) {
416
+ // expecting "--"
419
417
  return false;
420
418
  }
421
- if (pos === 3 && c !== 0x0a) {
422
- // expecting line terminator <LF>
423
- return false;
424
- }
425
- pos++;
419
+ result = 2;
420
+ i += 2;
421
+ }
422
+
423
+ while (i < line.length && (line[i] === 0x20 || line[i] === 0x09)) {
424
+ i++;
426
425
  }
427
426
 
428
- // 2: multipart end
429
- return 2;
427
+ if (i === line.length) {
428
+ // only the closing delimiter may end the input without a line ending
429
+ return result === 2 ? 2 : false;
430
+ }
431
+
432
+ // expecting the line terminator and nothing after it: <CR><LF>, <CR> or <LF>, where
433
+ // the <CR> may be a run of them, the artifact of a second CR to CRLF conversion,
434
+ // which postal-mime reads as the line ending as well
435
+ while (i < line.length && line[i] === 0x0d) {
436
+ i++;
437
+ }
438
+ if (i < line.length && line[i] === 0x0a) {
439
+ i++;
440
+ }
441
+ return i === line.length ? result : false;
430
442
  }
431
443
 
432
444
  /**
@@ -46,7 +46,7 @@ declare class MimeNode implements MimeNodeShape {
46
46
  /** Decoded filename from Content-Disposition or Content-Type parameters, or `false` when absent. */
47
47
  filename: string | false;
48
48
 
49
- /** Whether this node is `text/*` with `format=flowed`. */
49
+ /** Whether this node is `text/plain` with `format=flowed`. */
50
50
  flowed: boolean;
51
51
 
52
52
  /** Whether flowed text uses `delsp=yes`. */