@jjrawlins/cdk-diff-pr-github-action 1.9.8 → 1.9.10

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 (128) hide show
  1. package/.jsii +3 -3
  2. package/cdkdiffprgithubaction/jsii/jsii.go +2 -2
  3. package/cdkdiffprgithubaction/version +1 -1
  4. package/lib/CdkDiffIamTemplate.js +2 -2
  5. package/lib/CdkDiffIamTemplateStackSet.js +2 -2
  6. package/lib/CdkDiffStackWorkflow.js +1 -1
  7. package/lib/CdkDriftDetectionWorkflow.js +1 -1
  8. package/lib/CdkDriftIamTemplate.js +2 -2
  9. package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +2 -2
  10. package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +2 -2
  11. package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +1 -1
  12. package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
  13. package/node_modules/@aws-sdk/client-cloudformation/README.md +26 -46
  14. package/node_modules/@aws-sdk/client-cloudformation/package.json +34 -34
  15. package/node_modules/@aws-sdk/core/package.json +11 -11
  16. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  17. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  18. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  19. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  20. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  21. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  22. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  23. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  24. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  25. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  26. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  27. package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
  28. package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
  29. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  30. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  31. package/node_modules/@aws-sdk/types/package.json +2 -2
  32. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  33. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  34. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +75 -19
  35. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getNodeModulesParentDirs.js +15 -0
  36. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedDevTypeScriptVersion.js +14 -0
  37. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +53 -7
  38. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/{getTypeScriptPackageJsonPaths.d.ts → getNodeModulesParentDirs.d.ts} +2 -2
  39. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedDevTypeScriptVersion.d.ts +8 -0
  40. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getNodeModulesParentDirs.d.ts +1 -0
  41. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedDevTypeScriptVersion.d.ts +3 -0
  42. package/node_modules/@aws-sdk/util-user-agent-node/package.json +6 -5
  43. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  44. package/node_modules/@smithy/abort-controller/package.json +2 -2
  45. package/node_modules/@smithy/config-resolver/package.json +5 -5
  46. package/node_modules/@smithy/core/dist-cjs/index.js +1 -2
  47. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +7 -1
  48. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +22 -0
  49. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +11 -1
  50. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +41 -4
  51. package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +1 -2
  52. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +7 -1
  53. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -0
  54. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +17 -0
  55. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -0
  56. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
  57. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +3 -2
  58. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +30 -1
  59. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +5 -1
  60. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +1 -0
  61. package/node_modules/@smithy/core/dist-types/submodules/endpoints/toEndpointV1.d.ts +6 -0
  62. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  63. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +6 -0
  64. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +1 -0
  65. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/toEndpointV1.d.ts +6 -0
  66. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
  67. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +6 -0
  68. package/node_modules/@smithy/core/endpoints.d.ts +7 -0
  69. package/node_modules/@smithy/core/endpoints.js +6 -0
  70. package/node_modules/@smithy/core/package.json +16 -7
  71. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  72. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +4 -1
  73. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +4 -1
  74. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  75. package/node_modules/@smithy/hash-node/package.json +2 -2
  76. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  77. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  78. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +17 -1
  79. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js +9 -0
  80. package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js +8 -1
  81. package/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts +1 -0
  82. package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/adaptors/toEndpointV1.d.ts +1 -0
  83. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  84. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +9 -12
  85. package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +9 -12
  86. package/node_modules/@smithy/middleware-retry/package.json +8 -8
  87. package/node_modules/@smithy/middleware-serde/dist-cjs/index.js +3 -2
  88. package/node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js +3 -2
  89. package/node_modules/@smithy/middleware-serde/package.json +4 -3
  90. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  91. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  92. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +4 -1
  93. package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +4 -1
  94. package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +4 -3
  95. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +4 -3
  96. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  97. package/node_modules/@smithy/property-provider/package.json +2 -2
  98. package/node_modules/@smithy/protocol-http/package.json +2 -2
  99. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  100. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  101. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  102. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  103. package/node_modules/@smithy/signature-v4/package.json +4 -4
  104. package/node_modules/@smithy/smithy-client/package.json +7 -7
  105. package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
  106. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
  107. package/node_modules/@smithy/types/package.json +1 -1
  108. package/node_modules/@smithy/url-parser/package.json +3 -3
  109. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  110. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  111. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  112. package/node_modules/@smithy/util-middleware/package.json +2 -2
  113. package/node_modules/@smithy/util-retry/package.json +3 -3
  114. package/node_modules/@smithy/util-stream/package.json +4 -4
  115. package/node_modules/@smithy/util-waiter/package.json +3 -3
  116. package/node_modules/fast-xml-builder/CHANGELOG.md +14 -0
  117. package/node_modules/fast-xml-builder/lib/fxb.d.cts +10 -9
  118. package/node_modules/fast-xml-builder/package.json +2 -2
  119. package/node_modules/fast-xml-builder/src/fxb.d.ts +15 -4
  120. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
  121. package/node_modules/path-expression-matcher/lib/pem.d.cts +335 -0
  122. package/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
  123. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -0
  124. package/node_modules/path-expression-matcher/package.json +32 -6
  125. package/node_modules/path-expression-matcher/src/index.d.ts +366 -0
  126. package/package.json +3 -3
  127. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPaths.js +0 -17
  128. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPaths.d.ts +0 -3
@@ -2,6 +2,7 @@
2
2
 
3
3
  var node_os = require('node:os');
4
4
  var node_process = require('node:process');
5
+ var utilConfigProvider = require('@smithy/util-config-provider');
5
6
  var promises = require('node:fs/promises');
6
7
  var node_path = require('node:path');
7
8
  var middlewareUserAgent = require('@aws-sdk/middleware-user-agent');
@@ -16,6 +17,21 @@ const getRuntimeUserAgentPair = () => {
16
17
  return ["md/nodejs", node_process.versions.node];
17
18
  };
18
19
 
20
+ const getNodeModulesParentDirs = (dirname) => {
21
+ const cwd = process.cwd();
22
+ if (!dirname) {
23
+ return [cwd];
24
+ }
25
+ const normalizedPath = node_path.normalize(dirname);
26
+ const parts = normalizedPath.split(node_path.sep);
27
+ const nodeModulesIndex = parts.indexOf("node_modules");
28
+ const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(node_path.sep) : normalizedPath;
29
+ if (cwd === parentDir) {
30
+ return [cwd];
31
+ }
32
+ return [parentDir, cwd];
33
+ };
34
+
19
35
  const SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;
20
36
  const getSanitizedTypeScriptVersion = (version = "") => {
21
37
  const match = version.match(SEMVER_REGEX);
@@ -26,24 +42,22 @@ const getSanitizedTypeScriptVersion = (version = "") => {
26
42
  return prerelease ? `${major}.${minor}.${patch}-${prerelease}` : `${major}.${minor}.${patch}`;
27
43
  };
28
44
 
29
- const typescriptPackageJsonPath = node_path.join("node_modules", "typescript", "package.json");
30
- const getTypeScriptPackageJsonPaths = (dirname) => {
31
- const cwdPath = node_path.join(process.cwd(), typescriptPackageJsonPath);
32
- if (!dirname) {
33
- return [cwdPath];
45
+ const ALLOWED_PREFIXES = ["^", "~", ">=", "<=", ">", "<"];
46
+ const ALLOWED_DIST_TAGS = ["latest", "beta", "dev", "rc", "insiders", "next"];
47
+ const getSanitizedDevTypeScriptVersion = (version = "") => {
48
+ if (ALLOWED_DIST_TAGS.includes(version)) {
49
+ return version;
34
50
  }
35
- const normalizedPath = node_path.normalize(dirname);
36
- const parts = normalizedPath.split(node_path.sep);
37
- const nodeModulesIndex = parts.indexOf("node_modules");
38
- const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(node_path.sep) : dirname;
39
- const parentDirPath = node_path.join(parentDir, typescriptPackageJsonPath);
40
- if (cwdPath === parentDirPath) {
41
- return [cwdPath];
51
+ const prefix = ALLOWED_PREFIXES.find((p) => version.startsWith(p)) ?? "";
52
+ const sanitizedTypeScriptVersion = getSanitizedTypeScriptVersion(version.slice(prefix.length));
53
+ if (!sanitizedTypeScriptVersion) {
54
+ return undefined;
42
55
  }
43
- return [parentDirPath, cwdPath];
56
+ return `${prefix}${sanitizedTypeScriptVersion}`;
44
57
  };
45
58
 
46
59
  let tscVersion;
60
+ const TS_PACKAGE_JSON = node_path.join("node_modules", "typescript", "package.json");
47
61
  const getTypeScriptUserAgentPair = async () => {
48
62
  if (tscVersion === null) {
49
63
  return undefined;
@@ -51,23 +65,65 @@ const getTypeScriptUserAgentPair = async () => {
51
65
  else if (typeof tscVersion === "string") {
52
66
  return ["md/tsc", tscVersion];
53
67
  }
68
+ let isTypeScriptDetectionDisabled = false;
69
+ try {
70
+ isTypeScriptDetectionDisabled =
71
+ utilConfigProvider.booleanSelector(process.env, "AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED", utilConfigProvider.SelectorType.ENV) || false;
72
+ }
73
+ catch { }
74
+ if (isTypeScriptDetectionDisabled) {
75
+ tscVersion = null;
76
+ return undefined;
77
+ }
54
78
  const dirname = typeof __dirname !== "undefined" ? __dirname : undefined;
55
- for (const typescriptPackageJsonPath of getTypeScriptPackageJsonPaths(dirname)) {
79
+ const nodeModulesParentDirs = getNodeModulesParentDirs(dirname);
80
+ let versionFromApp;
81
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
82
+ try {
83
+ const appPackageJsonPath = node_path.join(nodeModulesParentDir, "package.json");
84
+ const packageJson = await promises.readFile(appPackageJsonPath, "utf-8");
85
+ const { dependencies, devDependencies } = JSON.parse(packageJson);
86
+ const version = devDependencies?.typescript ?? dependencies?.typescript;
87
+ if (typeof version !== "string") {
88
+ continue;
89
+ }
90
+ versionFromApp = version;
91
+ break;
92
+ }
93
+ catch {
94
+ }
95
+ }
96
+ if (!versionFromApp) {
97
+ tscVersion = null;
98
+ return undefined;
99
+ }
100
+ let versionFromNodeModules;
101
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
56
102
  try {
57
- const packageJson = await promises.readFile(typescriptPackageJsonPath, "utf-8");
103
+ const tsPackageJsonPath = node_path.join(nodeModulesParentDir, TS_PACKAGE_JSON);
104
+ const packageJson = await promises.readFile(tsPackageJsonPath, "utf-8");
58
105
  const { version } = JSON.parse(packageJson);
59
106
  const sanitizedVersion = getSanitizedTypeScriptVersion(version);
60
107
  if (typeof sanitizedVersion !== "string") {
61
108
  continue;
62
109
  }
63
- tscVersion = sanitizedVersion;
64
- return ["md/tsc", tscVersion];
110
+ versionFromNodeModules = sanitizedVersion;
111
+ break;
65
112
  }
66
113
  catch {
67
114
  }
68
115
  }
69
- tscVersion = null;
70
- return undefined;
116
+ if (versionFromNodeModules) {
117
+ tscVersion = versionFromNodeModules;
118
+ return ["md/tsc", tscVersion];
119
+ }
120
+ const sanitizedVersion = getSanitizedDevTypeScriptVersion(versionFromApp);
121
+ if (typeof sanitizedVersion !== "string") {
122
+ tscVersion = null;
123
+ return undefined;
124
+ }
125
+ tscVersion = `dev_${sanitizedVersion}`;
126
+ return ["md/tsc", tscVersion];
71
127
  };
72
128
 
73
129
  const crtAvailability = {
@@ -0,0 +1,15 @@
1
+ import { normalize, sep } from "node:path";
2
+ export const getNodeModulesParentDirs = (dirname) => {
3
+ const cwd = process.cwd();
4
+ if (!dirname) {
5
+ return [cwd];
6
+ }
7
+ const normalizedPath = normalize(dirname);
8
+ const parts = normalizedPath.split(sep);
9
+ const nodeModulesIndex = parts.indexOf("node_modules");
10
+ const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(sep) : normalizedPath;
11
+ if (cwd === parentDir) {
12
+ return [cwd];
13
+ }
14
+ return [parentDir, cwd];
15
+ };
@@ -0,0 +1,14 @@
1
+ import { getSanitizedTypeScriptVersion } from "./getSanitizedTypeScriptVersion";
2
+ const ALLOWED_PREFIXES = ["^", "~", ">=", "<=", ">", "<"];
3
+ const ALLOWED_DIST_TAGS = ["latest", "beta", "dev", "rc", "insiders", "next"];
4
+ export const getSanitizedDevTypeScriptVersion = (version = "") => {
5
+ if (ALLOWED_DIST_TAGS.includes(version)) {
6
+ return version;
7
+ }
8
+ const prefix = ALLOWED_PREFIXES.find((p) => version.startsWith(p)) ?? "";
9
+ const sanitizedTypeScriptVersion = getSanitizedTypeScriptVersion(version.slice(prefix.length));
10
+ if (!sanitizedTypeScriptVersion) {
11
+ return undefined;
12
+ }
13
+ return `${prefix}${sanitizedTypeScriptVersion}`;
14
+ };
@@ -1,7 +1,11 @@
1
+ import { booleanSelector, SelectorType } from "@smithy/util-config-provider";
1
2
  import { readFile } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import { getNodeModulesParentDirs } from "./getNodeModulesParentDirs";
5
+ import { getSanitizedDevTypeScriptVersion } from "./getSanitizedDevTypeScriptVersion";
2
6
  import { getSanitizedTypeScriptVersion } from "./getSanitizedTypeScriptVersion";
3
- import { getTypeScriptPackageJsonPaths } from "./getTypeScriptPackageJsonPaths";
4
7
  let tscVersion;
8
+ const TS_PACKAGE_JSON = join("node_modules", "typescript", "package.json");
5
9
  export const getTypeScriptUserAgentPair = async () => {
6
10
  if (tscVersion === null) {
7
11
  return undefined;
@@ -9,21 +13,63 @@ export const getTypeScriptUserAgentPair = async () => {
9
13
  else if (typeof tscVersion === "string") {
10
14
  return ["md/tsc", tscVersion];
11
15
  }
16
+ let isTypeScriptDetectionDisabled = false;
17
+ try {
18
+ isTypeScriptDetectionDisabled =
19
+ booleanSelector(process.env, "AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED", SelectorType.ENV) || false;
20
+ }
21
+ catch { }
22
+ if (isTypeScriptDetectionDisabled) {
23
+ tscVersion = null;
24
+ return undefined;
25
+ }
12
26
  const dirname = typeof __dirname !== "undefined" ? __dirname : undefined;
13
- for (const typescriptPackageJsonPath of getTypeScriptPackageJsonPaths(dirname)) {
27
+ const nodeModulesParentDirs = getNodeModulesParentDirs(dirname);
28
+ let versionFromApp;
29
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
30
+ try {
31
+ const appPackageJsonPath = join(nodeModulesParentDir, "package.json");
32
+ const packageJson = await readFile(appPackageJsonPath, "utf-8");
33
+ const { dependencies, devDependencies } = JSON.parse(packageJson);
34
+ const version = devDependencies?.typescript ?? dependencies?.typescript;
35
+ if (typeof version !== "string") {
36
+ continue;
37
+ }
38
+ versionFromApp = version;
39
+ break;
40
+ }
41
+ catch {
42
+ }
43
+ }
44
+ if (!versionFromApp) {
45
+ tscVersion = null;
46
+ return undefined;
47
+ }
48
+ let versionFromNodeModules;
49
+ for (const nodeModulesParentDir of nodeModulesParentDirs) {
14
50
  try {
15
- const packageJson = await readFile(typescriptPackageJsonPath, "utf-8");
51
+ const tsPackageJsonPath = join(nodeModulesParentDir, TS_PACKAGE_JSON);
52
+ const packageJson = await readFile(tsPackageJsonPath, "utf-8");
16
53
  const { version } = JSON.parse(packageJson);
17
54
  const sanitizedVersion = getSanitizedTypeScriptVersion(version);
18
55
  if (typeof sanitizedVersion !== "string") {
19
56
  continue;
20
57
  }
21
- tscVersion = sanitizedVersion;
22
- return ["md/tsc", tscVersion];
58
+ versionFromNodeModules = sanitizedVersion;
59
+ break;
23
60
  }
24
61
  catch {
25
62
  }
26
63
  }
27
- tscVersion = null;
28
- return undefined;
64
+ if (versionFromNodeModules) {
65
+ tscVersion = versionFromNodeModules;
66
+ return ["md/tsc", tscVersion];
67
+ }
68
+ const sanitizedVersion = getSanitizedDevTypeScriptVersion(versionFromApp);
69
+ if (typeof sanitizedVersion !== "string") {
70
+ tscVersion = null;
71
+ return undefined;
72
+ }
73
+ tscVersion = `dev_${sanitizedVersion}`;
74
+ return ["md/tsc", tscVersion];
29
75
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns candidate paths to the TypeScript package.json file derived from the current
2
+ * Returns candidate paths to the node_modules parent directories based on current
3
3
  * working directory and, if provided, from the given directory.
4
4
  *
5
5
  * @param dirname - Optional directory path to derive an additional candidate path from.
@@ -7,4 +7,4 @@
7
7
  *
8
8
  * @internal
9
9
  */
10
- export declare const getTypeScriptPackageJsonPaths: (dirname?: string) => string[];
10
+ export declare const getNodeModulesParentDirs: (dirname?: string) => string[];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Sanitizes a TypeScript version string for user-agent reporting.
3
+ * Handles dist tags (e.g., "latest", "beta"), version prefixes (e.g., "^", "~"),
4
+ * and semver strings. Returns undefined if the version is invalid.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const getSanitizedDevTypeScriptVersion: (version?: string) => string | undefined;
@@ -0,0 +1 @@
1
+ export declare const getNodeModulesParentDirs: (dirname?: string) => string[];
@@ -0,0 +1,3 @@
1
+ export declare const getSanitizedDevTypeScriptVersion: (
2
+ version?: string
3
+ ) => string | undefined;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-user-agent-node",
3
- "version": "3.973.5",
3
+ "version": "3.973.7",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
6
6
  "build:cjs": "node ../../scripts/compilation/inline util-user-agent-node",
@@ -24,10 +24,11 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/middleware-user-agent": "^3.972.20",
28
- "@aws-sdk/types": "^3.973.5",
29
- "@smithy/node-config-provider": "^4.3.11",
30
- "@smithy/types": "^4.13.0",
27
+ "@aws-sdk/middleware-user-agent": "^3.972.21",
28
+ "@aws-sdk/types": "^3.973.6",
29
+ "@smithy/node-config-provider": "^4.3.12",
30
+ "@smithy/types": "^4.13.1",
31
+ "@smithy/util-config-provider": "^4.2.2",
31
32
  "tslib": "^2.6.2"
32
33
  },
33
34
  "devDependencies": {
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@aws-sdk/xml-builder",
3
- "version": "3.972.10",
3
+ "version": "3.972.11",
4
4
  "description": "XML utilities for the AWS SDK",
5
5
  "dependencies": {
6
- "@smithy/types": "^4.13.0",
6
+ "@smithy/types": "^4.13.1",
7
7
  "fast-xml-parser": "5.4.1",
8
8
  "tslib": "^2.6.2"
9
9
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/abort-controller",
3
- "version": "4.2.11",
3
+ "version": "4.2.12",
4
4
  "description": "A simple abort controller library",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,7 +26,7 @@
26
26
  "license": "Apache-2.0",
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@smithy/types": "^4.13.0",
29
+ "@smithy/types": "^4.13.1",
30
30
  "tslib": "^2.6.2"
31
31
  },
32
32
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/config-resolver",
3
- "version": "4.4.10",
3
+ "version": "4.4.11",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline config-resolver",
@@ -25,11 +25,11 @@
25
25
  "license": "Apache-2.0",
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@smithy/node-config-provider": "^4.3.11",
29
- "@smithy/types": "^4.13.0",
28
+ "@smithy/node-config-provider": "^4.3.12",
29
+ "@smithy/types": "^4.13.1",
30
30
  "@smithy/util-config-provider": "^4.2.2",
31
- "@smithy/util-endpoints": "^3.3.2",
32
- "@smithy/util-middleware": "^4.2.11",
31
+ "@smithy/util-endpoints": "^3.3.3",
32
+ "@smithy/util-middleware": "^4.2.12",
33
33
  "tslib": "^2.6.2"
34
34
  },
35
35
  "devDependencies": {
@@ -2,7 +2,6 @@
2
2
 
3
3
  var types = require('@smithy/types');
4
4
  var utilMiddleware = require('@smithy/util-middleware');
5
- var middlewareSerde = require('@smithy/middleware-serde');
6
5
  var protocolHttp = require('@smithy/protocol-http');
7
6
  var protocols = require('@smithy/core/protocols');
8
7
 
@@ -93,7 +92,7 @@ const httpAuthSchemeMiddlewareOptions = {
93
92
  name: "httpAuthSchemeMiddleware",
94
93
  override: true,
95
94
  relation: "before",
96
- toMiddleware: middlewareSerde.serializerMiddlewareOption.name,
95
+ toMiddleware: "serializerMiddleware",
97
96
  };
98
97
  const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({
99
98
  applyToStack: (clientStack) => {
@@ -756,7 +756,8 @@ const checkCborResponse = (response) => {
756
756
  }
757
757
  };
758
758
  const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {
759
- const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
759
+ const endpoint = await context.endpoint();
760
+ const { hostname, protocol = "https", port, path: basePath } = endpoint;
760
761
  const contents = {
761
762
  protocol,
762
763
  hostname,
@@ -770,6 +771,11 @@ const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, bod
770
771
  if (resolvedHostname !== undefined) {
771
772
  contents.hostname = resolvedHostname;
772
773
  }
774
+ if (endpoint.headers) {
775
+ for (const [name, value] of Object.entries(endpoint.headers)) {
776
+ contents.headers[name] = value;
777
+ }
778
+ }
773
779
  if (body !== undefined) {
774
780
  contents.body = body;
775
781
  try {
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var urlParser = require('@smithy/url-parser');
4
+
5
+ const toEndpointV1 = (endpoint) => {
6
+ if (typeof endpoint === "object") {
7
+ if ("url" in endpoint) {
8
+ const v1Endpoint = urlParser.parseUrl(endpoint.url);
9
+ if (endpoint.headers) {
10
+ v1Endpoint.headers = {};
11
+ for (const [name, values] of Object.entries(endpoint.headers)) {
12
+ v1Endpoint.headers[name.toLowerCase()] = values.join(", ");
13
+ }
14
+ }
15
+ return v1Endpoint;
16
+ }
17
+ return endpoint;
18
+ }
19
+ return urlParser.parseUrl(endpoint);
20
+ };
21
+
22
+ exports.toEndpointV1 = toEndpointV1;
@@ -71,6 +71,11 @@ class HttpProtocol extends SerdeContext {
71
71
  for (const [k, v] of endpoint.url.searchParams.entries()) {
72
72
  request.query[k] = v;
73
73
  }
74
+ if (endpoint.headers) {
75
+ for (const [name, values] of Object.entries(endpoint.headers)) {
76
+ request.headers[name] = values.join(", ");
77
+ }
78
+ }
74
79
  return request;
75
80
  }
76
81
  else {
@@ -81,6 +86,11 @@ class HttpProtocol extends SerdeContext {
81
86
  request.query = {
82
87
  ...endpoint.query,
83
88
  };
89
+ if (endpoint.headers) {
90
+ for (const [name, value] of Object.entries(endpoint.headers)) {
91
+ request.headers[name] = value;
92
+ }
93
+ }
84
94
  return request;
85
95
  }
86
96
  }
@@ -490,7 +500,7 @@ class RpcProtocol extends HttpProtocol {
490
500
  payload = serializer.flush();
491
501
  }
492
502
  }
493
- request.headers = headers;
503
+ request.headers = Object.assign(request.headers, headers);
494
504
  request.query = query;
495
505
  request.body = payload;
496
506
  request.method = "POST";
@@ -2,6 +2,7 @@
2
2
 
3
3
  var protocolHttp = require('@smithy/protocol-http');
4
4
  var utilMiddleware = require('@smithy/util-middleware');
5
+ var endpoints = require('@smithy/core/endpoints');
5
6
 
6
7
  const deref = (schemaRef) => {
7
8
  if (typeof schemaRef === "function") {
@@ -84,8 +85,8 @@ const findHeader = (pattern, headers) => {
84
85
  const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {
85
86
  const { operationSchema } = utilMiddleware.getSmithyContext(context);
86
87
  const [, ns, n, t, i, o] = operationSchema ?? [];
87
- const endpoint = context.endpointV2?.url && config.urlParser
88
- ? async () => config.urlParser(context.endpointV2.url)
88
+ const endpoint = context.endpointV2
89
+ ? async () => endpoints.toEndpointV1(context.endpointV2)
89
90
  : config.endpoint;
90
91
  const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {
91
92
  ...config,
@@ -217,11 +218,15 @@ const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema
217
218
  ctor: null,
218
219
  });
219
220
 
221
+ const traitsCache = [];
220
222
  function translateTraits(indicator) {
221
223
  if (typeof indicator === "object") {
222
224
  return indicator;
223
225
  }
224
226
  indicator = indicator | 0;
227
+ if (traitsCache[indicator]) {
228
+ return traitsCache[indicator];
229
+ }
225
230
  const traits = {};
226
231
  let i = 0;
227
232
  for (const trait of [
@@ -237,12 +242,15 @@ function translateTraits(indicator) {
237
242
  traits[trait] = 1;
238
243
  }
239
244
  }
240
- return traits;
245
+ return (traitsCache[indicator] = traits);
241
246
  }
242
247
 
243
248
  const anno = {
244
249
  it: Symbol.for("@smithy/nor-struct-it"),
250
+ ns: Symbol.for("@smithy/ns"),
245
251
  };
252
+ const simpleSchemaCacheN = [];
253
+ const simpleSchemaCacheS = {};
246
254
  class NormalizedSchema {
247
255
  ref;
248
256
  memberName;
@@ -307,6 +315,22 @@ class NormalizedSchema {
307
315
  return isPrototype;
308
316
  }
309
317
  static of(ref) {
318
+ const keyAble = typeof ref === "function" || (typeof ref === "object" && ref !== null);
319
+ if (typeof ref === "number") {
320
+ if (simpleSchemaCacheN[ref]) {
321
+ return simpleSchemaCacheN[ref];
322
+ }
323
+ }
324
+ else if (typeof ref === "string") {
325
+ if (simpleSchemaCacheS[ref]) {
326
+ return simpleSchemaCacheS[ref];
327
+ }
328
+ }
329
+ else if (keyAble) {
330
+ if (ref[anno.ns]) {
331
+ return ref[anno.ns];
332
+ }
333
+ }
310
334
  const sc = deref(ref);
311
335
  if (sc instanceof NormalizedSchema) {
312
336
  return sc;
@@ -319,7 +343,17 @@ class NormalizedSchema {
319
343
  }
320
344
  throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);
321
345
  }
322
- return new NormalizedSchema(sc);
346
+ const ns = new NormalizedSchema(sc);
347
+ if (keyAble) {
348
+ return (ref[anno.ns] = ns);
349
+ }
350
+ if (typeof sc === "string") {
351
+ return (simpleSchemaCacheS[sc] = ns);
352
+ }
353
+ if (typeof sc === "number") {
354
+ return (simpleSchemaCacheN[sc] = ns);
355
+ }
356
+ return ns;
323
357
  }
324
358
  getSchema() {
325
359
  const sc = this.schema;
@@ -657,5 +691,8 @@ exports.operation = operation;
657
691
  exports.serializerMiddlewareOption = serializerMiddlewareOption;
658
692
  exports.sim = sim;
659
693
  exports.simAdapter = simAdapter;
694
+ exports.simpleSchemaCacheN = simpleSchemaCacheN;
695
+ exports.simpleSchemaCacheS = simpleSchemaCacheS;
660
696
  exports.struct = struct;
697
+ exports.traitsCache = traitsCache;
661
698
  exports.translateTraits = translateTraits;
@@ -1,4 +1,3 @@
1
- import { serializerMiddlewareOption } from "@smithy/middleware-serde";
2
1
  import { httpAuthSchemeMiddleware } from "./httpAuthSchemeMiddleware";
3
2
  export const httpAuthSchemeMiddlewareOptions = {
4
3
  step: "serialize",
@@ -6,7 +5,7 @@ export const httpAuthSchemeMiddlewareOptions = {
6
5
  name: "httpAuthSchemeMiddleware",
7
6
  override: true,
8
7
  relation: "before",
9
- toMiddleware: serializerMiddlewareOption.name,
8
+ toMiddleware: "serializerMiddleware",
10
9
  };
11
10
  export const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({
12
11
  applyToStack: (clientStack) => {
@@ -61,7 +61,8 @@ export const checkCborResponse = (response) => {
61
61
  }
62
62
  };
63
63
  export const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {
64
- const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
64
+ const endpoint = await context.endpoint();
65
+ const { hostname, protocol = "https", port, path: basePath } = endpoint;
65
66
  const contents = {
66
67
  protocol,
67
68
  hostname,
@@ -75,6 +76,11 @@ export const buildHttpRpcRequest = async (context, headers, path, resolvedHostna
75
76
  if (resolvedHostname !== undefined) {
76
77
  contents.hostname = resolvedHostname;
77
78
  }
79
+ if (endpoint.headers) {
80
+ for (const [name, value] of Object.entries(endpoint.headers)) {
81
+ contents.headers[name] = value;
82
+ }
83
+ }
78
84
  if (body !== undefined) {
79
85
  contents.body = body;
80
86
  try {
@@ -0,0 +1 @@
1
+ export * from "./toEndpointV1";
@@ -0,0 +1,17 @@
1
+ import { parseUrl } from "@smithy/url-parser";
2
+ export const toEndpointV1 = (endpoint) => {
3
+ if (typeof endpoint === "object") {
4
+ if ("url" in endpoint) {
5
+ const v1Endpoint = parseUrl(endpoint.url);
6
+ if (endpoint.headers) {
7
+ v1Endpoint.headers = {};
8
+ for (const [name, values] of Object.entries(endpoint.headers)) {
9
+ v1Endpoint.headers[name.toLowerCase()] = values.join(", ");
10
+ }
11
+ }
12
+ return v1Endpoint;
13
+ }
14
+ return endpoint;
15
+ }
16
+ return parseUrl(endpoint);
17
+ };
@@ -41,6 +41,11 @@ export class HttpProtocol extends SerdeContext {
41
41
  for (const [k, v] of endpoint.url.searchParams.entries()) {
42
42
  request.query[k] = v;
43
43
  }
44
+ if (endpoint.headers) {
45
+ for (const [name, values] of Object.entries(endpoint.headers)) {
46
+ request.headers[name] = values.join(", ");
47
+ }
48
+ }
44
49
  return request;
45
50
  }
46
51
  else {
@@ -51,6 +56,11 @@ export class HttpProtocol extends SerdeContext {
51
56
  request.query = {
52
57
  ...endpoint.query,
53
58
  };
59
+ if (endpoint.headers) {
60
+ for (const [name, value] of Object.entries(endpoint.headers)) {
61
+ request.headers[name] = value;
62
+ }
63
+ }
54
64
  return request;
55
65
  }
56
66
  }
@@ -51,7 +51,7 @@ export class RpcProtocol extends HttpProtocol {
51
51
  payload = serializer.flush();
52
52
  }
53
53
  }
54
- request.headers = headers;
54
+ request.headers = Object.assign(request.headers, headers);
55
55
  request.query = query;
56
56
  request.body = payload;
57
57
  request.method = "POST";