agentv 3.10.3 → 3.11.1

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 (122) hide show
  1. package/dist/{agentv-provider-NFFLXG5M-TJAWCWCX.js → agentv-provider-MIDKLYIH-6LIYKQRP.js} +2 -1
  2. package/dist/chunk-2QFWRIYL.js +186 -0
  3. package/dist/chunk-2QFWRIYL.js.map +1 -0
  4. package/dist/chunk-2RMPO6LY.js +747 -0
  5. package/dist/chunk-2RMPO6LY.js.map +1 -0
  6. package/dist/chunk-3Q7WIXT4.js +4846 -0
  7. package/dist/chunk-3Q7WIXT4.js.map +1 -0
  8. package/dist/chunk-73O2DCJP.js +1274 -0
  9. package/dist/chunk-73O2DCJP.js.map +1 -0
  10. package/dist/chunk-AUKF3Y3W.js +212 -0
  11. package/dist/chunk-AUKF3Y3W.js.map +1 -0
  12. package/dist/{chunk-XOSNETAV.js → chunk-BAUNAXHT.js} +1 -1
  13. package/dist/chunk-BRH7SIDP.js +133 -0
  14. package/dist/chunk-BRH7SIDP.js.map +1 -0
  15. package/dist/chunk-BXM4I3BM.js +526 -0
  16. package/dist/chunk-BXM4I3BM.js.map +1 -0
  17. package/dist/{chunk-U556GRI3.js → chunk-CKMAM2GD.js} +76 -34
  18. package/dist/chunk-CKMAM2GD.js.map +1 -0
  19. package/dist/chunk-FHTURHTY.js +546 -0
  20. package/dist/chunk-FHTURHTY.js.map +1 -0
  21. package/dist/chunk-GJFXQQWG.js +21 -0
  22. package/dist/chunk-GJFXQQWG.js.map +1 -0
  23. package/dist/chunk-HKMLG4KF.js +38 -0
  24. package/dist/chunk-HKMLG4KF.js.map +1 -0
  25. package/dist/chunk-JGU3PVA4.js +133 -0
  26. package/dist/chunk-JGU3PVA4.js.map +1 -0
  27. package/dist/chunk-LHU5FGVZ.js +4804 -0
  28. package/dist/chunk-LHU5FGVZ.js.map +1 -0
  29. package/dist/chunk-OL2WGI6E.js +149 -0
  30. package/dist/chunk-OL2WGI6E.js.map +1 -0
  31. package/dist/chunk-ONETZL6N.js +15 -0
  32. package/dist/chunk-ONETZL6N.js.map +1 -0
  33. package/dist/{chunk-JUQCB3ZW.js → chunk-OYD2NB55.js} +1292 -896
  34. package/dist/chunk-OYD2NB55.js.map +1 -0
  35. package/dist/chunk-QV4UGEN6.js +320 -0
  36. package/dist/chunk-QV4UGEN6.js.map +1 -0
  37. package/dist/chunk-QXLDKGF3.js +46 -0
  38. package/dist/chunk-QXLDKGF3.js.map +1 -0
  39. package/dist/chunk-U6VEM66A.js +63 -0
  40. package/dist/chunk-U6VEM66A.js.map +1 -0
  41. package/dist/chunk-UALXHIMX.js +48 -0
  42. package/dist/chunk-UALXHIMX.js.map +1 -0
  43. package/dist/chunk-UGXG73VF.js +55 -0
  44. package/dist/chunk-UGXG73VF.js.map +1 -0
  45. package/dist/chunk-UHP5KEDL.js +38 -0
  46. package/dist/chunk-UHP5KEDL.js.map +1 -0
  47. package/dist/{chunk-7LC3VNOC.js → chunk-V2S5CZU3.js} +1141 -60
  48. package/dist/chunk-V2S5CZU3.js.map +1 -0
  49. package/dist/chunk-WVSXFZWP.js +204 -0
  50. package/dist/chunk-WVSXFZWP.js.map +1 -0
  51. package/dist/chunk-XSUMCWKO.js +30 -0
  52. package/dist/chunk-XSUMCWKO.js.map +1 -0
  53. package/dist/chunk-XUO7ZEHU.js +181 -0
  54. package/dist/chunk-XUO7ZEHU.js.map +1 -0
  55. package/dist/chunk-YSGUX5JT.js +1002 -0
  56. package/dist/chunk-YSGUX5JT.js.map +1 -0
  57. package/dist/cli.js +5 -4
  58. package/dist/cli.js.map +1 -1
  59. package/dist/dist-3PCP5TNF-RYMVLILE.js +25785 -0
  60. package/dist/dist-3PCP5TNF-RYMVLILE.js.map +1 -0
  61. package/dist/dist-BOIN5LC5-T5UWUK43.js +76113 -0
  62. package/dist/dist-BOIN5LC5-T5UWUK43.js.map +1 -0
  63. package/dist/dist-LXPDQOBI-4V5J2WDS.js +13 -0
  64. package/dist/dist-LXPDQOBI-4V5J2WDS.js.map +1 -0
  65. package/dist/{dist-2X7A3TTC.js → dist-VUPMLHIV.js} +4 -3
  66. package/dist/dist-es-4WSJUIYR-XKIX65IH.js +69 -0
  67. package/dist/dist-es-4WSJUIYR-XKIX65IH.js.map +1 -0
  68. package/dist/dist-es-7K7MKRME-CCMAZOQC.js +355 -0
  69. package/dist/dist-es-7K7MKRME-CCMAZOQC.js.map +1 -0
  70. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js +191 -0
  71. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js.map +1 -0
  72. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js +164 -0
  73. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js.map +1 -0
  74. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js +355 -0
  75. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js.map +1 -0
  76. package/dist/dist-es-L6R4FPI5-IKIRYN45.js +472 -0
  77. package/dist/dist-es-L6R4FPI5-IKIRYN45.js.map +1 -0
  78. package/dist/dist-es-SRVEB5QV-Q4CTC2HX.js +24 -0
  79. package/dist/dist-es-TRIVUKV4-2J47CDXR.js +85 -0
  80. package/dist/dist-es-TRIVUKV4-2J47CDXR.js.map +1 -0
  81. package/dist/dist-es-UEEUAV34-IZQDTAMW.js +16 -0
  82. package/dist/{esm-5Q4BZALM-5REQWAUV.js → esm-OJ2BXJK4-YKEI3Z7E.js} +3 -2
  83. package/dist/{esm-5Q4BZALM-5REQWAUV.js.map → esm-OJ2BXJK4-YKEI3Z7E.js.map} +1 -1
  84. package/dist/{esm-CZAWIY6F.js → esm-UYZ3HJBU.js} +2 -2
  85. package/dist/event-streams-NZADSH5J-6MOSNEV3.js +247 -0
  86. package/dist/event-streams-NZADSH5J-6MOSNEV3.js.map +1 -0
  87. package/dist/index.js +5 -4
  88. package/dist/{interactive-CSA4KIND.js → interactive-FZJANO4A.js} +5 -4
  89. package/dist/{interactive-CSA4KIND.js.map → interactive-FZJANO4A.js.map} +1 -1
  90. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js +738 -0
  91. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js.map +1 -0
  92. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js +387 -0
  93. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js.map +1 -0
  94. package/dist/{otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js → otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js} +2 -1
  95. package/dist/otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js.map +1 -0
  96. package/dist/signin-2ANR4DVS-K5VGBEJF.js +556 -0
  97. package/dist/signin-2ANR4DVS-K5VGBEJF.js.map +1 -0
  98. package/dist/{simple-trace-file-exporter-S76DMABU-5FCJESD2.js → simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js} +2 -1
  99. package/dist/simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js.map +1 -0
  100. package/dist/{src-ML4D2MC2.js → src-PXDA7QIS.js} +2 -2
  101. package/dist/src-SLOMUG7K-CV5JG263.js +1408 -0
  102. package/dist/src-SLOMUG7K-CV5JG263.js.map +1 -0
  103. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js +708 -0
  104. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js.map +1 -0
  105. package/dist/sts-X7JGSP4H-PDAAYDDH.js +2917 -0
  106. package/dist/sts-X7JGSP4H-PDAAYDDH.js.map +1 -0
  107. package/dist/templates/.agentv/config.yaml +4 -13
  108. package/dist/templates/.agentv/targets.yaml +0 -16
  109. package/dist/undici-VAR2VUJI-6PAOUXZC.js +23388 -0
  110. package/dist/undici-VAR2VUJI-6PAOUXZC.js.map +1 -0
  111. package/package.json +11 -3
  112. package/dist/chunk-7LC3VNOC.js.map +0 -1
  113. package/dist/chunk-JUQCB3ZW.js.map +0 -1
  114. package/dist/chunk-U556GRI3.js.map +0 -1
  115. package/dist/templates/.agentv/.env.example +0 -23
  116. /package/dist/{agentv-provider-NFFLXG5M-TJAWCWCX.js.map → agentv-provider-MIDKLYIH-6LIYKQRP.js.map} +0 -0
  117. /package/dist/{chunk-XOSNETAV.js.map → chunk-BAUNAXHT.js.map} +0 -0
  118. /package/dist/{dist-2X7A3TTC.js.map → dist-VUPMLHIV.js.map} +0 -0
  119. /package/dist/{esm-CZAWIY6F.js.map → dist-es-SRVEB5QV-Q4CTC2HX.js.map} +0 -0
  120. /package/dist/{otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js.map → dist-es-UEEUAV34-IZQDTAMW.js.map} +0 -0
  121. /package/dist/{simple-trace-file-exporter-S76DMABU-5FCJESD2.js.map → esm-UYZ3HJBU.js.map} +0 -0
  122. /package/dist/{src-ML4D2MC2.js.map → src-PXDA7QIS.js.map} +0 -0
@@ -0,0 +1,13 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_dist2
4
+ } from "./chunk-73O2DCJP.js";
5
+ import "./chunk-UGXG73VF.js";
6
+ import "./chunk-5H446C7X.js";
7
+
8
+ // ../../packages/core/dist/dist-LXPDQOBI.js
9
+ var dist_LXPDQOBI_default = require_dist2();
10
+ export {
11
+ dist_LXPDQOBI_default as default
12
+ };
13
+ //# sourceMappingURL=dist-LXPDQOBI-4V5J2WDS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/core/dist/dist-LXPDQOBI.js"],"sourcesContent":["import {\n require_dist2 as require_dist\n} from \"./chunk-4JFCRJ46.js\";\nimport \"./chunk-PLDDJCW6.js\";\nexport default require_dist();\n//# sourceMappingURL=dist-LXPDQOBI.js.map"],"mappings":";;;;;;;;AAIA,IAAO,wBAAQ,cAAa;","names":[]}
@@ -141,16 +141,17 @@ import {
141
141
  transpileEvalYaml,
142
142
  transpileEvalYamlFile,
143
143
  trimBaselineResult
144
- } from "./chunk-JUQCB3ZW.js";
144
+ } from "./chunk-OYD2NB55.js";
145
145
  import {
146
146
  OtlpJsonFileExporter
147
147
  } from "./chunk-C5GOHBQM.js";
148
148
  import {
149
149
  SimpleTraceFileExporter
150
150
  } from "./chunk-JK6V4KVD.js";
151
- import "./chunk-HQDCIXVH.js";
152
151
  import "./chunk-BJV6MDBE.js";
152
+ import "./chunk-HQDCIXVH.js";
153
153
  import "./chunk-LRULMAAA.js";
154
+ import "./chunk-UGXG73VF.js";
154
155
  import "./chunk-5H446C7X.js";
155
156
  export {
156
157
  CodeEvaluator,
@@ -300,4 +301,4 @@ export {
300
301
  transpileEvalYamlFile,
301
302
  trimBaselineResult
302
303
  };
303
- //# sourceMappingURL=dist-2X7A3TTC.js.map
304
+ //# sourceMappingURL=dist-VUPMLHIV.js.map
@@ -0,0 +1,69 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ setCredentialFeature
4
+ } from "./chunk-ONETZL6N.js";
5
+ import {
6
+ externalDataInterceptor
7
+ } from "./chunk-WVSXFZWP.js";
8
+ import {
9
+ CredentialsProviderError
10
+ } from "./chunk-UHP5KEDL.js";
11
+ import "./chunk-UGXG73VF.js";
12
+ import "./chunk-5H446C7X.js";
13
+
14
+ // ../../packages/core/dist/dist-es-4WSJUIYR.js
15
+ import { readFileSync } from "fs";
16
+ var fromWebToken = (init) => async (awsIdentityProperties) => {
17
+ init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");
18
+ const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;
19
+ let { roleAssumerWithWebIdentity } = init;
20
+ if (!roleAssumerWithWebIdentity) {
21
+ const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-X7JGSP4H-PDAAYDDH.js");
22
+ roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({
23
+ ...init.clientConfig,
24
+ credentialProviderLogger: init.logger,
25
+ parentClientConfig: {
26
+ ...awsIdentityProperties?.callerClientConfig,
27
+ ...init.parentClientConfig
28
+ }
29
+ }, init.clientPlugins);
30
+ }
31
+ return roleAssumerWithWebIdentity({
32
+ RoleArn: roleArn,
33
+ RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,
34
+ WebIdentityToken: webIdentityToken,
35
+ ProviderId: providerId,
36
+ PolicyArns: policyArns,
37
+ Policy: policy,
38
+ DurationSeconds: durationSeconds
39
+ });
40
+ };
41
+ var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE";
42
+ var ENV_ROLE_ARN = "AWS_ROLE_ARN";
43
+ var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME";
44
+ var fromTokenFile = (init = {}) => async (awsIdentityProperties) => {
45
+ init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");
46
+ const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];
47
+ const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];
48
+ const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];
49
+ if (!webIdentityTokenFile || !roleArn) {
50
+ throw new CredentialsProviderError("Web identity configuration not specified", {
51
+ logger: init.logger
52
+ });
53
+ }
54
+ const credentials = await fromWebToken({
55
+ ...init,
56
+ webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ?? readFileSync(webIdentityTokenFile, { encoding: "ascii" }),
57
+ roleArn,
58
+ roleSessionName
59
+ })(awsIdentityProperties);
60
+ if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {
61
+ setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h");
62
+ }
63
+ return credentials;
64
+ };
65
+ export {
66
+ fromTokenFile,
67
+ fromWebToken
68
+ };
69
+ //# sourceMappingURL=dist-es-4WSJUIYR-XKIX65IH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.10/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js","../../../node_modules/.bun/@aws-sdk+credential-provider-web-identity@3.972.10/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromWebToken.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { externalDataInterceptor } from \"@smithy/shared-ini-file-loader\";\nimport { readFileSync } from \"fs\";\nimport { fromWebToken } from \"./fromWebToken\";\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nexport const fromTokenFile = (init = {}) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromTokenFile\");\n const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];\n const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];\n const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new CredentialsProviderError(\"Web identity configuration not specified\", {\n logger: init.logger,\n });\n }\n const credentials = await fromWebToken({\n ...init,\n webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ??\n readFileSync(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })(awsIdentityProperties);\n if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN\", \"h\");\n }\n return credentials;\n};\n","export const fromWebToken = (init) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromWebToken\");\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;\n let { roleAssumerWithWebIdentity } = init;\n if (!roleAssumerWithWebIdentity) {\n const { getDefaultRoleAssumerWithWebIdentity } = await import(\"@aws-sdk/nested-clients/sts\");\n roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({\n ...init.clientConfig,\n credentialProviderLogger: init.logger,\n parentClientConfig: {\n ...awsIdentityProperties?.callerClientConfig,\n ...init.parentClientConfig,\n },\n }, init.clientPlugins);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\n"],"mappings":";;;;;;;;;;;;;;AAGA,SAAS,oBAAoB;ACHtB,IAAM,eAAe,CAAC,SAAS,OAAO,0BAA0B;AACnE,OAAK,QAAQ,MAAM,0DAA0D;AAC7E,QAAM,EAAE,SAAS,iBAAiB,kBAAkB,YAAY,YAAY,QAAQ,gBAAgB,IAAI;AACxG,MAAI,EAAE,2BAA2B,IAAI;AACrC,MAAI,CAAC,4BAA4B;AAC7B,UAAM,EAAE,qCAAqC,IAAI,MAAM,OAAO,4BAA6B;AAC3F,iCAA6B,qCAAqC;MAC9D,GAAG,KAAK;MACR,0BAA0B,KAAK;MAC/B,oBAAoB;QAChB,GAAG,uBAAuB;QAC1B,GAAG,KAAK;MACZ;IACJ,GAAG,KAAK,aAAa;EACzB;AACA,SAAO,2BAA2B;IAC9B,SAAS;IACT,iBAAiB,mBAAmB,sBAAsB,KAAK,IAAI,CAAC;IACpE,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,iBAAiB;EACrB,CAAC;AACL;ADnBA,IAAM,iBAAiB;AACvB,IAAM,eAAe;AACrB,IAAM,wBAAwB;AACvB,IAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,OAAO,0BAA0B;AACzE,OAAK,QAAQ,MAAM,2DAA2D;AAC9E,QAAM,uBAAuB,MAAM,wBAAwB,QAAQ,IAAI,cAAc;AACrF,QAAM,UAAU,MAAM,WAAW,QAAQ,IAAI,YAAY;AACzD,QAAM,kBAAkB,MAAM,mBAAmB,QAAQ,IAAI,qBAAqB;AAClF,MAAI,CAAC,wBAAwB,CAAC,SAAS;AACnC,UAAM,IAAI,yBAAyB,4CAA4C;MAC3E,QAAQ,KAAK;IACjB,CAAC;EACL;AACA,QAAM,cAAc,MAAM,aAAa;IACnC,GAAG;IACH,kBAAkB,yBAAyB,iBAAiB,EAAE,oBAAoB,KAC9E,aAAa,sBAAsB,EAAE,UAAU,QAAQ,CAAC;IAC5D;IACA;EACJ,CAAC,EAAE,qBAAqB;AACxB,MAAI,yBAAyB,QAAQ,IAAI,cAAc,GAAG;AACtD,yBAAqB,aAAa,yCAAyC,GAAG;EAClF;AACA,SAAO;AACX;","names":[]}
@@ -0,0 +1,355 @@
1
+ import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ loadConfig,
4
+ parseUrl
5
+ } from "./chunk-OL2WGI6E.js";
6
+ import "./chunk-XSUMCWKO.js";
7
+ import "./chunk-WVSXFZWP.js";
8
+ import {
9
+ CredentialsProviderError,
10
+ ProviderError
11
+ } from "./chunk-UHP5KEDL.js";
12
+ import "./chunk-UGXG73VF.js";
13
+ import "./chunk-5H446C7X.js";
14
+
15
+ // ../../packages/core/dist/dist-es-7K7MKRME.js
16
+ import { parse } from "url";
17
+ import { Buffer } from "buffer";
18
+ import { request } from "http";
19
+ function httpRequest(options) {
20
+ return new Promise((resolve, reject) => {
21
+ const req = request({
22
+ method: "GET",
23
+ ...options,
24
+ hostname: options.hostname?.replace(/^\[(.+)\]$/, "$1")
25
+ });
26
+ req.on("error", (err) => {
27
+ reject(Object.assign(new ProviderError("Unable to connect to instance metadata service"), err));
28
+ req.destroy();
29
+ });
30
+ req.on("timeout", () => {
31
+ reject(new ProviderError("TimeoutError from instance metadata service"));
32
+ req.destroy();
33
+ });
34
+ req.on("response", (res) => {
35
+ const { statusCode = 400 } = res;
36
+ if (statusCode < 200 || 300 <= statusCode) {
37
+ reject(Object.assign(new ProviderError("Error response received from instance metadata service"), { statusCode }));
38
+ req.destroy();
39
+ }
40
+ const chunks = [];
41
+ res.on("data", (chunk) => {
42
+ chunks.push(chunk);
43
+ });
44
+ res.on("end", () => {
45
+ resolve(Buffer.concat(chunks));
46
+ req.destroy();
47
+ });
48
+ });
49
+ req.end();
50
+ });
51
+ }
52
+ var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string";
53
+ var fromImdsCredentials = (creds) => ({
54
+ accessKeyId: creds.AccessKeyId,
55
+ secretAccessKey: creds.SecretAccessKey,
56
+ sessionToken: creds.Token,
57
+ expiration: new Date(creds.Expiration),
58
+ ...creds.AccountId && { accountId: creds.AccountId }
59
+ });
60
+ var DEFAULT_TIMEOUT = 1e3;
61
+ var DEFAULT_MAX_RETRIES = 0;
62
+ var providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT }) => ({ maxRetries, timeout });
63
+ var retry = (toRetry, maxRetries) => {
64
+ let promise = toRetry();
65
+ for (let i = 0; i < maxRetries; i++) {
66
+ promise = promise.catch(toRetry);
67
+ }
68
+ return promise;
69
+ };
70
+ var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
71
+ var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
72
+ var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
73
+ var fromContainerMetadata = (init = {}) => {
74
+ const { timeout, maxRetries } = providerConfigFromInit(init);
75
+ return () => retry(async () => {
76
+ const requestOptions = await getCmdsUri({ logger: init.logger });
77
+ const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));
78
+ if (!isImdsCredentials(credsResponse)) {
79
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
80
+ logger: init.logger
81
+ });
82
+ }
83
+ return fromImdsCredentials(credsResponse);
84
+ }, maxRetries);
85
+ };
86
+ var requestFromEcsImds = async (timeout, options) => {
87
+ if (process.env[ENV_CMDS_AUTH_TOKEN]) {
88
+ options.headers = {
89
+ ...options.headers,
90
+ Authorization: process.env[ENV_CMDS_AUTH_TOKEN]
91
+ };
92
+ }
93
+ const buffer = await httpRequest({
94
+ ...options,
95
+ timeout
96
+ });
97
+ return buffer.toString();
98
+ };
99
+ var CMDS_IP = "169.254.170.2";
100
+ var GREENGRASS_HOSTS = {
101
+ localhost: true,
102
+ "127.0.0.1": true
103
+ };
104
+ var GREENGRASS_PROTOCOLS = {
105
+ "http:": true,
106
+ "https:": true
107
+ };
108
+ var getCmdsUri = async ({ logger }) => {
109
+ if (process.env[ENV_CMDS_RELATIVE_URI]) {
110
+ return {
111
+ hostname: CMDS_IP,
112
+ path: process.env[ENV_CMDS_RELATIVE_URI]
113
+ };
114
+ }
115
+ if (process.env[ENV_CMDS_FULL_URI]) {
116
+ const parsed = parse(process.env[ENV_CMDS_FULL_URI]);
117
+ if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {
118
+ throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {
119
+ tryNextLink: false,
120
+ logger
121
+ });
122
+ }
123
+ if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {
124
+ throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {
125
+ tryNextLink: false,
126
+ logger
127
+ });
128
+ }
129
+ return {
130
+ ...parsed,
131
+ port: parsed.port ? parseInt(parsed.port, 10) : void 0
132
+ };
133
+ }
134
+ throw new CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment variable is set`, {
135
+ tryNextLink: false,
136
+ logger
137
+ });
138
+ };
139
+ var InstanceMetadataV1FallbackError = class _InstanceMetadataV1FallbackError extends CredentialsProviderError {
140
+ tryNextLink;
141
+ name = "InstanceMetadataV1FallbackError";
142
+ constructor(message, tryNextLink = true) {
143
+ super(message, tryNextLink);
144
+ this.tryNextLink = tryNextLink;
145
+ Object.setPrototypeOf(this, _InstanceMetadataV1FallbackError.prototype);
146
+ }
147
+ };
148
+ var Endpoint;
149
+ (function(Endpoint2) {
150
+ Endpoint2["IPv4"] = "http://169.254.169.254";
151
+ Endpoint2["IPv6"] = "http://[fd00:ec2::254]";
152
+ })(Endpoint || (Endpoint = {}));
153
+ var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT";
154
+ var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint";
155
+ var ENDPOINT_CONFIG_OPTIONS = {
156
+ environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],
157
+ configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],
158
+ default: void 0
159
+ };
160
+ var EndpointMode;
161
+ (function(EndpointMode2) {
162
+ EndpointMode2["IPv4"] = "IPv4";
163
+ EndpointMode2["IPv6"] = "IPv6";
164
+ })(EndpointMode || (EndpointMode = {}));
165
+ var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE";
166
+ var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode";
167
+ var ENDPOINT_MODE_CONFIG_OPTIONS = {
168
+ environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],
169
+ configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],
170
+ default: EndpointMode.IPv4
171
+ };
172
+ var getInstanceMetadataEndpoint = async () => parseUrl(await getFromEndpointConfig() || await getFromEndpointModeConfig());
173
+ var getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();
174
+ var getFromEndpointModeConfig = async () => {
175
+ const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();
176
+ switch (endpointMode) {
177
+ case EndpointMode.IPv4:
178
+ return Endpoint.IPv4;
179
+ case EndpointMode.IPv6:
180
+ return Endpoint.IPv6;
181
+ default:
182
+ throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode)}`);
183
+ }
184
+ };
185
+ var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;
186
+ var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;
187
+ var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html";
188
+ var getExtendedInstanceMetadataCredentials = (credentials, logger) => {
189
+ const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);
190
+ const newExpiration = new Date(Date.now() + refreshInterval * 1e3);
191
+ logger.warn(`Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}.
192
+ For more information, please visit: ` + STATIC_STABILITY_DOC_URL);
193
+ const originalExpiration = credentials.originalExpiration ?? credentials.expiration;
194
+ return {
195
+ ...credentials,
196
+ ...originalExpiration ? { originalExpiration } : {},
197
+ expiration: newExpiration
198
+ };
199
+ };
200
+ var staticStabilityProvider = (provider, options = {}) => {
201
+ const logger = options?.logger || console;
202
+ let pastCredentials;
203
+ return async () => {
204
+ let credentials;
205
+ try {
206
+ credentials = await provider();
207
+ if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {
208
+ credentials = getExtendedInstanceMetadataCredentials(credentials, logger);
209
+ }
210
+ } catch (e) {
211
+ if (pastCredentials) {
212
+ logger.warn("Credential renew failed: ", e);
213
+ credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);
214
+ } else {
215
+ throw e;
216
+ }
217
+ }
218
+ pastCredentials = credentials;
219
+ return credentials;
220
+ };
221
+ };
222
+ var IMDS_PATH = "/latest/meta-data/iam/security-credentials/";
223
+ var IMDS_TOKEN_PATH = "/latest/api/token";
224
+ var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED";
225
+ var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled";
226
+ var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token";
227
+ var fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });
228
+ var getInstanceMetadataProvider = (init = {}) => {
229
+ let disableFetchToken = false;
230
+ const { logger, profile } = init;
231
+ const { timeout, maxRetries } = providerConfigFromInit(init);
232
+ const getCredentials = async (maxRetries2, options) => {
233
+ const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;
234
+ if (isImdsV1Fallback) {
235
+ let fallbackBlockedFromProfile = false;
236
+ let fallbackBlockedFromProcessEnv = false;
237
+ const configValue = await loadConfig({
238
+ environmentVariableSelector: (env) => {
239
+ const envValue = env[AWS_EC2_METADATA_V1_DISABLED];
240
+ fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false";
241
+ if (envValue === void 0) {
242
+ throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });
243
+ }
244
+ return fallbackBlockedFromProcessEnv;
245
+ },
246
+ configFileSelector: (profile2) => {
247
+ const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED];
248
+ fallbackBlockedFromProfile = !!profileValue && profileValue !== "false";
249
+ return fallbackBlockedFromProfile;
250
+ },
251
+ default: false
252
+ }, {
253
+ profile
254
+ })();
255
+ if (init.ec2MetadataV1Disabled || configValue) {
256
+ const causes = [];
257
+ if (init.ec2MetadataV1Disabled)
258
+ causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)");
259
+ if (fallbackBlockedFromProfile)
260
+ causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);
261
+ if (fallbackBlockedFromProcessEnv)
262
+ causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);
263
+ throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(", ")}].`);
264
+ }
265
+ }
266
+ const imdsProfile = (await retry(async () => {
267
+ let profile2;
268
+ try {
269
+ profile2 = await getProfile(options);
270
+ } catch (err) {
271
+ if (err.statusCode === 401) {
272
+ disableFetchToken = false;
273
+ }
274
+ throw err;
275
+ }
276
+ return profile2;
277
+ }, maxRetries2)).trim();
278
+ return retry(async () => {
279
+ let creds;
280
+ try {
281
+ creds = await getCredentialsFromProfile(imdsProfile, options, init);
282
+ } catch (err) {
283
+ if (err.statusCode === 401) {
284
+ disableFetchToken = false;
285
+ }
286
+ throw err;
287
+ }
288
+ return creds;
289
+ }, maxRetries2);
290
+ };
291
+ return async () => {
292
+ const endpoint = await getInstanceMetadataEndpoint();
293
+ if (disableFetchToken) {
294
+ logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)");
295
+ return getCredentials(maxRetries, { ...endpoint, timeout });
296
+ } else {
297
+ let token;
298
+ try {
299
+ token = (await getMetadataToken({ ...endpoint, timeout })).toString();
300
+ } catch (error) {
301
+ if (error?.statusCode === 400) {
302
+ throw Object.assign(error, {
303
+ message: "EC2 Metadata token request returned error"
304
+ });
305
+ } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) {
306
+ disableFetchToken = true;
307
+ }
308
+ logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)");
309
+ return getCredentials(maxRetries, { ...endpoint, timeout });
310
+ }
311
+ return getCredentials(maxRetries, {
312
+ ...endpoint,
313
+ headers: {
314
+ [X_AWS_EC2_METADATA_TOKEN]: token
315
+ },
316
+ timeout
317
+ });
318
+ }
319
+ };
320
+ };
321
+ var getMetadataToken = async (options) => httpRequest({
322
+ ...options,
323
+ path: IMDS_TOKEN_PATH,
324
+ method: "PUT",
325
+ headers: {
326
+ "x-aws-ec2-metadata-token-ttl-seconds": "21600"
327
+ }
328
+ });
329
+ var getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();
330
+ var getCredentialsFromProfile = async (profile, options, init) => {
331
+ const credentialsResponse = JSON.parse((await httpRequest({
332
+ ...options,
333
+ path: IMDS_PATH + profile
334
+ })).toString());
335
+ if (!isImdsCredentials(credentialsResponse)) {
336
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
337
+ logger: init.logger
338
+ });
339
+ }
340
+ return fromImdsCredentials(credentialsResponse);
341
+ };
342
+ export {
343
+ DEFAULT_MAX_RETRIES,
344
+ DEFAULT_TIMEOUT,
345
+ ENV_CMDS_AUTH_TOKEN,
346
+ ENV_CMDS_FULL_URI,
347
+ ENV_CMDS_RELATIVE_URI,
348
+ Endpoint,
349
+ fromContainerMetadata,
350
+ fromInstanceMetadata,
351
+ getInstanceMetadataEndpoint,
352
+ httpRequest,
353
+ providerConfigFromInit
354
+ };
355
+ //# sourceMappingURL=dist-es-7K7MKRME-CCMAZOQC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/httpRequest.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/RemoteProviderInit.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/retry.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/error/InstanceMetadataV1FallbackError.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/config/Endpoint.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointConfigOptions.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointMode.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointModeConfigOptions.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/utils/getInstanceMetadataEndpoint.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/utils/getExtendedInstanceMetadataCredentials.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/utils/staticStabilityProvider.js","../../../node_modules/.bun/@smithy+credential-provider-imds@4.2.9/node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js"],"sourcesContent":["import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { parse } from \"url\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { retry } from \"./remoteProvider/retry\";\nexport const ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexport const ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexport const ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = providerConfigFromInit(init);\n return () => retry(async () => {\n const requestOptions = await getCmdsUri({ logger: init.logger });\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!isImdsCredentials(credsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credsResponse);\n }, maxRetries);\n};\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await httpRequest({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = {\n localhost: true,\n \"127.0.0.1\": true,\n};\nconst GREENGRASS_PROTOCOLS = {\n \"http:\": true,\n \"https:\": true,\n};\nconst getCmdsUri = async ({ logger }) => {\n if (process.env[ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[ENV_CMDS_FULL_URI]) {\n const parsed = parse(process.env[ENV_CMDS_FULL_URI]);\n if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {\n throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {\n tryNextLink: false,\n logger,\n });\n }\n if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {\n throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {\n tryNextLink: false,\n logger,\n });\n }\n return {\n ...parsed,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", {\n tryNextLink: false,\n logger,\n });\n};\n","import { ProviderError } from \"@smithy/property-provider\";\nimport { Buffer } from \"buffer\";\nimport { request } from \"http\";\nexport function httpRequest(options) {\n return new Promise((resolve, reject) => {\n const req = request({\n method: \"GET\",\n ...options,\n hostname: options.hostname?.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\n","export const isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexport const fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n ...(creds.AccountId && { accountId: creds.AccountId }),\n});\n","export const DEFAULT_TIMEOUT = 1000;\nexport const DEFAULT_MAX_RETRIES = 0;\nexport const providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\n","export const retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport class InstanceMetadataV1FallbackError extends CredentialsProviderError {\n tryNextLink;\n name = \"InstanceMetadataV1FallbackError\";\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);\n }\n}\n","export var Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint || (Endpoint = {}));\n","export const ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexport const CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexport const ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n","export var EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode || (EndpointMode = {}));\n","import { EndpointMode } from \"./EndpointMode\";\nexport const ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexport const CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexport const ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode.IPv4,\n};\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { Endpoint as InstanceMetadataEndpoint } from \"../config/Endpoint\";\nimport { ENDPOINT_CONFIG_OPTIONS } from \"../config/EndpointConfigOptions\";\nimport { EndpointMode } from \"../config/EndpointMode\";\nimport { ENDPOINT_MODE_CONFIG_OPTIONS, } from \"../config/EndpointModeConfigOptions\";\nexport const getInstanceMetadataEndpoint = async () => parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nconst getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode.IPv4:\n return InstanceMetadataEndpoint.IPv4;\n case EndpointMode.IPv6:\n return InstanceMetadataEndpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);\n }\n};\n","const STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nexport const getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n `credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: ` +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = credentials.originalExpiration ?? credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\n","import { getExtendedInstanceMetadataCredentials } from \"./getExtendedInstanceMetadataCredentials\";\nexport const staticStabilityProvider = (provider, options = {}) => {\n const logger = options?.logger || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = getExtendedInstanceMetadataCredentials(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { InstanceMetadataV1FallbackError } from \"./error/InstanceMetadataV1FallbackError\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { retry } from \"./remoteProvider/retry\";\nimport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nimport { staticStabilityProvider } from \"./utils/staticStabilityProvider\";\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst AWS_EC2_METADATA_V1_DISABLED = \"AWS_EC2_METADATA_V1_DISABLED\";\nconst PROFILE_AWS_EC2_METADATA_V1_DISABLED = \"ec2_metadata_v1_disabled\";\nconst X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nexport const fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });\nconst getInstanceMetadataProvider = (init = {}) => {\n let disableFetchToken = false;\n const { logger, profile } = init;\n const { timeout, maxRetries } = providerConfigFromInit(init);\n const getCredentials = async (maxRetries, options) => {\n const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;\n if (isImdsV1Fallback) {\n let fallbackBlockedFromProfile = false;\n let fallbackBlockedFromProcessEnv = false;\n const configValue = await loadConfig({\n environmentVariableSelector: (env) => {\n const envValue = env[AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProcessEnv = !!envValue && envValue !== \"false\";\n if (envValue === undefined) {\n throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });\n }\n return fallbackBlockedFromProcessEnv;\n },\n configFileSelector: (profile) => {\n const profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProfile = !!profileValue && profileValue !== \"false\";\n return fallbackBlockedFromProfile;\n },\n default: false,\n }, {\n profile,\n })();\n if (init.ec2MetadataV1Disabled || configValue) {\n const causes = [];\n if (init.ec2MetadataV1Disabled)\n causes.push(\"credential provider initialization (runtime option ec2MetadataV1Disabled)\");\n if (fallbackBlockedFromProfile)\n causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);\n if (fallbackBlockedFromProcessEnv)\n causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);\n throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(\", \")}].`);\n }\n }\n const imdsProfile = (await retry(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return retry(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(imdsProfile, options, init);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await getInstanceMetadataEndpoint();\n if (disableFetchToken) {\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (no token fetch)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if (error?.statusCode === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (initial)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => httpRequest({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options, init) => {\n const credentialsResponse = JSON.parse((await httpRequest({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!isImdsCredentials(credentialsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credentialsResponse);\n};\n"],"mappings":"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","names":["Endpoint","EndpointMode","maxRetries","profile"]}