mirror of
https://github.com/tvytlx/ai-agent-deep-dive.git
synced 2026-04-05 00:24:50 +08:00
Add extracted source directory and README navigation
This commit is contained in:
2000
extracted-source/node_modules/@aws-sdk/core/dist-cjs/index.js
generated
vendored
Normal file
2000
extracted-source/node_modules/@aws-sdk/core/dist-cjs/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
51
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js
generated
vendored
Normal file
51
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
'use strict';
|
||||
|
||||
const state = {
|
||||
warningEmitted: false,
|
||||
};
|
||||
const emitWarningIfUnsupportedVersion = (version) => {
|
||||
if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 18) {
|
||||
state.warningEmitted = true;
|
||||
process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
||||
no longer support Node.js 16.x on January 6, 2025.
|
||||
|
||||
To continue receiving updates to AWS services, bug fixes, and security
|
||||
updates please upgrade to a supported Node.js LTS version.
|
||||
|
||||
More information can be found at: https://a.co/74kJMmI`);
|
||||
}
|
||||
};
|
||||
|
||||
function setCredentialFeature(credentials, feature, value) {
|
||||
if (!credentials.$source) {
|
||||
credentials.$source = {};
|
||||
}
|
||||
credentials.$source[feature] = value;
|
||||
return credentials;
|
||||
}
|
||||
|
||||
function setFeature(context, feature, value) {
|
||||
if (!context.__aws_sdk_context) {
|
||||
context.__aws_sdk_context = {
|
||||
features: {},
|
||||
};
|
||||
}
|
||||
else if (!context.__aws_sdk_context.features) {
|
||||
context.__aws_sdk_context.features = {};
|
||||
}
|
||||
context.__aws_sdk_context.features[feature] = value;
|
||||
}
|
||||
|
||||
function setTokenFeature(token, feature, value) {
|
||||
if (!token.$source) {
|
||||
token.$source = {};
|
||||
}
|
||||
token.$source[feature] = value;
|
||||
return token;
|
||||
}
|
||||
|
||||
exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;
|
||||
exports.setCredentialFeature = setCredentialFeature;
|
||||
exports.setFeature = setFeature;
|
||||
exports.setTokenFeature = setTokenFeature;
|
||||
exports.state = state;
|
||||
299
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js
generated
vendored
Normal file
299
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js
generated
vendored
Normal file
@@ -0,0 +1,299 @@
|
||||
'use strict';
|
||||
|
||||
var protocolHttp = require('@smithy/protocol-http');
|
||||
var core = require('@smithy/core');
|
||||
var propertyProvider = require('@smithy/property-provider');
|
||||
var client = require('@aws-sdk/core/client');
|
||||
var signatureV4 = require('@smithy/signature-v4');
|
||||
|
||||
const getDateHeader = (response) => protocolHttp.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;
|
||||
|
||||
const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
|
||||
|
||||
const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
|
||||
|
||||
const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
|
||||
const clockTimeInMs = Date.parse(clockTime);
|
||||
if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
|
||||
return clockTimeInMs - Date.now();
|
||||
}
|
||||
return currentSystemClockOffset;
|
||||
};
|
||||
|
||||
const throwSigningPropertyError = (name, property) => {
|
||||
if (!property) {
|
||||
throw new Error(`Property \`${name}\` is not resolved for AWS SDK SigV4Auth`);
|
||||
}
|
||||
return property;
|
||||
};
|
||||
const validateSigningProperties = async (signingProperties) => {
|
||||
const context = throwSigningPropertyError("context", signingProperties.context);
|
||||
const config = throwSigningPropertyError("config", signingProperties.config);
|
||||
const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
|
||||
const signerFunction = throwSigningPropertyError("signer", config.signer);
|
||||
const signer = await signerFunction(authScheme);
|
||||
const signingRegion = signingProperties?.signingRegion;
|
||||
const signingRegionSet = signingProperties?.signingRegionSet;
|
||||
const signingName = signingProperties?.signingName;
|
||||
return {
|
||||
config,
|
||||
signer,
|
||||
signingRegion,
|
||||
signingRegionSet,
|
||||
signingName,
|
||||
};
|
||||
};
|
||||
class AwsSdkSigV4Signer {
|
||||
async sign(httpRequest, identity, signingProperties) {
|
||||
if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
|
||||
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
|
||||
}
|
||||
const validatedProps = await validateSigningProperties(signingProperties);
|
||||
const { config, signer } = validatedProps;
|
||||
let { signingRegion, signingName } = validatedProps;
|
||||
const handlerExecutionContext = signingProperties.context;
|
||||
if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {
|
||||
const [first, second] = handlerExecutionContext.authSchemes;
|
||||
if (first?.name === "sigv4a" && second?.name === "sigv4") {
|
||||
signingRegion = second?.signingRegion ?? signingRegion;
|
||||
signingName = second?.signingName ?? signingName;
|
||||
}
|
||||
}
|
||||
const signedRequest = await signer.sign(httpRequest, {
|
||||
signingDate: getSkewCorrectedDate(config.systemClockOffset),
|
||||
signingRegion: signingRegion,
|
||||
signingService: signingName,
|
||||
});
|
||||
return signedRequest;
|
||||
}
|
||||
errorHandler(signingProperties) {
|
||||
return (error) => {
|
||||
const serverTime = error.ServerTime ?? getDateHeader(error.$response);
|
||||
if (serverTime) {
|
||||
const config = throwSigningPropertyError("config", signingProperties.config);
|
||||
const initialSystemClockOffset = config.systemClockOffset;
|
||||
config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);
|
||||
const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;
|
||||
if (clockSkewCorrected && error.$metadata) {
|
||||
error.$metadata.clockSkewCorrected = true;
|
||||
}
|
||||
}
|
||||
throw error;
|
||||
};
|
||||
}
|
||||
successHandler(httpResponse, signingProperties) {
|
||||
const dateHeader = getDateHeader(httpResponse);
|
||||
if (dateHeader) {
|
||||
const config = throwSigningPropertyError("config", signingProperties.config);
|
||||
config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
const AWSSDKSigV4Signer = AwsSdkSigV4Signer;
|
||||
|
||||
class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
|
||||
async sign(httpRequest, identity, signingProperties) {
|
||||
if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
|
||||
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
|
||||
}
|
||||
const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
|
||||
const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();
|
||||
const multiRegionOverride = (configResolvedSigningRegionSet ??
|
||||
signingRegionSet ?? [signingRegion]).join(",");
|
||||
const signedRequest = await signer.sign(httpRequest, {
|
||||
signingDate: getSkewCorrectedDate(config.systemClockOffset),
|
||||
signingRegion: multiRegionOverride,
|
||||
signingService: signingName,
|
||||
});
|
||||
return signedRequest;
|
||||
}
|
||||
}
|
||||
|
||||
const getArrayForCommaSeparatedString = (str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [];
|
||||
|
||||
const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`;
|
||||
|
||||
const NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE";
|
||||
const NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference";
|
||||
const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {
|
||||
environmentVariableSelector: (env, options) => {
|
||||
if (options?.signingName) {
|
||||
const bearerTokenKey = getBearerTokenEnvKey(options.signingName);
|
||||
if (bearerTokenKey in env)
|
||||
return ["httpBearerAuth"];
|
||||
}
|
||||
if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))
|
||||
return undefined;
|
||||
return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);
|
||||
},
|
||||
configFileSelector: (profile) => {
|
||||
if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))
|
||||
return undefined;
|
||||
return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);
|
||||
},
|
||||
default: [],
|
||||
};
|
||||
|
||||
const resolveAwsSdkSigV4AConfig = (config) => {
|
||||
config.sigv4aSigningRegionSet = core.normalizeProvider(config.sigv4aSigningRegionSet);
|
||||
return config;
|
||||
};
|
||||
const NODE_SIGV4A_CONFIG_OPTIONS = {
|
||||
environmentVariableSelector(env) {
|
||||
if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
|
||||
return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
|
||||
}
|
||||
throw new propertyProvider.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
|
||||
tryNextLink: true,
|
||||
});
|
||||
},
|
||||
configFileSelector(profile) {
|
||||
if (profile.sigv4a_signing_region_set) {
|
||||
return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
|
||||
}
|
||||
throw new propertyProvider.ProviderError("sigv4a_signing_region_set not set in profile.", {
|
||||
tryNextLink: true,
|
||||
});
|
||||
},
|
||||
default: undefined,
|
||||
};
|
||||
|
||||
const resolveAwsSdkSigV4Config = (config) => {
|
||||
let inputCredentials = config.credentials;
|
||||
let isUserSupplied = !!config.credentials;
|
||||
let resolvedCredentials = undefined;
|
||||
Object.defineProperty(config, "credentials", {
|
||||
set(credentials) {
|
||||
if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {
|
||||
isUserSupplied = true;
|
||||
}
|
||||
inputCredentials = credentials;
|
||||
const memoizedProvider = normalizeCredentialProvider(config, {
|
||||
credentials: inputCredentials,
|
||||
credentialDefaultProvider: config.credentialDefaultProvider,
|
||||
});
|
||||
const boundProvider = bindCallerConfig(config, memoizedProvider);
|
||||
if (isUserSupplied && !boundProvider.attributed) {
|
||||
resolvedCredentials = async (options) => boundProvider(options).then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_CODE", "e"));
|
||||
resolvedCredentials.memoized = boundProvider.memoized;
|
||||
resolvedCredentials.configBound = boundProvider.configBound;
|
||||
resolvedCredentials.attributed = true;
|
||||
}
|
||||
else {
|
||||
resolvedCredentials = boundProvider;
|
||||
}
|
||||
},
|
||||
get() {
|
||||
return resolvedCredentials;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
});
|
||||
config.credentials = inputCredentials;
|
||||
const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;
|
||||
let signer;
|
||||
if (config.signer) {
|
||||
signer = core.normalizeProvider(config.signer);
|
||||
}
|
||||
else if (config.regionInfoProvider) {
|
||||
signer = () => core.normalizeProvider(config.region)()
|
||||
.then(async (region) => [
|
||||
(await config.regionInfoProvider(region, {
|
||||
useFipsEndpoint: await config.useFipsEndpoint(),
|
||||
useDualstackEndpoint: await config.useDualstackEndpoint(),
|
||||
})) || {},
|
||||
region,
|
||||
])
|
||||
.then(([regionInfo, region]) => {
|
||||
const { signingRegion, signingService } = regionInfo;
|
||||
config.signingRegion = config.signingRegion || signingRegion || region;
|
||||
config.signingName = config.signingName || signingService || config.serviceId;
|
||||
const params = {
|
||||
...config,
|
||||
credentials: config.credentials,
|
||||
region: config.signingRegion,
|
||||
service: config.signingName,
|
||||
sha256,
|
||||
uriEscapePath: signingEscapePath,
|
||||
};
|
||||
const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;
|
||||
return new SignerCtor(params);
|
||||
});
|
||||
}
|
||||
else {
|
||||
signer = async (authScheme) => {
|
||||
authScheme = Object.assign({}, {
|
||||
name: "sigv4",
|
||||
signingName: config.signingName || config.defaultSigningName,
|
||||
signingRegion: await core.normalizeProvider(config.region)(),
|
||||
properties: {},
|
||||
}, authScheme);
|
||||
const signingRegion = authScheme.signingRegion;
|
||||
const signingService = authScheme.signingName;
|
||||
config.signingRegion = config.signingRegion || signingRegion;
|
||||
config.signingName = config.signingName || signingService || config.serviceId;
|
||||
const params = {
|
||||
...config,
|
||||
credentials: config.credentials,
|
||||
region: config.signingRegion,
|
||||
service: config.signingName,
|
||||
sha256,
|
||||
uriEscapePath: signingEscapePath,
|
||||
};
|
||||
const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;
|
||||
return new SignerCtor(params);
|
||||
};
|
||||
}
|
||||
const resolvedConfig = Object.assign(config, {
|
||||
systemClockOffset,
|
||||
signingEscapePath,
|
||||
signer,
|
||||
});
|
||||
return resolvedConfig;
|
||||
};
|
||||
const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
|
||||
function normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {
|
||||
let credentialsProvider;
|
||||
if (credentials) {
|
||||
if (!credentials?.memoized) {
|
||||
credentialsProvider = core.memoizeIdentityProvider(credentials, core.isIdentityExpired, core.doesIdentityRequireRefresh);
|
||||
}
|
||||
else {
|
||||
credentialsProvider = credentials;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (credentialDefaultProvider) {
|
||||
credentialsProvider = core.normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {
|
||||
parentClientConfig: config,
|
||||
})));
|
||||
}
|
||||
else {
|
||||
credentialsProvider = async () => {
|
||||
throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.");
|
||||
};
|
||||
}
|
||||
}
|
||||
credentialsProvider.memoized = true;
|
||||
return credentialsProvider;
|
||||
}
|
||||
function bindCallerConfig(config, credentialsProvider) {
|
||||
if (credentialsProvider.configBound) {
|
||||
return credentialsProvider;
|
||||
}
|
||||
const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });
|
||||
fn.memoized = credentialsProvider.memoized;
|
||||
fn.configBound = true;
|
||||
return fn;
|
||||
}
|
||||
|
||||
exports.AWSSDKSigV4Signer = AWSSDKSigV4Signer;
|
||||
exports.AwsSdkSigV4ASigner = AwsSdkSigV4ASigner;
|
||||
exports.AwsSdkSigV4Signer = AwsSdkSigV4Signer;
|
||||
exports.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = NODE_AUTH_SCHEME_PREFERENCE_OPTIONS;
|
||||
exports.NODE_SIGV4A_CONFIG_OPTIONS = NODE_SIGV4A_CONFIG_OPTIONS;
|
||||
exports.getBearerTokenEnvKey = getBearerTokenEnvKey;
|
||||
exports.resolveAWSSDKSigV4Config = resolveAWSSDKSigV4Config;
|
||||
exports.resolveAwsSdkSigV4AConfig = resolveAwsSdkSigV4AConfig;
|
||||
exports.resolveAwsSdkSigV4Config = resolveAwsSdkSigV4Config;
|
||||
exports.validateSigningProperties = validateSigningProperties;
|
||||
1655
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js
generated
vendored
Normal file
1655
extracted-source/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user