@shawnstack/quickforge 1.3.20 → 1.3.22
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 +348 -348
- package/dist/assets/{anthropic-Bj3HAZgj.js → anthropic-CDKnv1FQ.js} +1 -1
- package/dist/assets/{azure-openai-responses-IdZZrSrI.js → azure-openai-responses-BnUwVl-8.js} +1 -1
- package/dist/assets/{google-Brt_lS1J.js → google-DOEyCDZy.js} +1 -1
- package/dist/assets/{google-vertex-B6HsoZ34.js → google-vertex-BPPf3car.js} +1 -1
- package/dist/assets/{icons-BHkxP7oT.js → icons-WD3UkVNM.js} +1 -1
- package/dist/assets/{index-D0CVLdX_.js → index-CjTN0qaQ.js} +586 -554
- package/dist/assets/index-eeLjaV06.css +3 -0
- package/dist/assets/{mistral-CenXqwPz.js → mistral-Ber29mja.js} +1 -1
- package/dist/assets/{openai-codex-responses-D9ffGwbj.js → openai-codex-responses-D8gq8a3l.js} +1 -1
- package/dist/assets/{openai-completions-eWdeSGBG.js → openai-completions-CATWPFBp.js} +1 -1
- package/dist/assets/{openai-responses-Cavpmjeu.js → openai-responses-DxcB6Ksu.js} +1 -1
- package/dist/assets/{openai-responses-shared-DF3ZGaUx.js → openai-responses-shared-a_PAPxTO.js} +1 -1
- package/dist/assets/{react-vendor-CmyL2roG.js → react-vendor-BcQaTQ90.js} +1 -1
- package/dist/index.html +4 -4
- package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +1 -0
- package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/enums.js +1 -0
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +11 -11
- package/node_modules/@aws-sdk/core/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +201 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +62 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +156 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +2 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +16 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +80 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +11 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +10 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +4 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +5 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +7 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +8 -0
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +69 -0
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +6 -6
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +4 -4
- package/node_modules/@nodable/entities/package.json +1 -1
- package/node_modules/@nodable/entities/src/EntityDecoder.js +1 -1
- package/node_modules/@nodable/entities/src/entities.js +0 -18
- package/node_modules/@smithy/core/dist-cjs/index.js +3 -4
- package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +3 -11
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +9 -40
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +9 -40
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +12 -142
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +7 -9
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +184 -0
- package/node_modules/@smithy/core/dist-es/index.js +6 -6
- package/node_modules/@smithy/core/dist-es/submodules/client/index.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +5 -5
- package/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +3 -4
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/transport/index.js +9 -0
- package/node_modules/@smithy/core/dist-es/submodules/{protocols/url-parser → transport}/parseUrl.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/{endpoints → transport}/toEndpointV1.js +1 -1
- package/node_modules/@smithy/core/package.json +19 -10
- package/node_modules/@smithy/core/transport.js +5 -0
- package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +14 -13
- package/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js +14 -13
- package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
- package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
- package/node_modules/@smithy/node-http-handler/package.json +2 -2
- package/node_modules/@smithy/signature-v4/package.json +2 -2
- package/node_modules/eventsource-parser/README.md +31 -0
- package/node_modules/eventsource-parser/dist/index.cjs +21 -10
- package/node_modules/eventsource-parser/dist/index.js +21 -10
- package/node_modules/eventsource-parser/dist/stream.cjs +4 -3
- package/node_modules/eventsource-parser/dist/stream.js +4 -3
- package/node_modules/eventsource-parser/package.json +8 -8
- package/node_modules/hasown/CHANGELOG.md +7 -0
- package/node_modules/hasown/package.json +4 -5
- package/node_modules/protobufjs/dist/light/protobuf.js +7 -5
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.js +7 -5
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/package.json +1 -1
- package/node_modules/protobufjs/src/converter.js +4 -2
- package/node_modules/protobufjs/src/roots.js +1 -1
- package/node_modules/typebox/build/type/script/mapping.mjs +15 -8
- package/node_modules/typebox/build/type/script/parser.mjs +2 -1
- package/node_modules/typebox/package.json +29 -29
- package/package.json +1 -1
- package/server/agent-manager.mjs +63 -25
- package/server/agent-profiles.mjs +191 -0
- package/server/auto-compaction.mjs +20 -0
- package/server/index.mjs +32 -8
- package/server/mcp/registry.mjs +13 -2
- package/server/routes/agent-profiles.mjs +172 -0
- package/server/routes/lan-access.mjs +20 -0
- package/server/routes/scheduled-tasks.mjs +161 -47
- package/server/routes/shared-conversation.mjs +14 -0
- package/server/routes/storage.mjs +10 -0
- package/server/routes/terminal.mjs +13 -3
- package/server/session-utils.mjs +2 -2
- package/server/storage.mjs +3 -4
- package/server/system-prompt.mjs +10 -5
- package/server/terminal/terminal-manager.mjs +9 -1
- package/server/tools/definitions.mjs +2 -7
- package/server/utils/response.mjs +4 -0
- package/dist/assets/index-D0W9hAl_.css +0 -3
- package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -21
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +0 -21
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +0 -46
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +0 -24
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +0 -19
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +0 -27
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +0 -5
- package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +0 -10
- package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +0 -44
- package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +0 -5
- package/node_modules/@smithy/core/dist-cjs/setFeature.js +0 -14
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +0 -18
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +0 -38
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +0 -15
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +0 -9
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +0 -61
- package/node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js +0 -1
- package/node_modules/@smithy/core/dist-es/submodules/client/util-middleware/getSmithyContext.js +0 -2
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/TestVectors.fixture.js +0 -146
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/vectorTypes.fixture.js +0 -1
- package/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/index.js +0 -2
- package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +0 -21
- package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +0 -88
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +0 -21
- package/node_modules/@smithy/signature-v4/dist-es/suite.fixture.js +0 -399
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemePlugin.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/httpAuthSchemeMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/resolveAuthOptions.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/getHttpSigningMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/httpSigningMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{pagination → legacy-root-exports/pagination}/createPaginator.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/DefaultIdentityProviderConfig.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpApiKeyAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpBearerAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/noAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/memoizeIdentityProvider.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{getSmithyContext.js → submodules/transport/getSmithyContext.js} +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpRequest.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpResponse.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{endpoints/util-endpoints/lib → transport}/isValidHostLabel.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/isValidHostname.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{client/util-middleware → transport}/normalizeProvider.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/querystring-parser → transport}/parseQueryString.js +0 -0
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var protocols = require('@smithy/core/protocols');
|
|
5
|
-
var endpoints = require('@smithy/core/endpoints');
|
|
3
|
+
var transport = require('@smithy/core/transport');
|
|
6
4
|
|
|
7
5
|
const deref = (schemaRef) => {
|
|
8
6
|
if (typeof schemaRef === "function") {
|
|
@@ -21,7 +19,7 @@ const operation = (namespace, name, traits, input, output) => ({
|
|
|
21
19
|
|
|
22
20
|
const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {
|
|
23
21
|
const { response } = await next(args);
|
|
24
|
-
const { operationSchema } =
|
|
22
|
+
const { operationSchema } = transport.getSmithyContext(context);
|
|
25
23
|
const [, ns, n, t, i, o] = operationSchema ?? [];
|
|
26
24
|
try {
|
|
27
25
|
const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {
|
|
@@ -59,11 +57,11 @@ const schemaDeserializationMiddleware = (config) => (next, context) => async (ar
|
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
try {
|
|
62
|
-
if (
|
|
63
|
-
const { headers = {} } = response;
|
|
60
|
+
if (transport.HttpResponse.isInstance(response)) {
|
|
61
|
+
const { headers = {}, statusCode } = response;
|
|
64
62
|
const headerEntries = Object.entries(headers);
|
|
65
63
|
error.$metadata = {
|
|
66
|
-
httpStatusCode:
|
|
64
|
+
httpStatusCode: statusCode,
|
|
67
65
|
requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
|
|
68
66
|
extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
|
|
69
67
|
cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries),
|
|
@@ -83,10 +81,10 @@ const findHeader = (pattern, headers) => {
|
|
|
83
81
|
};
|
|
84
82
|
|
|
85
83
|
const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {
|
|
86
|
-
const { operationSchema } =
|
|
84
|
+
const { operationSchema } = transport.getSmithyContext(context);
|
|
87
85
|
const [, ns, n, t, i, o] = operationSchema ?? [];
|
|
88
86
|
const endpoint = context.endpointV2
|
|
89
|
-
? async () =>
|
|
87
|
+
? async () => transport.toEndpointV1(context.endpointV2)
|
|
90
88
|
: config.endpoint;
|
|
91
89
|
const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {
|
|
92
90
|
...config,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var transport = require('@smithy/core/transport');
|
|
4
4
|
var endpoints = require('@smithy/core/endpoints');
|
|
5
5
|
|
|
6
6
|
const chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;
|
|
@@ -912,7 +912,7 @@ const deserializerMiddleware = (options, deserializer) => (next, context) => asy
|
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
914
|
try {
|
|
915
|
-
if (
|
|
915
|
+
if (transport.HttpResponse.isInstance(response)) {
|
|
916
916
|
const { headers = {} } = response;
|
|
917
917
|
const headerEntries = Object.entries(headers);
|
|
918
918
|
error.$metadata = {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
|
-
var
|
|
5
|
+
var transport = require('@smithy/core/transport');
|
|
6
6
|
var endpoints = require('@smithy/core/endpoints');
|
|
7
7
|
var node_stream = require('node:stream');
|
|
8
8
|
|
|
@@ -877,7 +877,7 @@ const deserializerMiddleware = (options, deserializer) => (next, context) => asy
|
|
|
877
877
|
}
|
|
878
878
|
}
|
|
879
879
|
try {
|
|
880
|
-
if (
|
|
880
|
+
if (transport.HttpResponse.isInstance(response)) {
|
|
881
881
|
const { headers = {} } = response;
|
|
882
882
|
const headerEntries = Object.entries(headers);
|
|
883
883
|
error.$metadata = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var transport = require('@smithy/core/transport');
|
|
4
4
|
var endpoints = require('@smithy/core/endpoints');
|
|
5
5
|
|
|
6
6
|
const chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;
|
|
@@ -912,7 +912,7 @@ const deserializerMiddleware = (options, deserializer) => (next, context) => asy
|
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
914
|
try {
|
|
915
|
-
if (
|
|
915
|
+
if (transport.HttpResponse.isInstance(response)) {
|
|
916
916
|
const { headers = {} } = response;
|
|
917
917
|
const headerEntries = Object.entries(headers);
|
|
918
918
|
error.$metadata = {
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var types = require('@smithy/types');
|
|
4
|
+
|
|
5
|
+
const getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
|
|
6
|
+
|
|
7
|
+
class HttpRequest {
|
|
8
|
+
method;
|
|
9
|
+
protocol;
|
|
10
|
+
hostname;
|
|
11
|
+
port;
|
|
12
|
+
path;
|
|
13
|
+
query;
|
|
14
|
+
headers;
|
|
15
|
+
username;
|
|
16
|
+
password;
|
|
17
|
+
fragment;
|
|
18
|
+
body;
|
|
19
|
+
constructor(options) {
|
|
20
|
+
this.method = options.method || "GET";
|
|
21
|
+
this.hostname = options.hostname || "localhost";
|
|
22
|
+
this.port = options.port;
|
|
23
|
+
this.query = options.query || {};
|
|
24
|
+
this.headers = options.headers || {};
|
|
25
|
+
this.body = options.body;
|
|
26
|
+
this.protocol = options.protocol
|
|
27
|
+
? options.protocol.slice(-1) !== ":"
|
|
28
|
+
? `${options.protocol}:`
|
|
29
|
+
: options.protocol
|
|
30
|
+
: "https:";
|
|
31
|
+
this.path = options.path ? (options.path.charAt(0) !== "/" ? `/${options.path}` : options.path) : "/";
|
|
32
|
+
this.username = options.username;
|
|
33
|
+
this.password = options.password;
|
|
34
|
+
this.fragment = options.fragment;
|
|
35
|
+
}
|
|
36
|
+
static clone(request) {
|
|
37
|
+
const cloned = new HttpRequest({
|
|
38
|
+
...request,
|
|
39
|
+
headers: { ...request.headers },
|
|
40
|
+
});
|
|
41
|
+
if (cloned.query) {
|
|
42
|
+
cloned.query = cloneQuery(cloned.query);
|
|
43
|
+
}
|
|
44
|
+
return cloned;
|
|
45
|
+
}
|
|
46
|
+
static isInstance(request) {
|
|
47
|
+
if (!request) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const req = request;
|
|
51
|
+
return ("method" in req &&
|
|
52
|
+
"protocol" in req &&
|
|
53
|
+
"hostname" in req &&
|
|
54
|
+
"path" in req &&
|
|
55
|
+
typeof req["query"] === "object" &&
|
|
56
|
+
typeof req["headers"] === "object");
|
|
57
|
+
}
|
|
58
|
+
clone() {
|
|
59
|
+
return HttpRequest.clone(this);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function cloneQuery(query) {
|
|
63
|
+
return Object.keys(query).reduce((carry, paramName) => {
|
|
64
|
+
const param = query[paramName];
|
|
65
|
+
return {
|
|
66
|
+
...carry,
|
|
67
|
+
[paramName]: Array.isArray(param) ? [...param] : param,
|
|
68
|
+
};
|
|
69
|
+
}, {});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
class HttpResponse {
|
|
73
|
+
statusCode;
|
|
74
|
+
reason;
|
|
75
|
+
headers;
|
|
76
|
+
body;
|
|
77
|
+
constructor(options) {
|
|
78
|
+
this.statusCode = options.statusCode;
|
|
79
|
+
this.reason = options.reason;
|
|
80
|
+
this.headers = options.headers || {};
|
|
81
|
+
this.body = options.body;
|
|
82
|
+
}
|
|
83
|
+
static isInstance(response) {
|
|
84
|
+
if (!response)
|
|
85
|
+
return false;
|
|
86
|
+
const resp = response;
|
|
87
|
+
return typeof resp.statusCode === "number" && typeof resp.headers === "object";
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);
|
|
92
|
+
const isValidHostLabel = (value, allowSubDomains = false) => {
|
|
93
|
+
if (!allowSubDomains) {
|
|
94
|
+
return VALID_HOST_LABEL_REGEX.test(value);
|
|
95
|
+
}
|
|
96
|
+
const labels = value.split(".");
|
|
97
|
+
for (const label of labels) {
|
|
98
|
+
if (!isValidHostLabel(label)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
function isValidHostname(hostname) {
|
|
106
|
+
const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/;
|
|
107
|
+
return hostPattern.test(hostname);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const normalizeProvider = (input) => {
|
|
111
|
+
if (typeof input === "function")
|
|
112
|
+
return input;
|
|
113
|
+
const promisified = Promise.resolve(input);
|
|
114
|
+
return () => promisified;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
function parseQueryString(querystring) {
|
|
118
|
+
const query = {};
|
|
119
|
+
querystring = querystring.replace(/^\?/, "");
|
|
120
|
+
if (querystring) {
|
|
121
|
+
for (const pair of querystring.split("&")) {
|
|
122
|
+
let [key, value = null] = pair.split("=");
|
|
123
|
+
key = decodeURIComponent(key);
|
|
124
|
+
if (value) {
|
|
125
|
+
value = decodeURIComponent(value);
|
|
126
|
+
}
|
|
127
|
+
if (!(key in query)) {
|
|
128
|
+
query[key] = value;
|
|
129
|
+
}
|
|
130
|
+
else if (Array.isArray(query[key])) {
|
|
131
|
+
query[key].push(value);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
query[key] = [query[key], value];
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return query;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const parseUrl = (url) => {
|
|
142
|
+
if (typeof url === "string") {
|
|
143
|
+
return parseUrl(new URL(url));
|
|
144
|
+
}
|
|
145
|
+
const { hostname, pathname, port, protocol, search } = url;
|
|
146
|
+
let query;
|
|
147
|
+
if (search) {
|
|
148
|
+
query = parseQueryString(search);
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
hostname,
|
|
152
|
+
port: port ? parseInt(port) : undefined,
|
|
153
|
+
protocol,
|
|
154
|
+
path: pathname,
|
|
155
|
+
query,
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
const toEndpointV1 = (endpoint) => {
|
|
160
|
+
if (typeof endpoint === "object") {
|
|
161
|
+
if ("url" in endpoint) {
|
|
162
|
+
const v1Endpoint = parseUrl(endpoint.url);
|
|
163
|
+
if (endpoint.headers) {
|
|
164
|
+
v1Endpoint.headers = {};
|
|
165
|
+
for (const name in endpoint.headers) {
|
|
166
|
+
v1Endpoint.headers[name.toLowerCase()] = endpoint.headers[name].join(", ");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return v1Endpoint;
|
|
170
|
+
}
|
|
171
|
+
return endpoint;
|
|
172
|
+
}
|
|
173
|
+
return parseUrl(endpoint);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
exports.HttpRequest = HttpRequest;
|
|
177
|
+
exports.HttpResponse = HttpResponse;
|
|
178
|
+
exports.getSmithyContext = getSmithyContext;
|
|
179
|
+
exports.isValidHostLabel = isValidHostLabel;
|
|
180
|
+
exports.isValidHostname = isValidHostname;
|
|
181
|
+
exports.normalizeProvider = normalizeProvider;
|
|
182
|
+
exports.parseQueryString = parseQueryString;
|
|
183
|
+
exports.parseUrl = parseUrl;
|
|
184
|
+
exports.toEndpointV1 = toEndpointV1;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from "./middleware-http-auth-scheme";
|
|
3
|
-
export * from "./middleware-http-signing";
|
|
1
|
+
export { getSmithyContext } from "@smithy/core/transport";
|
|
2
|
+
export * from "./legacy-root-exports/middleware-http-auth-scheme";
|
|
3
|
+
export * from "./legacy-root-exports/middleware-http-signing";
|
|
4
4
|
export * from "./normalizeProvider";
|
|
5
|
-
export { createPaginator } from "./pagination/createPaginator";
|
|
6
|
-
export
|
|
5
|
+
export { createPaginator } from "./legacy-root-exports/pagination/createPaginator";
|
|
6
|
+
export { requestBuilder } from "@smithy/core/protocols";
|
|
7
7
|
export * from "./setFeature";
|
|
8
|
-
export * from "./util-identity-and-auth";
|
|
8
|
+
export * from "./legacy-root-exports/util-identity-and-auth";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { constructStack } from "./middleware-stack/MiddlewareStack";
|
|
2
|
-
export { getSmithyContext } from "
|
|
3
|
-
export { normalizeProvider } from "
|
|
2
|
+
export { getSmithyContext } from "@smithy/core/transport";
|
|
3
|
+
export { normalizeProvider } from "@smithy/core/transport";
|
|
4
4
|
export { invalidFunction } from "./invalid-dependency/invalidFunction";
|
|
5
5
|
export { invalidProvider } from "./invalid-dependency/invalidProvider";
|
|
6
6
|
export { createWaiter } from "./util-waiter/createWaiter";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isValidHostLabel } from "@smithy/core/
|
|
1
|
+
import { isValidHostLabel } from "@smithy/core/transport";
|
|
2
2
|
const validRegions = new Set();
|
|
3
3
|
export const checkRegion = (region, check = isValidHostLabel) => {
|
|
4
4
|
if (!validRegions.has(region) && !check(region)) {
|
|
@@ -3,12 +3,12 @@ import { bindGetEndpointFromInstructions } from "./middleware-endpoint/adaptors/
|
|
|
3
3
|
import { bindEndpointMiddleware } from "./middleware-endpoint/endpointMiddleware";
|
|
4
4
|
import { bindGetEndpointPlugin } from "./middleware-endpoint/getEndpointPlugin";
|
|
5
5
|
import { bindResolveEndpointConfig } from "./middleware-endpoint/resolveEndpointConfig";
|
|
6
|
-
export
|
|
6
|
+
export { toEndpointV1 } from "@smithy/core/transport";
|
|
7
7
|
export { BinaryDecisionDiagram } from "./util-endpoints/bdd/BinaryDecisionDiagram";
|
|
8
8
|
export { EndpointCache } from "./util-endpoints/cache/EndpointCache";
|
|
9
9
|
export { decideEndpoint } from "./util-endpoints/decideEndpoint";
|
|
10
10
|
export { isIpAddress } from "./util-endpoints/lib/isIpAddress";
|
|
11
|
-
export { isValidHostLabel } from "
|
|
11
|
+
export { isValidHostLabel } from "@smithy/core/transport";
|
|
12
12
|
export { customEndpointFunctions } from "./util-endpoints/utils/customEndpointFunctions";
|
|
13
13
|
export { resolveEndpoint } from "./util-endpoints/resolveEndpoint";
|
|
14
14
|
export * from "./util-endpoints/types";
|
|
@@ -3,12 +3,12 @@ import { bindGetEndpointFromInstructions } from "./middleware-endpoint/adaptors/
|
|
|
3
3
|
import { bindEndpointMiddleware } from "./middleware-endpoint/endpointMiddleware";
|
|
4
4
|
import { bindGetEndpointPlugin } from "./middleware-endpoint/getEndpointPlugin";
|
|
5
5
|
import { bindResolveEndpointConfig } from "./middleware-endpoint/resolveEndpointConfig";
|
|
6
|
-
export
|
|
6
|
+
export { toEndpointV1 } from "@smithy/core/transport";
|
|
7
7
|
export { BinaryDecisionDiagram } from "./util-endpoints/bdd/BinaryDecisionDiagram";
|
|
8
8
|
export { EndpointCache } from "./util-endpoints/cache/EndpointCache";
|
|
9
9
|
export { decideEndpoint } from "./util-endpoints/decideEndpoint";
|
|
10
10
|
export { isIpAddress } from "./util-endpoints/lib/isIpAddress";
|
|
11
|
-
export { isValidHostLabel } from "
|
|
11
|
+
export { isValidHostLabel } from "@smithy/core/transport";
|
|
12
12
|
export { customEndpointFunctions } from "./util-endpoints/utils/customEndpointFunctions";
|
|
13
13
|
export { resolveEndpoint } from "./util-endpoints/resolveEndpoint";
|
|
14
14
|
export * from "./util-endpoints/types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { toEndpointV1 } from "
|
|
1
|
+
export { toEndpointV1 } from "@smithy/core/transport";
|
|
@@ -2,7 +2,7 @@ export * from "./booleanEquals";
|
|
|
2
2
|
export * from "./coalesce";
|
|
3
3
|
export * from "./getAttr";
|
|
4
4
|
export * from "./isSet";
|
|
5
|
-
export
|
|
5
|
+
export { isValidHostLabel } from "@smithy/core/transport";
|
|
6
6
|
export * from "./ite";
|
|
7
7
|
export * from "./not";
|
|
8
8
|
export * from "./parseURL";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NormalizedSchema, translateTraits } from "@smithy/core/schema";
|
|
2
2
|
import { sdkStreamMixin, splitEvery, splitHeader } from "@smithy/core/serde";
|
|
3
|
+
import { HttpRequest } from "@smithy/core/transport";
|
|
3
4
|
import { HttpProtocol } from "./HttpProtocol";
|
|
4
5
|
import { collectBody } from "./collect-stream-body";
|
|
5
6
|
import { extendedEncodeURIComponent } from "./extended-encode-uri-component";
|
|
6
|
-
import { HttpRequest } from "./protocol-http/httpRequest";
|
|
7
7
|
export class HttpBindingProtocol extends HttpProtocol {
|
|
8
8
|
async serializeRequest(operationSchema, _input, context) {
|
|
9
9
|
const input = _input && typeof _input === "object" ? _input : {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { NormalizedSchema, TypeRegistry, translateTraits } from "@smithy/core/schema";
|
|
2
|
+
import { HttpRequest, HttpResponse } from "@smithy/core/transport";
|
|
2
3
|
import { SerdeContext } from "./SerdeContext";
|
|
3
|
-
import { HttpRequest } from "./protocol-http/httpRequest";
|
|
4
|
-
import { HttpResponse } from "./protocol-http/httpResponse";
|
|
5
4
|
export class HttpProtocol extends SerdeContext {
|
|
6
5
|
options;
|
|
7
6
|
compositeErrorRegistry;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NormalizedSchema } from "@smithy/core/schema";
|
|
2
|
+
import { HttpRequest } from "@smithy/core/transport";
|
|
2
3
|
import { HttpProtocol } from "./HttpProtocol";
|
|
3
4
|
import { collectBody } from "./collect-stream-body";
|
|
4
|
-
import { HttpRequest } from "./protocol-http/httpRequest";
|
|
5
5
|
export class RpcProtocol extends HttpProtocol {
|
|
6
6
|
async serializeRequest(operationSchema, _input, context) {
|
|
7
7
|
const serializer = this.serializer;
|
|
@@ -13,13 +13,13 @@ export * from "./serde/determineTimestampFormat";
|
|
|
13
13
|
export * from "./SerdeContext";
|
|
14
14
|
export { Field } from "./protocol-http/Field";
|
|
15
15
|
export { Fields } from "./protocol-http/Fields";
|
|
16
|
-
export { HttpRequest } from "
|
|
17
|
-
export { HttpResponse } from "
|
|
18
|
-
export { isValidHostname } from "
|
|
16
|
+
export { HttpRequest } from "@smithy/core/transport";
|
|
17
|
+
export { HttpResponse } from "@smithy/core/transport";
|
|
18
|
+
export { isValidHostname } from "@smithy/core/transport";
|
|
19
19
|
export { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, } from "./protocol-http/extensions/httpExtensionConfiguration";
|
|
20
20
|
export { contentLengthMiddleware, contentLengthMiddlewareOptions, getContentLengthPlugin, } from "./middleware-content-length/contentLengthMiddleware";
|
|
21
21
|
export { escapeUri } from "./util-uri-escape/escape-uri";
|
|
22
22
|
export { escapeUriPath } from "./util-uri-escape/escape-uri-path";
|
|
23
23
|
export { buildQueryString } from "./querystring-builder/buildQueryString";
|
|
24
|
-
export { parseQueryString } from "
|
|
25
|
-
export { parseUrl } from "
|
|
24
|
+
export { parseQueryString } from "@smithy/core/transport";
|
|
25
|
+
export { parseUrl } from "@smithy/core/transport";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getSmithyContext } from "@smithy/core/
|
|
2
|
-
import { HttpResponse } from "@smithy/core/protocols";
|
|
1
|
+
import { HttpResponse, getSmithyContext } from "@smithy/core/transport";
|
|
3
2
|
import { operation } from "../schemas/operation";
|
|
4
3
|
export const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {
|
|
5
4
|
const { response } = await next(args);
|
|
@@ -42,10 +41,10 @@ export const schemaDeserializationMiddleware = (config) => (next, context) => as
|
|
|
42
41
|
}
|
|
43
42
|
try {
|
|
44
43
|
if (HttpResponse.isInstance(response)) {
|
|
45
|
-
const { headers = {} } = response;
|
|
44
|
+
const { headers = {}, statusCode } = response;
|
|
46
45
|
const headerEntries = Object.entries(headers);
|
|
47
46
|
error.$metadata = {
|
|
48
|
-
httpStatusCode:
|
|
47
|
+
httpStatusCode: statusCode,
|
|
49
48
|
requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
|
|
50
49
|
extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
|
|
51
50
|
cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries),
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getSmithyContext } from "@smithy/core/
|
|
2
|
-
import { toEndpointV1 } from "@smithy/core/endpoints";
|
|
1
|
+
import { getSmithyContext, toEndpointV1 } from "@smithy/core/transport";
|
|
3
2
|
import { operation } from "../schemas/operation";
|
|
4
3
|
export const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {
|
|
5
4
|
const { operationSchema } = getSmithyContext(context);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { getSmithyContext } from "./getSmithyContext";
|
|
2
|
+
export { HttpRequest } from "./httpRequest";
|
|
3
|
+
export { HttpResponse } from "./httpResponse";
|
|
4
|
+
export { isValidHostLabel } from "./isValidHostLabel";
|
|
5
|
+
export { isValidHostname } from "./isValidHostname";
|
|
6
|
+
export { normalizeProvider } from "./normalizeProvider";
|
|
7
|
+
export { parseQueryString } from "./parseQueryString";
|
|
8
|
+
export { parseUrl } from "./parseUrl";
|
|
9
|
+
export { toEndpointV1 } from "./toEndpointV1";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/core",
|
|
3
|
-
"version": "3.24.
|
|
3
|
+
"version": "3.24.5",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
|
|
6
6
|
"build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline core",
|
|
@@ -151,6 +151,13 @@
|
|
|
151
151
|
"node": "./dist-cjs/submodules/retry/index.js",
|
|
152
152
|
"import": "./dist-es/submodules/retry/index.js",
|
|
153
153
|
"require": "./dist-cjs/submodules/retry/index.js"
|
|
154
|
+
},
|
|
155
|
+
"./transport": {
|
|
156
|
+
"types": "./dist-types/submodules/transport/index.d.ts",
|
|
157
|
+
"module": "./dist-es/submodules/transport/index.js",
|
|
158
|
+
"node": "./dist-cjs/submodules/transport/index.js",
|
|
159
|
+
"import": "./dist-es/submodules/transport/index.js",
|
|
160
|
+
"require": "./dist-cjs/submodules/transport/index.js"
|
|
154
161
|
}
|
|
155
162
|
},
|
|
156
163
|
"author": {
|
|
@@ -178,25 +185,27 @@
|
|
|
178
185
|
"files": [
|
|
179
186
|
"./cbor.d.ts",
|
|
180
187
|
"./cbor.js",
|
|
188
|
+
"./checksum.d.ts",
|
|
189
|
+
"./checksum.js",
|
|
190
|
+
"./client.d.ts",
|
|
191
|
+
"./client.js",
|
|
192
|
+
"./config.d.ts",
|
|
193
|
+
"./config.js",
|
|
181
194
|
"./endpoints.d.ts",
|
|
182
195
|
"./endpoints.js",
|
|
183
196
|
"./event-streams.d.ts",
|
|
184
197
|
"./event-streams.js",
|
|
185
198
|
"./protocols.d.ts",
|
|
186
199
|
"./protocols.js",
|
|
200
|
+
"./retry.d.ts",
|
|
201
|
+
"./retry.js",
|
|
187
202
|
"./schema.d.ts",
|
|
188
203
|
"./schema.js",
|
|
189
204
|
"./serde.d.ts",
|
|
190
205
|
"./serde.js",
|
|
191
|
-
"
|
|
192
|
-
"./
|
|
193
|
-
"
|
|
194
|
-
"./config.d.ts",
|
|
195
|
-
"./config.js",
|
|
196
|
-
"./checksum.d.ts",
|
|
197
|
-
"./checksum.js",
|
|
198
|
-
"./retry.d.ts",
|
|
199
|
-
"./retry.js"
|
|
206
|
+
"./transport.d.ts",
|
|
207
|
+
"./transport.js",
|
|
208
|
+
"dist-*/**"
|
|
200
209
|
],
|
|
201
210
|
"homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/core",
|
|
202
211
|
"repository": {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var node_url = require('node:url');
|
|
4
3
|
var config = require('@smithy/core/config');
|
|
5
4
|
var node_http = require('node:http');
|
|
6
5
|
var protocols = require('@smithy/core/protocols');
|
|
@@ -95,14 +94,8 @@ const requestFromEcsImds = async (timeout, options) => {
|
|
|
95
94
|
return buffer.toString();
|
|
96
95
|
};
|
|
97
96
|
const CMDS_IP = "169.254.170.2";
|
|
98
|
-
const GREENGRASS_HOSTS =
|
|
99
|
-
|
|
100
|
-
"127.0.0.1": true,
|
|
101
|
-
};
|
|
102
|
-
const GREENGRASS_PROTOCOLS = {
|
|
103
|
-
"http:": true,
|
|
104
|
-
"https:": true,
|
|
105
|
-
};
|
|
97
|
+
const GREENGRASS_HOSTS = new Set(["localhost", "127.0.0.1"]);
|
|
98
|
+
const GREENGRASS_PROTOCOLS = new Set(["http:", "https:"]);
|
|
106
99
|
const getCmdsUri = async ({ logger }) => {
|
|
107
100
|
if (process.env[ENV_CMDS_RELATIVE_URI]) {
|
|
108
101
|
return {
|
|
@@ -111,21 +104,29 @@ const getCmdsUri = async ({ logger }) => {
|
|
|
111
104
|
};
|
|
112
105
|
}
|
|
113
106
|
if (process.env[ENV_CMDS_FULL_URI]) {
|
|
114
|
-
|
|
115
|
-
|
|
107
|
+
let parsed;
|
|
108
|
+
try {
|
|
109
|
+
parsed = new URL(process.env[ENV_CMDS_FULL_URI]);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
throw new config.CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });
|
|
113
|
+
}
|
|
114
|
+
if (!parsed.hostname || !GREENGRASS_HOSTS.has(parsed.hostname)) {
|
|
116
115
|
throw new config.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {
|
|
117
116
|
tryNextLink: false,
|
|
118
117
|
logger,
|
|
119
118
|
});
|
|
120
119
|
}
|
|
121
|
-
if (!parsed.protocol || !(parsed.protocol
|
|
120
|
+
if (!parsed.protocol || !GREENGRASS_PROTOCOLS.has(parsed.protocol)) {
|
|
122
121
|
throw new config.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {
|
|
123
122
|
tryNextLink: false,
|
|
124
123
|
logger,
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
126
|
return {
|
|
128
|
-
|
|
127
|
+
protocol: parsed.protocol,
|
|
128
|
+
hostname: parsed.hostname,
|
|
129
|
+
path: parsed.pathname + parsed.search,
|
|
129
130
|
port: parsed.port ? parseInt(parsed.port, 10) : undefined,
|
|
130
131
|
};
|
|
131
132
|
}
|