@mongosh/service-provider-node-driver 3.14.0 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import type { DevtoolsConnectOptions } from '../node-driver-service-provider';
2
2
  import { NodeDriverServiceProvider } from '../node-driver-service-provider';
3
- import type { MongoClient } from 'mongodb';
3
+ import type { MongoClient, TopologyDescription } from 'mongodb';
4
4
  import type { ReplPlatform } from '@mongosh/service-provider-core';
5
5
  import type ConnectionString from 'mongodb-connection-string-url';
6
6
  import type { EventEmitter } from 'events';
7
7
  export declare class CompassServiceProvider extends NodeDriverServiceProvider {
8
8
  readonly platform: ReplPlatform;
9
- constructor(mongoClient: MongoClient, bus: EventEmitter, driverOptions: DevtoolsConnectOptions, uri?: ConnectionString);
9
+ constructor(mongoClient: MongoClient, bus: EventEmitter, driverOptions: DevtoolsConnectOptions, uri?: ConnectionString, lastSeenTopology?: TopologyDescription);
10
10
  }
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CompassServiceProvider = void 0;
4
4
  const node_driver_service_provider_1 = require("../node-driver-service-provider");
5
5
  class CompassServiceProvider extends node_driver_service_provider_1.NodeDriverServiceProvider {
6
- constructor(mongoClient, bus, driverOptions, uri) {
7
- super(mongoClient, bus, driverOptions, uri);
6
+ constructor(mongoClient, bus, driverOptions, uri, lastSeenTopology) {
7
+ super(mongoClient, bus, driverOptions, uri, lastSeenTopology);
8
8
  this.platform = 'Compass';
9
9
  }
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compass-service-provider.js","sourceRoot":"","sources":["../../src/compass/compass-service-provider.ts"],"names":[],"mappings":";;;AACA,kFAA4E;AAS5E,MAAa,sBAAuB,SAAQ,wDAAyB;IAUnE,YACE,WAAwB,EACxB,GAAiB,EACjB,aAAqC,EACrC,GAAsB;QAEtB,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;CACF;AAnBD,wDAmBC"}
1
+ {"version":3,"file":"compass-service-provider.js","sourceRoot":"","sources":["../../src/compass/compass-service-provider.ts"],"names":[],"mappings":";;;AACA,kFAA4E;AAS5E,MAAa,sBAAuB,SAAQ,wDAAyB;IAUnE,YACE,WAAwB,EACxB,GAAiB,EACjB,aAAqC,EACrC,GAAsB,EACtB,gBAAsC;QAEtC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;CACF;AApBD,wDAoBC"}
@@ -1,11 +1,10 @@
1
- import type { ClientMetadata, ReadPreferenceFromOptions, ReadPreferenceLike, OperationOptions, RunCommandCursor, RunCursorCommandOptions, ClientEncryptionOptions, MongoClient, MongoMissingDependencyError, SearchIndexDescription, TopologyDescription } from 'mongodb';
1
+ import type { ReadPreferenceFromOptions, ReadPreferenceLike, OperationOptions, RunCommandCursor, RunCursorCommandOptions, ClientEncryptionOptions, MongoClient, MongoMissingDependencyError, SearchIndexDescription, TopologyDescription } from 'mongodb';
2
2
  import type { ServiceProvider, ReplPlatform, ShellAuthOptions, AggregateOptions, AggregationCursor, AnyBulkWriteOperation, AnyClientBulkWriteModel, BulkWriteOptions, BulkWriteResult, ClientBulkWriteResult, ClientBulkWriteOptions, ClientSessionOptions, Collection, CountDocumentsOptions, CountOptions, CreateCollectionOptions, CreateIndexesOptions, FindCursor, Db, DbOptions, DeleteOptions, DeleteResult, DistinctOptions, Document, DropCollectionOptions, DropDatabaseOptions, EstimatedDocumentCountOptions, FindOneAndDeleteOptions, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexDescription, InsertManyResult, InsertOneOptions, InsertOneResult, ListCollectionsOptions, ListDatabasesOptions, ListIndexesOptions, MongoClientOptions, ReadConcern, RenameOptions, ReplaceOptions, RunCommandOptions, ClientSession, UpdateOptions, UpdateResult, WriteConcern, ChangeStreamOptions, ChangeStream, AutoEncryptionOptions, ClientEncryption as MongoCryptClientEncryption, ConnectionInfo } from '@mongosh/service-provider-core';
3
3
  import { ServiceProviderCore } from '@mongosh/service-provider-core';
4
4
  import type { DevtoolsConnectOptions } from '@mongodb-js/devtools-connect';
5
5
  import type { MongoshBus } from '@mongosh/types';
6
6
  import { ConnectionString } from 'mongodb-connection-string-url';
7
7
  import type { CreateEncryptedCollectionOptions } from '@mongosh/service-provider-core';
8
- import type { DevtoolsConnectionState } from '@mongodb-js/devtools-connect';
9
8
  import { ReadPreference } from 'mongodb';
10
9
  export type DropDatabaseResult = {
11
10
  ok: 0 | 1;
@@ -32,11 +31,8 @@ export declare class NodeDriverServiceProvider extends ServiceProviderCore imple
32
31
  private _lastSeenTopology;
33
32
  constructor(mongoClient: MongoClient, bus: MongoshBus, clientOptions: DevtoolsConnectOptions, uri?: ConnectionString, lastSeenTopology?: TopologyDescription);
34
33
  static getVersionInformation(): DependencyVersionInfo;
35
- maybeThrowBetterMissingOptionalDependencyError(err: MongoMissingDependencyError): never;
36
- connectMongoClient(connectionString: ConnectionString | string, clientOptions: DevtoolsConnectOptions): Promise<{
37
- client: MongoClient;
38
- state: DevtoolsConnectionState;
39
- }>;
34
+ static maybeThrowBetterMissingOptionalDependencyError(err: MongoMissingDependencyError): never;
35
+ private static connectMongoClient;
40
36
  getNewConnection(uri: string, options?: Partial<DevtoolsConnectOptions>): Promise<NodeDriverServiceProvider>;
41
37
  _getHostnameForConnection(topology?: TopologyDescription): string | undefined;
42
38
  getConnectionInfo(): Promise<ConnectionInfo>;
@@ -69,7 +65,7 @@ export declare class NodeDriverServiceProvider extends ServiceProviderCore imple
69
65
  listDatabases(database: string, options?: ListDatabasesOptions): Promise<Document>;
70
66
  updateMany(database: string, collection: string, filter?: Document, update?: Document, options?: UpdateOptions, dbOptions?: DbOptions): Promise<UpdateResult>;
71
67
  updateOne(database: string, collection: string, filter?: Document, update?: Document, options?: UpdateOptions, dbOptions?: DbOptions): Promise<UpdateResult>;
72
- getTopology(): any | undefined;
68
+ getTopologyDescription(): TopologyDescription | undefined;
73
69
  dropDatabase(db: string, options?: DropDatabaseOptions, dbOptions?: DbOptions): Promise<DropDatabaseResult>;
74
70
  createIndexes(database: string, collection: string, indexSpecs: IndexDescription[], options?: CreateIndexesOptions, dbOptions?: DbOptions): Promise<string[]>;
75
71
  getIndexes(database: string, collection: string, options?: ListIndexesOptions, dbOptions?: DbOptions): Promise<Document[]>;
@@ -93,7 +89,6 @@ export declare class NodeDriverServiceProvider extends ServiceProviderCore imple
93
89
  resetConnectionOptions(options: MongoClientOptions): Promise<void>;
94
90
  startSession(options: ClientSessionOptions): ClientSession;
95
91
  watch(pipeline: Document[], options: ChangeStreamOptions, dbOptions?: DbOptions, db?: string, coll?: string): ChangeStream<Document>;
96
- get driverMetadata(): ClientMetadata | undefined;
97
92
  getRawClient(): MongoClient;
98
93
  getURI(): string | undefined;
99
94
  getFleOptions(): AutoEncryptionOptions | undefined;
@@ -100,14 +100,6 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
100
100
  let client;
101
101
  let state;
102
102
  let lastSeenTopology;
103
- class MongoshMongoClient extends mongodb_1.MongoClient {
104
- constructor(url, options) {
105
- super(url, options);
106
- this.on('topologyDescriptionChanged', (evt) => {
107
- lastSeenTopology = evt.newDescription;
108
- });
109
- }
110
- }
111
103
  if (cliOptions.nodb) {
112
104
  const clientOptionsCopy = {
113
105
  ...clientOptions,
@@ -119,15 +111,16 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
119
111
  delete clientOptionsCopy.parentState;
120
112
  delete clientOptionsCopy.proxy;
121
113
  delete clientOptionsCopy.applyProxyToOIDC;
122
- client = new MongoshMongoClient(connectionString.toString(), clientOptionsCopy);
114
+ client = new mongodb_1.MongoClient(connectionString.toString(), clientOptionsCopy);
123
115
  }
124
116
  else {
125
- ({ client, state } = await (0, devtools_connect_1.connectMongoClient)(connectionString.toString(), clientOptions, bus, MongoshMongoClient));
117
+ ({ client, state, lastSeenTopology } = await this.connectMongoClient(connectionString.toString(), clientOptions, bus));
126
118
  }
127
119
  clientOptions.parentState = state;
128
120
  return new this(client, bus, clientOptions, connectionString, lastSeenTopology);
129
121
  }
130
122
  constructor(mongoClient, bus, clientOptions, uri, lastSeenTopology) {
123
+ var _a, _b;
131
124
  super(bsonlib());
132
125
  this.bus = bus;
133
126
  this.mongoClient = mongoClient;
@@ -135,7 +128,7 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
135
128
  this._lastSeenTopology = lastSeenTopology;
136
129
  this.platform = 'CLI';
137
130
  try {
138
- this.initialDb = mongoClient.s.options.dbName || service_provider_core_1.DEFAULT_DB;
131
+ this.initialDb = mongoClient.options.dbName || service_provider_core_1.DEFAULT_DB;
139
132
  }
140
133
  catch (err) {
141
134
  this.initialDb = service_provider_core_1.DEFAULT_DB;
@@ -143,6 +136,9 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
143
136
  this.currentClientOptions = clientOptions;
144
137
  this.baseCmdOptions = { ...DEFAULT_BASE_OPTIONS };
145
138
  this.dbcache = new WeakMap();
139
+ (_b = (_a = this.mongoClient).on) === null || _b === void 0 ? void 0 : _b.call(_a, 'topologyDescriptionChanged', (evt) => {
140
+ this._lastSeenTopology = evt.newDescription;
141
+ });
146
142
  }
147
143
  static getVersionInformation() {
148
144
  function tryCall(fn) {
@@ -160,7 +156,7 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
160
156
  kerberosVersion: tryCall(() => require('kerberos/package.json').version),
161
157
  };
162
158
  }
163
- maybeThrowBetterMissingOptionalDependencyError(err) {
159
+ static maybeThrowBetterMissingOptionalDependencyError(err) {
164
160
  if (err.message.includes('kerberos')) {
165
161
  try {
166
162
  require('kerberos');
@@ -194,9 +190,19 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
194
190
  }
195
191
  throw err;
196
192
  }
197
- async connectMongoClient(connectionString, clientOptions) {
193
+ static async connectMongoClient(connectionString, clientOptions, bus) {
194
+ let lastSeenTopology;
195
+ class MongoshMongoClient extends mongodb_1.MongoClient {
196
+ constructor(url, options) {
197
+ super(url, options);
198
+ this.on('topologyDescriptionChanged', (evt) => {
199
+ lastSeenTopology = evt.newDescription;
200
+ });
201
+ }
202
+ }
198
203
  try {
199
- return await (0, devtools_connect_1.connectMongoClient)(connectionString.toString(), clientOptions, this.bus, mongodb_1.MongoClient);
204
+ const result = await (0, devtools_connect_1.connectMongoClient)(connectionString.toString(), clientOptions, bus, MongoshMongoClient);
205
+ return { ...result, lastSeenTopology };
200
206
  }
201
207
  catch (err) {
202
208
  if (typeof err === 'object' &&
@@ -211,9 +217,9 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
211
217
  async getNewConnection(uri, options = {}) {
212
218
  const connectionString = new mongodb_connection_string_url_1.ConnectionString(uri);
213
219
  const clientOptions = this.processDriverOptions(connectionString, options);
214
- const { client, state } = await this.connectMongoClient(connectionString.toString(), clientOptions);
220
+ const { client, state, lastSeenTopology } = await NodeDriverServiceProvider.connectMongoClient(connectionString.toString(), clientOptions, this.bus);
215
221
  clientOptions.parentState = state;
216
- return new NodeDriverServiceProvider(client, this.bus, clientOptions, connectionString, this._lastSeenTopology);
222
+ return new NodeDriverServiceProvider(client, this.bus, clientOptions, connectionString, lastSeenTopology !== null && lastSeenTopology !== void 0 ? lastSeenTopology : this._lastSeenTopology);
217
223
  }
218
224
  _getHostnameForConnection(topology) {
219
225
  var _a, _b;
@@ -430,8 +436,8 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
430
436
  .collection(collection)
431
437
  .updateOne(filter, update, options);
432
438
  }
433
- getTopology() {
434
- return this.mongoClient.topology;
439
+ getTopologyDescription() {
440
+ return this._lastSeenTopology;
435
441
  }
436
442
  async dropDatabase(db, options = {}, dbOptions = {}) {
437
443
  const opts = { ...this.baseCmdOptions, ...options };
@@ -513,13 +519,15 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
513
519
  ...options,
514
520
  };
515
521
  const clientOptions = this.processDriverOptions(this.uri, this.currentClientOptions);
516
- const { client, state } = await this.connectMongoClient(this.uri.toString(), clientOptions);
522
+ const { client, state, lastSeenTopology } = await NodeDriverServiceProvider.connectMongoClient(this.uri.toString(), clientOptions, this.bus);
517
523
  try {
518
524
  await this.mongoClient.close();
519
525
  }
520
526
  catch (_a) { }
521
527
  this.mongoClient = client;
522
528
  this.currentClientOptions.parentState = state;
529
+ if (lastSeenTopology)
530
+ this._lastSeenTopology = lastSeenTopology;
523
531
  }
524
532
  startSession(options) {
525
533
  return this.mongoClient.startSession(options);
@@ -536,10 +544,6 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
536
544
  }
537
545
  throw new errors_1.MongoshInternalError('Cannot call watch with defined collection but undefined db');
538
546
  }
539
- get driverMetadata() {
540
- var _a;
541
- return (_a = this.getTopology()) === null || _a === void 0 ? void 0 : _a.clientMetadata;
542
- }
543
547
  getRawClient() {
544
548
  return this.mongoClient;
545
549
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-driver-service-provider.js","sourceRoot":"","sources":["../src/node-driver-service-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-driver-service-provider.js","sourceRoot":"","sources":["../src/node-driver-service-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,0EAIwC;AAGxC,4CAA6E;AAE7E,iFAGuC;AACvC,mCAAsC;AAGtC,+BAAyC;AACzC,gDAAkC;AAClC,qCAIiB;AACjB,mEAAkE;AAElE,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,GACL,GAAG,MAAM,CAAC;IACX,OAAO;QACL,MAAM;QACN,IAAI;QACJ,KAAK;QACL,MAAM;QACN,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ;QACR,SAAS;QACT,UAAU;QACV,UAAU;QACV,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAUF,MAAM,sBAAsB,GAAuB,MAAM,CAAC,MAAM,CAAC;IAS/D,mBAAmB,EAAE,KAAK;CACL,CAAC,CAAC;AAKzB,MAAM,oBAAoB,GAAqB,MAAM,CAAC,MAAM,CAAC;IAC3D,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAcH,SAAS,qCAAqC,CAC5C,GAAqB,EACrB,IAA4B;;IAE5B,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAA0B,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAI,4DAA4B,CACpD,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CACtC,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,KAAK;QACT,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,mCAAI,GAAG,CAAC,QAAQ;QACnC,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,mCAAI,GAAG,CAAC,QAAQ;QACnC,MAAA,IAAI,CAAC,aAAa,mCAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;QACjD,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QAC3C,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE;KAC1E,CAAC;AACJ,CAAC;AAYD,MAAa,yBACX,SAAQ,2CAAmB;IAY3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAElB,GAAW,EACX,aAAqC,EACrC,aAAiC,EAAE,EACnC,MAAkB,IAAI,qBAAY,EAAE;;QAEpC,MAAM,gBAAgB,GAAG,IAAI,gDAAgB,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAC7C,IAAI,EACJ,gBAAgB,EAChB,aAAa,CACd,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC;YAC9C,aAAa,CAAC,SAAS,GAAG;gBACxB,OAAO,EACL,OAAO,aAAa,CAAC,SAAS,KAAK,QAAQ;oBACzC,CAAC,CAAC,aAAa,CAAC,SAAS;oBACzB,CAAC,CAAC,MAAA,MAAA,aAAa,CAAC,SAAS,0CAAE,OAAO,mCAAI,GAAG;gBAC7C,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,IAAI;aACxB,CAAC;QACJ,CAAC;QAED,IAAI,MAAmB,CAAC;QACxB,IAAI,KAA0C,CAAC;QAC/C,IAAI,gBAAiD,CAAC;QAEtD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,iBAAiB,GACa;gBAClC,GAAG,aAAa;aACjB,CAAC;YACF,OAAO,iBAAiB,CAAC,WAAW,CAAC;YACrC,OAAO,iBAAiB,CAAC,eAAe,CAAC;YACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC;YAC9B,OAAO,iBAAiB,CAAC,YAAY,CAAC;YACtC,OAAO,iBAAiB,CAAC,WAAW,CAAC;YACrC,OAAO,iBAAiB,CAAC,KAAK,CAAC;YAC/B,OAAO,iBAAiB,CAAC,gBAAgB,CAAC;YAC1C,MAAM,GAAG,IAAI,qBAAe,CAC1B,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,iBAAiB,CAClB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAClE,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,aAAa,EACb,GAAG,CACJ,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;QAElC,OAAO,IAAI,IAAI,CACb,MAAM,EACN,GAAG,EACH,aAAa,EACb,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAwBD,YACE,WAAwB,EACxB,GAAe,EACf,aAAqC,EACrC,GAAsB,EACtB,gBAAsC;;QAEtC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,kCAAU,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,kCAAU,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAE7B,MAAA,MAAA,IAAI,CAAC,WAAW,EAAC,EAAE,mDACjB,4BAA4B,EAC5B,CAAC,GAAoC,EAAE,EAAE;YACvC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,cAAc,CAAC;QAC9C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,SAAS,OAAO,CAAuB,EAAM;YAC3C,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QACD,OAAO;YACL,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC;YACzE,oBAAoB,EAAE,OAAO,CAC3B,GAAG,EAAE,CAAC,0BAAgB,CAAC,oBAAoB,CAC5C;YACD,gCAAgC,EAAE,OAAO,CACvC,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,OAAO,CAChE;YACD,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,8CAA8C,CACnD,GAAgC;QAEhC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,KAAK;oBACL,SAAS,IAAI,KAAK;oBAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;oBAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,EAAE;wBACnE,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,OAAO,CAAC,2BAA2B,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,KAAK;oBACL,SAAS,IAAI,KAAK;oBAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;oBAED,MAAM,KAAK,GACT,WAAW,IAAI,OAAO;wBACpB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,gJAAgJ,CAAC;oBACvJ,MAAM,IAAI,KAAK,CACb,qDAAqD,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,EAE5E,EAAE,KAAK,EAAE,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACrC,gBAA2C,EAC3C,aAAqC,EACrC,GAAe;QAMf,IAAI,gBAAiD,CAAC;QAEtD,MAAM,kBAAmB,SAAQ,qBAAe;YAC9C,YAAY,GAAW,EAAE,OAA4B;gBACnD,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACpB,IAAI,CAAC,EAAE,CACL,4BAA4B,EAC5B,CAAC,GAAoC,EAAE,EAAE;oBACvC,gBAAgB,GAAG,GAAG,CAAC,cAAc,CAAC;gBACxC,CAAC,CACF,CAAC;YACJ,CAAC;SACF;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qCAAkB,EACrC,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,aAAa,EACb,GAAG,EACH,kBAAkB,CACnB,CAAC;YACF,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IACE,OAAO,GAAG,KAAK,QAAQ;gBACvB,GAAG;gBACH,MAAM,IAAI,GAAG;gBACb,GAAG,CAAC,IAAI,KAAK,6BAA6B,EAC1C,CAAC;gBACD,IAAI,CAAC,8CAA8C,CACjD,GAAkC,CACnC,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAW,EACX,UAA2C,EAAE;QAE7C,MAAM,gBAAgB,GAAG,IAAI,gDAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE3E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GACvC,MAAM,yBAAyB,CAAC,kBAAkB,CAChD,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,aAAa,EACb,IAAI,CAAC,GAAG,CACT,CAAC;QACJ,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,yBAAyB,CAClC,MAAM,EACN,IAAI,CAAC,GAAG,EACR,aAAa,EACb,gBAAgB,EAChB,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,IAAI,CAAC,iBAAiB,CAC3C,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,QAA8B;;QAE9B,OAAO,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,MAAM,GAAG,IAAI,GAAG,KAAK,0CAAE,WAAW,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,iBAAiB;;QACrB,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,YAAY,CAAC,GACrE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,mBAAmB,CACtB,OAAO,EACP,EAAE,SAAS,EAAE,CAAC,EAAE,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACjB,IAAI,CAAC,mBAAmB,CACtB,OAAO,EACP,EAAE,YAAY,EAAE,CAAC,EAAE,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACjB,IAAI,CAAC,mBAAmB,CACtB,OAAO,EACP,EAAE,YAAY,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE,EACnD,IAAI,CAAC,cAAc,CACpB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,kBAAkB,EAAE,yBAAyB;aAC9C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAClB,CAAC,CAAC;QAEL,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CACrD,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAA,2CAAmB,EAAC;YAC9C,gBAAgB,EAAE,IAAI,CAAC,GAAG;YAC1B,SAAS;YACT,YAAY;YACZ,gBAAgB;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,SAAS;YACT,gBAAgB;YAChB,SAAS,EAAE;gBACT,GAAG,mBAAmB;gBACtB,GAAG,EAAE,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,2BAA2B,0CAAE,OAAO;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,UAAyB,EAAE,EAC3B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,gBAAgB,CACxD,OAAO,EACP,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAUO,EAAE,CAAC,IAAY,EAAE,YAAuB,EAAE;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAKD,cAAc,CAAC,IAAY,EAAE,SAAqB;QAChD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAKO,UAAU;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAqBD,SAAS,CACP,QAAgB,EAChB,UAAkB,EAClB,WAAuB,EAAE,EACzB,UAA4B,EAAE,EAC9B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAoBD,WAAW,CACT,QAAgB,EAChB,WAAuB,EAAE,EACzB,UAA4B,EAAE,EAC9B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,MAAM,EAAE,GAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAQ,CAAC;QACpD,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAiBD,SAAS,CACP,QAAgB,EAChB,UAAkB,EAClB,QAAiC,EACjC,UAA4B,EAAE,EAC9B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAKD,eAAe,CACb,MAA2C,EAC3C,UAAkC,EAAE;QAEpC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAKD,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAE9C,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAmBD,KAAK,CACH,QAAgB,EAChB,UAAkB,EAClB,QAAkB,EAAE,EACpB,UAAwB,EAAE,EAC1B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAgBD,cAAc,CACZ,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,UAAiC,EAAE,EACnC,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAaD,UAAU,CACR,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,UAAyB,EAAE,EAC3B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAaD,SAAS,CACP,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,UAAyB,EAAE,EAC3B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAcD,QAAQ,CACN,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,SAAmB,EAAE,EACrB,UAA2B,EAAE,EAC7B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAYD,sBAAsB,CACpB,QAAgB,EAChB,UAAkB,EAClB,UAAyC,EAAE,EAC3C,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAaD,IAAI,CACF,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,UAAuB,EAAE,EACzB,SAAqB;QAErB,MAAM,WAAW,GAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QAChE,IAAI,qBAAqB,IAAI,WAAW,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC;QACxD,CAAC;QACD,IAAI,iBAAiB,IAAI,WAAW,EAAE,CAAC;YACrC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAaD,gBAAgB,CACd,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,UAAmC,EAAE,EACrC,SAAqB;QAIrB,OAAO,GAAG;YACR,qBAAqB,EAAE,IAAI;YAC3B,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,OAAO;SACX,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAcD,iBAAiB,CACf,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,cAAwB,EAAE,EAC1B,UAAoC,EAAE,EACtC,SAAqB;QAErB,MAAM,wBAAwB,GAAQ;YACpC,qBAAqB,EAAE,IAAI;YAC3B,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,OACE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,UAAU,CACnD,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACrE,CAAC;IAcD,gBAAgB,CACd,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,SAAgC,EAAE,EAClC,UAAmC,EAAE,EACrC,SAAqB;QAErB,MAAM,uBAAuB,GAAG;YAC9B,qBAAqB,EAAE,IAAI;YAC3B,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAQ,CAAC;IACtE,CAAC;IAaD,UAAU,CACR,QAAgB,EAChB,UAAkB,EAClB,OAAmB,EAAE,EACrB,UAA4B,EAAE,EAC9B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAaD,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,UAAkB,EAClB,MAAgB,EAAE,EAClB,UAA4B,EAAE,EAC9B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAcD,UAAU,CACR,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,cAAwB,EAAE,EAC1B,UAA0B,EAAE,EAC5B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE9C,CAAC;IAYD,UAAU,CACR,QAAgB,EAChB,OAAiB,EAAE,EACnB,UAA6B,EAAE,EAC/B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAYD,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,OAAiB,EAAE,EACnB,UAA6B,EAAE,EAC/B,SAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,6BAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAmB,CAAC;IAC7B,CAAC;IAUD,gBAAgB,CACd,QAAgB,EAChB,OAAiB,EAAE,EACnB,UAAmC,EAAE,EACrC,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IASD,aAAa,CACX,QAAgB,EAChB,UAAgC,EAAE;QAElC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAcD,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,SAAmB,EAAE,EACrB,UAAyB,EAAE,EAC3B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aACtC,UAAU,CAAC,UAAU,CAAC;aACtB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAcD,SAAS,CACP,QAAgB,EAChB,UAAkB,EAClB,SAAmB,EAAE,EACrB,SAAmB,EAAE,EACrB,UAAyB,EAAE,EAC3B,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAKD,sBAAsB;QACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAWD,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,UAA+B,EAAE,EACjC,YAAuB,EAAE;QAEzB,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAyB,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAErE,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;YACL,EAAE;YACF,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC;IAYD,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,UAAkB,EAClB,UAA8B,EAC9B,UAAgC,EAAE,EAClC,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAcD,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,UAAkB,EAClB,UAA8B,EAAE,EAChC,SAAqB;QAErB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aACtC,UAAU,CAAC,UAAU,CAAC;aACtB,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;aACnD,OAAO,EAAE,CAAC;IACf,CAAC;IAaD,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,SAAmB,EAAE,EACrB,UAAkC,EAAE,EACpC,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aACtC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;aAChC,OAAO,EAAE,CAAC;IACf,CAAC;IAYD,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,UAAkB,EAClB,UAAiC,EAAE,EACnC,SAAqB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAOD,KAAK,CAAC,YAAY,CAAC,OAAyB;QAE1C,MAAM,IAAI,GAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QACrE,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAChC,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,SAA0B,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,QAAgB,EAChB,UAAmC,EAAE,EACrC,SAAqB;QAErB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,QAAgB,EAChB,OAAyC,EACzC,aAAyC;QAEzC,OAAO,MAAM,aAAa,CAAC,yBAAyB,CAClD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EACf,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,QAAgB,EAChB,OAAgB,EAChB,UAA4B,EAAE,EAC9B,SAAqB;QAGrB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;iBAC9B,UAAU,CAAC,QAAQ,CAAC;iBACpB,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC9B,UAAU,CAAC,QAAQ,CAAC;aACpB,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;IACvC,CAAC;IAED,yBAAyB,CACvB,OAAoD;QAEpD,OAAO,wBAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAOD,KAAK,CAAC,sBAAsB,CAAC,OAA2B;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,GAAG;YAC1B,GAAG,IAAI,CAAC,oBAAoB;YAC5B,GAAG,OAAO;SACX,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAC7C,IAAI,CAAC,GAAuB,EAC5B,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GACvC,MAAM,yBAAyB,CAAC,kBAAkB,CAC/C,IAAI,CAAC,GAAwB,CAAC,QAAQ,EAAE,EACzC,aAAa,EACb,IAAI,CAAC,GAAG,CACT,CAAC;QACJ,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEjC,CAAC;QAAC,WAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9C,IAAI,gBAAgB;YAAE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,OAA6B;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CACH,QAAoB,EACpB,OAA4B,EAC5B,YAAuB,EAAE,EACzB,EAAW,EACX,IAAa;QAEb,IAAI,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,6BAAoB,CAC5B,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM;;QACJ,OAAO,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,CAAC;IACxB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAClD,CAAC;IAGD,MAAM,CAAC,oBAAoB,CACzB,uBAAyD,EACzD,GAAqB,EACrB,IAA4B;;QAE5B,MAAM,gBAAgB,GAAG,EAAE,GAAG,sBAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;QAEhE,IAAI,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,oBAAoB,EAAE,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAU,EAAE,CAAC;gBAC9D,gBAAgB,CAAC,GAAG,CAAC;oBACnB,uBAAuB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;YAED,MAAA,gBAAgB,CAAC,IAAI,oCAArB,gBAAgB,CAAC,IAAI,GAAK,EAAE,EAAC;YAC7B,KAAK,MAAM,GAAG,IAAI;gBAChB,aAAa;gBACb,aAAa;gBACb,oBAAoB;gBACpB,kBAAkB;gBAClB,cAAc;aACN,EAAE,CAAC;gBAEX,CAAC,CAA+C,GAAM,EAAE,EAAE;;oBACxD,MAAM,KAAK,GACT,MAAA,uBAAuB,CAAC,oBAAoB,CAAC,IAAI,0CAAG,GAAG,CAAC,CAAC;oBAC3D,IAAI,KAAK,EAAE,CAAC;wBACV,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,IACE,gBAAgB,CAAC,WAAW;YAC5B,gBAAgB,CAAC,YAAY;YAC7B,CAAC,uBAAuB,EACxB,CAAC;YAGD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,oBAAoB,CAAC;QACjE,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC;QAC/C,IACE,UAAU;YACV,IAAA,wBAAiB,EACf,qCAAqC,CAAC,UAAU,EAAE,WAAW,CAAC,EAC9D,qCAAqC,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAC7D,EACD,CAAC;YACD,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC5B,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YACzD,CAAC;iBAAM,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBACpC,gBAAgB,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAGD,oBAAoB,CAClB,GAAqB,EACrB,IAAqC;QAErC,OAAO,yBAAyB,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/D,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW;YAClD,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe;YAC1D,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CACd,QAAgB,EAChB,UAAkB,EAClB,SAAkB,EAElB,OAAkB,EAClB,SAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,QAAgB,EAChB,UAAkB,EAClB,KAA+B,EAC/B,SAAqB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,SAAqB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,eAAe,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,iBAAiB,CACf,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,UAAkC,EAClC,SAAqB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC,UAAU,CAAC,UAAU,CAAC;aACtB,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,sBAAsB,CACpB,OAAgC;QAEhC,OAAO,IAAI,0BAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF;AA/0CD,8DA+0CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/service-provider-node-driver",
3
- "version": "3.14.0",
3
+ "version": "3.17.0",
4
4
  "description": "MongoDB Shell Server Service Provider Package",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -47,21 +47,21 @@
47
47
  }
48
48
  },
49
49
  "dependencies": {
50
- "@mongodb-js/devtools-connect": "^3.9.3",
51
- "@mongodb-js/oidc-plugin": "^2.0.3",
50
+ "@mongodb-js/devtools-connect": "^3.9.4",
51
+ "@mongodb-js/oidc-plugin": "^2.0.4",
52
52
  "@mongosh/errors": "2.4.4",
53
- "@mongosh/service-provider-core": "3.3.7",
54
- "@mongosh/types": "^3.12.0",
53
+ "@mongosh/service-provider-core": "3.6.0",
54
+ "@mongosh/types": "^3.14.0",
55
55
  "aws4": "^1.12.0",
56
56
  "kerberos": "2.1.0",
57
- "mongodb": "^6.18.0",
58
- "mongodb-client-encryption": "^6.3.0",
59
- "mongodb-connection-string-url": "^3.0.1",
57
+ "mongodb": "^6.19.0",
58
+ "mongodb-client-encryption": "^6.5.0",
59
+ "mongodb-connection-string-url": "^3.0.2",
60
60
  "socks": "^2.8.3"
61
61
  },
62
62
  "optionalDependencies": {
63
63
  "kerberos": "2.1.0",
64
- "mongodb-client-encryption": "^6.3.0"
64
+ "mongodb-client-encryption": "^6.5.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@mongodb-js/eslint-config-mongosh": "^1.0.0",
@@ -72,5 +72,5 @@
72
72
  "eslint": "^7.25.0",
73
73
  "prettier": "^2.8.8"
74
74
  },
75
- "gitHead": "535ab3f767e2a27c05a6be6a299e0285eebfcc9e"
75
+ "gitHead": "9f0183e375c5422a0e1ced87c9a620384180abf7"
76
76
  }
@@ -1,6 +1,6 @@
1
1
  import type { DevtoolsConnectOptions } from '../node-driver-service-provider';
2
2
  import { NodeDriverServiceProvider } from '../node-driver-service-provider';
3
- import type { MongoClient } from 'mongodb';
3
+ import type { MongoClient, TopologyDescription } from 'mongodb';
4
4
  import type { ReplPlatform } from '@mongosh/service-provider-core';
5
5
  import type ConnectionString from 'mongodb-connection-string-url';
6
6
  import type { EventEmitter } from 'events';
@@ -22,9 +22,10 @@ export class CompassServiceProvider extends NodeDriverServiceProvider {
22
22
  mongoClient: MongoClient,
23
23
  bus: EventEmitter,
24
24
  driverOptions: DevtoolsConnectOptions,
25
- uri?: ConnectionString
25
+ uri?: ConnectionString,
26
+ lastSeenTopology?: TopologyDescription
26
27
  ) {
27
- super(mongoClient, bus, driverOptions, uri);
28
+ super(mongoClient, bus, driverOptions, uri, lastSeenTopology);
28
29
  this.platform = 'Compass';
29
30
  }
30
31
  }
@@ -807,12 +807,6 @@ describe('NodeDriverServiceProvider [integration]', function () {
807
807
  });
808
808
  });
809
809
 
810
- describe('#driverMetadata', function () {
811
- it('returns information about the driver instance', function () {
812
- expect(serviceProvider.driverMetadata?.driver.name).to.equal('nodejs');
813
- });
814
- });
815
-
816
810
  describe('#getURI', function () {
817
811
  it('returns the current URI', function () {
818
812
  expect(serviceProvider.getURI()).to.equal(connectionString);
@@ -1,7 +1,6 @@
1
1
  import type {
2
2
  Auth,
3
3
  AuthMechanism,
4
- ClientMetadata,
5
4
  ReadPreferenceFromOptions,
6
5
  ReadPreferenceLike,
7
6
  OperationOptions,
@@ -242,18 +241,6 @@ export class NodeDriverServiceProvider
242
241
  let state: DevtoolsConnectionState | undefined;
243
242
  let lastSeenTopology: TopologyDescription | undefined;
244
243
 
245
- class MongoshMongoClient extends MongoClientCtor {
246
- constructor(url: string, options?: MongoClientOptions) {
247
- super(url, options);
248
- this.on(
249
- 'topologyDescriptionChanged',
250
- (evt: TopologyDescriptionChangedEvent) => {
251
- lastSeenTopology = evt.newDescription;
252
- }
253
- );
254
- }
255
- }
256
-
257
244
  if (cliOptions.nodb) {
258
245
  const clientOptionsCopy: MongoClientOptions &
259
246
  Partial<DevtoolsConnectOptions> = {
@@ -266,16 +253,15 @@ export class NodeDriverServiceProvider
266
253
  delete clientOptionsCopy.parentState;
267
254
  delete clientOptionsCopy.proxy;
268
255
  delete clientOptionsCopy.applyProxyToOIDC;
269
- client = new MongoshMongoClient(
256
+ client = new MongoClientCtor(
270
257
  connectionString.toString(),
271
258
  clientOptionsCopy
272
259
  );
273
260
  } else {
274
- ({ client, state } = await connectMongoClient(
261
+ ({ client, state, lastSeenTopology } = await this.connectMongoClient(
275
262
  connectionString.toString(),
276
263
  clientOptions,
277
- bus,
278
- MongoshMongoClient
264
+ bus
279
265
  ));
280
266
  }
281
267
  clientOptions.parentState = state;
@@ -299,13 +285,13 @@ export class NodeDriverServiceProvider
299
285
  private bus: MongoshBus;
300
286
 
301
287
  /**
302
- * Stores the last seen topology at the time when .connect() finishes.
288
+ * Stores the last known topology for the MongoClient instance.
303
289
  */
304
290
  private _lastSeenTopology: TopologyDescription | undefined;
305
291
 
306
292
  /**
307
293
  * Instantiate a new NodeDriverServiceProvider with the Node driver's connected
308
- * MongoClient instance.
294
+ * MongoClient instance. Do not call this directly, it is only public for testing.
309
295
  *
310
296
  * @param {MongoClient} mongoClient - The Node drivers' MongoClient instance.
311
297
  * @param {DevtoolsConnectOptions} clientOptions
@@ -326,13 +312,20 @@ export class NodeDriverServiceProvider
326
312
  this._lastSeenTopology = lastSeenTopology;
327
313
  this.platform = 'CLI';
328
314
  try {
329
- this.initialDb = (mongoClient as any).s.options.dbName || DEFAULT_DB;
315
+ this.initialDb = mongoClient.options.dbName || DEFAULT_DB;
330
316
  } catch (err: any) {
331
317
  this.initialDb = DEFAULT_DB;
332
318
  }
333
319
  this.currentClientOptions = clientOptions;
334
320
  this.baseCmdOptions = { ...DEFAULT_BASE_OPTIONS }; // currently do not have any user-specified connection-wide command options, but I imagine we will eventually
335
321
  this.dbcache = new WeakMap();
322
+
323
+ this.mongoClient.on?.(
324
+ 'topologyDescriptionChanged',
325
+ (evt: TopologyDescriptionChangedEvent) => {
326
+ this._lastSeenTopology = evt.newDescription;
327
+ }
328
+ );
336
329
  }
337
330
 
338
331
  static getVersionInformation(): DependencyVersionInfo {
@@ -355,7 +348,7 @@ export class NodeDriverServiceProvider
355
348
  };
356
349
  }
357
350
 
358
- maybeThrowBetterMissingOptionalDependencyError(
351
+ static maybeThrowBetterMissingOptionalDependencyError(
359
352
  err: MongoMissingDependencyError
360
353
  ): never {
361
354
  if (err.message.includes('kerberos')) {
@@ -401,17 +394,37 @@ export class NodeDriverServiceProvider
401
394
  throw err;
402
395
  }
403
396
 
404
- async connectMongoClient(
397
+ private static async connectMongoClient(
405
398
  connectionString: ConnectionString | string,
406
- clientOptions: DevtoolsConnectOptions
407
- ): Promise<{ client: MongoClient; state: DevtoolsConnectionState }> {
399
+ clientOptions: DevtoolsConnectOptions,
400
+ bus: MongoshBus
401
+ ): Promise<{
402
+ client: MongoClient;
403
+ state: DevtoolsConnectionState;
404
+ lastSeenTopology: TopologyDescription | undefined;
405
+ }> {
406
+ let lastSeenTopology: TopologyDescription | undefined;
407
+
408
+ class MongoshMongoClient extends MongoClientCtor {
409
+ constructor(url: string, options?: MongoClientOptions) {
410
+ super(url, options);
411
+ this.on(
412
+ 'topologyDescriptionChanged',
413
+ (evt: TopologyDescriptionChangedEvent) => {
414
+ lastSeenTopology = evt.newDescription;
415
+ }
416
+ );
417
+ }
418
+ }
419
+
408
420
  try {
409
- return await connectMongoClient(
421
+ const result = await connectMongoClient(
410
422
  connectionString.toString(),
411
423
  clientOptions,
412
- this.bus,
413
- MongoClientCtor
424
+ bus,
425
+ MongoshMongoClient
414
426
  );
427
+ return { ...result, lastSeenTopology };
415
428
  } catch (err: unknown) {
416
429
  if (
417
430
  typeof err === 'object' &&
@@ -434,17 +447,19 @@ export class NodeDriverServiceProvider
434
447
  const connectionString = new ConnectionString(uri);
435
448
  const clientOptions = this.processDriverOptions(connectionString, options);
436
449
 
437
- const { client, state } = await this.connectMongoClient(
438
- connectionString.toString(),
439
- clientOptions
440
- );
450
+ const { client, state, lastSeenTopology } =
451
+ await NodeDriverServiceProvider.connectMongoClient(
452
+ connectionString.toString(),
453
+ clientOptions,
454
+ this.bus
455
+ );
441
456
  clientOptions.parentState = state;
442
457
  return new NodeDriverServiceProvider(
443
458
  client,
444
459
  this.bus,
445
460
  clientOptions,
446
461
  connectionString,
447
- this._lastSeenTopology
462
+ lastSeenTopology ?? this._lastSeenTopology
448
463
  );
449
464
  }
450
465
 
@@ -1152,8 +1167,8 @@ export class NodeDriverServiceProvider
1152
1167
  /**
1153
1168
  * Get currently known topology information.
1154
1169
  */
1155
- getTopology(): any | undefined {
1156
- return (this.mongoClient as any).topology;
1170
+ getTopologyDescription(): TopologyDescription | undefined {
1171
+ return this._lastSeenTopology;
1157
1172
  }
1158
1173
 
1159
1174
  /**
@@ -1365,16 +1380,19 @@ export class NodeDriverServiceProvider
1365
1380
  this.uri as ConnectionString,
1366
1381
  this.currentClientOptions
1367
1382
  );
1368
- const { client, state } = await this.connectMongoClient(
1369
- (this.uri as ConnectionString).toString(),
1370
- clientOptions
1371
- );
1383
+ const { client, state, lastSeenTopology } =
1384
+ await NodeDriverServiceProvider.connectMongoClient(
1385
+ (this.uri as ConnectionString).toString(),
1386
+ clientOptions,
1387
+ this.bus
1388
+ );
1372
1389
  try {
1373
1390
  await this.mongoClient.close();
1374
1391
  // eslint-disable-next-line no-empty
1375
1392
  } catch {}
1376
1393
  this.mongoClient = client;
1377
1394
  this.currentClientOptions.parentState = state;
1395
+ if (lastSeenTopology) this._lastSeenTopology = lastSeenTopology;
1378
1396
  }
1379
1397
 
1380
1398
  startSession(options: ClientSessionOptions): ClientSession {
@@ -1389,25 +1407,17 @@ export class NodeDriverServiceProvider
1389
1407
  coll?: string
1390
1408
  ): ChangeStream<Document> {
1391
1409
  if (db === undefined && coll === undefined) {
1392
- // TODO: watch not exported, see NODE-2934
1393
- return (this.mongoClient as any).watch(pipeline, options);
1410
+ return this.mongoClient.watch(pipeline, options);
1394
1411
  } else if (db !== undefined && coll === undefined) {
1395
- return (this.db(db, dbOptions) as any).watch(pipeline, options);
1412
+ return this.db(db, dbOptions).watch(pipeline, options);
1396
1413
  } else if (db !== undefined && coll !== undefined) {
1397
- return (this.db(db, dbOptions).collection(coll) as any).watch(
1398
- pipeline,
1399
- options
1400
- );
1414
+ return this.db(db, dbOptions).collection(coll).watch(pipeline, options);
1401
1415
  }
1402
1416
  throw new MongoshInternalError(
1403
1417
  'Cannot call watch with defined collection but undefined db'
1404
1418
  );
1405
1419
  }
1406
1420
 
1407
- get driverMetadata(): ClientMetadata | undefined {
1408
- return this.getTopology()?.clientMetadata;
1409
- }
1410
-
1411
1421
  getRawClient(): MongoClient {
1412
1422
  return this.mongoClient;
1413
1423
  }