@semiont/graph 0.5.11 → 0.5.13

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 (55) hide show
  1. package/dist/{chunk-SQRFW5JO.js → chunk-2FZWFAHI.js} +2 -2
  2. package/dist/{chunk-PFPGJZE5.js → chunk-7W3WYDYY.js} +781 -655
  3. package/dist/chunk-7W3WYDYY.js.map +1 -0
  4. package/dist/{chunk-QGGTFZBT.js → chunk-ANBNC7ET.js} +9 -9
  5. package/dist/chunk-ANBNC7ET.js.map +1 -0
  6. package/dist/{chunk-MPEJCIW2.js → chunk-FUH65BXZ.js} +3 -3
  7. package/dist/{chunk-2WJWKJQU.js → chunk-SIIGOCAF.js} +61 -167
  8. package/dist/chunk-SIIGOCAF.js.map +1 -0
  9. package/dist/chunk-TTCF2MVW.js +2238 -0
  10. package/dist/chunk-TTCF2MVW.js.map +1 -0
  11. package/dist/dist-es-2TLZH4GR.js +286 -0
  12. package/dist/dist-es-2TLZH4GR.js.map +1 -0
  13. package/dist/{dist-es-L3LHQ2H4.js → dist-es-3LHYAN2Z.js} +3 -3
  14. package/dist/{dist-es-CKTPSCQB.js → dist-es-ERGUA43M.js} +119 -258
  15. package/dist/dist-es-ERGUA43M.js.map +1 -0
  16. package/dist/{dist-es-TZGZRHJL.js → dist-es-FF2QSTPC.js} +19 -13
  17. package/dist/dist-es-FF2QSTPC.js.map +1 -0
  18. package/dist/{dist-es-RQSF5AZ5.js → dist-es-FYIEMWHW.js} +4 -4
  19. package/dist/{dist-es-UUBLUHQK.js → dist-es-QUWKNR3E.js} +2 -2
  20. package/dist/{dist-es-SHXLUESU.js → dist-es-VWWFUSHN.js} +6 -6
  21. package/dist/dist-es-WPIJNMD4.js +220 -0
  22. package/dist/dist-es-WPIJNMD4.js.map +1 -0
  23. package/dist/{dist-es-G4L6NCN5.js → dist-es-YDMYLFPU.js} +4 -4
  24. package/dist/index.js +45 -19
  25. package/dist/index.js.map +1 -1
  26. package/dist/{loadSso-RFRDEFSI.js → loadSso-XDB76252.js} +8 -10
  27. package/dist/{loadSso-RFRDEFSI.js.map → loadSso-XDB76252.js.map} +1 -1
  28. package/dist/{signin-U5IGPIWD.js → signin-AHFRIARE.js} +8 -10
  29. package/dist/{signin-U5IGPIWD.js.map → signin-AHFRIARE.js.map} +1 -1
  30. package/dist/{sso-oidc-GGDHF3M3.js → sso-oidc-3B3W33KS.js} +8 -10
  31. package/dist/{sso-oidc-GGDHF3M3.js.map → sso-oidc-3B3W33KS.js.map} +1 -1
  32. package/dist/{sts-3TIKUUIA.js → sts-OXRUFMHG.js} +10 -16
  33. package/dist/sts-OXRUFMHG.js.map +1 -0
  34. package/package.json +6 -6
  35. package/dist/chunk-2WJWKJQU.js.map +0 -1
  36. package/dist/chunk-5PYYJZCY.js +0 -576
  37. package/dist/chunk-5PYYJZCY.js.map +0 -1
  38. package/dist/chunk-6C6SP2SJ.js +0 -1113
  39. package/dist/chunk-6C6SP2SJ.js.map +0 -1
  40. package/dist/chunk-BRCSBLGI.js +0 -694
  41. package/dist/chunk-BRCSBLGI.js.map +0 -1
  42. package/dist/chunk-PFPGJZE5.js.map +0 -1
  43. package/dist/chunk-QGGTFZBT.js.map +0 -1
  44. package/dist/dist-es-5CZKMZ7F.js +0 -492
  45. package/dist/dist-es-5CZKMZ7F.js.map +0 -1
  46. package/dist/dist-es-CKTPSCQB.js.map +0 -1
  47. package/dist/dist-es-TZGZRHJL.js.map +0 -1
  48. package/dist/sts-3TIKUUIA.js.map +0 -1
  49. /package/dist/{chunk-SQRFW5JO.js.map → chunk-2FZWFAHI.js.map} +0 -0
  50. /package/dist/{chunk-MPEJCIW2.js.map → chunk-FUH65BXZ.js.map} +0 -0
  51. /package/dist/{dist-es-L3LHQ2H4.js.map → dist-es-3LHYAN2Z.js.map} +0 -0
  52. /package/dist/{dist-es-RQSF5AZ5.js.map → dist-es-FYIEMWHW.js.map} +0 -0
  53. /package/dist/{dist-es-UUBLUHQK.js.map → dist-es-QUWKNR3E.js.map} +0 -0
  54. /package/dist/{dist-es-SHXLUESU.js.map → dist-es-VWWFUSHN.js.map} +0 -0
  55. /package/dist/{dist-es-G4L6NCN5.js.map → dist-es-YDMYLFPU.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  NodeHttpHandler
3
- } from "./chunk-SQRFW5JO.js";
3
+ } from "./chunk-2FZWFAHI.js";
4
4
  import {
5
5
  setCredentialFeature
6
- } from "./chunk-2WJWKJQU.js";
6
+ } from "./chunk-SIIGOCAF.js";
7
7
  import {
8
8
  CredentialsProviderError,
9
9
  HttpRequest
10
- } from "./chunk-PFPGJZE5.js";
10
+ } from "./chunk-7W3WYDYY.js";
11
11
  import {
12
12
  parseRfc3339DateTime,
13
13
  sdkStreamMixin
@@ -123,16 +123,16 @@ var fromHttp = (options = {}) => {
123
123
  const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn ? console.warn : options.logger.warn.bind(options.logger);
124
124
  if (relative && full) {
125
125
  warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
126
- warn("awsContainerCredentialsFullUri will take precedence.");
126
+ warn("awsContainerCredentialsRelativeUri will take precedence.");
127
127
  }
128
128
  if (token && tokenFile) {
129
129
  warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
130
- warn("awsContainerAuthorizationToken will take precedence.");
130
+ warn("awsContainerAuthorizationTokenFile will take precedence.");
131
131
  }
132
- if (full) {
133
- host = full;
134
- } else if (relative) {
132
+ if (relative) {
135
133
  host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
134
+ } else if (full) {
135
+ host = full;
136
136
  } else {
137
137
  throw new CredentialsProviderError(`No HTTP credential provider host provided.
138
138
  Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
@@ -143,10 +143,10 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
143
143
  const requestTimeout = options.timeout ?? 1e3;
144
144
  const provider = retryWrapper(async () => {
145
145
  const request = createGetRequest(url);
146
- if (token) {
147
- request.headers.Authorization = token;
148
- } else if (tokenFile) {
149
- request.headers.Authorization = (await fs.readFile(tokenFile)).toString();
146
+ if (tokenFile) {
147
+ request.headers.Authorization = validateToken((await fs.readFile(tokenFile)).toString());
148
+ } else if (token) {
149
+ request.headers.Authorization = validateToken(token);
150
150
  }
151
151
  try {
152
152
  const result = await requestHandler.handle(request, { requestTimeout });
@@ -163,7 +163,13 @@ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
163
163
  }
164
164
  };
165
165
  };
166
+ var validateToken = (token) => {
167
+ if (token.includes("\r\n")) {
168
+ throw new CredentialsProviderError("Authorization token contains invalid \\r\\n sequence.");
169
+ }
170
+ return token;
171
+ };
166
172
  export {
167
173
  fromHttp
168
174
  };
169
- //# sourceMappingURL=dist-es-TZGZRHJL.js.map
175
+ //# sourceMappingURL=dist-es-FF2QSTPC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js","../../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js","../../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js","../../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/core/config\";\nimport { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport fs from \"node: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(\"awsContainerCredentialsRelativeUri 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(\"awsContainerAuthorizationTokenFile will take precedence.\");\n }\n if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else if (full) {\n host = full;\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({ connectionTimeout: options.timeout ?? 1000 });\n const requestTimeout = options.timeout ?? 1000;\n const provider = retryWrapper(async () => {\n const request = createGetRequest(url);\n if (tokenFile) {\n request.headers.Authorization = validateToken((await fs.readFile(tokenFile)).toString());\n }\n else if (token) {\n request.headers.Authorization = validateToken(token);\n }\n try {\n const result = await requestHandler.handle(request, { requestTimeout });\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 return async () => {\n try {\n return await provider();\n }\n finally {\n requestHandler.destroy?.();\n }\n };\n};\nconst validateToken = (token) => {\n if (token.includes(\"\\r\\n\")) {\n throw new CredentialsProviderError(\"Authorization token contains invalid \\\\r\\\\n sequence.\");\n }\n return token;\n};\n","import { CredentialsProviderError } from \"@smithy/core/config\";\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/core/config\";\nimport { HttpRequest } from \"@smithy/core/protocols\";\nimport { parseRfc3339DateTime } from \"@smithy/core/serde\";\nimport { sdkStreamMixin } from \"@smithy/core/serde\";\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":"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","names":[]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  setCredentialFeature
3
- } from "./chunk-2WJWKJQU.js";
3
+ } from "./chunk-SIIGOCAF.js";
4
4
  import {
5
5
  CredentialsProviderError,
6
6
  externalDataInterceptor
7
- } from "./chunk-PFPGJZE5.js";
7
+ } from "./chunk-7W3WYDYY.js";
8
8
  import "./chunk-FG7DZRU2.js";
9
9
 
10
10
  // ../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js
@@ -16,7 +16,7 @@ var fromWebToken = (init) => async (awsIdentityProperties) => {
16
16
  const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;
17
17
  let { roleAssumerWithWebIdentity } = init;
18
18
  if (!roleAssumerWithWebIdentity) {
19
- const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-3TIKUUIA.js");
19
+ const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-OXRUFMHG.js");
20
20
  roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({
21
21
  ...init.clientConfig,
22
22
  credentialProviderLogger: init.logger,
@@ -66,4 +66,4 @@ export {
66
66
  fromTokenFile,
67
67
  fromWebToken
68
68
  };
69
- //# sourceMappingURL=dist-es-RQSF5AZ5.js.map
69
+ //# sourceMappingURL=dist-es-FYIEMWHW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ProviderError,
4
4
  loadConfig,
5
5
  parseUrl
6
- } from "./chunk-PFPGJZE5.js";
6
+ } from "./chunk-7W3WYDYY.js";
7
7
  import "./chunk-FG7DZRU2.js";
8
8
 
9
9
  // ../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js
@@ -373,4 +373,4 @@ export {
373
373
  httpRequest,
374
374
  providerConfigFromInit
375
375
  };
376
- //# sourceMappingURL=dist-es-UUBLUHQK.js.map
376
+ //# sourceMappingURL=dist-es-QUWKNR3E.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  setCredentialFeature
3
- } from "./chunk-2WJWKJQU.js";
3
+ } from "./chunk-SIIGOCAF.js";
4
4
  import {
5
5
  CredentialsProviderError,
6
6
  TokenProviderError,
@@ -9,7 +9,7 @@ import {
9
9
  getSSOTokenFromFile,
10
10
  loadSsoSessionData,
11
11
  parseKnownFiles
12
- } from "./chunk-PFPGJZE5.js";
12
+ } from "./chunk-7W3WYDYY.js";
13
13
  import "./chunk-FG7DZRU2.js";
14
14
 
15
15
  // ../../node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js
@@ -21,7 +21,7 @@ var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the
21
21
 
22
22
  // ../../node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js
23
23
  var getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {
24
- const { SSOOIDCClient } = await import("./sso-oidc-GGDHF3M3.js");
24
+ const { SSOOIDCClient } = await import("./sso-oidc-3B3W33KS.js");
25
25
  const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop] ?? callerClientConfig?.[prop];
26
26
  const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {
27
27
  region: ssoRegion ?? init.clientConfig?.region,
@@ -33,7 +33,7 @@ var getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {
33
33
 
34
34
  // ../../node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js
35
35
  var getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}, callerClientConfig) => {
36
- const { CreateTokenCommand } = await import("./sso-oidc-GGDHF3M3.js");
36
+ const { CreateTokenCommand } = await import("./sso-oidc-3B3W33KS.js");
37
37
  const ssoOidcClient = await getSsoOidcClient(ssoRegion, init, callerClientConfig);
38
38
  return ssoOidcClient.send(new CreateTokenCommand({
39
39
  clientId: ssoToken.clientId,
@@ -181,7 +181,7 @@ var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoR
181
181
  });
182
182
  }
183
183
  const { accessToken } = token;
184
- const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso-RFRDEFSI.js");
184
+ const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso-XDB76252.js");
185
185
  const sso = ssoClient || new SSOClient(Object.assign({}, clientConfig ?? {}, {
186
186
  logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,
187
187
  region: clientConfig?.region ?? ssoRegion,
@@ -314,4 +314,4 @@ export {
314
314
  isSsoProfile,
315
315
  validateSsoProfile
316
316
  };
317
- //# sourceMappingURL=dist-es-SHXLUESU.js.map
317
+ //# sourceMappingURL=dist-es-VWWFUSHN.js.map
@@ -0,0 +1,220 @@
1
+ import {
2
+ setCredentialFeature
3
+ } from "./chunk-SIIGOCAF.js";
4
+ import {
5
+ CredentialsProviderError,
6
+ chain,
7
+ getProfileName,
8
+ parseKnownFiles
9
+ } from "./chunk-7W3WYDYY.js";
10
+ import "./chunk-FG7DZRU2.js";
11
+
12
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js
13
+ var resolveCredentialSource = (credentialSource, profileName, logger) => {
14
+ const sourceProvidersMap = {
15
+ EcsContainer: async (options) => {
16
+ const { fromHttp } = await import("./dist-es-FF2QSTPC.js");
17
+ const { fromContainerMetadata } = await import("./dist-es-QUWKNR3E.js");
18
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer");
19
+ return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);
20
+ },
21
+ Ec2InstanceMetadata: async (options) => {
22
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");
23
+ const { fromInstanceMetadata } = await import("./dist-es-QUWKNR3E.js");
24
+ return async () => fromInstanceMetadata(options)().then(setNamedProvider);
25
+ },
26
+ Environment: async (options) => {
27
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");
28
+ const { fromEnv } = await import("./dist-es-YDMYLFPU.js");
29
+ return async () => fromEnv(options)().then(setNamedProvider);
30
+ }
31
+ };
32
+ if (credentialSource in sourceProvidersMap) {
33
+ return sourceProvidersMap[credentialSource];
34
+ } else {
35
+ throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });
36
+ }
37
+ };
38
+ var setNamedProvider = (creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_NAMED_PROVIDER", "p");
39
+
40
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js
41
+ var isAssumeRoleProfile = (arg, { profile = "default", logger } = {}) => {
42
+ return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger }));
43
+ };
44
+ var isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {
45
+ const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined";
46
+ if (withSourceProfile) {
47
+ logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);
48
+ }
49
+ return withSourceProfile;
50
+ };
51
+ var isCredentialSourceProfile = (arg, { profile, logger }) => {
52
+ const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined";
53
+ if (withProviderProfile) {
54
+ logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);
55
+ }
56
+ return withProviderProfile;
57
+ };
58
+ var resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData2) => {
59
+ options.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");
60
+ const profileData = profiles[profileName];
61
+ const { source_profile, region } = profileData;
62
+ if (!options.roleAssumer) {
63
+ const { getDefaultRoleAssumer } = await import("./sts-OXRUFMHG.js");
64
+ options.roleAssumer = getDefaultRoleAssumer({
65
+ ...options.clientConfig,
66
+ credentialProviderLogger: options.logger,
67
+ parentClientConfig: {
68
+ ...callerClientConfig,
69
+ ...options?.parentClientConfig,
70
+ region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region
71
+ }
72
+ }, options.clientPlugins);
73
+ }
74
+ if (source_profile && source_profile in visitedProfiles) {
75
+ throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${getProfileName(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), { logger: options.logger });
76
+ }
77
+ options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);
78
+ const sourceCredsProvider = source_profile ? resolveProfileData2(source_profile, profiles, options, callerClientConfig, {
79
+ ...visitedProfiles,
80
+ [source_profile]: true
81
+ }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {})) : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();
82
+ if (isCredentialSourceWithoutRoleArn(profileData)) {
83
+ return sourceCredsProvider.then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
84
+ } else {
85
+ const params = {
86
+ RoleArn: profileData.role_arn,
87
+ RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,
88
+ ExternalId: profileData.external_id,
89
+ DurationSeconds: parseInt(profileData.duration_seconds || "3600", 10)
90
+ };
91
+ const { mfa_serial } = profileData;
92
+ if (mfa_serial) {
93
+ if (!options.mfaCodeProvider) {
94
+ throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });
95
+ }
96
+ params.SerialNumber = mfa_serial;
97
+ params.TokenCode = await options.mfaCodeProvider(mfa_serial);
98
+ }
99
+ const sourceCreds = await sourceCredsProvider;
100
+ return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
101
+ }
102
+ };
103
+ var isCredentialSourceWithoutRoleArn = (section) => {
104
+ return !section.role_arn && !!section.credential_source;
105
+ };
106
+
107
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveLoginCredentials.js
108
+ var isLoginProfile = (data) => {
109
+ return Boolean(data && data.login_session);
110
+ };
111
+ var resolveLoginCredentials = async (profileName, options, callerClientConfig) => {
112
+ const { fromLoginCredentials } = await import("./dist-es-2TLZH4GR.js");
113
+ const credentials = await fromLoginCredentials({
114
+ ...options,
115
+ profile: profileName
116
+ })({ callerClientConfig });
117
+ return setCredentialFeature(credentials, "CREDENTIALS_PROFILE_LOGIN", "AC");
118
+ };
119
+
120
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js
121
+ var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string";
122
+ var resolveProcessCredentials = async (options, profile) => {
123
+ const { fromProcess } = await import("./dist-es-3LHYAN2Z.js");
124
+ const credentials = await fromProcess({
125
+ ...options,
126
+ profile
127
+ })();
128
+ return setCredentialFeature(credentials, "CREDENTIALS_PROFILE_PROCESS", "v");
129
+ };
130
+
131
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js
132
+ var resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {
133
+ const { fromSSO } = await import("./dist-es-VWWFUSHN.js");
134
+ return fromSSO({
135
+ profile,
136
+ logger: options.logger,
137
+ parentClientConfig: options.parentClientConfig,
138
+ clientConfig: options.clientConfig
139
+ })({
140
+ callerClientConfig
141
+ }).then((creds) => {
142
+ if (profileData.sso_session) {
143
+ return setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO", "r");
144
+ } else {
145
+ return setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO_LEGACY", "t");
146
+ }
147
+ });
148
+ };
149
+ 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");
150
+
151
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js
152
+ var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1;
153
+ var resolveStaticCredentials = async (profile, options) => {
154
+ options?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");
155
+ const credentials = {
156
+ accessKeyId: profile.aws_access_key_id,
157
+ secretAccessKey: profile.aws_secret_access_key,
158
+ sessionToken: profile.aws_session_token,
159
+ ...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope },
160
+ ...profile.aws_account_id && { accountId: profile.aws_account_id }
161
+ };
162
+ return setCredentialFeature(credentials, "CREDENTIALS_PROFILE", "n");
163
+ };
164
+
165
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js
166
+ var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1;
167
+ var resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => {
168
+ const { fromTokenFile } = await import("./dist-es-FYIEMWHW.js");
169
+ const credentials = await fromTokenFile({
170
+ webIdentityTokenFile: profile.web_identity_token_file,
171
+ roleArn: profile.role_arn,
172
+ roleSessionName: profile.role_session_name,
173
+ roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,
174
+ logger: options.logger,
175
+ parentClientConfig: options.parentClientConfig
176
+ })({
177
+ callerClientConfig
178
+ });
179
+ return setCredentialFeature(credentials, "CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN", "q");
180
+ };
181
+
182
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js
183
+ var resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {
184
+ const data = profiles[profileName];
185
+ if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {
186
+ return resolveStaticCredentials(data, options);
187
+ }
188
+ if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {
189
+ return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);
190
+ }
191
+ if (isStaticCredsProfile(data)) {
192
+ return resolveStaticCredentials(data, options);
193
+ }
194
+ if (isWebIdentityProfile(data)) {
195
+ return resolveWebIdentityCredentials(data, options, callerClientConfig);
196
+ }
197
+ if (isProcessProfile(data)) {
198
+ return resolveProcessCredentials(options, profileName);
199
+ }
200
+ if (isSsoProfile(data)) {
201
+ return await resolveSsoCredentials(profileName, data, options, callerClientConfig);
202
+ }
203
+ if (isLoginProfile(data)) {
204
+ return resolveLoginCredentials(profileName, options, callerClientConfig);
205
+ }
206
+ throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });
207
+ };
208
+
209
+ // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js
210
+ var fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {
211
+ init.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");
212
+ const profiles = await parseKnownFiles(init);
213
+ return resolveProfileData(getProfileName({
214
+ profile: init.profile ?? callerClientConfig?.profile
215
+ }), profiles, init, callerClientConfig);
216
+ };
217
+ export {
218
+ fromIni
219
+ };
220
+ //# sourceMappingURL=dist-es-WPIJNMD4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveLoginCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js","../../../node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { chain, CredentialsProviderError } from \"@smithy/core/config\";\nexport const resolveCredentialSource = (credentialSource, profileName, logger) => {\n const sourceProvidersMap = {\n EcsContainer: async (options) => {\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n const { fromContainerMetadata } = await import(\"@smithy/credential-provider-imds\");\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is EcsContainer\");\n return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);\n },\n Ec2InstanceMetadata: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata\");\n const { fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n return async () => fromInstanceMetadata(options)().then(setNamedProvider);\n },\n Environment: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Environment\");\n const { fromEnv } = await import(\"@aws-sdk/credential-provider-env\");\n return async () => fromEnv(options)().then(setNamedProvider);\n },\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });\n }\n};\nconst setNamedProvider = (creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_NAMED_PROVIDER\", \"p\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError, getProfileName } from \"@smithy/core/config\";\nimport { resolveCredentialSource } from \"./resolveCredentialSource\";\nexport const isAssumeRoleProfile = (arg, { profile = \"default\", logger } = {}) => {\n return (Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })));\n};\nconst isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {\n const withSourceProfile = typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\n if (withSourceProfile) {\n logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);\n }\n return withSourceProfile;\n};\nconst isCredentialSourceProfile = (arg, { profile, logger }) => {\n const withProviderProfile = typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\n if (withProviderProfile) {\n logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);\n }\n return withProviderProfile;\n};\nexport const resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)\");\n const profileData = profiles[profileName];\n const { source_profile, region } = profileData;\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import(\"@aws-sdk/nested-clients/sts\");\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: {\n ...callerClientConfig,\n ...options?.parentClientConfig,\n region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region,\n },\n }, options.clientPlugins);\n }\n if (source_profile && source_profile in visitedProfiles) {\n throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), { logger: options.logger });\n }\n options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, callerClientConfig, {\n ...visitedProfiles,\n [source_profile]: true,\n }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {}))\n : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();\n if (isCredentialSourceWithoutRoleArn(profileData)) {\n return sourceCredsProvider.then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n else {\n const params = {\n RoleArn: profileData.role_arn,\n RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: profileData.external_id,\n DurationSeconds: parseInt(profileData.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = profileData;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n};\nconst isCredentialSourceWithoutRoleArn = (section) => {\n return !section.role_arn && !!section.credential_source;\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isLoginProfile = (data) => {\n return Boolean(data && data.login_session);\n};\nexport const resolveLoginCredentials = async (profileName, options, callerClientConfig) => {\n const { fromLoginCredentials } = await import(\"@aws-sdk/credential-provider-login\");\n const credentials = await fromLoginCredentials({\n ...options,\n profile: profileName,\n })({ callerClientConfig });\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_LOGIN\", \"AC\");\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nexport const resolveProcessCredentials = async (options, profile) => {\n const { fromProcess } = await import(\"@aws-sdk/credential-provider-process\");\n const credentials = await fromProcess({\n ...options,\n profile,\n })();\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_PROCESS\", \"v\");\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO({\n profile,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n clientConfig: options.clientConfig,\n })({\n callerClientConfig,\n }).then((creds) => {\n if (profileData.sso_session) {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO\", \"r\");\n }\n else {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO_LEGACY\", \"t\");\n }\n });\n};\nexport 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\";\nexport const isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_account_id) > -1;\nexport const resolveStaticCredentials = async (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveStaticCredentials\");\n const credentials = {\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n ...(profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }),\n ...(profile.aws_account_id && { accountId: profile.aws_account_id }),\n };\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE\", \"n\");\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => {\n const { fromTokenFile } = await import(\"@aws-sdk/credential-provider-web-identity\");\n const credentials = await fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n })({\n callerClientConfig,\n });\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\");\n};\n","import { CredentialsProviderError } from \"@smithy/core/config\";\nimport { isAssumeRoleProfile, resolveAssumeRoleCredentials } from \"./resolveAssumeRoleCredentials\";\nimport { isLoginProfile, resolveLoginCredentials } from \"./resolveLoginCredentials\";\nimport { isProcessProfile, resolveProcessCredentials } from \"./resolveProcessCredentials\";\nimport { isSsoProfile, resolveSsoCredentials } from \"./resolveSsoCredentials\";\nimport { isStaticCredsProfile, resolveStaticCredentials } from \"./resolveStaticCredentials\";\nimport { isWebIdentityProfile, resolveWebIdentityCredentials } from \"./resolveWebIdentityCredentials\";\nexport const resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options, callerClientConfig);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, data, options, callerClientConfig);\n }\n if (isLoginProfile(data)) {\n return resolveLoginCredentials(profileName, options, callerClientConfig);\n }\n throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });\n};\n","import { getProfileName, parseKnownFiles } from \"@smithy/core/config\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-ini - fromIni\");\n const profiles = await parseKnownFiles(init);\n return resolveProfileData(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init, callerClientConfig);\n};\n"],"mappings":"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","names":["resolveProfileData"]}
@@ -6,9 +6,9 @@ import {
6
6
  ENV_SECRET,
7
7
  ENV_SESSION,
8
8
  fromEnv
9
- } from "./chunk-MPEJCIW2.js";
10
- import "./chunk-2WJWKJQU.js";
11
- import "./chunk-PFPGJZE5.js";
9
+ } from "./chunk-FUH65BXZ.js";
10
+ import "./chunk-SIIGOCAF.js";
11
+ import "./chunk-7W3WYDYY.js";
12
12
  import "./chunk-FG7DZRU2.js";
13
13
  export {
14
14
  ENV_ACCOUNT_ID,
@@ -19,4 +19,4 @@ export {
19
19
  ENV_SESSION,
20
20
  fromEnv
21
21
  };
22
- //# sourceMappingURL=dist-es-G4L6NCN5.js.map
22
+ //# sourceMappingURL=dist-es-YDMYLFPU.js.map
package/dist/index.js CHANGED
@@ -1,3 +1,12 @@
1
+ // src/interface.ts
2
+ var MUTABLE_RESOURCE_FACETS = /* @__PURE__ */ new Set(["archived", "entityTypes"]);
3
+ function assertMutableResourceUpdate(input) {
4
+ const keys = Object.keys(input);
5
+ if (keys.length === 0 || keys.some((k) => !MUTABLE_RESOURCE_FACETS.has(k))) {
6
+ throw new Error("Resources are immutable apart from archival state and entity tags.");
7
+ }
8
+ }
9
+
1
10
  // src/implementations/neptune.ts
2
11
  import { getEntityTypes } from "@semiont/ontology";
3
12
  import { annotationId as makeAnnotationId } from "@semiont/core";
@@ -13,7 +22,7 @@ var cardinality;
13
22
  var __;
14
23
  async function loadDependencies() {
15
24
  if (!NeptuneClient) {
16
- const neptuneModule = await import("./dist-es-CKTPSCQB.js");
25
+ const neptuneModule = await import("./dist-es-ERGUA43M.js");
17
26
  NeptuneClient = neptuneModule.NeptuneClient;
18
27
  DescribeDBClustersCommand = neptuneModule.DescribeDBClustersCommand;
19
28
  }
@@ -274,11 +283,16 @@ var NeptuneGraphDatabase = class {
274
283
  }
275
284
  }
276
285
  async updateResource(id, input) {
277
- if (Object.keys(input).length !== 1 || input.archived === void 0) {
278
- throw new Error("Resources are immutable. Only archiving is allowed.");
279
- }
286
+ assertMutableResourceUpdate(input);
280
287
  try {
281
- const result = await this.g.V().hasLabel("Resource").has("id", id).property("archived", input.archived).elementMap().next();
288
+ let traversal = this.g.V().hasLabel("Resource").has("id", id);
289
+ if (input.archived !== void 0) {
290
+ traversal = traversal.property("archived", input.archived);
291
+ }
292
+ if (input.entityTypes !== void 0) {
293
+ traversal = traversal.property("entityTypes", JSON.stringify(input.entityTypes));
294
+ }
295
+ const result = await traversal.elementMap().next();
282
296
  if (!result.value) {
283
297
  throw new Error("Resource not found");
284
298
  }
@@ -344,7 +358,7 @@ var NeptuneGraphDatabase = class {
344
358
  }
345
359
  }
346
360
  async createAnnotation(input) {
347
- const id = this.generateId();
361
+ const id = input.id;
348
362
  const annotation = {
349
363
  "@context": "http://www.w3.org/ns/anno.jsonld",
350
364
  "type": "Annotation",
@@ -950,16 +964,24 @@ var Neo4jGraphDatabase = class {
950
964
  }
951
965
  }
952
966
  async updateResource(id, input) {
953
- if (Object.keys(input).length !== 1 || input.archived === void 0) {
954
- throw new Error("Resources are immutable. Only archiving is allowed.");
967
+ assertMutableResourceUpdate(input);
968
+ const sets = [];
969
+ const params = { id };
970
+ if (input.archived !== void 0) {
971
+ sets.push("d.archived = $archived");
972
+ params.archived = input.archived;
973
+ }
974
+ if (input.entityTypes !== void 0) {
975
+ sets.push("d.entityTypes = $entityTypes");
976
+ params.entityTypes = input.entityTypes;
955
977
  }
956
978
  const session = this.getSession();
957
979
  try {
958
980
  const result = await session.run(
959
981
  `MATCH (d:Resource {id: $id})
960
- SET d.archived = $archived
982
+ SET ${sets.join(", ")}
961
983
  RETURN d`,
962
- { id, archived: input.archived }
984
+ params
963
985
  );
964
986
  if (result.records.length === 0) {
965
987
  throw new Error("Resource not found");
@@ -1961,10 +1983,15 @@ var JanusGraphDatabase = class {
1961
1983
  return this.vertexToResource(vertices[0]);
1962
1984
  }
1963
1985
  async updateResource(id, input) {
1964
- if (Object.keys(input).length !== 1 || input.archived === void 0) {
1965
- throw new Error("Resources are immutable. Only archiving is allowed.");
1986
+ assertMutableResourceUpdate(input);
1987
+ let traversal = this.g.V().has("Resource", "id", id);
1988
+ if (input.archived !== void 0) {
1989
+ traversal = traversal.property("archived", input.archived);
1966
1990
  }
1967
- await this.g.V().has("Resource", "id", id).property("archived", input.archived).next();
1991
+ if (input.entityTypes !== void 0) {
1992
+ traversal = traversal.property("entityTypes", JSON.stringify(input.entityTypes));
1993
+ }
1994
+ await traversal.next();
1968
1995
  const updatedResource = await this.getResource(id);
1969
1996
  if (!updatedResource) {
1970
1997
  throw new Error("Resource not found");
@@ -2002,7 +2029,7 @@ var JanusGraphDatabase = class {
2002
2029
  return result.resources;
2003
2030
  }
2004
2031
  async createAnnotation(input) {
2005
- const id = this.generateId();
2032
+ const id = input.id;
2006
2033
  const motivation = input.motivation;
2007
2034
  const annotation = {
2008
2035
  "@context": "http://www.w3.org/ns/anno.jsonld",
@@ -2363,12 +2390,11 @@ var MemoryGraphDatabase = class {
2363
2390
  return this.resources.get(String(id)) || null;
2364
2391
  }
2365
2392
  async updateResource(id, input) {
2366
- if (Object.keys(input).length !== 1 || input.archived === void 0) {
2367
- throw new Error("Resources are immutable. Only archiving is allowed.");
2368
- }
2393
+ assertMutableResourceUpdate(input);
2369
2394
  const doc = this.resources.get(String(id));
2370
2395
  if (!doc) throw new Error("Resource not found");
2371
- doc.archived = input.archived;
2396
+ if (input.archived !== void 0) doc.archived = input.archived;
2397
+ if (input.entityTypes !== void 0) doc.entityTypes = input.entityTypes;
2372
2398
  return doc;
2373
2399
  }
2374
2400
  async deleteResource(id) {
@@ -2407,7 +2433,7 @@ var MemoryGraphDatabase = class {
2407
2433
  return results;
2408
2434
  }
2409
2435
  async createAnnotation(input) {
2410
- const id = this.generateId();
2436
+ const id = input.id;
2411
2437
  const annotation = {
2412
2438
  "@context": "http://www.w3.org/ns/anno.jsonld",
2413
2439
  "type": "Annotation",