mongodb 6.19.0 → 6.20.0-dev.20250919.sha.b7c67507

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 (111) hide show
  1. package/lib/beta.d.ts +39 -13
  2. package/lib/bulk/common.js +2 -2
  3. package/lib/bulk/common.js.map +1 -1
  4. package/lib/change_stream.js +5 -1
  5. package/lib/change_stream.js.map +1 -1
  6. package/lib/cmap/auth/aws_temporary_credentials.js +10 -58
  7. package/lib/cmap/auth/aws_temporary_credentials.js.map +1 -1
  8. package/lib/cmap/auth/mongodb_aws.js +1 -4
  9. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  10. package/lib/cmap/connection.js +1 -3
  11. package/lib/cmap/connection.js.map +1 -1
  12. package/lib/cmap/handshake/client_metadata.js +22 -16
  13. package/lib/cmap/handshake/client_metadata.js.map +1 -1
  14. package/lib/cmap/wire_protocol/constants.js +5 -3
  15. package/lib/cmap/wire_protocol/constants.js.map +1 -1
  16. package/lib/collection.js +6 -5
  17. package/lib/collection.js.map +1 -1
  18. package/lib/connection_string.js +0 -5
  19. package/lib/connection_string.js.map +1 -1
  20. package/lib/cursor/change_stream_cursor.js +2 -3
  21. package/lib/cursor/change_stream_cursor.js.map +1 -1
  22. package/lib/db.js.map +1 -1
  23. package/lib/error.js +3 -0
  24. package/lib/error.js.map +1 -1
  25. package/lib/mongo_client.js +7 -2
  26. package/lib/mongo_client.js.map +1 -1
  27. package/lib/operations/aggregate.js +3 -8
  28. package/lib/operations/aggregate.js.map +1 -1
  29. package/lib/operations/client_bulk_write/client_bulk_write.js +2 -1
  30. package/lib/operations/client_bulk_write/client_bulk_write.js.map +1 -1
  31. package/lib/operations/command.js +6 -0
  32. package/lib/operations/command.js.map +1 -1
  33. package/lib/operations/count.js +1 -1
  34. package/lib/operations/count.js.map +1 -1
  35. package/lib/operations/delete.js +13 -7
  36. package/lib/operations/delete.js.map +1 -1
  37. package/lib/operations/distinct.js +6 -1
  38. package/lib/operations/distinct.js.map +1 -1
  39. package/lib/operations/estimated_document_count.js +2 -1
  40. package/lib/operations/estimated_document_count.js.map +1 -1
  41. package/lib/operations/find.js +2 -1
  42. package/lib/operations/find.js.map +1 -1
  43. package/lib/operations/find_and_modify.js +6 -5
  44. package/lib/operations/find_and_modify.js.map +1 -1
  45. package/lib/operations/indexes.js +4 -3
  46. package/lib/operations/indexes.js.map +1 -1
  47. package/lib/operations/insert.js +10 -2
  48. package/lib/operations/insert.js.map +1 -1
  49. package/lib/operations/list_collections.js +2 -1
  50. package/lib/operations/list_collections.js.map +1 -1
  51. package/lib/operations/operation.js +2 -1
  52. package/lib/operations/operation.js.map +1 -1
  53. package/lib/operations/rename.js +1 -1
  54. package/lib/operations/rename.js.map +1 -1
  55. package/lib/operations/update.js +12 -11
  56. package/lib/operations/update.js.map +1 -1
  57. package/lib/read_preference.js.map +1 -1
  58. package/lib/sdam/server.js +1 -1
  59. package/lib/sdam/server.js.map +1 -1
  60. package/lib/sdam/server_selection.js +0 -6
  61. package/lib/sdam/server_selection.js.map +1 -1
  62. package/lib/sdam/topology.js +12 -9
  63. package/lib/sdam/topology.js.map +1 -1
  64. package/lib/sessions.js +0 -8
  65. package/lib/sessions.js.map +1 -1
  66. package/lib/utils.js +25 -26
  67. package/lib/utils.js.map +1 -1
  68. package/mongodb.d.ts +39 -13
  69. package/package.json +9 -9
  70. package/src/bulk/common.ts +2 -2
  71. package/src/change_stream.ts +5 -1
  72. package/src/cmap/auth/aws_temporary_credentials.ts +12 -70
  73. package/src/cmap/auth/mongodb_aws.ts +4 -11
  74. package/src/cmap/connection.ts +1 -6
  75. package/src/cmap/handshake/client_metadata.ts +36 -29
  76. package/src/cmap/wire_protocol/constants.ts +4 -2
  77. package/src/collection.ts +11 -5
  78. package/src/connection_string.ts +0 -11
  79. package/src/cursor/change_stream_cursor.ts +2 -3
  80. package/src/db.ts +4 -1
  81. package/src/error.ts +4 -0
  82. package/src/mongo_client.ts +18 -3
  83. package/src/operations/aggregate.ts +4 -10
  84. package/src/operations/client_bulk_write/client_bulk_write.ts +2 -1
  85. package/src/operations/command.ts +23 -2
  86. package/src/operations/count.ts +1 -1
  87. package/src/operations/create_collection.ts +1 -1
  88. package/src/operations/delete.ts +15 -8
  89. package/src/operations/distinct.ts +6 -1
  90. package/src/operations/drop.ts +1 -1
  91. package/src/operations/estimated_document_count.ts +2 -1
  92. package/src/operations/find.ts +2 -1
  93. package/src/operations/find_and_modify.ts +7 -6
  94. package/src/operations/indexes.ts +6 -3
  95. package/src/operations/insert.ts +10 -2
  96. package/src/operations/list_collections.ts +2 -1
  97. package/src/operations/list_databases.ts +1 -1
  98. package/src/operations/operation.ts +2 -1
  99. package/src/operations/profiling_level.ts +1 -1
  100. package/src/operations/remove_user.ts +1 -1
  101. package/src/operations/rename.ts +2 -2
  102. package/src/operations/set_profiling_level.ts +1 -1
  103. package/src/operations/stats.ts +1 -1
  104. package/src/operations/update.ts +13 -13
  105. package/src/operations/validate_collection.ts +1 -1
  106. package/src/read_preference.ts +3 -0
  107. package/src/sdam/server.ts +1 -1
  108. package/src/sdam/server_selection.ts +1 -12
  109. package/src/sdam/topology.ts +12 -9
  110. package/src/sessions.ts +0 -15
  111. package/src/utils.ts +26 -30
package/lib/utils.js CHANGED
@@ -198,15 +198,9 @@ function isPromiseLike(value) {
198
198
  * @param target - target of command
199
199
  * @param options - options containing collation settings
200
200
  */
201
- function decorateWithCollation(command, target, options) {
202
- const capabilities = getTopology(target).capabilities;
201
+ function decorateWithCollation(command, options) {
203
202
  if (options.collation && typeof options.collation === 'object') {
204
- if (capabilities && capabilities.commandsTakeCollation) {
205
- command.collation = options.collation;
206
- }
207
- else {
208
- throw new error_1.MongoCompatibilityError(`Current topology does not support collation`);
209
- }
203
+ command.collation = options.collation;
210
204
  }
211
205
  }
212
206
  /**
@@ -317,30 +311,35 @@ function uuidV4() {
317
311
  * A helper function for determining `maxWireVersion` between legacy and new topology instances
318
312
  * @internal
319
313
  */
320
- function maxWireVersion(topologyOrServer) {
321
- if (topologyOrServer) {
322
- if (topologyOrServer.loadBalanced || topologyOrServer.serverApi?.version) {
323
- // Since we do not have a monitor in the load balanced mode,
324
- // we assume the load-balanced server is always pointed at the latest mongodb version.
325
- // There is a risk that for on-prem deployments
326
- // that don't upgrade immediately that this could alert to the
327
- // application that a feature is available that is actually not.
328
- // We also return the max supported wire version for serverAPI.
314
+ function maxWireVersion(handshakeAware) {
315
+ if (handshakeAware) {
316
+ if (handshakeAware.hello) {
317
+ return handshakeAware.hello.maxWireVersion;
318
+ }
319
+ if (handshakeAware.serverApi?.version) {
320
+ // We return the max supported wire version for serverAPI.
329
321
  return constants_1.MAX_SUPPORTED_WIRE_VERSION;
330
322
  }
331
- if (topologyOrServer.hello) {
332
- return topologyOrServer.hello.maxWireVersion;
323
+ // This is the fallback case for load balanced mode. If we are building commands the
324
+ // object being checked will be a connection, and we will have a hello response on
325
+ // it. For other cases, such as retryable writes, the object will be a server or
326
+ // topology, and there will be no hello response on those objects, so we return
327
+ // the max wire version so we support retryability. Once we have a min supported
328
+ // wire version of 9, then the needsRetryableWriteLabel() check can remove the
329
+ // usage of passing the wire version into it.
330
+ if (handshakeAware.loadBalanced) {
331
+ return constants_1.MAX_SUPPORTED_WIRE_VERSION;
333
332
  }
334
- if ('lastHello' in topologyOrServer && typeof topologyOrServer.lastHello === 'function') {
335
- const lastHello = topologyOrServer.lastHello();
333
+ if ('lastHello' in handshakeAware && typeof handshakeAware.lastHello === 'function') {
334
+ const lastHello = handshakeAware.lastHello();
336
335
  if (lastHello) {
337
336
  return lastHello.maxWireVersion;
338
337
  }
339
338
  }
340
- if (topologyOrServer.description &&
341
- 'maxWireVersion' in topologyOrServer.description &&
342
- topologyOrServer.description.maxWireVersion != null) {
343
- return topologyOrServer.description.maxWireVersion;
339
+ if (handshakeAware.description &&
340
+ 'maxWireVersion' in handshakeAware.description &&
341
+ handshakeAware.description.maxWireVersion != null) {
342
+ return handshakeAware.description.maxWireVersion;
344
343
  }
345
344
  }
346
345
  return 0;
@@ -1077,7 +1076,7 @@ async function once(ee, name, options) {
1077
1076
  }
1078
1077
  }
1079
1078
  function maybeAddIdToDocuments(collection, document, options) {
1080
- const forceServerObjectId = options.forceServerObjectId ?? collection.s.db.options?.forceServerObjectId ?? false;
1079
+ const forceServerObjectId = options.forceServerObjectId ?? collection.db.options?.forceServerObjectId ?? false;
1081
1080
  // no need to modify the docs if server sets the ObjectId
1082
1081
  if (forceServerObjectId) {
1083
1082
  return document;
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/mongodb.d.ts CHANGED
@@ -2692,6 +2692,10 @@ export declare interface CollationOptions {
2692
2692
  export declare class Collection<TSchema extends Document = Document> {
2693
2693
  /* Excluded from this release type: s */
2694
2694
  /* Excluded from this release type: client */
2695
+ /**
2696
+ * Get the database object for the collection.
2697
+ */
2698
+ readonly db: Db;
2695
2699
  /* Excluded from this release type: __constructor */
2696
2700
  /**
2697
2701
  * The name of the database this collection belongs to
@@ -3348,7 +3352,11 @@ export declare interface CommandOperationOptions extends OperationOptions, Write
3348
3352
  * In server versions 4.4 and above, 'comment' can be any valid BSON type.
3349
3353
  */
3350
3354
  comment?: unknown;
3351
- /** Should retry failed writes */
3355
+ /**
3356
+ * @deprecated
3357
+ * This option is deprecated and will be removed in a future release as it is not used
3358
+ * in the driver. Use MongoClientOptions or connection string parameters instead.
3359
+ * */
3352
3360
  retryWrites?: boolean;
3353
3361
  dbName?: string;
3354
3362
  authdb?: string;
@@ -3357,6 +3365,7 @@ export declare interface CommandOperationOptions extends OperationOptions, Write
3357
3365
  * This option is deprecated and will be removed in an upcoming major version.
3358
3366
  */
3359
3367
  noResponse?: boolean;
3368
+ /* Excluded from this release type: rawData */
3360
3369
  }
3361
3370
 
3362
3371
  /* Excluded from this release type: CommandOptions */
@@ -3726,7 +3735,7 @@ export declare interface CountOptions extends CommandOperationOptions {
3726
3735
  }
3727
3736
 
3728
3737
  /** @public */
3729
- export declare interface CreateCollectionOptions extends CommandOperationOptions {
3738
+ export declare interface CreateCollectionOptions extends Omit<CommandOperationOptions, 'rawData'> {
3730
3739
  /** Create a capped collection */
3731
3740
  capped?: boolean;
3732
3741
  /** @deprecated Create an index on the _id field of the document. This option is deprecated in MongoDB 3.2+ and will be removed once no longer supported by the server. */
@@ -3923,7 +3932,11 @@ export declare interface DataKey {
3923
3932
  */
3924
3933
  export declare class Db {
3925
3934
  /* Excluded from this release type: s */
3926
- /* Excluded from this release type: client */
3935
+ /**
3936
+ * Gets the MongoClient associated with the Db.
3937
+ * @public
3938
+ */
3939
+ readonly client: MongoClient;
3927
3940
  static SYSTEM_NAMESPACE_COLLECTION: string;
3928
3941
  static SYSTEM_INDEX_COLLECTION: string;
3929
3942
  static SYSTEM_PROFILE_COLLECTION: string;
@@ -4208,7 +4221,7 @@ export declare interface DbOptions extends BSONSerializeOptions, WriteConcernOpt
4208
4221
  export { DBRef }
4209
4222
 
4210
4223
  /** @public */
4211
- export declare interface DbStatsOptions extends CommandOperationOptions {
4224
+ export declare interface DbStatsOptions extends Omit<CommandOperationOptions, 'rawData'> {
4212
4225
  /** Divide the returned sizes by scale value. */
4213
4226
  scale?: number;
4214
4227
  }
@@ -4297,7 +4310,7 @@ export declare interface DriverInfo {
4297
4310
  }
4298
4311
 
4299
4312
  /** @public */
4300
- export declare interface DropCollectionOptions extends CommandOperationOptions {
4313
+ export declare interface DropCollectionOptions extends Omit<CommandOperationOptions, 'rawData'> {
4301
4314
  /** @experimental */
4302
4315
  encryptedFields?: Document;
4303
4316
  }
@@ -5451,7 +5464,7 @@ export declare interface ListCollectionsOptions extends Omit<CommandOperationOpt
5451
5464
  }
5452
5465
 
5453
5466
  /** @public */
5454
- export declare interface ListDatabasesOptions extends CommandOperationOptions {
5467
+ export declare interface ListDatabasesOptions extends Omit<CommandOperationOptions, 'rawData'> {
5455
5468
  /** A query predicate that determines which databases are listed */
5456
5469
  filter?: Document;
5457
5470
  /** A flag to indicate whether the command should return just the database names, or return both database names and size information */
@@ -5484,6 +5497,7 @@ export declare class ListIndexesCursor extends AbstractCursor {
5484
5497
  /** @public */
5485
5498
  export declare type ListIndexesOptions = AbstractCursorOptions & {
5486
5499
  /* Excluded from this release type: omitMaxTimeMS */
5500
+ /* Excluded from this release type: rawData */
5487
5501
  };
5488
5502
 
5489
5503
  /** @public */
@@ -5772,6 +5786,7 @@ export declare class MongoClient extends TypedEventEmitter<MongoClientEvents> im
5772
5786
  * The consolidate, parsed, transformed and merged options.
5773
5787
  */
5774
5788
  readonly options: Readonly<Omit<MongoOptions, 'monitorCommands' | 'ca' | 'crl' | 'key' | 'cert' | 'driverInfo' | 'additionalDriverInfo' | 'metadata' | 'extendedMetadata'>> & Pick<MongoOptions, 'monitorCommands' | 'ca' | 'crl' | 'key' | 'cert' | 'driverInfo' | 'additionalDriverInfo' | 'metadata' | 'extendedMetadata'>;
5789
+ private driverInfoList;
5775
5790
  constructor(url: string, options?: MongoClientOptions);
5776
5791
  /* Excluded from this release type: [Symbol.asyncDispose] */
5777
5792
  /* Excluded from this release type: asyncDispose */
@@ -6228,7 +6243,10 @@ export declare interface MongoClientOptions extends BSONSerializeOptions, Suppor
6228
6243
  * If an internal MongoClient is created, it is configured with the same options as the parent MongoClient except minPoolSize is set to 0 and AutoEncryptionOptions is omitted.
6229
6244
  */
6230
6245
  autoEncryption?: AutoEncryptionOptions;
6231
- /** Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver */
6246
+ /**
6247
+ * Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver
6248
+ /* @deprecated - Will be made internal in a future major release.
6249
+ */
6232
6250
  driverInfo?: DriverInfo;
6233
6251
  /** Configures a Socks5 proxy host used for creating TCP connections. */
6234
6252
  proxyHost?: string;
@@ -7024,7 +7042,9 @@ export declare interface MongoOptions extends Required<Pick<MongoClientOptions,
7024
7042
  dbName: string;
7025
7043
  /** @deprecated - Will be made internal in a future major release. */
7026
7044
  metadata: ClientMetadata;
7045
+ /** @deprecated - Will be made internal in a future major release. */
7027
7046
  extendedMetadata: Promise<Document>;
7047
+ /** @deprecated - Will be made internal in a future major release. */
7028
7048
  additionalDriverInfo: DriverInfo[];
7029
7049
  /* Excluded from this release type: autoEncrypter */
7030
7050
  /* Excluded from this release type: tokenCache */
@@ -7597,7 +7617,7 @@ export declare const ProfilingLevel: Readonly<{
7597
7617
  export declare type ProfilingLevel = (typeof ProfilingLevel)[keyof typeof ProfilingLevel];
7598
7618
 
7599
7619
  /** @public */
7600
- export declare type ProfilingLevelOptions = CommandOperationOptions;
7620
+ export declare type ProfilingLevelOptions = Omit<CommandOperationOptions, 'rawData'>;
7601
7621
 
7602
7622
  /** @public */
7603
7623
  export declare type PropertyType<Type, Property extends string> = string extends Property ? unknown : Property extends keyof Type ? Type[Property] : Property extends `${number}` ? Type extends ReadonlyArray<infer ArrayType> ? ArrayType : unknown : Property extends `${infer Key}.${infer Rest}` ? Key extends `${number}` ? Type extends ReadonlyArray<infer ArrayType> ? PropertyType<ArrayType, Rest> : unknown : Key extends keyof Type ? Type[Key] extends Map<string, infer MapType> ? MapType : PropertyType<Type[Key], Rest> : unknown : unknown;
@@ -7705,6 +7725,9 @@ export declare class ReadPreference {
7705
7725
  tags?: TagSet[];
7706
7726
  hedge?: HedgeOptions;
7707
7727
  maxStalenessSeconds?: number;
7728
+ /**
7729
+ * @deprecated This will be removed as dead code in the next major version.
7730
+ */
7708
7731
  minWireVersion?: number;
7709
7732
  static PRIMARY: "primary";
7710
7733
  static PRIMARY_PREFERRED: "primaryPreferred";
@@ -7805,10 +7828,10 @@ export declare interface ReadPreferenceOptions {
7805
7828
  export declare type RegExpOrString<T> = T extends string ? BSONRegExp | RegExp | T : T;
7806
7829
 
7807
7830
  /** @public */
7808
- export declare type RemoveUserOptions = CommandOperationOptions;
7831
+ export declare type RemoveUserOptions = Omit<CommandOperationOptions, 'rawData'>;
7809
7832
 
7810
7833
  /** @public */
7811
- export declare interface RenameOptions extends CommandOperationOptions {
7834
+ export declare interface RenameOptions extends Omit<CommandOperationOptions, 'rawData'> {
7812
7835
  /** Drop the target name collection if it previously exists. */
7813
7836
  dropTarget?: boolean;
7814
7837
  /** Unclear */
@@ -8067,7 +8090,10 @@ export declare const ServerApiVersion: Readonly<{
8067
8090
  /** @public */
8068
8091
  export declare type ServerApiVersion = (typeof ServerApiVersion)[keyof typeof ServerApiVersion];
8069
8092
 
8070
- /** @public */
8093
+ /**
8094
+ * @public
8095
+ * @deprecated This class will be removed as dead code in the next major version.
8096
+ */
8071
8097
  export declare class ServerCapabilities {
8072
8098
  maxWireVersion: number;
8073
8099
  minWireVersion: number;
@@ -8333,7 +8359,7 @@ export declare type SetFields<TSchema> = ({
8333
8359
  };
8334
8360
 
8335
8361
  /** @public */
8336
- export declare type SetProfilingLevelOptions = CommandOperationOptions;
8362
+ export declare type SetProfilingLevelOptions = Omit<CommandOperationOptions, 'rawData'>;
8337
8363
 
8338
8364
  /**
8339
8365
  * @public
@@ -8963,7 +8989,7 @@ export declare interface UpdateStatement {
8963
8989
  export { UUID }
8964
8990
 
8965
8991
  /** @public */
8966
- export declare interface ValidateCollectionOptions extends CommandOperationOptions {
8992
+ export declare interface ValidateCollectionOptions extends Omit<CommandOperationOptions, 'rawData'> {
8967
8993
  /** Validates a collection in the background, without interrupting read or write traffic (only in MongoDB 4.4+) */
8968
8994
  background?: boolean;
8969
8995
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "6.19.0",
3
+ "version": "6.20.0-dev.20250919.sha.b7c67507",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -25,9 +25,9 @@
25
25
  "email": "dbx-node@mongodb.com"
26
26
  },
27
27
  "dependencies": {
28
- "@mongodb-js/saslprep": "^1.1.9",
28
+ "@mongodb-js/saslprep": "^1.3.0",
29
29
  "bson": "^6.10.4",
30
- "mongodb-connection-string-url": "^3.0.0"
30
+ "mongodb-connection-string-url": "^3.0.2"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@aws-sdk/credential-providers": "^3.188.0",
@@ -62,10 +62,10 @@
62
62
  }
63
63
  },
64
64
  "devDependencies": {
65
- "@aws-sdk/credential-providers": "^3.864.0",
65
+ "@aws-sdk/credential-providers": "^3.876.0",
66
66
  "@iarna/toml": "^2.2.5",
67
67
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
68
- "@microsoft/api-extractor": "^7.52.10",
68
+ "@microsoft/api-extractor": "^7.52.11",
69
69
  "@microsoft/tsdoc-config": "^0.17.1",
70
70
  "@mongodb-js/zstd": "^2.0.1",
71
71
  "@types/chai": "^4.3.17",
@@ -79,12 +79,12 @@
79
79
  "@types/sinon": "^17.0.4",
80
80
  "@types/sinon-chai": "^4.0.0",
81
81
  "@types/whatwg-url": "^13.0.0",
82
- "@typescript-eslint/eslint-plugin": "^8.40.0",
82
+ "@typescript-eslint/eslint-plugin": "^8.41.0",
83
83
  "@typescript-eslint/parser": "^8.31.1",
84
84
  "chai": "^4.4.1",
85
85
  "chai-subset": "^1.6.0",
86
86
  "chalk": "^4.1.2",
87
- "eslint": "^9.33.0",
87
+ "eslint": "^9.34.0",
88
88
  "eslint-config-prettier": "^10.1.8",
89
89
  "eslint-plugin-mocha": "^10.4.1",
90
90
  "eslint-plugin-prettier": "^5.5.4",
@@ -111,7 +111,7 @@
111
111
  "typescript": "5.8.3",
112
112
  "typescript-cached-transpile": "^0.0.6",
113
113
  "v8-heapsnapshot": "^1.3.1",
114
- "yargs": "^17.7.2"
114
+ "yargs": "^18.0.0"
115
115
  },
116
116
  "license": "Apache-2.0",
117
117
  "engines": {
@@ -175,4 +175,4 @@
175
175
  "moduleResolution": "node"
176
176
  }
177
177
  }
178
- }
178
+ }
@@ -900,7 +900,7 @@ export abstract class BulkOperationBase {
900
900
 
901
901
  // Final options for retryable writes
902
902
  let finalOptions = Object.assign({}, options);
903
- finalOptions = applyRetryableWrites(finalOptions, collection.s.db);
903
+ finalOptions = applyRetryableWrites(finalOptions, collection.db);
904
904
 
905
905
  // Final results
906
906
  const bulkResult: BulkResult = {
@@ -1228,7 +1228,7 @@ export abstract class BulkOperationBase {
1228
1228
  private shouldForceServerObjectId(): boolean {
1229
1229
  return (
1230
1230
  this.s.options.forceServerObjectId === true ||
1231
- this.s.collection.s.db.options?.forceServerObjectId === true
1231
+ this.s.collection.db.options?.forceServerObjectId === true
1232
1232
  );
1233
1233
  }
1234
1234
  }
@@ -809,7 +809,11 @@ export class ChangeStream<
809
809
  while (true) {
810
810
  try {
811
811
  const change = await this.cursor.tryNext();
812
- return change ?? null;
812
+ if (!change) {
813
+ return null;
814
+ }
815
+ const processedChange = this._processChange(change);
816
+ return processedChange;
813
817
  } catch (error) {
814
818
  try {
815
819
  await this._processErrorIteratorMode(error, this.cursor.id != null);
@@ -1,10 +1,5 @@
1
1
  import { type AWSCredentials, getAwsCredentialProvider } from '../../deps';
2
2
  import { MongoAWSError } from '../../error';
3
- import { request } from '../../utils';
4
-
5
- const AWS_RELATIVE_URI = 'http://169.254.170.2';
6
- const AWS_EC2_URI = 'http://169.254.169.254';
7
- const AWS_EC2_PATH = '/latest/meta-data/iam/security-credentials';
8
3
 
9
4
  /**
10
5
  * @internal
@@ -24,26 +19,9 @@ export interface AWSTempCredentials {
24
19
  /** @public **/
25
20
  export type AWSCredentialProvider = () => Promise<AWSCredentials>;
26
21
 
27
- /**
28
- * @internal
29
- *
30
- * Fetches temporary AWS credentials.
31
- */
32
- export abstract class AWSTemporaryCredentialProvider {
33
- abstract getCredentials(): Promise<AWSTempCredentials>;
34
- private static _awsSDK: ReturnType<typeof getAwsCredentialProvider>;
35
- protected static get awsSDK() {
36
- AWSTemporaryCredentialProvider._awsSDK ??= getAwsCredentialProvider();
37
- return AWSTemporaryCredentialProvider._awsSDK;
38
- }
39
-
40
- static get isAWSSDKInstalled(): boolean {
41
- return !('kModuleError' in AWSTemporaryCredentialProvider.awsSDK);
42
- }
43
- }
44
-
45
22
  /** @internal */
46
- export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
23
+ export class AWSSDKCredentialProvider {
24
+ private static _awsSDK: ReturnType<typeof getAwsCredentialProvider>;
47
25
  private _provider?: AWSCredentialProvider;
48
26
 
49
27
  /**
@@ -51,20 +29,23 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
51
29
  * @param credentialsProvider - The credentials provider.
52
30
  */
53
31
  constructor(credentialsProvider?: AWSCredentialProvider) {
54
- super();
55
-
56
32
  if (credentialsProvider) {
57
33
  this._provider = credentialsProvider;
58
34
  }
59
35
  }
60
36
 
37
+ static get awsSDK() {
38
+ AWSSDKCredentialProvider._awsSDK ??= getAwsCredentialProvider();
39
+ return AWSSDKCredentialProvider._awsSDK;
40
+ }
41
+
61
42
  /**
62
43
  * The AWS SDK caches credentials automatically and handles refresh when the credentials have expired.
63
44
  * To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
64
45
  */
65
46
  private get provider(): () => Promise<AWSCredentials> {
66
- if ('kModuleError' in AWSTemporaryCredentialProvider.awsSDK) {
67
- throw AWSTemporaryCredentialProvider.awsSDK.kModuleError;
47
+ if ('kModuleError' in AWSSDKCredentialProvider.awsSDK) {
48
+ throw AWSSDKCredentialProvider.awsSDK.kModuleError;
68
49
  }
69
50
  if (this._provider) {
70
51
  return this._provider;
@@ -112,15 +93,15 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
112
93
 
113
94
  this._provider =
114
95
  awsRegionSettingsExist && useRegionalSts
115
- ? AWSTemporaryCredentialProvider.awsSDK.fromNodeProviderChain({
96
+ ? AWSSDKCredentialProvider.awsSDK.fromNodeProviderChain({
116
97
  clientConfig: { region: AWS_REGION }
117
98
  })
118
- : AWSTemporaryCredentialProvider.awsSDK.fromNodeProviderChain();
99
+ : AWSSDKCredentialProvider.awsSDK.fromNodeProviderChain();
119
100
 
120
101
  return this._provider;
121
102
  }
122
103
 
123
- override async getCredentials(): Promise<AWSTempCredentials> {
104
+ async getCredentials(): Promise<AWSTempCredentials> {
124
105
  /*
125
106
  * Creates a credential provider that will attempt to find credentials from the
126
107
  * following sources (listed in order of precedence):
@@ -144,42 +125,3 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
144
125
  }
145
126
  }
146
127
  }
147
-
148
- /**
149
- * @internal
150
- * Fetches credentials manually (without the AWS SDK), as outlined in the [Obtaining Credentials](https://github.com/mongodb/specifications/blob/master/source/auth/auth.md#obtaining-credentials)
151
- * section of the Auth spec.
152
- */
153
- export class LegacyAWSTemporaryCredentialProvider extends AWSTemporaryCredentialProvider {
154
- override async getCredentials(): Promise<AWSTempCredentials> {
155
- // If the environment variable AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
156
- // is set then drivers MUST assume that it was set by an AWS ECS agent
157
- if (process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI) {
158
- return await request(
159
- `${AWS_RELATIVE_URI}${process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}`
160
- );
161
- }
162
-
163
- // Otherwise assume we are on an EC2 instance
164
-
165
- // get a token
166
- const token = await request(`${AWS_EC2_URI}/latest/api/token`, {
167
- method: 'PUT',
168
- json: false,
169
- headers: { 'X-aws-ec2-metadata-token-ttl-seconds': 30 }
170
- });
171
-
172
- // get role name
173
- const roleName = await request(`${AWS_EC2_URI}/${AWS_EC2_PATH}`, {
174
- json: false,
175
- headers: { 'X-aws-ec2-metadata-token': token }
176
- });
177
-
178
- // get temp credentials
179
- const creds = await request(`${AWS_EC2_URI}/${AWS_EC2_PATH}/${roleName}`, {
180
- headers: { 'X-aws-ec2-metadata-token': token }
181
- });
182
-
183
- return creds;
184
- }
185
- }