@cdk8s/awscdk-resolver 0.0.176 → 0.0.178

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 (98) hide show
  1. package/.jsii +3 -3
  2. package/lib/resolve.js +1 -1
  3. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.js +1 -0
  4. package/node_modules/@aws-sdk/client-cloudformation/dist-es/runtimeConfig.js +2 -1
  5. package/node_modules/@aws-sdk/client-cloudformation/dist-types/runtimeConfig.browser.d.ts +2 -1
  6. package/node_modules/@aws-sdk/client-cloudformation/dist-types/runtimeConfig.d.ts +2 -1
  7. package/node_modules/@aws-sdk/client-cloudformation/dist-types/runtimeConfig.native.d.ts +2 -1
  8. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/runtimeConfig.browser.d.ts +7 -3
  9. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  10. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/runtimeConfig.native.d.ts +7 -3
  11. package/node_modules/@aws-sdk/client-cloudformation/package.json +36 -36
  12. package/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js +1 -0
  13. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.js +2 -1
  14. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.browser.d.ts +2 -1
  15. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.d.ts +2 -1
  16. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.native.d.ts +2 -1
  17. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.browser.d.ts +7 -3
  18. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  19. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.native.d.ts +7 -3
  20. package/node_modules/@aws-sdk/client-sso/package.json +32 -32
  21. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js +1 -0
  22. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.js +2 -1
  23. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.browser.d.ts +2 -1
  24. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.d.ts +2 -1
  25. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.native.d.ts +2 -1
  26. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.browser.d.ts +7 -3
  27. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  28. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.native.d.ts +7 -3
  29. package/node_modules/@aws-sdk/client-sso-oidc/package.json +34 -34
  30. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +1 -0
  31. package/node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.js +2 -1
  32. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.browser.d.ts +2 -1
  33. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.d.ts +2 -1
  34. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.native.d.ts +2 -1
  35. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.browser.d.ts +7 -3
  36. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  37. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.native.d.ts +7 -3
  38. package/node_modules/@aws-sdk/client-sts/package.json +34 -34
  39. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +17 -2
  40. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
  41. package/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +11 -0
  42. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
  43. package/node_modules/@aws-sdk/core/dist-types/submodules/client/setFeature.d.ts +12 -0
  44. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
  45. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setFeature.d.ts +6 -0
  46. package/node_modules/@aws-sdk/core/package.json +10 -9
  47. package/node_modules/@aws-sdk/credential-provider-env/package.json +4 -4
  48. package/node_modules/@aws-sdk/credential-provider-http/package.json +9 -9
  49. package/node_modules/@aws-sdk/credential-provider-ini/package.json +12 -12
  50. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  51. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  52. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  53. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +5 -5
  54. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  55. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  56. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  57. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +60 -4
  58. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js +22 -0
  59. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/encode-features.js +18 -0
  60. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js +9 -1
  61. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/configurations.d.ts +14 -1
  62. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/encode-features.d.ts +5 -0
  63. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/configurations.d.ts +5 -1
  64. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/encode-features.d.ts +2 -0
  65. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/user-agent-middleware.d.ts +2 -1
  66. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/user-agent-middleware.d.ts +2 -1
  67. package/node_modules/@aws-sdk/middleware-user-agent/package.json +6 -5
  68. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  69. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  70. package/node_modules/@aws-sdk/types/dist-es/feature-ids.js +1 -0
  71. package/node_modules/@aws-sdk/types/dist-es/index.js +1 -0
  72. package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +54 -0
  73. package/node_modules/@aws-sdk/types/dist-types/index.d.ts +1 -0
  74. package/node_modules/@aws-sdk/types/dist-types/middleware.d.ts +12 -0
  75. package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +51 -0
  76. package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +1 -0
  77. package/node_modules/@aws-sdk/types/dist-types/ts3.4/middleware.d.ts +7 -0
  78. package/node_modules/@aws-sdk/types/package.json +2 -2
  79. package/node_modules/@aws-sdk/util-endpoints/package.json +4 -4
  80. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +6 -2
  81. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.native.js +1 -1
  82. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js +6 -2
  83. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.native.js +1 -1
  84. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.d.ts +4 -1
  85. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.d.ts +6 -1
  86. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  87. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +46 -39
  88. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/defaultUserAgent.js +29 -0
  89. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js +2 -39
  90. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/nodeAppIdConfigOptions.js +8 -0
  91. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/defaultUserAgent.d.ts +23 -0
  92. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/index.d.ts +2 -20
  93. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/nodeAppIdConfigOptions.d.ts +13 -0
  94. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/defaultUserAgent.d.ts +21 -0
  95. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/index.d.ts +2 -12
  96. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/nodeAppIdConfigOptions.d.ts +6 -0
  97. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -4
  98. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.658.1",
3
+ "version": "3.664.0",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -28,17 +28,17 @@
28
28
  },
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@aws-sdk/credential-provider-env": "3.654.0",
32
- "@aws-sdk/credential-provider-http": "3.658.1",
33
- "@aws-sdk/credential-provider-ini": "3.658.1",
34
- "@aws-sdk/credential-provider-process": "3.654.0",
35
- "@aws-sdk/credential-provider-sso": "3.658.1",
36
- "@aws-sdk/credential-provider-web-identity": "3.654.0",
37
- "@aws-sdk/types": "3.654.0",
38
- "@smithy/credential-provider-imds": "^3.2.3",
39
- "@smithy/property-provider": "^3.1.6",
40
- "@smithy/shared-ini-file-loader": "^3.1.7",
41
- "@smithy/types": "^3.4.2",
31
+ "@aws-sdk/credential-provider-env": "3.664.0",
32
+ "@aws-sdk/credential-provider-http": "3.664.0",
33
+ "@aws-sdk/credential-provider-ini": "3.664.0",
34
+ "@aws-sdk/credential-provider-process": "3.664.0",
35
+ "@aws-sdk/credential-provider-sso": "3.664.0",
36
+ "@aws-sdk/credential-provider-web-identity": "3.664.0",
37
+ "@aws-sdk/types": "3.664.0",
38
+ "@smithy/credential-provider-imds": "^3.2.4",
39
+ "@smithy/property-provider": "^3.1.7",
40
+ "@smithy/shared-ini-file-loader": "^3.1.8",
41
+ "@smithy/types": "^3.5.0",
42
42
  "tslib": "^2.6.2"
43
43
  },
44
44
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-process",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
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",
@@ -24,10 +24,10 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/types": "3.654.0",
28
- "@smithy/property-provider": "^3.1.6",
29
- "@smithy/shared-ini-file-loader": "^3.1.7",
30
- "@smithy/types": "^3.4.2",
27
+ "@aws-sdk/types": "3.664.0",
28
+ "@smithy/property-provider": "^3.1.7",
29
+ "@smithy/shared-ini-file-loader": "^3.1.8",
30
+ "@smithy/types": "^3.5.0",
31
31
  "tslib": "^2.6.2"
32
32
  },
33
33
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.658.1",
3
+ "version": "3.664.0",
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",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/client-sso": "3.658.1",
28
- "@aws-sdk/token-providers": "3.654.0",
29
- "@aws-sdk/types": "3.654.0",
30
- "@smithy/property-provider": "^3.1.6",
31
- "@smithy/shared-ini-file-loader": "^3.1.7",
32
- "@smithy/types": "^3.4.2",
27
+ "@aws-sdk/client-sso": "3.664.0",
28
+ "@aws-sdk/token-providers": "3.664.0",
29
+ "@aws-sdk/types": "3.664.0",
30
+ "@smithy/property-provider": "^3.1.7",
31
+ "@smithy/shared-ini-file-loader": "^3.1.8",
32
+ "@smithy/types": "^3.5.0",
33
33
  "tslib": "^2.6.2"
34
34
  },
35
35
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-web-identity",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
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",
@@ -32,9 +32,9 @@
32
32
  },
33
33
  "license": "Apache-2.0",
34
34
  "dependencies": {
35
- "@aws-sdk/types": "3.654.0",
36
- "@smithy/property-provider": "^3.1.6",
37
- "@smithy/types": "^3.4.2",
35
+ "@aws-sdk/types": "3.664.0",
36
+ "@smithy/property-provider": "^3.1.7",
37
+ "@smithy/types": "^3.5.0",
38
38
  "tslib": "^2.6.2"
39
39
  },
40
40
  "devDependencies": {
@@ -46,7 +46,7 @@
46
46
  "typescript": "~4.9.5"
47
47
  },
48
48
  "peerDependencies": {
49
- "@aws-sdk/client-sts": "^3.654.0"
49
+ "@aws-sdk/client-sts": "^3.664.0"
50
50
  },
51
51
  "types": "./dist-types/index.d.ts",
52
52
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-host-header",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-host-header",
@@ -21,9 +21,9 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.654.0",
25
- "@smithy/protocol-http": "^4.1.3",
26
- "@smithy/types": "^3.4.2",
24
+ "@aws-sdk/types": "3.664.0",
25
+ "@smithy/protocol-http": "^4.1.4",
26
+ "@smithy/types": "^3.5.0",
27
27
  "tslib": "^2.6.2"
28
28
  },
29
29
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-logger",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-logger",
@@ -22,8 +22,8 @@
22
22
  "module": "./dist-es/index.js",
23
23
  "types": "./dist-types/index.d.ts",
24
24
  "dependencies": {
25
- "@aws-sdk/types": "3.654.0",
26
- "@smithy/types": "^3.4.2",
25
+ "@aws-sdk/types": "3.664.0",
26
+ "@smithy/types": "^3.5.0",
27
27
  "tslib": "^2.6.2"
28
28
  },
29
29
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-recursion-detection",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-recursion-detection",
@@ -21,9 +21,9 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.654.0",
25
- "@smithy/protocol-http": "^4.1.3",
26
- "@smithy/types": "^3.4.2",
24
+ "@aws-sdk/types": "3.664.0",
25
+ "@smithy/protocol-http": "^4.1.4",
26
+ "@smithy/types": "^3.5.0",
27
27
  "tslib": "^2.6.2"
28
28
  },
29
29
  "engines": {
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  // src/index.ts
22
22
  var src_exports = {};
23
23
  __export(src_exports, {
24
+ DEFAULT_UA_APP_ID: () => DEFAULT_UA_APP_ID,
24
25
  getUserAgentMiddlewareOptions: () => getUserAgentMiddlewareOptions,
25
26
  getUserAgentPlugin: () => getUserAgentPlugin,
26
27
  resolveUserAgentConfig: () => resolveUserAgentConfig,
@@ -29,10 +30,33 @@ __export(src_exports, {
29
30
  module.exports = __toCommonJS(src_exports);
30
31
 
31
32
  // src/configurations.ts
33
+ var import_core = require("@smithy/core");
34
+ var DEFAULT_UA_APP_ID = void 0;
35
+ function isValidUserAgentAppId(appId) {
36
+ if (appId === void 0) {
37
+ return true;
38
+ }
39
+ return typeof appId === "string" && appId.length <= 50;
40
+ }
41
+ __name(isValidUserAgentAppId, "isValidUserAgentAppId");
32
42
  function resolveUserAgentConfig(input) {
43
+ const normalizedAppIdProvider = (0, import_core.normalizeProvider)(input.userAgentAppId ?? DEFAULT_UA_APP_ID);
33
44
  return {
34
45
  ...input,
35
- customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent
46
+ customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent,
47
+ userAgentAppId: async () => {
48
+ var _a, _b;
49
+ const appId = await normalizedAppIdProvider();
50
+ if (!isValidUserAgentAppId(appId)) {
51
+ const logger = ((_b = (_a = input.logger) == null ? void 0 : _a.constructor) == null ? void 0 : _b.name) === "NoOpLogger" || !input.logger ? console : input.logger;
52
+ if (typeof appId !== "string") {
53
+ logger == null ? void 0 : logger.warn("userAgentAppId must be a string or undefined.");
54
+ } else if (appId.length > 50) {
55
+ logger == null ? void 0 : logger.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.");
56
+ }
57
+ }
58
+ return appId;
59
+ }
36
60
  };
37
61
  }
38
62
  __name(resolveUserAgentConfig, "resolveUserAgentConfig");
@@ -50,16 +74,47 @@ var UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g;
50
74
  var UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g;
51
75
  var UA_ESCAPE_CHAR = "-";
52
76
 
77
+ // src/encode-features.ts
78
+ var BYTE_LIMIT = 1024;
79
+ function encodeFeatures(features) {
80
+ let buffer = "";
81
+ for (const key in features) {
82
+ const val = features[key];
83
+ if (buffer.length + val.length + 1 <= BYTE_LIMIT) {
84
+ if (buffer.length) {
85
+ buffer += "," + val;
86
+ } else {
87
+ buffer += val;
88
+ }
89
+ continue;
90
+ }
91
+ break;
92
+ }
93
+ return buffer;
94
+ }
95
+ __name(encodeFeatures, "encodeFeatures");
96
+
53
97
  // src/user-agent-middleware.ts
54
98
  var userAgentMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => {
55
- var _a, _b;
99
+ var _a, _b, _c, _d;
56
100
  const { request } = args;
57
- if (!import_protocol_http.HttpRequest.isInstance(request))
101
+ if (!import_protocol_http.HttpRequest.isInstance(request)) {
58
102
  return next(args);
103
+ }
59
104
  const { headers } = request;
60
105
  const userAgent = ((_a = context == null ? void 0 : context.userAgent) == null ? void 0 : _a.map(escapeUserAgent)) || [];
61
106
  const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
62
- const customUserAgent = ((_b = options == null ? void 0 : options.customUserAgent) == null ? void 0 : _b.map(escapeUserAgent)) || [];
107
+ const awsContext = context;
108
+ defaultUserAgent.push(
109
+ `m/${encodeFeatures(
110
+ Object.assign({}, (_b = context.__smithy_context) == null ? void 0 : _b.features, (_c = awsContext.__aws_sdk_context) == null ? void 0 : _c.features)
111
+ )}`
112
+ );
113
+ const customUserAgent = ((_d = options == null ? void 0 : options.customUserAgent) == null ? void 0 : _d.map(escapeUserAgent)) || [];
114
+ const appId = await options.userAgentAppId();
115
+ if (appId) {
116
+ defaultUserAgent.push(escapeUserAgent([`app/${appId}`]));
117
+ }
63
118
  const prefix = (0, import_util_endpoints.getUserAgentPrefix)();
64
119
  const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(SPACE);
65
120
  const normalUAValue = [
@@ -115,6 +170,7 @@ var getUserAgentPlugin = /* @__PURE__ */ __name((config) => ({
115
170
  // Annotate the CommonJS export names for ESM import in node:
116
171
 
117
172
  0 && (module.exports = {
173
+ DEFAULT_UA_APP_ID,
118
174
  resolveUserAgentConfig,
119
175
  userAgentMiddleware,
120
176
  getUserAgentMiddlewareOptions,
@@ -1,6 +1,28 @@
1
+ import { normalizeProvider } from "@smithy/core";
2
+ export const DEFAULT_UA_APP_ID = undefined;
3
+ function isValidUserAgentAppId(appId) {
4
+ if (appId === undefined) {
5
+ return true;
6
+ }
7
+ return typeof appId === "string" && appId.length <= 50;
8
+ }
1
9
  export function resolveUserAgentConfig(input) {
10
+ const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);
2
11
  return {
3
12
  ...input,
4
13
  customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent,
14
+ userAgentAppId: async () => {
15
+ const appId = await normalizedAppIdProvider();
16
+ if (!isValidUserAgentAppId(appId)) {
17
+ const logger = input.logger?.constructor?.name === "NoOpLogger" || !input.logger ? console : input.logger;
18
+ if (typeof appId !== "string") {
19
+ logger?.warn("userAgentAppId must be a string or undefined.");
20
+ }
21
+ else if (appId.length > 50) {
22
+ logger?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.");
23
+ }
24
+ }
25
+ return appId;
26
+ },
5
27
  };
6
28
  }
@@ -0,0 +1,18 @@
1
+ const BYTE_LIMIT = 1024;
2
+ export function encodeFeatures(features) {
3
+ let buffer = "";
4
+ for (const key in features) {
5
+ const val = features[key];
6
+ if (buffer.length + val.length + 1 <= BYTE_LIMIT) {
7
+ if (buffer.length) {
8
+ buffer += "," + val;
9
+ }
10
+ else {
11
+ buffer += val;
12
+ }
13
+ continue;
14
+ }
15
+ break;
16
+ }
17
+ return buffer;
18
+ }
@@ -1,14 +1,22 @@
1
1
  import { getUserAgentPrefix } from "@aws-sdk/util-endpoints";
2
2
  import { HttpRequest } from "@smithy/protocol-http";
3
3
  import { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from "./constants";
4
+ import { encodeFeatures } from "./encode-features";
4
5
  export const userAgentMiddleware = (options) => (next, context) => async (args) => {
5
6
  const { request } = args;
6
- if (!HttpRequest.isInstance(request))
7
+ if (!HttpRequest.isInstance(request)) {
7
8
  return next(args);
9
+ }
8
10
  const { headers } = request;
9
11
  const userAgent = context?.userAgent?.map(escapeUserAgent) || [];
10
12
  const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
13
+ const awsContext = context;
14
+ defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);
11
15
  const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];
16
+ const appId = await options.userAgentAppId();
17
+ if (appId) {
18
+ defaultUserAgent.push(escapeUserAgent([`app/${appId}`]));
19
+ }
12
20
  const prefix = getUserAgentPrefix();
13
21
  const sdkUserAgentValue = (prefix ? [prefix] : [])
14
22
  .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])
@@ -1,4 +1,8 @@
1
- import { Provider, UserAgent } from "@smithy/types";
1
+ import { Logger, Provider, UserAgent } from "@smithy/types";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const DEFAULT_UA_APP_ID: undefined;
2
6
  /**
3
7
  * @public
4
8
  */
@@ -7,10 +11,15 @@ export interface UserAgentInputConfig {
7
11
  * The custom user agent header that would be appended to default one
8
12
  */
9
13
  customUserAgent?: string | UserAgent;
14
+ /**
15
+ * The application ID used to identify the application.
16
+ */
17
+ userAgentAppId?: string | undefined | Provider<string | undefined>;
10
18
  }
11
19
  interface PreviouslyResolved {
12
20
  defaultUserAgentProvider: Provider<UserAgent>;
13
21
  runtime: string;
22
+ logger?: Logger;
14
23
  }
15
24
  export interface UserAgentResolvedConfig {
16
25
  /**
@@ -26,6 +35,10 @@ export interface UserAgentResolvedConfig {
26
35
  * The runtime environment
27
36
  */
28
37
  runtime: string;
38
+ /**
39
+ * Resolved value for input config {config.userAgentAppId}
40
+ */
41
+ userAgentAppId: Provider<string | undefined>;
29
42
  }
30
43
  export declare function resolveUserAgentConfig<T>(input: T & PreviouslyResolved & UserAgentInputConfig): T & UserAgentResolvedConfig;
31
44
  export {};
@@ -0,0 +1,5 @@
1
+ import type { AwsSdkFeatures } from "@aws-sdk/types";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare function encodeFeatures(features: AwsSdkFeatures): string;
@@ -1,15 +1,19 @@
1
- import { Provider, UserAgent } from "@smithy/types";
1
+ import { Logger, Provider, UserAgent } from "@smithy/types";
2
+ export declare const DEFAULT_UA_APP_ID: undefined;
2
3
  export interface UserAgentInputConfig {
3
4
  customUserAgent?: string | UserAgent;
5
+ userAgentAppId?: string | undefined | Provider<string | undefined>;
4
6
  }
5
7
  interface PreviouslyResolved {
6
8
  defaultUserAgentProvider: Provider<UserAgent>;
7
9
  runtime: string;
10
+ logger?: Logger;
8
11
  }
9
12
  export interface UserAgentResolvedConfig {
10
13
  defaultUserAgentProvider: Provider<UserAgent>;
11
14
  customUserAgent?: UserAgent;
12
15
  runtime: string;
16
+ userAgentAppId: Provider<string | undefined>;
13
17
  }
14
18
  export declare function resolveUserAgentConfig<T>(
15
19
  input: T & PreviouslyResolved & UserAgentInputConfig
@@ -0,0 +1,2 @@
1
+ import { AwsSdkFeatures } from "@aws-sdk/types";
2
+ export declare function encodeFeatures(features: AwsSdkFeatures): string;
@@ -1,3 +1,4 @@
1
+ import { AwsHandlerExecutionContext } from "@aws-sdk/types";
1
2
  import {
2
3
  AbsoluteLocation,
3
4
  BuildHandler,
@@ -11,7 +12,7 @@ export declare const userAgentMiddleware: (
11
12
  options: UserAgentResolvedConfig
12
13
  ) => <Output extends MetadataBearer>(
13
14
  next: BuildHandler<any, any>,
14
- context: HandlerExecutionContext
15
+ context: HandlerExecutionContext | AwsHandlerExecutionContext
15
16
  ) => BuildHandler<any, any>;
16
17
  export declare const getUserAgentMiddlewareOptions: BuildHandlerOptions &
17
18
  AbsoluteLocation;
@@ -1,3 +1,4 @@
1
+ import type { AwsHandlerExecutionContext } from "@aws-sdk/types";
1
2
  import { AbsoluteLocation, BuildHandler, BuildHandlerOptions, HandlerExecutionContext, MetadataBearer, Pluggable } from "@smithy/types";
2
3
  import { UserAgentResolvedConfig } from "./configurations";
3
4
  /**
@@ -12,6 +13,6 @@ import { UserAgentResolvedConfig } from "./configurations";
12
13
  * config or middleware setting the `userAgent` context to generate desired user
13
14
  * agent.
14
15
  */
15
- export declare const userAgentMiddleware: (options: UserAgentResolvedConfig) => <Output extends MetadataBearer>(next: BuildHandler<any, any>, context: HandlerExecutionContext) => BuildHandler<any, any>;
16
+ export declare const userAgentMiddleware: (options: UserAgentResolvedConfig) => <Output extends MetadataBearer>(next: BuildHandler<any, any>, context: HandlerExecutionContext | AwsHandlerExecutionContext) => BuildHandler<any, any>;
16
17
  export declare const getUserAgentMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation;
17
18
  export declare const getUserAgentPlugin: (config: UserAgentResolvedConfig) => Pluggable<any, any>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-user-agent",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-user-agent",
@@ -22,10 +22,11 @@
22
22
  },
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@aws-sdk/types": "3.654.0",
26
- "@aws-sdk/util-endpoints": "3.654.0",
27
- "@smithy/protocol-http": "^4.1.3",
28
- "@smithy/types": "^3.4.2",
25
+ "@aws-sdk/types": "3.664.0",
26
+ "@aws-sdk/util-endpoints": "3.664.0",
27
+ "@smithy/core": "^2.4.7",
28
+ "@smithy/protocol-http": "^4.1.4",
29
+ "@smithy/types": "^3.5.0",
29
30
  "tslib": "^2.6.2"
30
31
  },
31
32
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/region-config-resolver",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline region-config-resolver",
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.654.0",
25
- "@smithy/node-config-provider": "^3.1.7",
26
- "@smithy/types": "^3.4.2",
24
+ "@aws-sdk/types": "3.664.0",
25
+ "@smithy/node-config-provider": "^3.1.8",
26
+ "@smithy/types": "^3.5.0",
27
27
  "@smithy/util-config-provider": "^3.0.0",
28
- "@smithy/util-middleware": "^3.0.6",
28
+ "@smithy/util-middleware": "^3.0.7",
29
29
  "tslib": "^2.6.2"
30
30
  },
31
31
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/token-providers",
3
- "version": "3.654.0",
3
+ "version": "3.664.0",
4
4
  "description": "A collection of token providers",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,10 +26,10 @@
26
26
  },
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@aws-sdk/types": "3.654.0",
30
- "@smithy/property-provider": "^3.1.6",
31
- "@smithy/shared-ini-file-loader": "^3.1.7",
32
- "@smithy/types": "^3.4.2",
29
+ "@aws-sdk/types": "3.664.0",
30
+ "@smithy/property-provider": "^3.1.7",
31
+ "@smithy/shared-ini-file-loader": "^3.1.8",
32
+ "@smithy/types": "^3.5.0",
33
33
  "tslib": "^2.6.2"
34
34
  },
35
35
  "devDependencies": {
@@ -41,7 +41,7 @@
41
41
  "typescript": "~4.9.5"
42
42
  },
43
43
  "peerDependencies": {
44
- "@aws-sdk/client-sso-oidc": "^3.654.0"
44
+ "@aws-sdk/client-sso-oidc": "^3.664.0"
45
45
  },
46
46
  "types": "./dist-types/index.d.ts",
47
47
  "engines": {
@@ -0,0 +1 @@
1
+ export {};
@@ -12,6 +12,7 @@ export * from "./encode";
12
12
  export * from "./endpoint";
13
13
  export * from "./eventStream";
14
14
  export * from "./extensions";
15
+ export * from "./feature-ids";
15
16
  export * from "./http";
16
17
  export * from "./identity";
17
18
  export * from "./logger";
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export type AwsSdkFeatures = Partial<{
5
+ RESOURCE_MODEL: "A";
6
+ WAITER: "B";
7
+ PAGINATOR: "C";
8
+ RETRY_MODE_LEGACY: "D";
9
+ RETRY_MODE_STANDARD: "E";
10
+ RETRY_MODE_ADAPTIVE: "F";
11
+ S3_EXPRESS_BUCKET: "J";
12
+ S3_ACCESS_GRANTS: "K";
13
+ GZIP_REQUEST_COMPRESSION: "L";
14
+ PROTOCOL_RPC_V2_CBOR: "M";
15
+ ENDPOINT_OVERRIDE: "N";
16
+ ACCOUNT_ID_ENDPOINT: "O";
17
+ ACCOUNT_ID_MODE_PREFERRED: "P";
18
+ ACCOUNT_ID_MODE_DISABLED: "Q";
19
+ ACCOUNT_ID_MODE_REQUIRED: "R";
20
+ SIGV4A_SIGNING: "S";
21
+ RESOLVED_ACCOUNT_ID: "T";
22
+ FLEXIBLE_CHECKSUMS_REQ_CRC32: "U";
23
+ FLEXIBLE_CHECKSUMS_REQ_CRC32C: "V";
24
+ FLEXIBLE_CHECKSUMS_REQ_CRC64: "W";
25
+ FLEXIBLE_CHECKSUMS_REQ_SHA1: "X";
26
+ FLEXIBLE_CHECKSUMS_REQ_SHA256: "Y";
27
+ FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED: "Z";
28
+ FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED: "a";
29
+ FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED: "b";
30
+ FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED: "c";
31
+ DDB_MAPPER: "d";
32
+ CREDENTIALS_CODE: "e";
33
+ CREDENTIALS_ENV_VARS: "g";
34
+ CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN: "h";
35
+ CREDENTIALS_STS_ASSUME_ROLE: "i";
36
+ CREDENTIALS_STS_ASSUME_ROLE_SAML: "j";
37
+ CREDENTIALS_STS_ASSUME_ROLE_WEB_ID: "k";
38
+ CREDENTIALS_STS_FEDERATION_TOKEN: "l";
39
+ CREDENTIALS_STS_SESSION_TOKEN: "m";
40
+ CREDENTIALS_PROFILE: "n";
41
+ CREDENTIALS_PROFILE_SOURCE_PROFILE: "o";
42
+ CREDENTIALS_PROFILE_NAMED_PROVIDER: "p";
43
+ CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN: "q";
44
+ CREDENTIALS_PROFILE_SSO: "r";
45
+ CREDENTIALS_SSO: "s";
46
+ CREDENTIALS_PROFILE_SSO_LEGACY: "t";
47
+ CREDENTIALS_SSO_LEGACY: "u";
48
+ CREDENTIALS_PROFILE_PROCESS: "v";
49
+ CREDENTIALS_PROCESS: "w";
50
+ CREDENTIALS_BOTO2_CONFIG_FILE: "x";
51
+ CREDENTIALS_AWS_SDK_STORE: "y";
52
+ CREDENTIALS_HTTP: "z";
53
+ CREDENTIALS_IMDS: "0";
54
+ }>;
@@ -12,6 +12,7 @@ export * from "./encode";
12
12
  export * from "./endpoint";
13
13
  export * from "./eventStream";
14
14
  export * from "./extensions";
15
+ export * from "./feature-ids";
15
16
  export * from "./http";
16
17
  export * from "./identity";
17
18
  export * from "./logger";
@@ -1 +1,13 @@
1
+ import { HandlerExecutionContext } from "@smithy/types";
2
+ import { AwsSdkFeatures } from "./feature-ids";
1
3
  export { AbsoluteLocation, BuildHandler, BuildHandlerArguments, BuildHandlerOptions, BuildHandlerOutput, BuildMiddleware, DeserializeHandler, DeserializeHandlerArguments, DeserializeHandlerOptions, DeserializeHandlerOutput, DeserializeMiddleware, FinalizeHandler, FinalizeHandlerArguments, FinalizeHandlerOutput, FinalizeRequestHandlerOptions, FinalizeRequestMiddleware, Handler, HandlerExecutionContext, HandlerOptions, InitializeHandler, InitializeHandlerArguments, InitializeHandlerOptions, InitializeHandlerOutput, InitializeMiddleware, MiddlewareStack, MiddlewareType, Pluggable, Priority, Relation, RelativeLocation, RelativeMiddlewareOptions, SerializeHandler, SerializeHandlerArguments, SerializeHandlerOptions, SerializeHandlerOutput, SerializeMiddleware, Step, Terminalware, } from "@smithy/types";
4
+ /**
5
+ * @internal
6
+ * Contains reserved keys for AWS SDK internal usage of the
7
+ * handler execution context object.
8
+ */
9
+ export interface AwsHandlerExecutionContext extends HandlerExecutionContext {
10
+ __aws_sdk_context?: {
11
+ features?: AwsSdkFeatures;
12
+ };
13
+ }