mongodb 6.14.2-dev.20250314.sha.6895b258 → 6.14.2-dev.20250318.sha.78d951b9

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 (31) hide show
  1. package/README.md +8 -12
  2. package/lib/beta.d.ts +57 -0
  3. package/lib/client-side-encryption/auto_encrypter.js +5 -1
  4. package/lib/client-side-encryption/auto_encrypter.js.map +1 -1
  5. package/lib/client-side-encryption/client_encryption.js +5 -1
  6. package/lib/client-side-encryption/client_encryption.js.map +1 -1
  7. package/lib/client-side-encryption/providers/aws.js +2 -2
  8. package/lib/client-side-encryption/providers/aws.js.map +1 -1
  9. package/lib/client-side-encryption/providers/index.js +2 -2
  10. package/lib/client-side-encryption/providers/index.js.map +1 -1
  11. package/lib/cmap/auth/aws_temporary_credentials.js +10 -0
  12. package/lib/cmap/auth/aws_temporary_credentials.js.map +1 -1
  13. package/lib/cmap/auth/mongo_credentials.js.map +1 -1
  14. package/lib/cmap/auth/mongodb_aws.js +3 -2
  15. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  16. package/lib/index.js +0 -1
  17. package/lib/index.js.map +1 -1
  18. package/lib/mongo_client_auth_providers.js +24 -27
  19. package/lib/mongo_client_auth_providers.js.map +1 -1
  20. package/mongodb.d.ts +57 -0
  21. package/package.json +1 -1
  22. package/src/client-side-encryption/auto_encrypter.ts +17 -2
  23. package/src/client-side-encryption/client_encryption.ts +18 -1
  24. package/src/client-side-encryption/providers/aws.ts +9 -3
  25. package/src/client-side-encryption/providers/index.ts +15 -2
  26. package/src/cmap/auth/aws_temporary_credentials.ts +17 -1
  27. package/src/cmap/auth/mongo_credentials.ts +28 -0
  28. package/src/cmap/auth/mongodb_aws.ts +6 -2
  29. package/src/deps.ts +2 -2
  30. package/src/index.ts +3 -1
  31. package/src/mongo_client_auth_providers.ts +26 -29
package/README.md CHANGED
@@ -70,9 +70,7 @@ Change history can be found in [`HISTORY.md`](https://github.com/mongodb/node-mo
70
70
 
71
71
  ### Compatibility
72
72
 
73
- The driver currently supports 3.6+ servers.
74
-
75
- ** 3.6 support is deprecated and support will be removed in a future version **
73
+ The driver currently supports 4.0+ servers.
76
74
 
77
75
  For exhaustive server and runtime version compatibility matrices, please refer to the following links:
78
76
 
@@ -83,13 +81,13 @@ For exhaustive server and runtime version compatibility matrices, please refer t
83
81
 
84
82
  The following table describes add-on component version compatibility for the Node.js driver. Only packages with versions in these supported ranges are stable when used in combination.
85
83
 
86
- | Component | `mongodb@3.x` | `mongodb@4.x` | `mongodb@5.x` | `mongodb@<6.12` | `mongodb@>=6.12`|
87
- | ------------------------------------------------------------------------------------ | ------------------ | ------------------ | ------------------ | --------------- | --------------- |
88
- | [bson](https://www.npmjs.com/package/bson) | ^1.0.0 | ^4.0.0 | ^5.0.0 | ^6.0.0 | ^6.0.0 |
89
- | [bson-ext](https://www.npmjs.com/package/bson-ext) | ^1.0.0 \|\| ^2.0.0 | ^4.0.0 | N/A | N/A | N/A |
90
- | [kerberos](https://www.npmjs.com/package/kerberos) | ^1.0.0 | ^1.0.0 \|\| ^2.0.0 | ^1.0.0 \|\| ^2.0.0 | ^2.0.1 | ^2.0.1 |
91
- | [mongodb-client-encryption](https://www.npmjs.com/package/mongodb-client-encryption) | ^1.0.0 | ^1.0.0 \|\| ^2.0.0 | ^2.3.0 | ^6.0.0 | ^6.0.0 |
92
- | [mongodb-legacy](https://www.npmjs.com/package/mongodb-legacy) | N/A | ^4.0.0 | ^5.0.0 | ^6.0.0 | ^6.0.0 |
84
+ | Component | `mongodb@3.x` | `mongodb@4.x` | `mongodb@5.x` | `mongodb@<6.12` | `mongodb@>=6.12` |
85
+ | ------------------------------------------------------------------------------------ | ------------------ | ------------------ | ------------------ | --------------- | ------------------ |
86
+ | [bson](https://www.npmjs.com/package/bson) | ^1.0.0 | ^4.0.0 | ^5.0.0 | ^6.0.0 | ^6.0.0 |
87
+ | [bson-ext](https://www.npmjs.com/package/bson-ext) | ^1.0.0 \|\| ^2.0.0 | ^4.0.0 | N/A | N/A | N/A |
88
+ | [kerberos](https://www.npmjs.com/package/kerberos) | ^1.0.0 | ^1.0.0 \|\| ^2.0.0 | ^1.0.0 \|\| ^2.0.0 | ^2.0.1 | ^2.0.1 |
89
+ | [mongodb-client-encryption](https://www.npmjs.com/package/mongodb-client-encryption) | ^1.0.0 | ^1.0.0 \|\| ^2.0.0 | ^2.3.0 | ^6.0.0 | ^6.0.0 |
90
+ | [mongodb-legacy](https://www.npmjs.com/package/mongodb-legacy) | N/A | ^4.0.0 | ^5.0.0 | ^6.0.0 | ^6.0.0 |
93
91
  | [@mongodb-js/zstd](https://www.npmjs.com/package/@mongodb-js/zstd) | N/A | ^1.0.0 | ^1.0.0 | ^1.1.0 | ^1.1.0 \|\| ^2.0.0 |
94
92
 
95
93
 
@@ -110,8 +108,6 @@ After you've created your own project using `npm init`, you can run:
110
108
 
111
109
  ```bash
112
110
  npm install mongodb
113
- # or ...
114
- yarn add mongodb
115
111
  ```
116
112
 
117
113
  This will download the MongoDB driver and add a dependency entry in your `package.json` file.
package/lib/beta.d.ts CHANGED
@@ -689,6 +689,33 @@ export declare interface AuthMechanismProperties extends Document {
689
689
  ALLOWED_HOSTS?: string[];
690
690
  /** The resource token for OIDC auth in Azure and GCP. */
691
691
  TOKEN_RESOURCE?: string;
692
+ /**
693
+ * A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
694
+ *
695
+ * ```ts
696
+ * const client = new MongoClient(process.env.MONGODB_URI, {
697
+ * authMechanismProperties: {
698
+ * AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
699
+ * }
700
+ * });
701
+ * ```
702
+ *
703
+ * Using a custom function that returns AWS credentials:
704
+ *
705
+ * ```ts
706
+ * const client = new MongoClient(process.env.MONGODB_URI, {
707
+ * authMechanismProperties: {
708
+ * AWS_CREDENTIAL_PROVIDER: async () => {
709
+ * return {
710
+ * accessKeyId: process.env.ACCESS_KEY_ID,
711
+ * secretAccessKey: process.env.SECRET_ACCESS_KEY
712
+ * }
713
+ * }
714
+ * }
715
+ * });
716
+ * ```
717
+ */
718
+ AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
692
719
  }
693
720
 
694
721
  /* Excluded from this release type: AuthProvider */
@@ -735,6 +762,8 @@ export declare interface AutoEncryptionOptions {
735
762
  keyVaultNamespace?: string;
736
763
  /** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
737
764
  kmsProviders?: KMSProviders;
765
+ /** Configuration options for custom credential providers. */
766
+ credentialProviders?: CredentialProviders;
738
767
  /**
739
768
  * A map of namespaces to a local JSON schema for encryption
740
769
  *
@@ -806,6 +835,21 @@ export declare interface AutoEncryptionOptions {
806
835
  tlsOptions?: CSFLEKMSTlsOptions;
807
836
  }
808
837
 
838
+ /** @public **/
839
+ export declare type AWSCredentialProvider = () => Promise<AWSCredentials>;
840
+
841
+ /**
842
+ * @public
843
+ * Copy of the AwsCredentialIdentityProvider interface from [`smithy/types`](https://socket.dev/npm/package/\@smithy/types/files/1.1.1/dist-types/identity/awsCredentialIdentity.d.ts),
844
+ * the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
845
+ */
846
+ export declare interface AWSCredentials {
847
+ accessKeyId: string;
848
+ secretAccessKey: string;
849
+ sessionToken?: string;
850
+ expiration?: Date;
851
+ }
852
+
809
853
  /**
810
854
  * @public
811
855
  * Configuration options for making an AWS encryption key
@@ -1760,6 +1804,7 @@ export declare class ClientEncryption {
1760
1804
  /* Excluded from this release type: _kmsProviders */
1761
1805
  /* Excluded from this release type: _timeoutMS */
1762
1806
  /* Excluded from this release type: _mongoCrypt */
1807
+ /* Excluded from this release type: _credentialProviders */
1763
1808
  /* Excluded from this release type: getMongoCrypt */
1764
1809
  /**
1765
1810
  * Create a new encryption instance
@@ -2121,6 +2166,10 @@ export declare interface ClientEncryptionOptions {
2121
2166
  * Options for specific KMS providers to use
2122
2167
  */
2123
2168
  kmsProviders?: KMSProviders;
2169
+ /**
2170
+ * Options for user provided custom credential providers.
2171
+ */
2172
+ credentialProviders?: CredentialProviders;
2124
2173
  /**
2125
2174
  * Options for specifying a Socks5 proxy to use for connecting to the KMS.
2126
2175
  */
@@ -3752,6 +3801,14 @@ export declare interface CreateIndexesOptions extends Omit<CommandOperationOptio
3752
3801
  hidden?: boolean;
3753
3802
  }
3754
3803
 
3804
+ /**
3805
+ * @public
3806
+ * Configuration options for custom credential providers for KMS requests.
3807
+ */
3808
+ export declare interface CredentialProviders {
3809
+ aws?: AWSCredentialProvider;
3810
+ }
3811
+
3755
3812
  /** @public */
3756
3813
  export declare type CSFLEKMSTlsOptions = {
3757
3814
  aws?: ClientEncryptionTlsOptions;
@@ -102,6 +102,10 @@ class AutoEncrypter {
102
102
  this._proxyOptions = options.proxyOptions || {};
103
103
  this._tlsOptions = options.tlsOptions || {};
104
104
  this._kmsProviders = options.kmsProviders || {};
105
+ this._credentialProviders = options.credentialProviders;
106
+ if (options.credentialProviders?.aws && !(0, providers_1.isEmptyCredentials)('aws', this._kmsProviders)) {
107
+ throw new errors_1.MongoCryptInvalidArgumentError('Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching');
108
+ }
105
109
  const mongoCryptOptions = {
106
110
  enableMultipleCollinfo: true,
107
111
  cryptoCallbacks
@@ -252,7 +256,7 @@ class AutoEncrypter {
252
256
  * the original ones.
253
257
  */
254
258
  async askForKMSCredentials() {
255
- return await (0, providers_1.refreshKMSCredentials)(this._kmsProviders);
259
+ return await (0, providers_1.refreshKMSCredentials)(this._kmsProviders, this._credentialProviders);
256
260
  }
257
261
  /**
258
262
  * Return the current libmongocrypt's CSFLE shared library version
@@ -1 +1 @@
1
- {"version":3,"file":"auto_encrypter.js","sourceRoot":"","sources":["../../src/client-side-encryption/auto_encrypter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto_encrypter.js","sourceRoot":"","sources":["../../src/client-side-encryption/auto_encrypter.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,10 @@ class ClientEncryption {
58
58
  this._kmsProviders = options.kmsProviders || {};
59
59
  const { timeoutMS } = (0, utils_1.resolveTimeoutOptions)(client, options);
60
60
  this._timeoutMS = timeoutMS;
61
+ this._credentialProviders = options.credentialProviders;
62
+ if (options.credentialProviders?.aws && !(0, index_1.isEmptyCredentials)('aws', this._kmsProviders)) {
63
+ throw new errors_1.MongoCryptInvalidArgumentError('Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching');
64
+ }
61
65
  if (options.keyVaultNamespace == null) {
62
66
  throw new errors_1.MongoCryptInvalidArgumentError('Missing required option `keyVaultNamespace`');
63
67
  }
@@ -525,7 +529,7 @@ class ClientEncryption {
525
529
  * the original ones.
526
530
  */
527
531
  async askForKMSCredentials() {
528
- return await (0, index_1.refreshKMSCredentials)(this._kmsProviders);
532
+ return await (0, index_1.refreshKMSCredentials)(this._kmsProviders, this._credentialProviders);
529
533
  }
530
534
  static get libmongocryptVersion() {
531
535
  return ClientEncryption.getMongoCrypt().libmongocryptVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"client_encryption.js","sourceRoot":"","sources":["../../src/client-side-encryption/client_encryption.ts"],"names":[],"mappings":";;;AA4iCA,0DAWC;AAhjCD,kCAQiB;AAMjB,kCAAqD;AAKrD,wCAAqE;AACrE,oCAA6E;AAC7E,sDAAsD;AACtD,qCAIkB;AAClB,6CAI2B;AAC3B,mDAIyB;AAiBzB;;;GAGG;AACH,MAAa,gBAAgB;IAmB3B,gBAAgB;IAChB,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,IAAA,iCAA0B,GAAE,CAAC;QAChD,IAAI,cAAc,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,YAAY,CAAC;QAChC,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YAAY,MAAmB,EAAE,OAAgC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,uCAA8B,CAAC,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,iBAAiB,GAAsB;YAC3C,GAAG,OAAO;YACV,eAAe;YACf,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;gBAChD,CAAC,CAAE,IAAA,gBAAS,EAAC,IAAI,CAAC,aAAa,CAAY;gBAC3C,CAAC,CAAC,IAAI,CAAC,aAAa;SACvB,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;QACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,aAAa,CACjB,QAAyC,EACzC,UAAwD,EAAE;QAE1D,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,uCAA8B,CACtC,qEAAqE,OAAO,OAAO,CAAC,WAAW,GAAG,CACnG,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,IAAI,uCAA8B,CACtC,uEAAuE,CAAC,gBAAgB,OAAO,UAAU,EAAE,CAC5G,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAA,gBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC;YAC5B,QAAQ;YACR,GAAG,OAAO,CAAC,SAAS;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE;YAC/D,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAClB,OAAO,EAAE,cAAc;YACvB,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE7F,MAAM,OAAO,GAAG,IAAA,kBAAW,EACzB,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CACnD,CAAC;QAEb,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe;aAC9C,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,OAAO,EAAE;YAClB,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE;gBACtC,CAAC,CAAC,cAAc,EAAE,yBAAyB,EAAE;gBAC7C,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEL,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAuB,EACvB,OAAyD;QAEzD,IAAI,oBAAoB,GAAG,SAAS,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1F,oBAAoB,GAAG,IAAA,gBAAS,EAAC,gBAAgB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,wBAAc,CAAC,MAAM,CAC1C,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CACpE,CAAC;QAEF,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAW,EACjC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAC9D,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAC/B,CAAC,GAAY,EAAkC,EAAE,CAAC,CAAC;YACjD,SAAS,EAAE;gBACT,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;gBACxB,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B;oBACD,YAAY,EAAE;wBACZ,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;SACF,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe;aACtC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,YAAY,EAAE;YACvB,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC,CAAC;QAEL,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO;QACL,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe;aACxB,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,OAAO,CACN,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CACnE,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,UAAkB;QACjD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe;aACrC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,gBAAgB,CACf,EAAE,GAAG,EAAE,EACP,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAC1C,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAC1F,CAAC;QAEJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,UAAkB;QACpD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf;gBACE,IAAI,EAAE;oBACJ,WAAW,EAAE;wBACX,KAAK,EAAE;4BACL;gCACE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;6BACpC;4BACD,UAAU;4BACV;gCACE,OAAO,EAAE;oCACP,KAAK,EAAE,cAAc;oCACrB,IAAI,EAAE;wCACJ,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;qCAC5B;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe;aACrC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE;YACnC,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAC;QAEL,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC7B,EAAM,EACN,IAAY,EACZ,OAMC;QAED,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,uBAAuB,EAAE,EACvB,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE,EACvC,GAAG,uBAAuB,EAC3B,EACF,GAAG,OAAO,CAAC;QAEZ,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CACrE,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC/D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE,GAAG,KAAK;oBACR,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;wBACxC,SAAS;wBACT,2BAA2B;wBAC3B,iIAAiI;wBACjI,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;qBACpF,CAAC;iBACH,CACN,CAAC;YACF,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAEjF,eAAe,CAAC,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAC1E,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CACrF,CAAC;YAEF,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAC1E,CAAC;YACF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,qCAA4B,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAU,IAAI,EAAE;gBAC1D,GAAG,uBAAuB;gBAC1B,eAAe;gBACf,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE;oBACtC,CAAC,CAAC,cAAc,EAAE,yBAAyB,EAAE;oBAC7C,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iDAAwC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,OAAuC;QACnE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAoB,EACpB,OAAuC;QAEvC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CAAU,KAAa;QAClC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,kBAAW,EAAC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAEzF,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB;QACxB,OAAO,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,gBAAgB,CAAC,aAAa,EAAE,CAAC,oBAAoB,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,QAAQ,CACpB,KAAc,EACd,cAAuB,EACvB,OAAuC;QAEvC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC5F,MAAM,cAAc,GAAqC;YACvD,cAAc;YACd,SAAS;SACV,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,uCAA8B,CACtC,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,uCAA8B,CACtC,gEAAgE,OAAO,UAAU,EAAE,CACpF,CAAC;YACJ,CAAC;YAED,cAAc,CAAC,UAAU,GAAG,IAAA,gBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACjF,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,cAAc,CAAC,YAAY,GAAG,IAAA,gBAAS,EAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE5F,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,kBAAW,EAAC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAntBD,4CAmtBC;AAoRD;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,WAA+B;IAE/B,MAAM,OAAO,GAAkC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC1E,IAAI,kBAAkB,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IACD,IAAI,gCAAgC,IAAI,WAAW,EAAE,CAAC;QACpD,OAAO,CAAC,8BAA8B,GAAG,WAAW,CAAC,8BAA8B,CAAC;IACtF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"client_encryption.js","sourceRoot":"","sources":["../../src/client-side-encryption/client_encryption.ts"],"names":[],"mappings":";;;AA6jCA,0DAWC;AAjkCD,kCAQiB;AAMjB,kCAAqD;AAKrD,wCAAqE;AACrE,oCAA6E;AAC7E,sDAAsD;AACtD,qCAIkB;AAClB,6CAM2B;AAC3B,mDAIyB;AAiBzB;;;GAGG;AACH,MAAa,gBAAgB;IAsB3B,gBAAgB;IAChB,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,IAAA,iCAA0B,GAAE,CAAC;QAChD,IAAI,cAAc,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,YAAY,CAAC;QAChC,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YAAY,MAAmB,EAAE,OAAgC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAExD,IAAI,OAAO,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,IAAA,0BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,uCAA8B,CACtC,8HAA8H,CAC/H,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,uCAA8B,CAAC,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,iBAAiB,GAAsB;YAC3C,GAAG,OAAO;YACV,eAAe;YACf,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;gBAChD,CAAC,CAAE,IAAA,gBAAS,EAAC,IAAI,CAAC,aAAa,CAAY;gBAC3C,CAAC,CAAC,IAAI,CAAC,aAAa;SACvB,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;QACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,aAAa,CACjB,QAAyC,EACzC,UAAwD,EAAE;QAE1D,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,uCAA8B,CACtC,qEAAqE,OAAO,OAAO,CAAC,WAAW,GAAG,CACnG,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,IAAI,uCAA8B,CACtC,uEAAuE,CAAC,gBAAgB,OAAO,UAAU,EAAE,CAC5G,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAA,gBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC;YAC5B,QAAQ;YACR,GAAG,OAAO,CAAC,SAAS;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE;YAC/D,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAClB,OAAO,EAAE,cAAc;YACvB,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE7F,MAAM,OAAO,GAAG,IAAA,kBAAW,EACzB,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CACnD,CAAC;QAEb,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe;aAC9C,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,OAAO,EAAE;YAClB,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE;gBACtC,CAAC,CAAC,cAAc,EAAE,yBAAyB,EAAE;gBAC7C,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEL,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAuB,EACvB,OAAyD;QAEzD,IAAI,oBAAoB,GAAG,SAAS,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1F,oBAAoB,GAAG,IAAA,gBAAS,EAAC,gBAAgB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,wBAAc,CAAC,MAAM,CAC1C,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CACpE,CAAC;QAEF,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAW,EACjC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAC9D,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAC/B,CAAC,GAAY,EAAkC,EAAE,CAAC,CAAC;YACjD,SAAS,EAAE;gBACT,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;gBACxB,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B;oBACD,YAAY,EAAE;wBACZ,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF;SACF,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe;aACtC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,YAAY,EAAE;YACvB,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC,CAAC;QAEL,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO;QACL,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe;aACxB,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,eAAe;aAC9B,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,OAAO,CACN,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CACnE,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,UAAkB;QACjD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe;aACrC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,gBAAgB,CACf,EAAE,GAAG,EAAE,EACP,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAC1C,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAC1F,CAAC;QAEJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,UAAkB;QACpD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,kCAA0B,CAAC,UAAU,CACtF,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf;gBACE,IAAI,EAAE;oBACJ,WAAW,EAAE;wBACX,KAAK,EAAE;4BACL;gCACE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;6BACpC;4BACD,UAAU;4BACV;gCACE,OAAO,EAAE;oCACP,KAAK,EAAE,cAAc;oCACrB,IAAI,EAAE;wCACJ,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;qCAC5B;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe;aACrC,EAAE,CAAC,MAAM,CAAC;aACV,UAAU,CAAU,cAAc,CAAC;aACnC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE;YACnC,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAC;QAEL,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC7B,EAAM,EACN,IAAY,EACZ,OAMC;QAED,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,uBAAuB,EAAE,EACvB,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE,EACvC,GAAG,uBAAuB,EAC3B,EACF,GAAG,OAAO,CAAC;QAEZ,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CACrE,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC/D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE,GAAG,KAAK;oBACR,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;wBACxC,SAAS;wBACT,2BAA2B;wBAC3B,iIAAiI;wBACjI,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;qBACpF,CAAC;iBACH,CACN,CAAC;YACF,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAEjF,eAAe,CAAC,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAC1E,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CACrF,CAAC;YAEF,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAC1E,CAAC;YACF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,qCAA4B,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAU,IAAI,EAAE;gBAC1D,GAAG,uBAAuB;gBAC1B,eAAe;gBACf,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE;oBACtC,CAAC,CAAC,cAAc,EAAE,yBAAyB,EAAE;oBAC7C,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iDAAwC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,OAAuC;QACnE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAoB,EACpB,OAAuC;QAEvC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CAAU,KAAa;QAClC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,kBAAW,EAAC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAEzF,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB;QACxB,OAAO,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,gBAAgB,CAAC,aAAa,EAAE,CAAC,oBAAoB,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,QAAQ,CACpB,KAAc,EACd,cAAuB,EACvB,OAAuC;QAEvC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC5F,MAAM,cAAc,GAAqC;YACvD,cAAc;YACd,SAAS;SACV,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,uCAA8B,CACtC,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,uCAA8B,CACtC,gEAAgE,OAAO,UAAU,EAAE,CACpF,CAAC;YACJ,CAAC;YAED,cAAc,CAAC,UAAU,GAAG,IAAA,gBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACjF,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,cAAc,CAAC,YAAY,GAAG,IAAA,gBAAS,EAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE5F,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,IAAI,IAAI;YACrB,CAAC,CAAC,wBAAc,CAAC,MAAM,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,kBAAW,EAAC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AA7tBD,4CA6tBC;AAyRD;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,WAA+B;IAE/B,MAAM,OAAO,GAAkC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC1E,IAAI,kBAAkB,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IACD,IAAI,gCAAgC,IAAI,WAAW,EAAE,CAAC;QACpD,OAAO,CAAC,8BAA8B,GAAG,WAAW,CAAC,8BAA8B,CAAC;IACtF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -5,8 +5,8 @@ const aws_temporary_credentials_1 = require("../../cmap/auth/aws_temporary_crede
5
5
  /**
6
6
  * @internal
7
7
  */
8
- async function loadAWSCredentials(kmsProviders) {
9
- const credentialProvider = new aws_temporary_credentials_1.AWSSDKCredentialProvider();
8
+ async function loadAWSCredentials(kmsProviders, provider) {
9
+ const credentialProvider = new aws_temporary_credentials_1.AWSSDKCredentialProvider(provider);
10
10
  // We shouldn't ever receive a response from the AWS SDK that doesn't have a `SecretAccessKey`
11
11
  // or `AccessKeyId`. However, TS says these fields are optional. We provide empty strings
12
12
  // and let libmongocrypt error if we're unable to fetch the required keys.
@@ -1 +1 @@
1
- {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/aws.ts"],"names":[],"mappings":";;AAMA,gDAoBC;AA1BD,yFAAqF;AAGrF;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,YAA0B;IACjE,MAAM,kBAAkB,GAAG,IAAI,oDAAwB,EAAE,CAAC;IAE1D,8FAA8F;IAC9F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,EAChB,KAAK,EACN,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAqC;QAC5C,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,4FAA4F;IAC5F,0DAA0D;IAC1D,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;IAE5C,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/aws.ts"],"names":[],"mappings":";;AASA,gDAuBC;AAhCD,yFAGmD;AAGnD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,QAAgC;IAEhC,MAAM,kBAAkB,GAAG,IAAI,oDAAwB,CAAC,QAAQ,CAAC,CAAC;IAElE,8FAA8F;IAC9F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,EAChB,KAAK,EACN,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAqC;QAC5C,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,4FAA4F;IAC5F,0DAA0D;IAC1D,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;IAE5C,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC"}
@@ -27,10 +27,10 @@ function isEmptyCredentials(providerName, kmsProviders) {
27
27
  *
28
28
  * @internal
29
29
  */
30
- async function refreshKMSCredentials(kmsProviders) {
30
+ async function refreshKMSCredentials(kmsProviders, credentialProviders) {
31
31
  let finalKMSProviders = kmsProviders;
32
32
  if (isEmptyCredentials('aws', kmsProviders)) {
33
- finalKMSProviders = await (0, aws_1.loadAWSCredentials)(finalKMSProviders);
33
+ finalKMSProviders = await (0, aws_1.loadAWSCredentials)(finalKMSProviders, credentialProviders?.aws);
34
34
  }
35
35
  if (isEmptyCredentials('gcp', kmsProviders)) {
36
36
  finalKMSProviders = await (0, gcp_1.loadGCPCredentials)(finalKMSProviders);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/index.ts"],"names":[],"mappings":";;AAgKA,gDASC;AASD,sDAeC;AAhMD,+BAA2C;AAC3C,mCAA+C;AAC/C,+BAA2C;AAqJ3C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,YAA6C,EAC7C,YAA0B;IAE1B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CAAC,YAA0B;IACpE,IAAI,iBAAiB,GAAG,YAAY,CAAC;IAErC,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9C,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,EAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/index.ts"],"names":[],"mappings":";;AA0KA,gDASC;AASD,sDAkBC;AA5MD,+BAA2C;AAC3C,mCAA+C;AAC/C,+BAA2C;AA8J3C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,YAA6C,EAC7C,YAA0B;IAE1B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CACzC,YAA0B,EAC1B,mBAAyC;IAEzC,IAAI,iBAAiB,GAAG,YAAY,CAAC;IAErC,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9C,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,EAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -24,6 +24,16 @@ class AWSTemporaryCredentialProvider {
24
24
  exports.AWSTemporaryCredentialProvider = AWSTemporaryCredentialProvider;
25
25
  /** @internal */
26
26
  class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
27
+ /**
28
+ * Create the SDK credentials provider.
29
+ * @param credentialsProvider - The credentials provider.
30
+ */
31
+ constructor(credentialsProvider) {
32
+ super();
33
+ if (credentialsProvider) {
34
+ this._provider = credentialsProvider;
35
+ }
36
+ }
27
37
  /**
28
38
  * The AWS SDK caches credentials automatically and handles refresh when the credentials have expired.
29
39
  * To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
@@ -1 +1 @@
1
- {"version":3,"file":"aws_temporary_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/aws_temporary_credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aws_temporary_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/aws_temporary_credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mongo_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongo_credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongo_credentials.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,11 @@ const bsonOptions = {
18
18
  bsonRegExp: false
19
19
  };
20
20
  class MongoDBAWS extends auth_provider_1.AuthProvider {
21
- constructor() {
21
+ constructor(credentialProvider) {
22
22
  super();
23
+ this.credentialProvider = credentialProvider;
23
24
  this.credentialFetcher = aws_temporary_credentials_1.AWSTemporaryCredentialProvider.isAWSSDKInstalled
24
- ? new aws_temporary_credentials_1.AWSSDKCredentialProvider()
25
+ ? new aws_temporary_credentials_1.AWSSDKCredentialProvider(credentialProvider)
25
26
  : new aws_temporary_credentials_1.LegacyAWSTemporaryCredentialProvider();
26
27
  }
27
28
  async auth(authContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb_aws.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongodb_aws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodb_aws.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongodb_aws.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -140,7 +140,6 @@ Object.defineProperty(exports, "ReadPreferenceMode", { enumerable: true, get: fu
140
140
  var common_3 = require("./sdam/common");
141
141
  Object.defineProperty(exports, "ServerType", { enumerable: true, get: function () { return common_3.ServerType; } });
142
142
  Object.defineProperty(exports, "TopologyType", { enumerable: true, get: function () { return common_3.TopologyType; } });
143
- // Helper classes
144
143
  var read_concern_2 = require("./read_concern");
145
144
  Object.defineProperty(exports, "ReadConcern", { enumerable: true, get: function () { return read_concern_2.ReadConcern; } });
146
145
  var read_preference_2 = require("./read_preference");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,10 @@ const x509_1 = require("./cmap/auth/x509");
14
14
  const error_1 = require("./error");
15
15
  /** @internal */
16
16
  const AUTH_PROVIDERS = new Map([
17
- [providers_1.AuthMechanism.MONGODB_AWS, () => new mongodb_aws_1.MongoDBAWS()],
17
+ [
18
+ providers_1.AuthMechanism.MONGODB_AWS,
19
+ ({ AWS_CREDENTIAL_PROVIDER }) => new mongodb_aws_1.MongoDBAWS(AWS_CREDENTIAL_PROVIDER)
20
+ ],
18
21
  [
19
22
  providers_1.AuthMechanism.MONGODB_CR,
20
23
  () => {
@@ -22,7 +25,7 @@ const AUTH_PROVIDERS = new Map([
22
25
  }
23
26
  ],
24
27
  [providers_1.AuthMechanism.MONGODB_GSSAPI, () => new gssapi_1.GSSAPI()],
25
- [providers_1.AuthMechanism.MONGODB_OIDC, (workflow) => new mongodb_oidc_1.MongoDBOIDC(workflow)],
28
+ [providers_1.AuthMechanism.MONGODB_OIDC, properties => new mongodb_oidc_1.MongoDBOIDC(getWorkflow(properties))],
26
29
  [providers_1.AuthMechanism.MONGODB_PLAIN, () => new plain_1.Plain()],
27
30
  [providers_1.AuthMechanism.MONGODB_SCRAM_SHA1, () => new scram_1.ScramSHA1()],
28
31
  [providers_1.AuthMechanism.MONGODB_SCRAM_SHA256, () => new scram_1.ScramSHA256()],
@@ -55,35 +58,29 @@ class MongoClientAuthProviders {
55
58
  if (!providerFunction) {
56
59
  throw new error_1.MongoInvalidArgumentError(`authMechanism ${name} not supported`);
57
60
  }
58
- let provider;
59
- if (name === providers_1.AuthMechanism.MONGODB_OIDC) {
60
- provider = providerFunction(this.getWorkflow(authMechanismProperties));
61
- }
62
- else {
63
- provider = providerFunction();
64
- }
61
+ const provider = providerFunction(authMechanismProperties);
65
62
  this.existingProviders.set(name, provider);
66
63
  return provider;
67
64
  }
68
- /**
69
- * Gets either a device workflow or callback workflow.
70
- */
71
- getWorkflow(authMechanismProperties) {
72
- if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
73
- return new human_callback_workflow_1.HumanCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
74
- }
75
- else if (authMechanismProperties.OIDC_CALLBACK) {
76
- return new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_CALLBACK);
77
- }
78
- else {
79
- const environment = authMechanismProperties.ENVIRONMENT;
80
- const workflow = mongodb_oidc_1.OIDC_WORKFLOWS.get(environment)?.();
81
- if (!workflow) {
82
- throw new error_1.MongoInvalidArgumentError(`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`);
83
- }
84
- return workflow;
65
+ }
66
+ exports.MongoClientAuthProviders = MongoClientAuthProviders;
67
+ /**
68
+ * Gets either a device workflow or callback workflow.
69
+ */
70
+ function getWorkflow(authMechanismProperties) {
71
+ if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
72
+ return new human_callback_workflow_1.HumanCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
73
+ }
74
+ else if (authMechanismProperties.OIDC_CALLBACK) {
75
+ return new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_CALLBACK);
76
+ }
77
+ else {
78
+ const environment = authMechanismProperties.ENVIRONMENT;
79
+ const workflow = mongodb_oidc_1.OIDC_WORKFLOWS.get(environment)?.();
80
+ if (!workflow) {
81
+ throw new error_1.MongoInvalidArgumentError(`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`);
85
82
  }
83
+ return workflow;
86
84
  }
87
85
  }
88
- exports.MongoClientAuthProviders = MongoClientAuthProviders;
89
86
  //# sourceMappingURL=mongo_client_auth_providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongo_client_auth_providers.js","sourceRoot":"","sources":["../src/mongo_client_auth_providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo_client_auth_providers.js","sourceRoot":"","sources":["../src/mongo_client_auth_providers.ts"],"names":[],"mappings":"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"}
package/mongodb.d.ts CHANGED
@@ -680,6 +680,33 @@ export declare interface AuthMechanismProperties extends Document {
680
680
  ALLOWED_HOSTS?: string[];
681
681
  /** The resource token for OIDC auth in Azure and GCP. */
682
682
  TOKEN_RESOURCE?: string;
683
+ /**
684
+ * A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
685
+ *
686
+ * ```ts
687
+ * const client = new MongoClient(process.env.MONGODB_URI, {
688
+ * authMechanismProperties: {
689
+ * AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
690
+ * }
691
+ * });
692
+ * ```
693
+ *
694
+ * Using a custom function that returns AWS credentials:
695
+ *
696
+ * ```ts
697
+ * const client = new MongoClient(process.env.MONGODB_URI, {
698
+ * authMechanismProperties: {
699
+ * AWS_CREDENTIAL_PROVIDER: async () => {
700
+ * return {
701
+ * accessKeyId: process.env.ACCESS_KEY_ID,
702
+ * secretAccessKey: process.env.SECRET_ACCESS_KEY
703
+ * }
704
+ * }
705
+ * }
706
+ * });
707
+ * ```
708
+ */
709
+ AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
683
710
  }
684
711
 
685
712
  /* Excluded from this release type: AuthProvider */
@@ -726,6 +753,8 @@ export declare interface AutoEncryptionOptions {
726
753
  keyVaultNamespace?: string;
727
754
  /** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
728
755
  kmsProviders?: KMSProviders;
756
+ /** Configuration options for custom credential providers. */
757
+ credentialProviders?: CredentialProviders;
729
758
  /**
730
759
  * A map of namespaces to a local JSON schema for encryption
731
760
  *
@@ -797,6 +826,21 @@ export declare interface AutoEncryptionOptions {
797
826
  tlsOptions?: CSFLEKMSTlsOptions;
798
827
  }
799
828
 
829
+ /** @public **/
830
+ export declare type AWSCredentialProvider = () => Promise<AWSCredentials>;
831
+
832
+ /**
833
+ * @public
834
+ * Copy of the AwsCredentialIdentityProvider interface from [`smithy/types`](https://socket.dev/npm/package/\@smithy/types/files/1.1.1/dist-types/identity/awsCredentialIdentity.d.ts),
835
+ * the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
836
+ */
837
+ export declare interface AWSCredentials {
838
+ accessKeyId: string;
839
+ secretAccessKey: string;
840
+ sessionToken?: string;
841
+ expiration?: Date;
842
+ }
843
+
800
844
  /**
801
845
  * @public
802
846
  * Configuration options for making an AWS encryption key
@@ -1746,6 +1790,7 @@ export declare class ClientEncryption {
1746
1790
  /* Excluded from this release type: _kmsProviders */
1747
1791
  /* Excluded from this release type: _timeoutMS */
1748
1792
  /* Excluded from this release type: _mongoCrypt */
1793
+ /* Excluded from this release type: _credentialProviders */
1749
1794
  /* Excluded from this release type: getMongoCrypt */
1750
1795
  /**
1751
1796
  * Create a new encryption instance
@@ -2107,6 +2152,10 @@ export declare interface ClientEncryptionOptions {
2107
2152
  * Options for specific KMS providers to use
2108
2153
  */
2109
2154
  kmsProviders?: KMSProviders;
2155
+ /**
2156
+ * Options for user provided custom credential providers.
2157
+ */
2158
+ credentialProviders?: CredentialProviders;
2110
2159
  /**
2111
2160
  * Options for specifying a Socks5 proxy to use for connecting to the KMS.
2112
2161
  */
@@ -3710,6 +3759,14 @@ export declare interface CreateIndexesOptions extends Omit<CommandOperationOptio
3710
3759
  hidden?: boolean;
3711
3760
  }
3712
3761
 
3762
+ /**
3763
+ * @public
3764
+ * Configuration options for custom credential providers for KMS requests.
3765
+ */
3766
+ export declare interface CredentialProviders {
3767
+ aws?: AWSCredentialProvider;
3768
+ }
3769
+
3713
3770
  /** @public */
3714
3771
  export declare type CSFLEKMSTlsOptions = {
3715
3772
  aws?: ClientEncryptionTlsOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "6.14.2-dev.20250314.sha.6895b258",
3
+ "version": "6.14.2-dev.20250318.sha.78d951b9",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -17,7 +17,12 @@ import { autoSelectSocketOptions } from './client_encryption';
17
17
  import * as cryptoCallbacks from './crypto_callbacks';
18
18
  import { MongoCryptInvalidArgumentError } from './errors';
19
19
  import { MongocryptdManager } from './mongocryptd_manager';
20
- import { type KMSProviders, refreshKMSCredentials } from './providers';
20
+ import {
21
+ type CredentialProviders,
22
+ isEmptyCredentials,
23
+ type KMSProviders,
24
+ refreshKMSCredentials
25
+ } from './providers';
21
26
  import { type CSFLEKMSTlsOptions, StateMachine } from './state_machine';
22
27
 
23
28
  /** @public */
@@ -30,6 +35,8 @@ export interface AutoEncryptionOptions {
30
35
  keyVaultNamespace?: string;
31
36
  /** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
32
37
  kmsProviders?: KMSProviders;
38
+ /** Configuration options for custom credential providers. */
39
+ credentialProviders?: CredentialProviders;
33
40
  /**
34
41
  * A map of namespaces to a local JSON schema for encryption
35
42
  *
@@ -153,6 +160,7 @@ export class AutoEncrypter {
153
160
  _kmsProviders: KMSProviders;
154
161
  _bypassMongocryptdAndCryptShared: boolean;
155
162
  _contextCounter: number;
163
+ _credentialProviders?: CredentialProviders;
156
164
 
157
165
  _mongocryptdManager?: MongocryptdManager;
158
166
  _mongocryptdClient?: MongoClient;
@@ -237,6 +245,13 @@ export class AutoEncrypter {
237
245
  this._proxyOptions = options.proxyOptions || {};
238
246
  this._tlsOptions = options.tlsOptions || {};
239
247
  this._kmsProviders = options.kmsProviders || {};
248
+ this._credentialProviders = options.credentialProviders;
249
+
250
+ if (options.credentialProviders?.aws && !isEmptyCredentials('aws', this._kmsProviders)) {
251
+ throw new MongoCryptInvalidArgumentError(
252
+ 'Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching'
253
+ );
254
+ }
240
255
 
241
256
  const mongoCryptOptions: MongoCryptOptions = {
242
257
  enableMultipleCollinfo: true,
@@ -439,7 +454,7 @@ export class AutoEncrypter {
439
454
  * the original ones.
440
455
  */
441
456
  async askForKMSCredentials(): Promise<KMSProviders> {
442
- return await refreshKMSCredentials(this._kmsProviders);
457
+ return await refreshKMSCredentials(this._kmsProviders, this._credentialProviders);
443
458
  }
444
459
 
445
460
  /**
@@ -34,6 +34,8 @@ import {
34
34
  } from './errors';
35
35
  import {
36
36
  type ClientEncryptionDataKeyProvider,
37
+ type CredentialProviders,
38
+ isEmptyCredentials,
37
39
  type KMSProviders,
38
40
  refreshKMSCredentials
39
41
  } from './providers/index';
@@ -81,6 +83,9 @@ export class ClientEncryption {
81
83
  /** @internal */
82
84
  _mongoCrypt: MongoCrypt;
83
85
 
86
+ /** @internal */
87
+ _credentialProviders?: CredentialProviders;
88
+
84
89
  /** @internal */
85
90
  static getMongoCrypt(): MongoCryptConstructor {
86
91
  const encryption = getMongoDBClientEncryption();
@@ -125,6 +130,13 @@ export class ClientEncryption {
125
130
  this._kmsProviders = options.kmsProviders || {};
126
131
  const { timeoutMS } = resolveTimeoutOptions(client, options);
127
132
  this._timeoutMS = timeoutMS;
133
+ this._credentialProviders = options.credentialProviders;
134
+
135
+ if (options.credentialProviders?.aws && !isEmptyCredentials('aws', this._kmsProviders)) {
136
+ throw new MongoCryptInvalidArgumentError(
137
+ 'Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching'
138
+ );
139
+ }
128
140
 
129
141
  if (options.keyVaultNamespace == null) {
130
142
  throw new MongoCryptInvalidArgumentError('Missing required option `keyVaultNamespace`');
@@ -712,7 +724,7 @@ export class ClientEncryption {
712
724
  * the original ones.
713
725
  */
714
726
  async askForKMSCredentials(): Promise<KMSProviders> {
715
- return await refreshKMSCredentials(this._kmsProviders);
727
+ return await refreshKMSCredentials(this._kmsProviders, this._credentialProviders);
716
728
  }
717
729
 
718
730
  static get libmongocryptVersion() {
@@ -858,6 +870,11 @@ export interface ClientEncryptionOptions {
858
870
  */
859
871
  kmsProviders?: KMSProviders;
860
872
 
873
+ /**
874
+ * Options for user provided custom credential providers.
875
+ */
876
+ credentialProviders?: CredentialProviders;
877
+
861
878
  /**
862
879
  * Options for specifying a Socks5 proxy to use for connecting to the KMS.
863
880
  */
@@ -1,11 +1,17 @@
1
- import { AWSSDKCredentialProvider } from '../../cmap/auth/aws_temporary_credentials';
1
+ import {
2
+ type AWSCredentialProvider,
3
+ AWSSDKCredentialProvider
4
+ } from '../../cmap/auth/aws_temporary_credentials';
2
5
  import { type KMSProviders } from '.';
3
6
 
4
7
  /**
5
8
  * @internal
6
9
  */
7
- export async function loadAWSCredentials(kmsProviders: KMSProviders): Promise<KMSProviders> {
8
- const credentialProvider = new AWSSDKCredentialProvider();
10
+ export async function loadAWSCredentials(
11
+ kmsProviders: KMSProviders,
12
+ provider?: AWSCredentialProvider
13
+ ): Promise<KMSProviders> {
14
+ const credentialProvider = new AWSSDKCredentialProvider(provider);
9
15
 
10
16
  // We shouldn't ever receive a response from the AWS SDK that doesn't have a `SecretAccessKey`
11
17
  // or `AccessKeyId`. However, TS says these fields are optional. We provide empty strings
@@ -1,4 +1,5 @@
1
1
  import type { Binary } from '../../bson';
2
+ import { type AWSCredentialProvider } from '../../cmap/auth/aws_temporary_credentials';
2
3
  import { loadAWSCredentials } from './aws';
3
4
  import { loadAzureCredentials } from './azure';
4
5
  import { loadGCPCredentials } from './gcp';
@@ -112,6 +113,15 @@ export type GCPKMSProviderConfiguration =
112
113
  accessToken: string;
113
114
  };
114
115
 
116
+ /**
117
+ * @public
118
+ * Configuration options for custom credential providers for KMS requests.
119
+ */
120
+ export interface CredentialProviders {
121
+ /* A custom AWS credential provider */
122
+ aws?: AWSCredentialProvider;
123
+ }
124
+
115
125
  /**
116
126
  * @public
117
127
  * Configuration options that are used by specific KMS providers during key generation, encryption, and decryption.
@@ -176,11 +186,14 @@ export function isEmptyCredentials(
176
186
  *
177
187
  * @internal
178
188
  */
179
- export async function refreshKMSCredentials(kmsProviders: KMSProviders): Promise<KMSProviders> {
189
+ export async function refreshKMSCredentials(
190
+ kmsProviders: KMSProviders,
191
+ credentialProviders?: CredentialProviders
192
+ ): Promise<KMSProviders> {
180
193
  let finalKMSProviders = kmsProviders;
181
194
 
182
195
  if (isEmptyCredentials('aws', kmsProviders)) {
183
- finalKMSProviders = await loadAWSCredentials(finalKMSProviders);
196
+ finalKMSProviders = await loadAWSCredentials(finalKMSProviders, credentialProviders?.aws);
184
197
  }
185
198
 
186
199
  if (isEmptyCredentials('gcp', kmsProviders)) {
@@ -21,6 +21,9 @@ export interface AWSTempCredentials {
21
21
  Expiration?: Date;
22
22
  }
23
23
 
24
+ /** @public **/
25
+ export type AWSCredentialProvider = () => Promise<AWSCredentials>;
26
+
24
27
  /**
25
28
  * @internal
26
29
  *
@@ -41,7 +44,20 @@ export abstract class AWSTemporaryCredentialProvider {
41
44
 
42
45
  /** @internal */
43
46
  export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
44
- private _provider?: () => Promise<AWSCredentials>;
47
+ private _provider?: AWSCredentialProvider;
48
+
49
+ /**
50
+ * Create the SDK credentials provider.
51
+ * @param credentialsProvider - The credentials provider.
52
+ */
53
+ constructor(credentialsProvider?: AWSCredentialProvider) {
54
+ super();
55
+
56
+ if (credentialsProvider) {
57
+ this._provider = credentialsProvider;
58
+ }
59
+ }
60
+
45
61
  /**
46
62
  * The AWS SDK caches credentials automatically and handles refresh when the credentials have expired.
47
63
  * To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
@@ -6,6 +6,7 @@ import {
6
6
  MongoInvalidArgumentError,
7
7
  MongoMissingCredentialsError
8
8
  } from '../../error';
9
+ import type { AWSCredentialProvider } from './aws_temporary_credentials';
9
10
  import { GSSAPICanonicalizationValue } from './gssapi';
10
11
  import type { OIDCCallbackFunction } from './mongodb_oidc';
11
12
  import { AUTH_MECHS_AUTH_SRC_EXTERNAL, AuthMechanism } from './providers';
@@ -68,6 +69,33 @@ export interface AuthMechanismProperties extends Document {
68
69
  ALLOWED_HOSTS?: string[];
69
70
  /** The resource token for OIDC auth in Azure and GCP. */
70
71
  TOKEN_RESOURCE?: string;
72
+ /**
73
+ * A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
74
+ *
75
+ * ```ts
76
+ * const client = new MongoClient(process.env.MONGODB_URI, {
77
+ * authMechanismProperties: {
78
+ * AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
79
+ * }
80
+ * });
81
+ * ```
82
+ *
83
+ * Using a custom function that returns AWS credentials:
84
+ *
85
+ * ```ts
86
+ * const client = new MongoClient(process.env.MONGODB_URI, {
87
+ * authMechanismProperties: {
88
+ * AWS_CREDENTIAL_PROVIDER: async () => {
89
+ * return {
90
+ * accessKeyId: process.env.ACCESS_KEY_ID,
91
+ * secretAccessKey: process.env.SECRET_ACCESS_KEY
92
+ * }
93
+ * }
94
+ * }
95
+ * });
96
+ * ```
97
+ */
98
+ AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
71
99
  }
72
100
 
73
101
  /** @public */
@@ -9,6 +9,7 @@ import {
9
9
  import { ByteUtils, maxWireVersion, ns, randomBytes } from '../../utils';
10
10
  import { type AuthContext, AuthProvider } from './auth_provider';
11
11
  import {
12
+ type AWSCredentialProvider,
12
13
  AWSSDKCredentialProvider,
13
14
  type AWSTempCredentials,
14
15
  AWSTemporaryCredentialProvider,
@@ -34,11 +35,14 @@ interface AWSSaslContinuePayload {
34
35
 
35
36
  export class MongoDBAWS extends AuthProvider {
36
37
  private credentialFetcher: AWSTemporaryCredentialProvider;
37
- constructor() {
38
+ private credentialProvider?: AWSCredentialProvider;
39
+
40
+ constructor(credentialProvider?: AWSCredentialProvider) {
38
41
  super();
39
42
 
43
+ this.credentialProvider = credentialProvider;
40
44
  this.credentialFetcher = AWSTemporaryCredentialProvider.isAWSSDKInstalled
41
- ? new AWSSDKCredentialProvider()
45
+ ? new AWSSDKCredentialProvider(credentialProvider)
42
46
  : new LegacyAWSTemporaryCredentialProvider();
43
47
  }
44
48
 
package/src/deps.ts CHANGED
@@ -78,14 +78,14 @@ export function getZstdLibrary(): ZStandardLib | { kModuleError: MongoMissingDep
78
78
  }
79
79
 
80
80
  /**
81
- * @internal
81
+ * @public
82
82
  * Copy of the AwsCredentialIdentityProvider interface from [`smithy/types`](https://socket.dev/npm/package/\@smithy/types/files/1.1.1/dist-types/identity/awsCredentialIdentity.d.ts),
83
83
  * the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
84
84
  */
85
85
  export interface AWSCredentials {
86
86
  accessKeyId: string;
87
87
  secretAccessKey: string;
88
- sessionToken: string;
88
+ sessionToken?: string;
89
89
  expiration?: Date;
90
90
  }
91
91
 
package/src/index.ts CHANGED
@@ -128,10 +128,11 @@ export { ReadPreferenceMode } from './read_preference';
128
128
  export { ServerType, TopologyType } from './sdam/common';
129
129
 
130
130
  // Helper classes
131
+ export type { AWSCredentialProvider } from './cmap/auth/aws_temporary_credentials';
132
+ export type { AWSCredentials } from './deps';
131
133
  export { ReadConcern } from './read_concern';
132
134
  export { ReadPreference } from './read_preference';
133
135
  export { WriteConcern } from './write_concern';
134
-
135
136
  // events
136
137
  export {
137
138
  CommandFailedEvent,
@@ -255,6 +256,7 @@ export type {
255
256
  AWSKMSProviderConfiguration,
256
257
  AzureKMSProviderConfiguration,
257
258
  ClientEncryptionDataKeyProvider,
259
+ CredentialProviders,
258
260
  GCPKMSProviderConfiguration,
259
261
  KMIPKMSProviderConfiguration,
260
262
  KMSProviders,
@@ -13,8 +13,14 @@ import { X509 } from './cmap/auth/x509';
13
13
  import { MongoInvalidArgumentError } from './error';
14
14
 
15
15
  /** @internal */
16
- const AUTH_PROVIDERS = new Map<AuthMechanism | string, (workflow?: Workflow) => AuthProvider>([
17
- [AuthMechanism.MONGODB_AWS, () => new MongoDBAWS()],
16
+ const AUTH_PROVIDERS = new Map<
17
+ AuthMechanism | string,
18
+ (authMechanismProperties: AuthMechanismProperties) => AuthProvider
19
+ >([
20
+ [
21
+ AuthMechanism.MONGODB_AWS,
22
+ ({ AWS_CREDENTIAL_PROVIDER }) => new MongoDBAWS(AWS_CREDENTIAL_PROVIDER)
23
+ ],
18
24
  [
19
25
  AuthMechanism.MONGODB_CR,
20
26
  () => {
@@ -24,7 +30,7 @@ const AUTH_PROVIDERS = new Map<AuthMechanism | string, (workflow?: Workflow) =>
24
30
  }
25
31
  ],
26
32
  [AuthMechanism.MONGODB_GSSAPI, () => new GSSAPI()],
27
- [AuthMechanism.MONGODB_OIDC, (workflow?: Workflow) => new MongoDBOIDC(workflow)],
33
+ [AuthMechanism.MONGODB_OIDC, properties => new MongoDBOIDC(getWorkflow(properties))],
28
34
  [AuthMechanism.MONGODB_PLAIN, () => new Plain()],
29
35
  [AuthMechanism.MONGODB_SCRAM_SHA1, () => new ScramSHA1()],
30
36
  [AuthMechanism.MONGODB_SCRAM_SHA256, () => new ScramSHA256()],
@@ -62,37 +68,28 @@ export class MongoClientAuthProviders {
62
68
  throw new MongoInvalidArgumentError(`authMechanism ${name} not supported`);
63
69
  }
64
70
 
65
- let provider;
66
- if (name === AuthMechanism.MONGODB_OIDC) {
67
- provider = providerFunction(this.getWorkflow(authMechanismProperties));
68
- } else {
69
- provider = providerFunction();
70
- }
71
-
71
+ const provider = providerFunction(authMechanismProperties);
72
72
  this.existingProviders.set(name, provider);
73
73
  return provider;
74
74
  }
75
+ }
75
76
 
76
- /**
77
- * Gets either a device workflow or callback workflow.
78
- */
79
- getWorkflow(authMechanismProperties: AuthMechanismProperties): Workflow {
80
- if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
81
- return new HumanCallbackWorkflow(
82
- new TokenCache(),
83
- authMechanismProperties.OIDC_HUMAN_CALLBACK
77
+ /**
78
+ * Gets either a device workflow or callback workflow.
79
+ */
80
+ function getWorkflow(authMechanismProperties: AuthMechanismProperties): Workflow {
81
+ if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
82
+ return new HumanCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
83
+ } else if (authMechanismProperties.OIDC_CALLBACK) {
84
+ return new AutomatedCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_CALLBACK);
85
+ } else {
86
+ const environment = authMechanismProperties.ENVIRONMENT;
87
+ const workflow = OIDC_WORKFLOWS.get(environment)?.();
88
+ if (!workflow) {
89
+ throw new MongoInvalidArgumentError(
90
+ `Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`
84
91
  );
85
- } else if (authMechanismProperties.OIDC_CALLBACK) {
86
- return new AutomatedCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_CALLBACK);
87
- } else {
88
- const environment = authMechanismProperties.ENVIRONMENT;
89
- const workflow = OIDC_WORKFLOWS.get(environment)?.();
90
- if (!workflow) {
91
- throw new MongoInvalidArgumentError(
92
- `Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`
93
- );
94
- }
95
- return workflow;
96
92
  }
93
+ return workflow;
97
94
  }
98
95
  }