agentv 3.11.1 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +16 -12
  2. package/dist/{agentv-provider-MIDKLYIH-6LIYKQRP.js → agentv-provider-NFFLXG5M-TJAWCWCX.js} +1 -2
  3. package/dist/{chunk-V2S5CZU3.js → chunk-2ELQ6F3C.js} +916 -523
  4. package/dist/chunk-2ELQ6F3C.js.map +1 -0
  5. package/dist/{chunk-JK6V4KVD.js → chunk-NR7QVL75.js} +32 -24
  6. package/dist/chunk-NR7QVL75.js.map +1 -0
  7. package/dist/{chunk-OYD2NB55.js → chunk-UYBLUYHN.js} +104 -15
  8. package/dist/chunk-UYBLUYHN.js.map +1 -0
  9. package/dist/{chunk-CKMAM2GD.js → chunk-VLOFRXH4.js} +461 -196
  10. package/dist/chunk-VLOFRXH4.js.map +1 -0
  11. package/dist/{chunk-BAUNAXHT.js → chunk-XOSNETAV.js} +1 -1
  12. package/dist/cli.js +5 -6
  13. package/dist/cli.js.map +1 -1
  14. package/dist/{dist-VUPMLHIV.js → dist-L6R5HJ72.js} +4 -5
  15. package/dist/{esm-OJ2BXJK4-YKEI3Z7E.js → esm-5Q4BZALM-5REQWAUV.js} +2 -3
  16. package/dist/{esm-OJ2BXJK4-YKEI3Z7E.js.map → esm-5Q4BZALM-5REQWAUV.js.map} +1 -1
  17. package/dist/{esm-UYZ3HJBU.js → esm-CZAWIY6F.js} +2 -2
  18. package/dist/index.js +5 -6
  19. package/dist/{interactive-FZJANO4A.js → interactive-5X62YEEX.js} +5 -6
  20. package/dist/{interactive-FZJANO4A.js.map → interactive-5X62YEEX.js.map} +1 -1
  21. package/dist/{otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js → otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js} +1 -2
  22. package/dist/{simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js → simple-trace-file-exporter-CRIO5HDZ-QYYT2QQT.js} +2 -3
  23. package/dist/{src-PXDA7QIS.js → src-ML4D2MC2.js} +2 -2
  24. package/dist/templates/.agentv/.env.example +23 -0
  25. package/dist/templates/.agentv/config.yaml +13 -4
  26. package/dist/templates/.agentv/targets.yaml +16 -0
  27. package/package.json +1 -1
  28. package/dist/chunk-2QFWRIYL.js +0 -186
  29. package/dist/chunk-2QFWRIYL.js.map +0 -1
  30. package/dist/chunk-2RMPO6LY.js +0 -747
  31. package/dist/chunk-2RMPO6LY.js.map +0 -1
  32. package/dist/chunk-3Q7WIXT4.js +0 -4846
  33. package/dist/chunk-3Q7WIXT4.js.map +0 -1
  34. package/dist/chunk-73O2DCJP.js +0 -1274
  35. package/dist/chunk-73O2DCJP.js.map +0 -1
  36. package/dist/chunk-AUKF3Y3W.js +0 -212
  37. package/dist/chunk-AUKF3Y3W.js.map +0 -1
  38. package/dist/chunk-BRH7SIDP.js +0 -133
  39. package/dist/chunk-BRH7SIDP.js.map +0 -1
  40. package/dist/chunk-BXM4I3BM.js +0 -526
  41. package/dist/chunk-BXM4I3BM.js.map +0 -1
  42. package/dist/chunk-CKMAM2GD.js.map +0 -1
  43. package/dist/chunk-FHTURHTY.js +0 -546
  44. package/dist/chunk-FHTURHTY.js.map +0 -1
  45. package/dist/chunk-GJFXQQWG.js +0 -21
  46. package/dist/chunk-GJFXQQWG.js.map +0 -1
  47. package/dist/chunk-HKMLG4KF.js +0 -38
  48. package/dist/chunk-HKMLG4KF.js.map +0 -1
  49. package/dist/chunk-JGU3PVA4.js +0 -133
  50. package/dist/chunk-JGU3PVA4.js.map +0 -1
  51. package/dist/chunk-JK6V4KVD.js.map +0 -1
  52. package/dist/chunk-LHU5FGVZ.js +0 -4804
  53. package/dist/chunk-LHU5FGVZ.js.map +0 -1
  54. package/dist/chunk-OL2WGI6E.js +0 -149
  55. package/dist/chunk-OL2WGI6E.js.map +0 -1
  56. package/dist/chunk-ONETZL6N.js +0 -15
  57. package/dist/chunk-ONETZL6N.js.map +0 -1
  58. package/dist/chunk-OYD2NB55.js.map +0 -1
  59. package/dist/chunk-QV4UGEN6.js +0 -320
  60. package/dist/chunk-QV4UGEN6.js.map +0 -1
  61. package/dist/chunk-QXLDKGF3.js +0 -46
  62. package/dist/chunk-QXLDKGF3.js.map +0 -1
  63. package/dist/chunk-U6VEM66A.js +0 -63
  64. package/dist/chunk-U6VEM66A.js.map +0 -1
  65. package/dist/chunk-UALXHIMX.js +0 -48
  66. package/dist/chunk-UALXHIMX.js.map +0 -1
  67. package/dist/chunk-UGXG73VF.js +0 -55
  68. package/dist/chunk-UGXG73VF.js.map +0 -1
  69. package/dist/chunk-UHP5KEDL.js +0 -38
  70. package/dist/chunk-UHP5KEDL.js.map +0 -1
  71. package/dist/chunk-V2S5CZU3.js.map +0 -1
  72. package/dist/chunk-WVSXFZWP.js +0 -204
  73. package/dist/chunk-WVSXFZWP.js.map +0 -1
  74. package/dist/chunk-XSUMCWKO.js +0 -30
  75. package/dist/chunk-XSUMCWKO.js.map +0 -1
  76. package/dist/chunk-XUO7ZEHU.js +0 -181
  77. package/dist/chunk-XUO7ZEHU.js.map +0 -1
  78. package/dist/chunk-YSGUX5JT.js +0 -1002
  79. package/dist/chunk-YSGUX5JT.js.map +0 -1
  80. package/dist/dist-3PCP5TNF-RYMVLILE.js +0 -25785
  81. package/dist/dist-3PCP5TNF-RYMVLILE.js.map +0 -1
  82. package/dist/dist-BOIN5LC5-T5UWUK43.js +0 -76113
  83. package/dist/dist-BOIN5LC5-T5UWUK43.js.map +0 -1
  84. package/dist/dist-LXPDQOBI-4V5J2WDS.js +0 -13
  85. package/dist/dist-LXPDQOBI-4V5J2WDS.js.map +0 -1
  86. package/dist/dist-es-4WSJUIYR-XKIX65IH.js +0 -69
  87. package/dist/dist-es-4WSJUIYR-XKIX65IH.js.map +0 -1
  88. package/dist/dist-es-7K7MKRME-CCMAZOQC.js +0 -355
  89. package/dist/dist-es-7K7MKRME-CCMAZOQC.js.map +0 -1
  90. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js +0 -191
  91. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js.map +0 -1
  92. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js +0 -164
  93. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js.map +0 -1
  94. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js +0 -355
  95. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js.map +0 -1
  96. package/dist/dist-es-L6R4FPI5-IKIRYN45.js +0 -472
  97. package/dist/dist-es-L6R4FPI5-IKIRYN45.js.map +0 -1
  98. package/dist/dist-es-SRVEB5QV-Q4CTC2HX.js +0 -24
  99. package/dist/dist-es-TRIVUKV4-2J47CDXR.js +0 -85
  100. package/dist/dist-es-TRIVUKV4-2J47CDXR.js.map +0 -1
  101. package/dist/dist-es-UEEUAV34-IZQDTAMW.js +0 -16
  102. package/dist/event-streams-NZADSH5J-6MOSNEV3.js +0 -247
  103. package/dist/event-streams-NZADSH5J-6MOSNEV3.js.map +0 -1
  104. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js +0 -738
  105. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js.map +0 -1
  106. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js +0 -387
  107. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js.map +0 -1
  108. package/dist/otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js.map +0 -1
  109. package/dist/signin-2ANR4DVS-K5VGBEJF.js +0 -556
  110. package/dist/signin-2ANR4DVS-K5VGBEJF.js.map +0 -1
  111. package/dist/simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js.map +0 -1
  112. package/dist/src-SLOMUG7K-CV5JG263.js +0 -1408
  113. package/dist/src-SLOMUG7K-CV5JG263.js.map +0 -1
  114. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js +0 -708
  115. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js.map +0 -1
  116. package/dist/sts-X7JGSP4H-PDAAYDDH.js +0 -2917
  117. package/dist/sts-X7JGSP4H-PDAAYDDH.js.map +0 -1
  118. package/dist/undici-VAR2VUJI-6PAOUXZC.js +0 -23388
  119. package/dist/undici-VAR2VUJI-6PAOUXZC.js.map +0 -1
  120. /package/dist/{agentv-provider-MIDKLYIH-6LIYKQRP.js.map → agentv-provider-NFFLXG5M-TJAWCWCX.js.map} +0 -0
  121. /package/dist/{chunk-BAUNAXHT.js.map → chunk-XOSNETAV.js.map} +0 -0
  122. /package/dist/{dist-VUPMLHIV.js.map → dist-L6R5HJ72.js.map} +0 -0
  123. /package/dist/{dist-es-SRVEB5QV-Q4CTC2HX.js.map → esm-CZAWIY6F.js.map} +0 -0
  124. /package/dist/{dist-es-UEEUAV34-IZQDTAMW.js.map → otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js.map} +0 -0
  125. /package/dist/{esm-UYZ3HJBU.js.map → simple-trace-file-exporter-CRIO5HDZ-QYYT2QQT.js.map} +0 -0
  126. /package/dist/{src-PXDA7QIS.js.map → src-ML4D2MC2.js.map} +0 -0
@@ -1,191 +0,0 @@
1
- import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import {
3
- fromSso
4
- } from "./chunk-BRH7SIDP.js";
5
- import "./chunk-AUKF3Y3W.js";
6
- import {
7
- setCredentialFeature
8
- } from "./chunk-ONETZL6N.js";
9
- import {
10
- getProfileName,
11
- getSSOTokenFromFile,
12
- loadSsoSessionData,
13
- parseKnownFiles
14
- } from "./chunk-WVSXFZWP.js";
15
- import {
16
- CredentialsProviderError
17
- } from "./chunk-UHP5KEDL.js";
18
- import "./chunk-UGXG73VF.js";
19
- import "./chunk-5H446C7X.js";
20
-
21
- // ../../packages/core/dist/dist-es-B2RTOKRI.js
22
- var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string");
23
- var SHOULD_FAIL_CREDENTIAL_CHAIN = false;
24
- var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger }) => {
25
- let token;
26
- const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
27
- if (ssoSession) {
28
- try {
29
- const _token = await fromSso({
30
- profile,
31
- filepath,
32
- configFilepath,
33
- ignoreCache
34
- })();
35
- token = {
36
- accessToken: _token.token,
37
- expiresAt: new Date(_token.expiration).toISOString()
38
- };
39
- } catch (e) {
40
- throw new CredentialsProviderError(e.message, {
41
- tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
42
- logger
43
- });
44
- }
45
- } else {
46
- try {
47
- token = await getSSOTokenFromFile(ssoStartUrl);
48
- } catch (e) {
49
- throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {
50
- tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
51
- logger
52
- });
53
- }
54
- }
55
- if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {
56
- throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {
57
- tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
58
- logger
59
- });
60
- }
61
- const { accessToken } = token;
62
- const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso-IQZ5NB6C-DZJTORO3.js");
63
- const sso = ssoClient || new SSOClient(Object.assign({}, clientConfig ?? {}, {
64
- logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,
65
- region: clientConfig?.region ?? ssoRegion,
66
- userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId
67
- }));
68
- let ssoResp;
69
- try {
70
- ssoResp = await sso.send(new GetRoleCredentialsCommand({
71
- accountId: ssoAccountId,
72
- roleName: ssoRoleName,
73
- accessToken
74
- }));
75
- } catch (e) {
76
- throw new CredentialsProviderError(e, {
77
- tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
78
- logger
79
- });
80
- }
81
- const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {} } = ssoResp;
82
- if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {
83
- throw new CredentialsProviderError("SSO returns an invalid temporary credential.", {
84
- tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
85
- logger
86
- });
87
- }
88
- const credentials = {
89
- accessKeyId,
90
- secretAccessKey,
91
- sessionToken,
92
- expiration: new Date(expiration),
93
- ...credentialScope && { credentialScope },
94
- ...accountId && { accountId }
95
- };
96
- if (ssoSession) {
97
- setCredentialFeature(credentials, "CREDENTIALS_SSO", "s");
98
- } else {
99
- setCredentialFeature(credentials, "CREDENTIALS_SSO_LEGACY", "u");
100
- }
101
- return credentials;
102
- };
103
- var validateSsoProfile = (profile, logger) => {
104
- const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
105
- if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
106
- throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")}
107
- Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });
108
- }
109
- return profile;
110
- };
111
- var fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {
112
- init.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");
113
- const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
114
- const { ssoClient } = init;
115
- const profileName = getProfileName({
116
- profile: init.profile ?? callerClientConfig?.profile
117
- });
118
- if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
119
- const profiles = await parseKnownFiles(init);
120
- const profile = profiles[profileName];
121
- if (!profile) {
122
- throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });
123
- }
124
- if (!isSsoProfile(profile)) {
125
- throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {
126
- logger: init.logger
127
- });
128
- }
129
- if (profile?.sso_session) {
130
- const ssoSessions = await loadSsoSessionData(init);
131
- const session = ssoSessions[profile.sso_session];
132
- const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;
133
- if (ssoRegion && ssoRegion !== session.sso_region) {
134
- throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {
135
- tryNextLink: false,
136
- logger: init.logger
137
- });
138
- }
139
- if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {
140
- throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {
141
- tryNextLink: false,
142
- logger: init.logger
143
- });
144
- }
145
- profile.sso_region = session.sso_region;
146
- profile.sso_start_url = session.sso_start_url;
147
- }
148
- const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);
149
- return resolveSSOCredentials({
150
- ssoStartUrl: sso_start_url,
151
- ssoSession: sso_session,
152
- ssoAccountId: sso_account_id,
153
- ssoRegion: sso_region,
154
- ssoRoleName: sso_role_name,
155
- ssoClient,
156
- clientConfig: init.clientConfig,
157
- parentClientConfig: init.parentClientConfig,
158
- callerClientConfig: init.callerClientConfig,
159
- profile: profileName,
160
- filepath: init.filepath,
161
- configFilepath: init.configFilepath,
162
- ignoreCache: init.ignoreCache,
163
- logger: init.logger
164
- });
165
- } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
166
- throw new CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init.logger });
167
- } else {
168
- return resolveSSOCredentials({
169
- ssoStartUrl,
170
- ssoSession,
171
- ssoAccountId,
172
- ssoRegion,
173
- ssoRoleName,
174
- ssoClient,
175
- clientConfig: init.clientConfig,
176
- parentClientConfig: init.parentClientConfig,
177
- callerClientConfig: init.callerClientConfig,
178
- profile: profileName,
179
- filepath: init.filepath,
180
- configFilepath: init.configFilepath,
181
- ignoreCache: init.ignoreCache,
182
- logger: init.logger
183
- });
184
- }
185
- };
186
- export {
187
- fromSSO,
188
- isSsoProfile,
189
- validateSsoProfile
190
- };
191
- //# sourceMappingURL=dist-es-B2RTOKRI-VWZHK5RE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.10/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js","../../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.10/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js","../../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.10/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js","../../../node_modules/.bun/@aws-sdk+credential-provider-sso@3.972.10/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js"],"sourcesContent":["export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getSSOTokenFromFile } from \"@smithy/shared-ini-file-loader\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({\n profile,\n filepath,\n configFilepath,\n ignoreCache,\n })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,eAAe,CAAC,QAAQ,QAChC,OAAO,IAAI,kBAAkB,YAC1B,OAAO,IAAI,mBAAmB,YAC9B,OAAO,IAAI,gBAAgB,YAC3B,OAAO,IAAI,eAAe,YAC1B,OAAO,IAAI,kBAAkB;ACDrC,IAAM,+BAA+B;AAC9B,IAAM,wBAAwB,OAAO,EAAE,aAAa,YAAY,cAAc,WAAW,aAAa,WAAW,cAAc,oBAAoB,oBAAoB,SAAS,UAAU,gBAAgB,aAAa,OAAQ,MAAM;AACxO,MAAI;AACJ,QAAM,iBAAiB;AACvB,MAAI,YAAY;AACZ,QAAI;AACA,YAAM,SAAS,MAAM,QAAoB;QACrC;QACA;QACA;QACA;MACJ,CAAC,EAAE;AACH,cAAQ;QACJ,aAAa,OAAO;QACpB,WAAW,IAAI,KAAK,OAAO,UAAU,EAAE,YAAY;MACvD;IACJ,SACO,GAAG;AACN,YAAM,IAAI,yBAAyB,EAAE,SAAS;QAC1C,aAAa;QACb;MACJ,CAAC;IACL;EACJ,OACK;AACD,QAAI;AACA,cAAQ,MAAM,oBAAoB,WAAW;IACjD,SACO,GAAG;AACN,YAAM,IAAI,yBAAyB,4DAA4D,cAAc,IAAI;QAC7G,aAAa;QACb;MACJ,CAAC;IACL;EACJ;AACA,MAAI,IAAI,KAAK,MAAM,SAAS,EAAE,QAAQ,IAAI,KAAK,IAAI,KAAK,GAAG;AACvD,UAAM,IAAI,yBAAyB,6DAA6D,cAAc,IAAI;MAC9G,aAAa;MACb;IACJ,CAAC;EACL;AACA,QAAM,EAAE,YAAY,IAAI;AACxB,QAAM,EAAE,WAAW,0BAA0B,IAAI,MAAM,OAAO,gCAAW;AACzE,QAAM,MAAM,aACR,IAAI,UAAU,OAAO,OAAO,CAAC,GAAG,gBAAgB,CAAC,GAAG;IAChD,QAAQ,cAAc,UAAU,oBAAoB,UAAU,oBAAoB;IAClF,QAAQ,cAAc,UAAU;IAChC,gBAAgB,cAAc,kBAAkB,oBAAoB,kBAAkB,oBAAoB;EAC9G,CAAC,CAAC;AACN,MAAI;AACJ,MAAI;AACA,cAAU,MAAM,IAAI,KAAK,IAAI,0BAA0B;MACnD,WAAW;MACX,UAAU;MACV;IACJ,CAAC,CAAC;EACN,SACO,GAAG;AACN,UAAM,IAAI,yBAAyB,GAAG;MAClC,aAAa;MACb;IACJ,CAAC;EACL;AACA,QAAM,EAAE,iBAAiB,EAAE,aAAa,iBAAiB,cAAc,YAAY,iBAAiB,UAAU,IAAI,CAAC,EAAG,IAAI;AAC1H,MAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,YAAY;AAClE,UAAM,IAAI,yBAAyB,gDAAgD;MAC/E,aAAa;MACb;IACJ,CAAC;EACL;AACA,QAAM,cAAc;IAChB;IACA;IACA;IACA,YAAY,IAAI,KAAK,UAAU;IAC/B,GAAI,mBAAmB,EAAE,gBAAgB;IACzC,GAAI,aAAa,EAAE,UAAU;EACjC;AACA,MAAI,YAAY;AACZ,yBAAqB,aAAa,mBAAmB,GAAG;EAC5D,OACK;AACD,yBAAqB,aAAa,0BAA0B,GAAG;EACnE;AACA,SAAO;AACX;ACxFO,IAAM,qBAAqB,CAAC,SAAS,WAAW;AACnD,QAAM,EAAE,eAAe,gBAAgB,YAAY,cAAc,IAAI;AACrE,MAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAe;AACpE,UAAM,IAAI,yBAAyB,iJACwB,OAAO,KAAK,OAAO,EAAE,KAAK,IAAI,CAAC;qFAAwF,EAAE,aAAa,OAAO,OAAO,CAAC;EACpN;AACA,SAAO;AACX;ACHO,IAAM,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,mBAAmB,IAAI,CAAC,MAAM;AACzE,OAAK,QAAQ,MAAM,4CAA4C;AAC/D,QAAM,EAAE,aAAa,cAAc,WAAW,aAAa,WAAW,IAAI;AAC1E,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,cAAc,eAAe;IAC/B,SAAS,KAAK,WAAW,oBAAoB;EACjD,CAAC;AACD,MAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,YAAY;AAC5E,UAAM,WAAW,MAAM,gBAAgB,IAAI;AAC3C,UAAM,UAAU,SAAS,WAAW;AACpC,QAAI,CAAC,SAAS;AACV,YAAM,IAAI,yBAAyB,WAAW,WAAW,mBAAmB,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvG;AACA,QAAI,CAAC,aAAa,OAAO,GAAG;AACxB,YAAM,IAAI,yBAAyB,WAAW,WAAW,4CAA4C;QACjG,QAAQ,KAAK;MACjB,CAAC;IACL;AACA,QAAI,SAAS,aAAa;AACtB,YAAM,cAAc,MAAM,mBAAmB,IAAI;AACjD,YAAM,UAAU,YAAY,QAAQ,WAAW;AAC/C,YAAM,cAAc,8BAA8B,WAAW,oBAAoB,QAAQ,WAAW;AACpG,UAAI,aAAa,cAAc,QAAQ,YAAY;AAC/C,cAAM,IAAI,yBAAyB,2BAA2B,aAAa;UACvE,aAAa;UACb,QAAQ,KAAK;QACjB,CAAC;MACL;AACA,UAAI,eAAe,gBAAgB,QAAQ,eAAe;AACtD,cAAM,IAAI,yBAAyB,8BAA8B,aAAa;UAC1E,aAAa;UACb,QAAQ,KAAK;QACjB,CAAC;MACL;AACA,cAAQ,aAAa,QAAQ;AAC7B,cAAQ,gBAAgB,QAAQ;IACpC;AACA,UAAM,EAAE,eAAe,gBAAgB,YAAY,eAAe,YAAY,IAAI,mBAAmB,SAAS,KAAK,MAAM;AACzH,WAAO,sBAAsB;MACzB,aAAa;MACb,YAAY;MACZ,cAAc;MACd,WAAW;MACX,aAAa;MACb;MACA,cAAc,KAAK;MACnB,oBAAoB,KAAK;MACzB,oBAAoB,KAAK;MACzB,SAAS;MACT,UAAU,KAAK;MACf,gBAAgB,KAAK;MACrB,aAAa,KAAK;MAClB,QAAQ,KAAK;IACjB,CAAC;EACL,WACS,CAAC,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa;AAClE,UAAM,IAAI,yBAAyB,gIAC8B,EAAE,aAAa,OAAO,QAAQ,KAAK,OAAO,CAAC;EAChH,OACK;AACD,WAAO,sBAAsB;MACzB;MACA;MACA;MACA;MACA;MACA;MACA,cAAc,KAAK;MACnB,oBAAoB,KAAK;MACzB,oBAAoB,KAAK;MACzB,SAAS;MACT,UAAU,KAAK;MACf,gBAAgB,KAAK;MACrB,aAAa,KAAK;MAClB,QAAQ,KAAK;IACjB,CAAC;EACL;AACJ;","names":[]}
@@ -1,164 +0,0 @@
1
- import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import {
3
- sdkStreamMixin2
4
- } from "./chunk-2QFWRIYL.js";
5
- import {
6
- parseRfc3339DateTime
7
- } from "./chunk-QV4UGEN6.js";
8
- import {
9
- HttpRequest
10
- } from "./chunk-U6VEM66A.js";
11
- import {
12
- NodeHttpHandler
13
- } from "./chunk-2RMPO6LY.js";
14
- import {
15
- setCredentialFeature
16
- } from "./chunk-ONETZL6N.js";
17
- import "./chunk-HKMLG4KF.js";
18
- import {
19
- CredentialsProviderError
20
- } from "./chunk-UHP5KEDL.js";
21
- import "./chunk-UGXG73VF.js";
22
- import "./chunk-5H446C7X.js";
23
-
24
- // ../../packages/core/dist/dist-es-HHZ4FAXA.js
25
- import fs from "fs/promises";
26
- var ECS_CONTAINER_HOST = "169.254.170.2";
27
- var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
28
- var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
29
- var checkUrl = (url, logger) => {
30
- if (url.protocol === "https:") {
31
- return;
32
- }
33
- if (url.hostname === ECS_CONTAINER_HOST || url.hostname === EKS_CONTAINER_HOST_IPv4 || url.hostname === EKS_CONTAINER_HOST_IPv6) {
34
- return;
35
- }
36
- if (url.hostname.includes("[")) {
37
- if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
38
- return;
39
- }
40
- } else {
41
- if (url.hostname === "localhost") {
42
- return;
43
- }
44
- const ipComponents = url.hostname.split(".");
45
- const inRange = (component) => {
46
- const num = parseInt(component, 10);
47
- return 0 <= num && num <= 255;
48
- };
49
- if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) {
50
- return;
51
- }
52
- }
53
- throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
54
- - loopback CIDR 127.0.0.0/8 or [::1/128]
55
- - ECS container host 169.254.170.2
56
- - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });
57
- };
58
- function createGetRequest(url) {
59
- return new HttpRequest({
60
- protocol: url.protocol,
61
- hostname: url.hostname,
62
- port: Number(url.port),
63
- path: url.pathname,
64
- query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {
65
- acc[k] = v;
66
- return acc;
67
- }, {}),
68
- fragment: url.hash
69
- });
70
- }
71
- async function getCredentials(response, logger) {
72
- const stream = sdkStreamMixin2(response.body);
73
- const str = await stream.transformToString();
74
- if (response.statusCode === 200) {
75
- const parsed = JSON.parse(str);
76
- if (typeof parsed.AccessKeyId !== "string" || typeof parsed.SecretAccessKey !== "string" || typeof parsed.Token !== "string" || typeof parsed.Expiration !== "string") {
77
- throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger });
78
- }
79
- return {
80
- accessKeyId: parsed.AccessKeyId,
81
- secretAccessKey: parsed.SecretAccessKey,
82
- sessionToken: parsed.Token,
83
- expiration: parseRfc3339DateTime(parsed.Expiration)
84
- };
85
- }
86
- if (response.statusCode >= 400 && response.statusCode < 500) {
87
- let parsedBody = {};
88
- try {
89
- parsedBody = JSON.parse(str);
90
- } catch (e) {
91
- }
92
- throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {
93
- Code: parsedBody.Code,
94
- Message: parsedBody.Message
95
- });
96
- }
97
- throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });
98
- }
99
- var retryWrapper = (toRetry, maxRetries, delayMs) => {
100
- return async () => {
101
- for (let i = 0; i < maxRetries; ++i) {
102
- try {
103
- return await toRetry();
104
- } catch (e) {
105
- await new Promise((resolve) => setTimeout(resolve, delayMs));
106
- }
107
- }
108
- return await toRetry();
109
- };
110
- };
111
- var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
112
- var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
113
- var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
114
- var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
115
- var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
116
- var fromHttp = (options = {}) => {
117
- options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");
118
- let host;
119
- const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
120
- const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
121
- const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
122
- const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
123
- const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn ? console.warn : options.logger.warn.bind(options.logger);
124
- if (relative && full) {
125
- warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
126
- warn("awsContainerCredentialsFullUri will take precedence.");
127
- }
128
- if (token && tokenFile) {
129
- warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
130
- warn("awsContainerAuthorizationToken will take precedence.");
131
- }
132
- if (full) {
133
- host = full;
134
- } else if (relative) {
135
- host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
136
- } else {
137
- throw new CredentialsProviderError(`No HTTP credential provider host provided.
138
- Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
139
- }
140
- const url = new URL(host);
141
- checkUrl(url, options.logger);
142
- const requestHandler = NodeHttpHandler.create({
143
- requestTimeout: options.timeout ?? 1e3,
144
- connectionTimeout: options.timeout ?? 1e3
145
- });
146
- return retryWrapper(async () => {
147
- const request = createGetRequest(url);
148
- if (token) {
149
- request.headers.Authorization = token;
150
- } else if (tokenFile) {
151
- request.headers.Authorization = (await fs.readFile(tokenFile)).toString();
152
- }
153
- try {
154
- const result = await requestHandler.handle(request);
155
- return getCredentials(result.response).then((creds) => setCredentialFeature(creds, "CREDENTIALS_HTTP", "z"));
156
- } catch (e) {
157
- throw new CredentialsProviderError(String(e), { logger: options.logger });
158
- }
159
- }, options.maxRetries ?? 3, options.timeout ?? 1e3);
160
- };
161
- export {
162
- fromHttp
163
- };
164
- //# sourceMappingURL=dist-es-HHZ4FAXA-CRERHWKB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.12/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js","../../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.12/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js","../../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.12/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js","../../../node_modules/.bun/@aws-sdk+credential-provider-http@3.972.12/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport fs from \"fs/promises\";\nimport { checkUrl } from \"./checkUrl\";\nimport { createGetRequest, getCredentials } from \"./requestHelpers\";\nimport { retryWrapper } from \"./retry-wrapper\";\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger?.warn\n ? console.warn\n : options.logger.warn.bind(options.logger);\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n checkUrl(url, options.logger);\n const requestHandler = NodeHttpHandler.create({\n requestTimeout: options.timeout ?? 1000,\n connectionTimeout: options.timeout ?? 1000,\n });\n return retryWrapper(async () => {\n const request = createGetRequest(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await fs.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request);\n return getCredentials(result.response).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nexport const checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { parseRfc3339DateTime } from \"@smithy/smithy-client\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nexport function createGetRequest(url) {\n return new HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nexport async function getCredentials(response, logger) {\n const stream = sdkStreamMixin(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: parseRfc3339DateTime(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n","export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,QAAQ;ACAf,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,0BAA0B;AACzB,IAAM,WAAW,CAAC,KAAK,WAAW;AACrC,MAAI,IAAI,aAAa,UAAU;AAC3B;EACJ;AACA,MAAI,IAAI,aAAa,sBACjB,IAAI,aAAa,2BACjB,IAAI,aAAa,yBAAyB;AAC1C;EACJ;AACA,MAAI,IAAI,SAAS,SAAS,GAAG,GAAG;AAC5B,QAAI,IAAI,aAAa,WAAW,IAAI,aAAa,6CAA6C;AAC1F;IACJ;EACJ,OACK;AACD,QAAI,IAAI,aAAa,aAAa;AAC9B;IACJ;AACA,UAAM,eAAe,IAAI,SAAS,MAAM,GAAG;AAC3C,UAAM,UAAU,CAAC,cAAc;AAC3B,YAAM,MAAM,SAAS,WAAW,EAAE;AAClC,aAAO,KAAK,OAAO,OAAO;IAC9B;AACA,QAAI,aAAa,CAAC,MAAM,SACpB,QAAQ,aAAa,CAAC,CAAC,KACvB,QAAQ,aAAa,CAAC,CAAC,KACvB,QAAQ,aAAa,CAAC,CAAC,KACvB,aAAa,WAAW,GAAG;AAC3B;IACJ;EACJ;AACA,QAAM,IAAI,yBAAyB;;;0DAGmB,EAAE,OAAO,CAAC;AACpE;ACrCO,SAAS,iBAAiB,KAAK;AAClC,SAAO,IAAI,YAAY;IACnB,UAAU,IAAI;IACd,UAAU,IAAI;IACd,MAAM,OAAO,IAAI,IAAI;IACrB,MAAM,IAAI;IACV,OAAO,MAAM,KAAK,IAAI,aAAa,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;AAClE,UAAI,CAAC,IAAI;AACT,aAAO;IACX,GAAG,CAAC,CAAC;IACL,UAAU,IAAI;EAClB,CAAC;AACL;AACA,eAAsB,eAAe,UAAU,QAAQ;AACnD,QAAM,SAAS,gBAAe,SAAS,IAAI;AAC3C,QAAM,MAAM,MAAM,OAAO,kBAAkB;AAC3C,MAAI,SAAS,eAAe,KAAK;AAC7B,UAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,QAAI,OAAO,OAAO,gBAAgB,YAC9B,OAAO,OAAO,oBAAoB,YAClC,OAAO,OAAO,UAAU,YACxB,OAAO,OAAO,eAAe,UAAU;AACvC,YAAM,IAAI,yBAAyB,kLACiE,EAAE,OAAO,CAAC;IAClH;AACA,WAAO;MACH,aAAa,OAAO;MACpB,iBAAiB,OAAO;MACxB,cAAc,OAAO;MACrB,YAAY,qBAAqB,OAAO,UAAU;IACtD;EACJ;AACA,MAAI,SAAS,cAAc,OAAO,SAAS,aAAa,KAAK;AACzD,QAAI,aAAa,CAAC;AAClB,QAAI;AACA,mBAAa,KAAK,MAAM,GAAG;IAC/B,SACO,GAAG;IAAE;AACZ,UAAM,OAAO,OAAO,IAAI,yBAAyB,iCAAiC,SAAS,UAAU,IAAI,EAAE,OAAO,CAAC,GAAG;MAClH,MAAM,WAAW;MACjB,SAAS,WAAW;IACxB,CAAC;EACL;AACA,QAAM,IAAI,yBAAyB,iCAAiC,SAAS,UAAU,IAAI,EAAE,OAAO,CAAC;AACzG;AChDO,IAAM,eAAe,CAAC,SAAS,YAAY,YAAY;AAC1D,SAAO,YAAY;AACf,aAAS,IAAI,GAAG,IAAI,YAAY,EAAE,GAAG;AACjC,UAAI;AACA,eAAO,MAAM,QAAQ;MACzB,SACO,GAAG;AACN,cAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,OAAO,CAAC;MAC/D;IACJ;AACA,WAAO,MAAM,QAAQ;EACzB;AACJ;AHLA,IAAM,yCAAyC;AAC/C,IAAM,0BAA0B;AAChC,IAAM,qCAAqC;AAC3C,IAAM,yCAAyC;AAC/C,IAAM,oCAAoC;AACnC,IAAM,WAAW,CAAC,UAAU,CAAC,MAAM;AACtC,UAAQ,QAAQ,MAAM,8CAA8C;AACpE,MAAI;AACJ,QAAM,WAAW,QAAQ,sCAAsC,QAAQ,IAAI,sCAAsC;AACjH,QAAM,OAAO,QAAQ,kCAAkC,QAAQ,IAAI,kCAAkC;AACrG,QAAM,QAAQ,QAAQ,kCAAkC,QAAQ,IAAI,iCAAiC;AACrG,QAAM,YAAY,QAAQ,sCAAsC,QAAQ,IAAI,sCAAsC;AAClH,QAAM,OAAO,QAAQ,QAAQ,aAAa,SAAS,gBAAgB,CAAC,QAAQ,QAAQ,OAC9E,QAAQ,OACR,QAAQ,OAAO,KAAK,KAAK,QAAQ,MAAM;AAC7C,MAAI,YAAY,MAAM;AAClB,SAAK,6HACyF;AAC9F,SAAK,sDAAsD;EAC/D;AACA,MAAI,SAAS,WAAW;AACpB,SAAK,6HACyF;AAC9F,SAAK,sDAAsD;EAC/D;AACA,MAAI,MAAM;AACN,WAAO;EACX,WACS,UAAU;AACf,WAAO,GAAG,uBAAuB,GAAG,QAAQ;EAChD,OACK;AACD,UAAM,IAAI,yBAAyB;oFACyC,EAAE,QAAQ,QAAQ,OAAO,CAAC;EAC1G;AACA,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,WAAS,KAAK,QAAQ,MAAM;AAC5B,QAAM,iBAAiB,gBAAgB,OAAO;IAC1C,gBAAgB,QAAQ,WAAW;IACnC,mBAAmB,QAAQ,WAAW;EAC1C,CAAC;AACD,SAAO,aAAa,YAAY;AAC5B,UAAM,UAAU,iBAAiB,GAAG;AACpC,QAAI,OAAO;AACP,cAAQ,QAAQ,gBAAgB;IACpC,WACS,WAAW;AAChB,cAAQ,QAAQ,iBAAiB,MAAM,GAAG,SAAS,SAAS,GAAG,SAAS;IAC5E;AACA,QAAI;AACA,YAAM,SAAS,MAAM,eAAe,OAAO,OAAO;AAClD,aAAO,eAAe,OAAO,QAAQ,EAAE,KAAK,CAAC,UAAU,qBAAqB,OAAO,oBAAoB,GAAG,CAAC;IAC/G,SACO,GAAG;AACN,YAAM,IAAI,yBAAyB,OAAO,CAAC,GAAG,EAAE,QAAQ,QAAQ,OAAO,CAAC;IAC5E;EACJ,GAAG,QAAQ,cAAc,GAAG,QAAQ,WAAW,GAAI;AACvD;","names":[]}