@semiont/graph 0.5.4 → 0.5.6
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.
- package/README.md +0 -6
- package/dist/bowser-D72SKZAH.js +2820 -0
- package/dist/bowser-D72SKZAH.js.map +1 -0
- package/dist/chunk-27S56UPF.js +4754 -0
- package/dist/chunk-27S56UPF.js.map +1 -0
- package/dist/chunk-4UP2SG3N.js +2095 -0
- package/dist/chunk-4UP2SG3N.js.map +1 -0
- package/dist/chunk-6DEJAFBY.js +125 -0
- package/dist/chunk-6DEJAFBY.js.map +1 -0
- package/dist/chunk-7UD62TQI.js +3317 -0
- package/dist/chunk-7UD62TQI.js.map +1 -0
- package/dist/chunk-B2W57CWL.js +47 -0
- package/dist/chunk-B2W57CWL.js.map +1 -0
- package/dist/chunk-DCLCNCC5.js +1051 -0
- package/dist/chunk-DCLCNCC5.js.map +1 -0
- package/dist/chunk-KE4TRQI4.js +576 -0
- package/dist/chunk-KE4TRQI4.js.map +1 -0
- package/dist/chunk-MWZWSKZD.js +1166 -0
- package/dist/chunk-MWZWSKZD.js.map +1 -0
- package/dist/chunk-V4VXQDJC.js +436 -0
- package/dist/chunk-V4VXQDJC.js.map +1 -0
- package/dist/dist-es-2CKOZ7UJ.js +69 -0
- package/dist/dist-es-2CKOZ7UJ.js.map +1 -0
- package/dist/dist-es-CUJAAJXF.js +6632 -0
- package/dist/dist-es-CUJAAJXF.js.map +1 -0
- package/dist/dist-es-LM7J2FUI.js +87 -0
- package/dist/dist-es-LM7J2FUI.js.map +1 -0
- package/dist/dist-es-QTXLRLLM.js +169 -0
- package/dist/dist-es-QTXLRLLM.js.map +1 -0
- package/dist/dist-es-R223S2WP.js +484 -0
- package/dist/dist-es-R223S2WP.js.map +1 -0
- package/dist/dist-es-SI3C7IEH.js +22 -0
- package/dist/dist-es-SI3C7IEH.js.map +1 -0
- package/dist/dist-es-XNPYIYQW.js +314 -0
- package/dist/dist-es-XNPYIYQW.js.map +1 -0
- package/dist/dist-es-ZYIOCGDF.js +376 -0
- package/dist/dist-es-ZYIOCGDF.js.map +1 -0
- package/dist/event-streams-AI5RIQ2F.js +1376 -0
- package/dist/event-streams-AI5RIQ2F.js.map +1 -0
- package/dist/index.d.ts +359 -17
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/loadSso-6PVX5KA7.js +576 -0
- package/dist/loadSso-6PVX5KA7.js.map +1 -0
- package/dist/signin-GV4P4PGF.js +662 -0
- package/dist/signin-GV4P4PGF.js.map +1 -0
- package/dist/sso-oidc-WFVKSVW6.js +829 -0
- package/dist/sso-oidc-WFVKSVW6.js.map +1 -0
- package/dist/sts-7N7QMJRQ.js +1244 -0
- package/dist/sts-7N7QMJRQ.js.map +1 -0
- package/package.json +15 -8
- package/dist/factory.d.ts +0 -21
- package/dist/factory.d.ts.map +0 -1
- package/dist/implementations/janusgraph.d.ts +0 -72
- package/dist/implementations/janusgraph.d.ts.map +0 -1
- package/dist/implementations/memorygraph.d.ts +0 -70
- package/dist/implementations/memorygraph.d.ts.map +0 -1
- package/dist/implementations/neo4j.d.ts +0 -80
- package/dist/implementations/neo4j.d.ts.map +0 -1
- package/dist/implementations/neptune.d.ts +0 -78
- package/dist/implementations/neptune.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/interface.d.ts +0 -57
- package/dist/interface.d.ts.map +0 -1
|
@@ -0,0 +1,1166 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decorateServiceException,
|
|
3
|
+
doesIdentityRequireRefresh,
|
|
4
|
+
isIdentityExpired,
|
|
5
|
+
memoizeIdentityProvider,
|
|
6
|
+
normalizeProvider as normalizeProvider2,
|
|
7
|
+
setCredentialFeature
|
|
8
|
+
} from "./chunk-7UD62TQI.js";
|
|
9
|
+
import {
|
|
10
|
+
HttpRequest,
|
|
11
|
+
HttpResponse,
|
|
12
|
+
NormalizedSchema,
|
|
13
|
+
ProviderError,
|
|
14
|
+
TypeRegistry,
|
|
15
|
+
escapeUri,
|
|
16
|
+
getSmithyContext,
|
|
17
|
+
normalizeProvider,
|
|
18
|
+
toEndpointV1
|
|
19
|
+
} from "./chunk-4UP2SG3N.js";
|
|
20
|
+
import {
|
|
21
|
+
fromHex,
|
|
22
|
+
fromUtf8,
|
|
23
|
+
isArrayBuffer,
|
|
24
|
+
toHex,
|
|
25
|
+
toUint8Array
|
|
26
|
+
} from "./chunk-DCLCNCC5.js";
|
|
27
|
+
|
|
28
|
+
// ../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js
|
|
29
|
+
var operation = (namespace, name, traits, input, output) => ({
|
|
30
|
+
name,
|
|
31
|
+
namespace,
|
|
32
|
+
traits,
|
|
33
|
+
input,
|
|
34
|
+
output
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// ../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js
|
|
38
|
+
var schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {
|
|
39
|
+
const { response } = await next(args);
|
|
40
|
+
const { operationSchema } = getSmithyContext(context);
|
|
41
|
+
const [, ns, n, t, i, o] = operationSchema ?? [];
|
|
42
|
+
try {
|
|
43
|
+
const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {
|
|
44
|
+
...config,
|
|
45
|
+
...context
|
|
46
|
+
}, response);
|
|
47
|
+
return {
|
|
48
|
+
response,
|
|
49
|
+
output: parsed
|
|
50
|
+
};
|
|
51
|
+
} catch (error) {
|
|
52
|
+
Object.defineProperty(error, "$response", {
|
|
53
|
+
value: response,
|
|
54
|
+
enumerable: false,
|
|
55
|
+
writable: false,
|
|
56
|
+
configurable: false
|
|
57
|
+
});
|
|
58
|
+
if (!("$metadata" in error)) {
|
|
59
|
+
const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
|
|
60
|
+
try {
|
|
61
|
+
error.message += "\n " + hint;
|
|
62
|
+
} catch (e) {
|
|
63
|
+
if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") {
|
|
64
|
+
console.warn(hint);
|
|
65
|
+
} else {
|
|
66
|
+
context.logger?.warn?.(hint);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (typeof error.$responseBodyText !== "undefined") {
|
|
70
|
+
if (error.$response) {
|
|
71
|
+
error.$response.body = error.$responseBodyText;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
if (HttpResponse.isInstance(response)) {
|
|
76
|
+
const { headers = {}, statusCode } = response;
|
|
77
|
+
const headerEntries = Object.entries(headers);
|
|
78
|
+
error.$metadata = {
|
|
79
|
+
httpStatusCode: statusCode,
|
|
80
|
+
requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
|
|
81
|
+
extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
|
|
82
|
+
cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries)
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
} catch (e) {
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
var findHeader = (pattern, headers) => {
|
|
92
|
+
return (headers.find(([k]) => {
|
|
93
|
+
return k.match(pattern);
|
|
94
|
+
}) || [void 0, void 0])[1];
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// ../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js
|
|
98
|
+
var schemaSerializationMiddleware = (config) => (next, context) => async (args) => {
|
|
99
|
+
const { operationSchema } = getSmithyContext(context);
|
|
100
|
+
const [, ns, n, t, i, o] = operationSchema ?? [];
|
|
101
|
+
const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : config.endpoint;
|
|
102
|
+
const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {
|
|
103
|
+
...config,
|
|
104
|
+
...context,
|
|
105
|
+
endpoint
|
|
106
|
+
});
|
|
107
|
+
return next({
|
|
108
|
+
...args,
|
|
109
|
+
request
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
// ../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js
|
|
114
|
+
var deserializerMiddlewareOption = {
|
|
115
|
+
name: "deserializerMiddleware",
|
|
116
|
+
step: "deserialize",
|
|
117
|
+
tags: ["DESERIALIZER"],
|
|
118
|
+
override: true
|
|
119
|
+
};
|
|
120
|
+
var serializerMiddlewareOption = {
|
|
121
|
+
name: "serializerMiddleware",
|
|
122
|
+
step: "serialize",
|
|
123
|
+
tags: ["SERIALIZER"],
|
|
124
|
+
override: true
|
|
125
|
+
};
|
|
126
|
+
function getSchemaSerdePlugin(config) {
|
|
127
|
+
return {
|
|
128
|
+
applyToStack: (commandStack) => {
|
|
129
|
+
commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);
|
|
130
|
+
commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);
|
|
131
|
+
config.protocol.setSerdeContext(config);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js
|
|
137
|
+
var getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : void 0;
|
|
138
|
+
|
|
139
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js
|
|
140
|
+
var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
|
|
141
|
+
|
|
142
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js
|
|
143
|
+
var isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 3e5;
|
|
144
|
+
|
|
145
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js
|
|
146
|
+
var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
|
|
147
|
+
const clockTimeInMs = Date.parse(clockTime);
|
|
148
|
+
if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
|
|
149
|
+
return clockTimeInMs - Date.now();
|
|
150
|
+
}
|
|
151
|
+
return currentSystemClockOffset;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js
|
|
155
|
+
var throwSigningPropertyError = (name, property) => {
|
|
156
|
+
if (!property) {
|
|
157
|
+
throw new Error(`Property \`${name}\` is not resolved for AWS SDK SigV4Auth`);
|
|
158
|
+
}
|
|
159
|
+
return property;
|
|
160
|
+
};
|
|
161
|
+
var validateSigningProperties = async (signingProperties) => {
|
|
162
|
+
const context = throwSigningPropertyError("context", signingProperties.context);
|
|
163
|
+
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
164
|
+
const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
|
|
165
|
+
const signerFunction = throwSigningPropertyError("signer", config.signer);
|
|
166
|
+
const signer = await signerFunction(authScheme);
|
|
167
|
+
const signingRegion = signingProperties?.signingRegion;
|
|
168
|
+
const signingRegionSet = signingProperties?.signingRegionSet;
|
|
169
|
+
const signingName = signingProperties?.signingName;
|
|
170
|
+
return {
|
|
171
|
+
config,
|
|
172
|
+
signer,
|
|
173
|
+
signingRegion,
|
|
174
|
+
signingRegionSet,
|
|
175
|
+
signingName
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
var AwsSdkSigV4Signer = class {
|
|
179
|
+
async sign(httpRequest, identity, signingProperties) {
|
|
180
|
+
if (!HttpRequest.isInstance(httpRequest)) {
|
|
181
|
+
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
|
|
182
|
+
}
|
|
183
|
+
const validatedProps = await validateSigningProperties(signingProperties);
|
|
184
|
+
const { config, signer } = validatedProps;
|
|
185
|
+
let { signingRegion, signingName } = validatedProps;
|
|
186
|
+
const handlerExecutionContext = signingProperties.context;
|
|
187
|
+
if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {
|
|
188
|
+
const [first, second] = handlerExecutionContext.authSchemes;
|
|
189
|
+
if (first?.name === "sigv4a" && second?.name === "sigv4") {
|
|
190
|
+
signingRegion = second?.signingRegion ?? signingRegion;
|
|
191
|
+
signingName = second?.signingName ?? signingName;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
signingProperties._preRequestSystemClockOffset = config.systemClockOffset;
|
|
195
|
+
const signedRequest = await signer.sign(httpRequest, {
|
|
196
|
+
signingDate: getSkewCorrectedDate(config.systemClockOffset),
|
|
197
|
+
signingRegion,
|
|
198
|
+
signingService: signingName
|
|
199
|
+
});
|
|
200
|
+
return signedRequest;
|
|
201
|
+
}
|
|
202
|
+
errorHandler(signingProperties) {
|
|
203
|
+
return (error) => {
|
|
204
|
+
const errorException = error;
|
|
205
|
+
const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response);
|
|
206
|
+
if (serverTime) {
|
|
207
|
+
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
208
|
+
const preRequestOffset = signingProperties._preRequestSystemClockOffset;
|
|
209
|
+
const newOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);
|
|
210
|
+
const isLocalCorrection = newOffset !== config.systemClockOffset;
|
|
211
|
+
const isConcurrentCorrection = preRequestOffset !== void 0 && preRequestOffset !== newOffset;
|
|
212
|
+
const clockSkewCorrected = isLocalCorrection || isConcurrentCorrection;
|
|
213
|
+
if (clockSkewCorrected && errorException.$metadata) {
|
|
214
|
+
config.systemClockOffset = newOffset;
|
|
215
|
+
errorException.$metadata.clockSkewCorrected = true;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
throw error;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
successHandler(httpResponse, signingProperties) {
|
|
222
|
+
const dateHeader = getDateHeader(httpResponse);
|
|
223
|
+
if (dateHeader) {
|
|
224
|
+
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
225
|
+
config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js
|
|
231
|
+
var AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer {
|
|
232
|
+
async sign(httpRequest, identity, signingProperties) {
|
|
233
|
+
if (!HttpRequest.isInstance(httpRequest)) {
|
|
234
|
+
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
|
|
235
|
+
}
|
|
236
|
+
const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
|
|
237
|
+
const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();
|
|
238
|
+
const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(",");
|
|
239
|
+
signingProperties._preRequestSystemClockOffset = config.systemClockOffset;
|
|
240
|
+
const signedRequest = await signer.sign(httpRequest, {
|
|
241
|
+
signingDate: getSkewCorrectedDate(config.systemClockOffset),
|
|
242
|
+
signingRegion: multiRegionOverride,
|
|
243
|
+
signingService: signingName
|
|
244
|
+
});
|
|
245
|
+
return signedRequest;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js
|
|
250
|
+
var getArrayForCommaSeparatedString = (str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [];
|
|
251
|
+
|
|
252
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js
|
|
253
|
+
var getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`;
|
|
254
|
+
|
|
255
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js
|
|
256
|
+
var NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE";
|
|
257
|
+
var NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference";
|
|
258
|
+
var NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {
|
|
259
|
+
environmentVariableSelector: (env, options) => {
|
|
260
|
+
if (options?.signingName) {
|
|
261
|
+
const bearerTokenKey = getBearerTokenEnvKey(options.signingName);
|
|
262
|
+
if (bearerTokenKey in env)
|
|
263
|
+
return ["httpBearerAuth"];
|
|
264
|
+
}
|
|
265
|
+
if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))
|
|
266
|
+
return void 0;
|
|
267
|
+
return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);
|
|
268
|
+
},
|
|
269
|
+
configFileSelector: (profile) => {
|
|
270
|
+
if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))
|
|
271
|
+
return void 0;
|
|
272
|
+
return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);
|
|
273
|
+
},
|
|
274
|
+
default: []
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js
|
|
278
|
+
var resolveAwsSdkSigV4AConfig = (config) => {
|
|
279
|
+
config.sigv4aSigningRegionSet = normalizeProvider2(config.sigv4aSigningRegionSet);
|
|
280
|
+
return config;
|
|
281
|
+
};
|
|
282
|
+
var NODE_SIGV4A_CONFIG_OPTIONS = {
|
|
283
|
+
environmentVariableSelector(env) {
|
|
284
|
+
if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
|
|
285
|
+
return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
|
|
286
|
+
}
|
|
287
|
+
throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
|
|
288
|
+
tryNextLink: true
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
configFileSelector(profile) {
|
|
292
|
+
if (profile.sigv4a_signing_region_set) {
|
|
293
|
+
return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
|
|
294
|
+
}
|
|
295
|
+
throw new ProviderError("sigv4a_signing_region_set not set in profile.", {
|
|
296
|
+
tryNextLink: true
|
|
297
|
+
});
|
|
298
|
+
},
|
|
299
|
+
default: void 0
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js
|
|
303
|
+
var HeaderFormatter = class {
|
|
304
|
+
format(headers) {
|
|
305
|
+
const chunks = [];
|
|
306
|
+
for (const headerName of Object.keys(headers)) {
|
|
307
|
+
const bytes = fromUtf8(headerName);
|
|
308
|
+
chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
|
|
309
|
+
}
|
|
310
|
+
const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
|
|
311
|
+
let position = 0;
|
|
312
|
+
for (const chunk of chunks) {
|
|
313
|
+
out.set(chunk, position);
|
|
314
|
+
position += chunk.byteLength;
|
|
315
|
+
}
|
|
316
|
+
return out;
|
|
317
|
+
}
|
|
318
|
+
formatHeaderValue(header) {
|
|
319
|
+
switch (header.type) {
|
|
320
|
+
case "boolean":
|
|
321
|
+
return Uint8Array.from([header.value ? 0 : 1]);
|
|
322
|
+
case "byte":
|
|
323
|
+
return Uint8Array.from([2, header.value]);
|
|
324
|
+
case "short":
|
|
325
|
+
const shortView = new DataView(new ArrayBuffer(3));
|
|
326
|
+
shortView.setUint8(0, 3);
|
|
327
|
+
shortView.setInt16(1, header.value, false);
|
|
328
|
+
return new Uint8Array(shortView.buffer);
|
|
329
|
+
case "integer":
|
|
330
|
+
const intView = new DataView(new ArrayBuffer(5));
|
|
331
|
+
intView.setUint8(0, 4);
|
|
332
|
+
intView.setInt32(1, header.value, false);
|
|
333
|
+
return new Uint8Array(intView.buffer);
|
|
334
|
+
case "long":
|
|
335
|
+
const longBytes = new Uint8Array(9);
|
|
336
|
+
longBytes[0] = 5;
|
|
337
|
+
longBytes.set(header.value.bytes, 1);
|
|
338
|
+
return longBytes;
|
|
339
|
+
case "binary":
|
|
340
|
+
const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
|
|
341
|
+
binView.setUint8(0, 6);
|
|
342
|
+
binView.setUint16(1, header.value.byteLength, false);
|
|
343
|
+
const binBytes = new Uint8Array(binView.buffer);
|
|
344
|
+
binBytes.set(header.value, 3);
|
|
345
|
+
return binBytes;
|
|
346
|
+
case "string":
|
|
347
|
+
const utf8Bytes = fromUtf8(header.value);
|
|
348
|
+
const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
|
|
349
|
+
strView.setUint8(0, 7);
|
|
350
|
+
strView.setUint16(1, utf8Bytes.byteLength, false);
|
|
351
|
+
const strBytes = new Uint8Array(strView.buffer);
|
|
352
|
+
strBytes.set(utf8Bytes, 3);
|
|
353
|
+
return strBytes;
|
|
354
|
+
case "timestamp":
|
|
355
|
+
const tsBytes = new Uint8Array(9);
|
|
356
|
+
tsBytes[0] = 8;
|
|
357
|
+
tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
|
|
358
|
+
return tsBytes;
|
|
359
|
+
case "uuid":
|
|
360
|
+
if (!UUID_PATTERN.test(header.value)) {
|
|
361
|
+
throw new Error(`Invalid UUID received: ${header.value}`);
|
|
362
|
+
}
|
|
363
|
+
const uuidBytes = new Uint8Array(17);
|
|
364
|
+
uuidBytes[0] = 9;
|
|
365
|
+
uuidBytes.set(fromHex(header.value.replace(/\-/g, "")), 1);
|
|
366
|
+
return uuidBytes;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
var HEADER_VALUE_TYPE;
|
|
371
|
+
(function(HEADER_VALUE_TYPE2) {
|
|
372
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue";
|
|
373
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse";
|
|
374
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte";
|
|
375
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short";
|
|
376
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer";
|
|
377
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long";
|
|
378
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray";
|
|
379
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string";
|
|
380
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp";
|
|
381
|
+
HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid";
|
|
382
|
+
})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));
|
|
383
|
+
var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
|
|
384
|
+
var Int64 = class _Int64 {
|
|
385
|
+
bytes;
|
|
386
|
+
constructor(bytes) {
|
|
387
|
+
this.bytes = bytes;
|
|
388
|
+
if (bytes.byteLength !== 8) {
|
|
389
|
+
throw new Error("Int64 buffers must be exactly 8 bytes");
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
static fromNumber(number) {
|
|
393
|
+
if (number > 9223372036854776e3 || number < -9223372036854776e3) {
|
|
394
|
+
throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);
|
|
395
|
+
}
|
|
396
|
+
const bytes = new Uint8Array(8);
|
|
397
|
+
for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {
|
|
398
|
+
bytes[i] = remaining;
|
|
399
|
+
}
|
|
400
|
+
if (number < 0) {
|
|
401
|
+
negate(bytes);
|
|
402
|
+
}
|
|
403
|
+
return new _Int64(bytes);
|
|
404
|
+
}
|
|
405
|
+
valueOf() {
|
|
406
|
+
const bytes = this.bytes.slice(0);
|
|
407
|
+
const negative = bytes[0] & 128;
|
|
408
|
+
if (negative) {
|
|
409
|
+
negate(bytes);
|
|
410
|
+
}
|
|
411
|
+
return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
|
|
412
|
+
}
|
|
413
|
+
toString() {
|
|
414
|
+
return String(this.valueOf());
|
|
415
|
+
}
|
|
416
|
+
};
|
|
417
|
+
function negate(bytes) {
|
|
418
|
+
for (let i = 0; i < 8; i++) {
|
|
419
|
+
bytes[i] ^= 255;
|
|
420
|
+
}
|
|
421
|
+
for (let i = 7; i > -1; i--) {
|
|
422
|
+
bytes[i]++;
|
|
423
|
+
if (bytes[i] !== 0)
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/constants.js
|
|
429
|
+
var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
|
|
430
|
+
var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
|
|
431
|
+
var AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
|
|
432
|
+
var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
|
|
433
|
+
var EXPIRES_QUERY_PARAM = "X-Amz-Expires";
|
|
434
|
+
var SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
|
|
435
|
+
var TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
|
|
436
|
+
var AUTH_HEADER = "authorization";
|
|
437
|
+
var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
|
|
438
|
+
var DATE_HEADER = "date";
|
|
439
|
+
var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];
|
|
440
|
+
var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();
|
|
441
|
+
var SHA256_HEADER = "x-amz-content-sha256";
|
|
442
|
+
var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
|
|
443
|
+
var ALWAYS_UNSIGNABLE_HEADERS = {
|
|
444
|
+
authorization: true,
|
|
445
|
+
"cache-control": true,
|
|
446
|
+
connection: true,
|
|
447
|
+
expect: true,
|
|
448
|
+
from: true,
|
|
449
|
+
"keep-alive": true,
|
|
450
|
+
"max-forwards": true,
|
|
451
|
+
pragma: true,
|
|
452
|
+
referer: true,
|
|
453
|
+
te: true,
|
|
454
|
+
trailer: true,
|
|
455
|
+
"transfer-encoding": true,
|
|
456
|
+
upgrade: true,
|
|
457
|
+
"user-agent": true,
|
|
458
|
+
"x-amzn-trace-id": true
|
|
459
|
+
};
|
|
460
|
+
var PROXY_HEADER_PATTERN = /^proxy-/;
|
|
461
|
+
var SEC_HEADER_PATTERN = /^sec-/;
|
|
462
|
+
var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
|
|
463
|
+
var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD";
|
|
464
|
+
var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
|
|
465
|
+
var MAX_CACHE_SIZE = 50;
|
|
466
|
+
var KEY_TYPE_IDENTIFIER = "aws4_request";
|
|
467
|
+
var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;
|
|
468
|
+
|
|
469
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js
|
|
470
|
+
var getCanonicalQuery = ({ query = {} }) => {
|
|
471
|
+
const keys = [];
|
|
472
|
+
const serialized = {};
|
|
473
|
+
for (const key of Object.keys(query)) {
|
|
474
|
+
if (key.toLowerCase() === SIGNATURE_HEADER) {
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
const encodedKey = escapeUri(key);
|
|
478
|
+
keys.push(encodedKey);
|
|
479
|
+
const value = query[key];
|
|
480
|
+
if (typeof value === "string") {
|
|
481
|
+
serialized[encodedKey] = `${encodedKey}=${escapeUri(value)}`;
|
|
482
|
+
} else if (Array.isArray(value)) {
|
|
483
|
+
serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${escapeUri(value2)}`]), []).sort().join("&");
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join("&");
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/utilDate.js
|
|
490
|
+
var iso8601 = (time) => toDate(time).toISOString().replace(/\.\d{3}Z$/, "Z");
|
|
491
|
+
var toDate = (time) => {
|
|
492
|
+
if (typeof time === "number") {
|
|
493
|
+
return new Date(time * 1e3);
|
|
494
|
+
}
|
|
495
|
+
if (typeof time === "string") {
|
|
496
|
+
if (Number(time)) {
|
|
497
|
+
return new Date(Number(time) * 1e3);
|
|
498
|
+
}
|
|
499
|
+
return new Date(time);
|
|
500
|
+
}
|
|
501
|
+
return time;
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/SignatureV4Base.js
|
|
505
|
+
var SignatureV4Base = class {
|
|
506
|
+
service;
|
|
507
|
+
regionProvider;
|
|
508
|
+
credentialProvider;
|
|
509
|
+
sha256;
|
|
510
|
+
uriEscapePath;
|
|
511
|
+
applyChecksum;
|
|
512
|
+
constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) {
|
|
513
|
+
this.service = service;
|
|
514
|
+
this.sha256 = sha256;
|
|
515
|
+
this.uriEscapePath = uriEscapePath;
|
|
516
|
+
this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true;
|
|
517
|
+
this.regionProvider = normalizeProvider(region);
|
|
518
|
+
this.credentialProvider = normalizeProvider(credentials);
|
|
519
|
+
}
|
|
520
|
+
createCanonicalRequest(request, canonicalHeaders, payloadHash) {
|
|
521
|
+
const sortedHeaders = Object.keys(canonicalHeaders).sort();
|
|
522
|
+
return `${request.method}
|
|
523
|
+
${this.getCanonicalPath(request)}
|
|
524
|
+
${getCanonicalQuery(request)}
|
|
525
|
+
${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")}
|
|
526
|
+
|
|
527
|
+
${sortedHeaders.join(";")}
|
|
528
|
+
${payloadHash}`;
|
|
529
|
+
}
|
|
530
|
+
async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {
|
|
531
|
+
const hash = new this.sha256();
|
|
532
|
+
hash.update(toUint8Array(canonicalRequest));
|
|
533
|
+
const hashedRequest = await hash.digest();
|
|
534
|
+
return `${algorithmIdentifier}
|
|
535
|
+
${longDate}
|
|
536
|
+
${credentialScope}
|
|
537
|
+
${toHex(hashedRequest)}`;
|
|
538
|
+
}
|
|
539
|
+
getCanonicalPath({ path }) {
|
|
540
|
+
if (this.uriEscapePath) {
|
|
541
|
+
const normalizedPathSegments = [];
|
|
542
|
+
for (const pathSegment of path.split("/")) {
|
|
543
|
+
if (pathSegment?.length === 0)
|
|
544
|
+
continue;
|
|
545
|
+
if (pathSegment === ".")
|
|
546
|
+
continue;
|
|
547
|
+
if (pathSegment === "..") {
|
|
548
|
+
normalizedPathSegments.pop();
|
|
549
|
+
} else {
|
|
550
|
+
normalizedPathSegments.push(pathSegment);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
const normalizedPath = `${path?.startsWith("/") ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && path?.endsWith("/") ? "/" : ""}`;
|
|
554
|
+
const doubleEncoded = escapeUri(normalizedPath);
|
|
555
|
+
return doubleEncoded.replace(/%2F/g, "/");
|
|
556
|
+
}
|
|
557
|
+
return path;
|
|
558
|
+
}
|
|
559
|
+
validateResolvedCredentials(credentials) {
|
|
560
|
+
if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") {
|
|
561
|
+
throw new Error("Resolved credential object is not valid");
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
formatDate(now) {
|
|
565
|
+
const longDate = iso8601(now).replace(/[\-:]/g, "");
|
|
566
|
+
return {
|
|
567
|
+
longDate,
|
|
568
|
+
shortDate: longDate.slice(0, 8)
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
getCanonicalHeaderList(headers) {
|
|
572
|
+
return Object.keys(headers).sort().join(";");
|
|
573
|
+
}
|
|
574
|
+
};
|
|
575
|
+
|
|
576
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js
|
|
577
|
+
var signingKeyCache = {};
|
|
578
|
+
var cacheQueue = [];
|
|
579
|
+
var createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;
|
|
580
|
+
var getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {
|
|
581
|
+
const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);
|
|
582
|
+
const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;
|
|
583
|
+
if (cacheKey in signingKeyCache) {
|
|
584
|
+
return signingKeyCache[cacheKey];
|
|
585
|
+
}
|
|
586
|
+
cacheQueue.push(cacheKey);
|
|
587
|
+
while (cacheQueue.length > MAX_CACHE_SIZE) {
|
|
588
|
+
delete signingKeyCache[cacheQueue.shift()];
|
|
589
|
+
}
|
|
590
|
+
let key = `AWS4${credentials.secretAccessKey}`;
|
|
591
|
+
for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {
|
|
592
|
+
key = await hmac(sha256Constructor, key, signable);
|
|
593
|
+
}
|
|
594
|
+
return signingKeyCache[cacheKey] = key;
|
|
595
|
+
};
|
|
596
|
+
var hmac = (ctor, secret, data) => {
|
|
597
|
+
const hash = new ctor(secret);
|
|
598
|
+
hash.update(toUint8Array(data));
|
|
599
|
+
return hash.digest();
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js
|
|
603
|
+
var getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {
|
|
604
|
+
const canonical = {};
|
|
605
|
+
for (const headerName of Object.keys(headers).sort()) {
|
|
606
|
+
if (headers[headerName] == void 0) {
|
|
607
|
+
continue;
|
|
608
|
+
}
|
|
609
|
+
const canonicalHeaderName = headerName.toLowerCase();
|
|
610
|
+
if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {
|
|
611
|
+
if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {
|
|
612
|
+
continue;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " ");
|
|
616
|
+
}
|
|
617
|
+
return canonical;
|
|
618
|
+
};
|
|
619
|
+
|
|
620
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js
|
|
621
|
+
var getPayloadHash = async ({ headers, body }, hashConstructor) => {
|
|
622
|
+
for (const headerName of Object.keys(headers)) {
|
|
623
|
+
if (headerName.toLowerCase() === SHA256_HEADER) {
|
|
624
|
+
return headers[headerName];
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
if (body == void 0) {
|
|
628
|
+
return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
|
|
629
|
+
} else if (typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {
|
|
630
|
+
const hashCtor = new hashConstructor();
|
|
631
|
+
hashCtor.update(toUint8Array(body));
|
|
632
|
+
return toHex(await hashCtor.digest());
|
|
633
|
+
}
|
|
634
|
+
return UNSIGNED_PAYLOAD;
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/headerUtil.js
|
|
638
|
+
var hasHeader = (soughtHeader, headers) => {
|
|
639
|
+
soughtHeader = soughtHeader.toLowerCase();
|
|
640
|
+
for (const headerName of Object.keys(headers)) {
|
|
641
|
+
if (soughtHeader === headerName.toLowerCase()) {
|
|
642
|
+
return true;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
return false;
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js
|
|
649
|
+
var moveHeadersToQuery = (request, options = {}) => {
|
|
650
|
+
const { headers, query = {} } = HttpRequest.clone(request);
|
|
651
|
+
for (const name of Object.keys(headers)) {
|
|
652
|
+
const lname = name.toLowerCase();
|
|
653
|
+
if (lname.slice(0, 6) === "x-amz-" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {
|
|
654
|
+
query[name] = headers[name];
|
|
655
|
+
delete headers[name];
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
return {
|
|
659
|
+
...request,
|
|
660
|
+
headers,
|
|
661
|
+
query
|
|
662
|
+
};
|
|
663
|
+
};
|
|
664
|
+
|
|
665
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js
|
|
666
|
+
var prepareRequest = (request) => {
|
|
667
|
+
request = HttpRequest.clone(request);
|
|
668
|
+
for (const headerName of Object.keys(request.headers)) {
|
|
669
|
+
if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {
|
|
670
|
+
delete request.headers[headerName];
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
return request;
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
// ../../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js
|
|
677
|
+
var SignatureV4 = class extends SignatureV4Base {
|
|
678
|
+
headerFormatter = new HeaderFormatter();
|
|
679
|
+
constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) {
|
|
680
|
+
super({
|
|
681
|
+
applyChecksum,
|
|
682
|
+
credentials,
|
|
683
|
+
region,
|
|
684
|
+
service,
|
|
685
|
+
sha256,
|
|
686
|
+
uriEscapePath
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
async presign(originalRequest, options = {}) {
|
|
690
|
+
const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService } = options;
|
|
691
|
+
const credentials = await this.credentialProvider();
|
|
692
|
+
this.validateResolvedCredentials(credentials);
|
|
693
|
+
const region = signingRegion ?? await this.regionProvider();
|
|
694
|
+
const { longDate, shortDate } = this.formatDate(signingDate);
|
|
695
|
+
if (expiresIn > MAX_PRESIGNED_TTL) {
|
|
696
|
+
return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");
|
|
697
|
+
}
|
|
698
|
+
const scope = createScope(shortDate, region, signingService ?? this.service);
|
|
699
|
+
const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });
|
|
700
|
+
if (credentials.sessionToken) {
|
|
701
|
+
request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;
|
|
702
|
+
}
|
|
703
|
+
request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;
|
|
704
|
+
request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;
|
|
705
|
+
request.query[AMZ_DATE_QUERY_PARAM] = longDate;
|
|
706
|
+
request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);
|
|
707
|
+
const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
|
|
708
|
+
request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);
|
|
709
|
+
request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));
|
|
710
|
+
return request;
|
|
711
|
+
}
|
|
712
|
+
async sign(toSign, options) {
|
|
713
|
+
if (typeof toSign === "string") {
|
|
714
|
+
return this.signString(toSign, options);
|
|
715
|
+
} else if (toSign.headers && toSign.payload) {
|
|
716
|
+
return this.signEvent(toSign, options);
|
|
717
|
+
} else if (toSign.message) {
|
|
718
|
+
return this.signMessage(toSign, options);
|
|
719
|
+
} else {
|
|
720
|
+
return this.signRequest(toSign, options);
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials }) {
|
|
724
|
+
const region = signingRegion ?? await this.regionProvider();
|
|
725
|
+
const { shortDate, longDate } = this.formatDate(signingDate);
|
|
726
|
+
const scope = createScope(shortDate, region, signingService ?? this.service);
|
|
727
|
+
const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);
|
|
728
|
+
const hash = new this.sha256();
|
|
729
|
+
hash.update(headers);
|
|
730
|
+
const hashedHeaders = toHex(await hash.digest());
|
|
731
|
+
const stringToSign = [
|
|
732
|
+
EVENT_ALGORITHM_IDENTIFIER,
|
|
733
|
+
longDate,
|
|
734
|
+
scope,
|
|
735
|
+
priorSignature,
|
|
736
|
+
hashedHeaders,
|
|
737
|
+
hashedPayload
|
|
738
|
+
].join("\n");
|
|
739
|
+
return this.signString(stringToSign, {
|
|
740
|
+
signingDate,
|
|
741
|
+
signingRegion: region,
|
|
742
|
+
signingService,
|
|
743
|
+
eventStreamCredentials
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials }) {
|
|
747
|
+
const promise = this.signEvent({
|
|
748
|
+
headers: this.headerFormatter.format(signableMessage.message.headers),
|
|
749
|
+
payload: signableMessage.message.body
|
|
750
|
+
}, {
|
|
751
|
+
signingDate,
|
|
752
|
+
signingRegion,
|
|
753
|
+
signingService,
|
|
754
|
+
priorSignature: signableMessage.priorSignature,
|
|
755
|
+
eventStreamCredentials
|
|
756
|
+
});
|
|
757
|
+
return promise.then((signature) => {
|
|
758
|
+
return { message: signableMessage.message, signature };
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials } = {}) {
|
|
762
|
+
const credentials = eventStreamCredentials ?? await this.credentialProvider();
|
|
763
|
+
this.validateResolvedCredentials(credentials);
|
|
764
|
+
const region = signingRegion ?? await this.regionProvider();
|
|
765
|
+
const { shortDate } = this.formatDate(signingDate);
|
|
766
|
+
const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));
|
|
767
|
+
hash.update(toUint8Array(stringToSign));
|
|
768
|
+
return toHex(await hash.digest());
|
|
769
|
+
}
|
|
770
|
+
async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) {
|
|
771
|
+
const credentials = await this.credentialProvider();
|
|
772
|
+
this.validateResolvedCredentials(credentials);
|
|
773
|
+
const region = signingRegion ?? await this.regionProvider();
|
|
774
|
+
const request = prepareRequest(requestToSign);
|
|
775
|
+
const { longDate, shortDate } = this.formatDate(signingDate);
|
|
776
|
+
const scope = createScope(shortDate, region, signingService ?? this.service);
|
|
777
|
+
request.headers[AMZ_DATE_HEADER] = longDate;
|
|
778
|
+
if (credentials.sessionToken) {
|
|
779
|
+
request.headers[TOKEN_HEADER] = credentials.sessionToken;
|
|
780
|
+
}
|
|
781
|
+
const payloadHash = await getPayloadHash(request, this.sha256);
|
|
782
|
+
if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {
|
|
783
|
+
request.headers[SHA256_HEADER] = payloadHash;
|
|
784
|
+
}
|
|
785
|
+
const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
|
|
786
|
+
const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));
|
|
787
|
+
request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`;
|
|
788
|
+
return request;
|
|
789
|
+
}
|
|
790
|
+
async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {
|
|
791
|
+
const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);
|
|
792
|
+
const hash = new this.sha256(await keyPromise);
|
|
793
|
+
hash.update(toUint8Array(stringToSign));
|
|
794
|
+
return toHex(await hash.digest());
|
|
795
|
+
}
|
|
796
|
+
getSigningKey(credentials, region, shortDate, service) {
|
|
797
|
+
return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);
|
|
798
|
+
}
|
|
799
|
+
};
|
|
800
|
+
|
|
801
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js
|
|
802
|
+
var resolveAwsSdkSigV4Config = (config) => {
|
|
803
|
+
let inputCredentials = config.credentials;
|
|
804
|
+
let isUserSupplied = !!config.credentials;
|
|
805
|
+
let resolvedCredentials = void 0;
|
|
806
|
+
Object.defineProperty(config, "credentials", {
|
|
807
|
+
set(credentials) {
|
|
808
|
+
if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {
|
|
809
|
+
isUserSupplied = true;
|
|
810
|
+
}
|
|
811
|
+
inputCredentials = credentials;
|
|
812
|
+
const memoizedProvider = normalizeCredentialProvider(config, {
|
|
813
|
+
credentials: inputCredentials,
|
|
814
|
+
credentialDefaultProvider: config.credentialDefaultProvider
|
|
815
|
+
});
|
|
816
|
+
const boundProvider = bindCallerConfig(config, memoizedProvider);
|
|
817
|
+
if (isUserSupplied && !boundProvider.attributed) {
|
|
818
|
+
const isCredentialObject = typeof inputCredentials === "object" && inputCredentials !== null;
|
|
819
|
+
resolvedCredentials = async (options) => {
|
|
820
|
+
const creds = await boundProvider(options);
|
|
821
|
+
const attributedCreds = creds;
|
|
822
|
+
if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {
|
|
823
|
+
return setCredentialFeature(attributedCreds, "CREDENTIALS_CODE", "e");
|
|
824
|
+
}
|
|
825
|
+
return attributedCreds;
|
|
826
|
+
};
|
|
827
|
+
resolvedCredentials.memoized = boundProvider.memoized;
|
|
828
|
+
resolvedCredentials.configBound = boundProvider.configBound;
|
|
829
|
+
resolvedCredentials.attributed = true;
|
|
830
|
+
} else {
|
|
831
|
+
resolvedCredentials = boundProvider;
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
get() {
|
|
835
|
+
return resolvedCredentials;
|
|
836
|
+
},
|
|
837
|
+
enumerable: true,
|
|
838
|
+
configurable: true
|
|
839
|
+
});
|
|
840
|
+
config.credentials = inputCredentials;
|
|
841
|
+
const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256 } = config;
|
|
842
|
+
let signer;
|
|
843
|
+
if (config.signer) {
|
|
844
|
+
signer = normalizeProvider2(config.signer);
|
|
845
|
+
} else if (config.regionInfoProvider) {
|
|
846
|
+
signer = () => normalizeProvider2(config.region)().then(async (region) => [
|
|
847
|
+
await config.regionInfoProvider(region, {
|
|
848
|
+
useFipsEndpoint: await config.useFipsEndpoint(),
|
|
849
|
+
useDualstackEndpoint: await config.useDualstackEndpoint()
|
|
850
|
+
}) || {},
|
|
851
|
+
region
|
|
852
|
+
]).then(([regionInfo, region]) => {
|
|
853
|
+
const { signingRegion, signingService } = regionInfo;
|
|
854
|
+
config.signingRegion = config.signingRegion || signingRegion || region;
|
|
855
|
+
config.signingName = config.signingName || signingService || config.serviceId;
|
|
856
|
+
const params = {
|
|
857
|
+
...config,
|
|
858
|
+
credentials: config.credentials,
|
|
859
|
+
region: config.signingRegion,
|
|
860
|
+
service: config.signingName,
|
|
861
|
+
sha256,
|
|
862
|
+
uriEscapePath: signingEscapePath
|
|
863
|
+
};
|
|
864
|
+
const SignerCtor = config.signerConstructor || SignatureV4;
|
|
865
|
+
return new SignerCtor(params);
|
|
866
|
+
});
|
|
867
|
+
} else {
|
|
868
|
+
signer = async (authScheme) => {
|
|
869
|
+
authScheme = Object.assign({}, {
|
|
870
|
+
name: "sigv4",
|
|
871
|
+
signingName: config.signingName || config.defaultSigningName,
|
|
872
|
+
signingRegion: await normalizeProvider2(config.region)(),
|
|
873
|
+
properties: {}
|
|
874
|
+
}, authScheme);
|
|
875
|
+
const signingRegion = authScheme.signingRegion;
|
|
876
|
+
const signingService = authScheme.signingName;
|
|
877
|
+
config.signingRegion = config.signingRegion || signingRegion;
|
|
878
|
+
config.signingName = config.signingName || signingService || config.serviceId;
|
|
879
|
+
const params = {
|
|
880
|
+
...config,
|
|
881
|
+
credentials: config.credentials,
|
|
882
|
+
region: config.signingRegion,
|
|
883
|
+
service: config.signingName,
|
|
884
|
+
sha256,
|
|
885
|
+
uriEscapePath: signingEscapePath
|
|
886
|
+
};
|
|
887
|
+
const SignerCtor = config.signerConstructor || SignatureV4;
|
|
888
|
+
return new SignerCtor(params);
|
|
889
|
+
};
|
|
890
|
+
}
|
|
891
|
+
const resolvedConfig = Object.assign(config, {
|
|
892
|
+
systemClockOffset,
|
|
893
|
+
signingEscapePath,
|
|
894
|
+
signer
|
|
895
|
+
});
|
|
896
|
+
return resolvedConfig;
|
|
897
|
+
};
|
|
898
|
+
function normalizeCredentialProvider(config, { credentials, credentialDefaultProvider }) {
|
|
899
|
+
let credentialsProvider;
|
|
900
|
+
if (credentials) {
|
|
901
|
+
if (!credentials?.memoized) {
|
|
902
|
+
credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);
|
|
903
|
+
} else {
|
|
904
|
+
credentialsProvider = credentials;
|
|
905
|
+
}
|
|
906
|
+
} else {
|
|
907
|
+
if (credentialDefaultProvider) {
|
|
908
|
+
credentialsProvider = normalizeProvider2(credentialDefaultProvider(Object.assign({}, config, {
|
|
909
|
+
parentClientConfig: config
|
|
910
|
+
})));
|
|
911
|
+
} else {
|
|
912
|
+
credentialsProvider = async () => {
|
|
913
|
+
throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.");
|
|
914
|
+
};
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
credentialsProvider.memoized = true;
|
|
918
|
+
return credentialsProvider;
|
|
919
|
+
}
|
|
920
|
+
function bindCallerConfig(config, credentialsProvider) {
|
|
921
|
+
if (credentialsProvider.configBound) {
|
|
922
|
+
return credentialsProvider;
|
|
923
|
+
}
|
|
924
|
+
const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });
|
|
925
|
+
fn.memoized = credentialsProvider.memoized;
|
|
926
|
+
fn.configBound = true;
|
|
927
|
+
return fn;
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
// ../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js
|
|
931
|
+
import { Writable } from "stream";
|
|
932
|
+
var Collector = class extends Writable {
|
|
933
|
+
bufferedBytes = [];
|
|
934
|
+
_write(chunk, encoding, callback) {
|
|
935
|
+
this.bufferedBytes.push(chunk);
|
|
936
|
+
callback();
|
|
937
|
+
}
|
|
938
|
+
};
|
|
939
|
+
|
|
940
|
+
// ../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js
|
|
941
|
+
var streamCollector = (stream) => {
|
|
942
|
+
if (isReadableStreamInstance(stream)) {
|
|
943
|
+
return collectReadableStream(stream);
|
|
944
|
+
}
|
|
945
|
+
return new Promise((resolve, reject) => {
|
|
946
|
+
const collector = new Collector();
|
|
947
|
+
stream.pipe(collector);
|
|
948
|
+
stream.on("error", (err) => {
|
|
949
|
+
collector.end();
|
|
950
|
+
reject(err);
|
|
951
|
+
});
|
|
952
|
+
collector.on("error", reject);
|
|
953
|
+
collector.on("finish", function() {
|
|
954
|
+
const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));
|
|
955
|
+
resolve(bytes);
|
|
956
|
+
});
|
|
957
|
+
});
|
|
958
|
+
};
|
|
959
|
+
var isReadableStreamInstance = (stream) => typeof ReadableStream === "function" && stream instanceof ReadableStream;
|
|
960
|
+
async function collectReadableStream(stream) {
|
|
961
|
+
const chunks = [];
|
|
962
|
+
const reader = stream.getReader();
|
|
963
|
+
let isDone = false;
|
|
964
|
+
let length = 0;
|
|
965
|
+
while (!isDone) {
|
|
966
|
+
const { done, value } = await reader.read();
|
|
967
|
+
if (value) {
|
|
968
|
+
chunks.push(value);
|
|
969
|
+
length += value.length;
|
|
970
|
+
}
|
|
971
|
+
isDone = done;
|
|
972
|
+
}
|
|
973
|
+
const collected = new Uint8Array(length);
|
|
974
|
+
let offset = 0;
|
|
975
|
+
for (const chunk of chunks) {
|
|
976
|
+
collected.set(chunk, offset);
|
|
977
|
+
offset += chunk.length;
|
|
978
|
+
}
|
|
979
|
+
return collected;
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js
|
|
983
|
+
var ProtocolLib = class {
|
|
984
|
+
queryCompat;
|
|
985
|
+
errorRegistry;
|
|
986
|
+
constructor(queryCompat = false) {
|
|
987
|
+
this.queryCompat = queryCompat;
|
|
988
|
+
}
|
|
989
|
+
resolveRestContentType(defaultContentType, inputSchema) {
|
|
990
|
+
const members = inputSchema.getMemberSchemas();
|
|
991
|
+
const httpPayloadMember = Object.values(members).find((m) => {
|
|
992
|
+
return !!m.getMergedTraits().httpPayload;
|
|
993
|
+
});
|
|
994
|
+
if (httpPayloadMember) {
|
|
995
|
+
const mediaType = httpPayloadMember.getMergedTraits().mediaType;
|
|
996
|
+
if (mediaType) {
|
|
997
|
+
return mediaType;
|
|
998
|
+
} else if (httpPayloadMember.isStringSchema()) {
|
|
999
|
+
return "text/plain";
|
|
1000
|
+
} else if (httpPayloadMember.isBlobSchema()) {
|
|
1001
|
+
return "application/octet-stream";
|
|
1002
|
+
} else {
|
|
1003
|
+
return defaultContentType;
|
|
1004
|
+
}
|
|
1005
|
+
} else if (!inputSchema.isUnitSchema()) {
|
|
1006
|
+
const hasBody = Object.values(members).find((m) => {
|
|
1007
|
+
const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();
|
|
1008
|
+
const noPrefixHeaders = httpPrefixHeaders === void 0;
|
|
1009
|
+
return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;
|
|
1010
|
+
});
|
|
1011
|
+
if (hasBody) {
|
|
1012
|
+
return defaultContentType;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {
|
|
1017
|
+
let errorName = errorIdentifier;
|
|
1018
|
+
if (errorIdentifier.includes("#")) {
|
|
1019
|
+
[, errorName] = errorIdentifier.split("#");
|
|
1020
|
+
}
|
|
1021
|
+
const errorMetadata = {
|
|
1022
|
+
$metadata: metadata,
|
|
1023
|
+
$fault: response.statusCode < 500 ? "client" : "server"
|
|
1024
|
+
};
|
|
1025
|
+
if (!this.errorRegistry) {
|
|
1026
|
+
throw new Error("@aws-sdk/core/protocols - error handler not initialized.");
|
|
1027
|
+
}
|
|
1028
|
+
try {
|
|
1029
|
+
const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ?? this.errorRegistry.getSchema(errorIdentifier);
|
|
1030
|
+
return { errorSchema, errorMetadata };
|
|
1031
|
+
} catch (e) {
|
|
1032
|
+
dataObject.message = dataObject.message ?? dataObject.Message ?? "UnknownError";
|
|
1033
|
+
const synthetic = this.errorRegistry;
|
|
1034
|
+
const baseExceptionSchema = synthetic.getBaseException();
|
|
1035
|
+
if (baseExceptionSchema) {
|
|
1036
|
+
const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;
|
|
1037
|
+
throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);
|
|
1038
|
+
}
|
|
1039
|
+
const d = dataObject;
|
|
1040
|
+
const message = d?.message ?? d?.Message ?? d?.Error?.Message ?? d?.Error?.message;
|
|
1041
|
+
throw this.decorateServiceException(Object.assign(new Error(message), {
|
|
1042
|
+
name: errorName
|
|
1043
|
+
}, errorMetadata), dataObject);
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
compose(composite, errorIdentifier, defaultNamespace) {
|
|
1047
|
+
let namespace = defaultNamespace;
|
|
1048
|
+
if (errorIdentifier.includes("#")) {
|
|
1049
|
+
[namespace] = errorIdentifier.split("#");
|
|
1050
|
+
}
|
|
1051
|
+
const staticRegistry = TypeRegistry.for(namespace);
|
|
1052
|
+
const defaultSyntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + defaultNamespace);
|
|
1053
|
+
composite.copyFrom(staticRegistry);
|
|
1054
|
+
composite.copyFrom(defaultSyntheticRegistry);
|
|
1055
|
+
this.errorRegistry = composite;
|
|
1056
|
+
}
|
|
1057
|
+
decorateServiceException(exception, additions = {}) {
|
|
1058
|
+
if (this.queryCompat) {
|
|
1059
|
+
const msg = exception.Message ?? additions.Message;
|
|
1060
|
+
const error = decorateServiceException(exception, additions);
|
|
1061
|
+
if (msg) {
|
|
1062
|
+
error.message = msg;
|
|
1063
|
+
}
|
|
1064
|
+
const errorObj = error.Error ?? {};
|
|
1065
|
+
errorObj.Type = error.Error?.Type;
|
|
1066
|
+
errorObj.Code = error.Error?.Code;
|
|
1067
|
+
errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;
|
|
1068
|
+
error.Error = errorObj;
|
|
1069
|
+
const reqId = error.$metadata.requestId;
|
|
1070
|
+
if (reqId) {
|
|
1071
|
+
error.RequestId = reqId;
|
|
1072
|
+
}
|
|
1073
|
+
return error;
|
|
1074
|
+
}
|
|
1075
|
+
return decorateServiceException(exception, additions);
|
|
1076
|
+
}
|
|
1077
|
+
setQueryCompatError(output, response) {
|
|
1078
|
+
const queryErrorHeader = response.headers?.["x-amzn-query-error"];
|
|
1079
|
+
if (output !== void 0 && queryErrorHeader != null) {
|
|
1080
|
+
const [Code, Type] = queryErrorHeader.split(";");
|
|
1081
|
+
const keys = Object.keys(output);
|
|
1082
|
+
const Error2 = {
|
|
1083
|
+
Code,
|
|
1084
|
+
Type
|
|
1085
|
+
};
|
|
1086
|
+
output.Code = Code;
|
|
1087
|
+
output.Type = Type;
|
|
1088
|
+
for (let i = 0; i < keys.length; i++) {
|
|
1089
|
+
const k = keys[i];
|
|
1090
|
+
Error2[k === "message" ? "Message" : k] = output[k];
|
|
1091
|
+
}
|
|
1092
|
+
delete Error2.__type;
|
|
1093
|
+
output.Error = Error2;
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
queryCompatOutput(queryCompatErrorData, errorData) {
|
|
1097
|
+
if (queryCompatErrorData.Error) {
|
|
1098
|
+
errorData.Error = queryCompatErrorData.Error;
|
|
1099
|
+
}
|
|
1100
|
+
if (queryCompatErrorData.Type) {
|
|
1101
|
+
errorData.Type = queryCompatErrorData.Type;
|
|
1102
|
+
}
|
|
1103
|
+
if (queryCompatErrorData.Code) {
|
|
1104
|
+
errorData.Code = queryCompatErrorData.Code;
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
findQueryCompatibleError(registry, errorName) {
|
|
1108
|
+
try {
|
|
1109
|
+
return registry.getSchema(errorName);
|
|
1110
|
+
} catch (e) {
|
|
1111
|
+
return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
};
|
|
1115
|
+
|
|
1116
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js
|
|
1117
|
+
var SerdeContextConfig = class {
|
|
1118
|
+
serdeContext;
|
|
1119
|
+
setSerdeContext(serdeContext) {
|
|
1120
|
+
this.serdeContext = serdeContext;
|
|
1121
|
+
}
|
|
1122
|
+
};
|
|
1123
|
+
|
|
1124
|
+
// ../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js
|
|
1125
|
+
var UnionSerde = class {
|
|
1126
|
+
from;
|
|
1127
|
+
to;
|
|
1128
|
+
keys;
|
|
1129
|
+
constructor(from, to) {
|
|
1130
|
+
this.from = from;
|
|
1131
|
+
this.to = to;
|
|
1132
|
+
const keys = Object.keys(this.from);
|
|
1133
|
+
const set = new Set(keys);
|
|
1134
|
+
set.delete("__type");
|
|
1135
|
+
this.keys = set;
|
|
1136
|
+
}
|
|
1137
|
+
mark(key) {
|
|
1138
|
+
this.keys.delete(key);
|
|
1139
|
+
}
|
|
1140
|
+
hasUnknown() {
|
|
1141
|
+
return this.keys.size === 1 && Object.keys(this.to).length === 0;
|
|
1142
|
+
}
|
|
1143
|
+
writeUnknown() {
|
|
1144
|
+
if (this.hasUnknown()) {
|
|
1145
|
+
const k = this.keys.values().next().value;
|
|
1146
|
+
const v = this.from[k];
|
|
1147
|
+
this.to.$unknown = [k, v];
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
};
|
|
1151
|
+
|
|
1152
|
+
export {
|
|
1153
|
+
getSchemaSerdePlugin,
|
|
1154
|
+
AwsSdkSigV4Signer,
|
|
1155
|
+
AwsSdkSigV4ASigner,
|
|
1156
|
+
NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,
|
|
1157
|
+
resolveAwsSdkSigV4AConfig,
|
|
1158
|
+
NODE_SIGV4A_CONFIG_OPTIONS,
|
|
1159
|
+
SignatureV4,
|
|
1160
|
+
resolveAwsSdkSigV4Config,
|
|
1161
|
+
streamCollector,
|
|
1162
|
+
ProtocolLib,
|
|
1163
|
+
SerdeContextConfig,
|
|
1164
|
+
UnionSerde
|
|
1165
|
+
};
|
|
1166
|
+
//# sourceMappingURL=chunk-MWZWSKZD.js.map
|