@mongosh/logging 3.7.2 → 3.9.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,18 +1,12 @@
1
- export type MongoshAnalyticsIdentity = {
2
- deviceId?: string;
3
- userId: string;
4
- anonymousId?: never;
5
- } | {
6
- deviceId?: string;
7
- userId?: never;
8
- anonymousId: string;
9
- };
1
+ import type { IdentifyParams as SegmentIdentifyParams, TrackParams as SegmentTrackParams } from '@segment/analytics-node';
2
+ type Timestamp = SegmentTrackParams['timestamp'];
3
+ export type MongoshAnalyticsIdentity = SegmentIdentifyParams;
10
4
  export type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
11
5
  traits: {
12
6
  platform: string;
13
7
  session_id: string;
14
- };
15
- timestamp?: Date;
8
+ device_id: string;
9
+ } & SegmentIdentifyParams['traits'];
16
10
  };
17
11
  export type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
18
12
  event: string;
@@ -21,7 +15,7 @@ export type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
21
15
  session_id: string;
22
16
  [key: string]: any;
23
17
  };
24
- timestamp?: Date;
18
+ timestamp?: Timestamp;
25
19
  };
26
20
  export interface MongoshAnalytics {
27
21
  identify(message: AnalyticsIdentifyMessage): void;
@@ -53,8 +53,10 @@ class NoopAnalytics {
53
53
  }
54
54
  exports.NoopAnalytics = NoopAnalytics;
55
55
  function addTimestamp(message) {
56
- var _a;
57
- return { ...message, timestamp: (_a = message.timestamp) !== null && _a !== void 0 ? _a : new Date() };
56
+ const timestampDate = message.timestamp instanceof Date || message.timestamp === undefined
57
+ ? message.timestamp
58
+ : new Date(message.timestamp);
59
+ return { ...message, timestamp: timestampDate };
58
60
  }
59
61
  class ToggleableAnalytics {
60
62
  constructor(target = new NoopAnalytics()) {
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":"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"}
package/lib/helpers.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSnakeCase = exports.MultiSet = void 0;
3
+ exports.MultiSet = void 0;
4
+ exports.toSnakeCase = toSnakeCase;
4
5
  class MultiSet {
5
6
  constructor() {
6
7
  this._entries = new Map();
@@ -27,5 +28,4 @@ function toSnakeCase(str) {
27
28
  }
28
29
  return matches.map((x) => x.toLowerCase()).join('_');
29
30
  }
30
- exports.toSnakeCase = toSnakeCase;
31
31
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IAArB;QACE,aAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAiB5C,CAAC;IAfC,GAAG,CAAC,KAAQ;;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAlBD,4BAkBC;AAkBD,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CACvB,oEAAoE,CACrE,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AATD,kCASC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAuCA,kCASC;AA7CD,MAAa,QAAQ;IAArB;QACE,aAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAiB5C,CAAC;IAfC,GAAG,CAAC,KAAQ;;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAlBD,4BAkBC;AAkBD,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CACvB,oEAAoE,CACrE,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC"}
@@ -1,8 +1,5 @@
1
1
  import { MongoLogWriter } from 'mongodb-log-writer';
2
2
  import type { MongoshLoggingAndTelemetry, MongoshLoggingAndTelemetryArguments } from './types';
3
- export declare function getDeviceId({ onError, }?: {
4
- onError?: (error: Error) => void;
5
- }): Promise<string | 'unknown'>;
6
3
  export declare function setupLoggingAndTelemetry(props: MongoshLoggingAndTelemetryArguments): MongoshLoggingAndTelemetry;
7
4
  export declare class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
8
5
  private static dummyLogger;
@@ -18,7 +15,7 @@ export declare class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
18
15
  private isBufferingTelemetryEvents;
19
16
  private deviceId;
20
17
  setupTelemetryPromise: Promise<void>;
21
- private resolveDeviceId;
18
+ private readonly telemetrySetupAbort;
22
19
  constructor({ bus, analytics, userTraits, mongoshVersion, deviceId, }: MongoshLoggingAndTelemetryArguments);
23
20
  setup(): void;
24
21
  flush(): void;
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LoggingAndTelemetry = exports.setupLoggingAndTelemetry = exports.getDeviceId = void 0;
6
+ exports.LoggingAndTelemetry = void 0;
7
+ exports.setupLoggingAndTelemetry = setupLoggingAndTelemetry;
7
8
  const mongodb_redact_1 = __importDefault(require("mongodb-redact"));
8
9
  const history_1 = require("@mongosh/history");
9
10
  const util_1 = require("util");
@@ -12,32 +13,12 @@ const mongodb_log_writer_2 = require("mongodb-log-writer");
12
13
  const devtools_connect_1 = require("@mongodb-js/devtools-connect");
13
14
  const helpers_1 = require("./helpers");
14
15
  const stream_1 = require("stream");
15
- const crypto_1 = require("crypto");
16
- async function getDeviceId({ onError, } = {}) {
17
- try {
18
- const originalId = await require('native-machine-id').getMachineId({
19
- raw: true,
20
- });
21
- if (!originalId) {
22
- return 'unknown';
23
- }
24
- const hmac = (0, crypto_1.createHmac)('sha256', originalId);
25
- const DEVICE_ID_HASH_MESSAGE = 'atlascli';
26
- hmac.update(DEVICE_ID_HASH_MESSAGE);
27
- return hmac.digest('hex');
28
- }
29
- catch (error) {
30
- onError === null || onError === void 0 ? void 0 : onError(error);
31
- return 'unknown';
32
- }
33
- }
34
- exports.getDeviceId = getDeviceId;
16
+ const device_id_1 = require("@mongodb-js/device-id");
35
17
  function setupLoggingAndTelemetry(props) {
36
18
  const loggingAndTelemetry = new LoggingAndTelemetry(props);
37
19
  loggingAndTelemetry.setup();
38
20
  return loggingAndTelemetry;
39
21
  }
40
- exports.setupLoggingAndTelemetry = setupLoggingAndTelemetry;
41
22
  class LoggingAndTelemetry {
42
23
  constructor({ bus, analytics, userTraits, mongoshVersion, deviceId, }) {
43
24
  this.pendingBusEvents = [];
@@ -46,7 +27,7 @@ class LoggingAndTelemetry {
46
27
  this.isBufferingBusEvents = false;
47
28
  this.isBufferingTelemetryEvents = false;
48
29
  this.setupTelemetryPromise = Promise.resolve();
49
- this.resolveDeviceId = () => { };
30
+ this.telemetrySetupAbort = new AbortController();
50
31
  this.busEventState = {
51
32
  hasStartedMongoshRepl: false,
52
33
  apiCallTracking: {
@@ -76,20 +57,28 @@ class LoggingAndTelemetry {
76
57
  this.isSetup = true;
77
58
  }
78
59
  flush() {
79
- this.runAndClearPendingTelemetryEvents();
80
60
  this.runAndClearPendingBusEvents();
81
- this.resolveDeviceId('unknown');
61
+ this.telemetrySetupAbort.abort();
82
62
  }
83
63
  async setupTelemetry() {
84
64
  if (!this.deviceId) {
85
- this.deviceId = await Promise.race([
86
- getDeviceId({
87
- onError: (error) => this.bus.emit('mongosh:error', error, 'telemetry'),
88
- }),
89
- new Promise((resolve) => {
90
- this.resolveDeviceId = resolve;
91
- }),
92
- ]);
65
+ try {
66
+ const getMachineId = require('native-machine-id').getMachineId;
67
+ this.deviceId = await (0, device_id_1.getDeviceId)({
68
+ getMachineId: () => getMachineId({ raw: true }),
69
+ onError: (reason, error) => {
70
+ if (reason === 'abort') {
71
+ return;
72
+ }
73
+ this.bus.emit('mongosh:error', error, 'telemetry');
74
+ },
75
+ abortSignal: this.telemetrySetupAbort.signal,
76
+ });
77
+ }
78
+ catch (error) {
79
+ this.deviceId = 'unknown';
80
+ this.bus.emit('mongosh:error', error, 'telemetry');
81
+ }
93
82
  }
94
83
  this.runAndClearPendingTelemetryEvents();
95
84
  }
@@ -133,10 +122,14 @@ class LoggingAndTelemetry {
133
122
  }));
134
123
  return this.bus;
135
124
  };
136
- const getUserTraits = () => ({
137
- ...this.userTraits,
138
- session_id: this.log.logId,
139
- });
125
+ const getUserTraits = () => {
126
+ var _a;
127
+ return ({
128
+ ...this.userTraits,
129
+ device_id: (_a = this.deviceId) !== null && _a !== void 0 ? _a : 'unknown',
130
+ session_id: this.log.logId,
131
+ });
132
+ };
140
133
  const getTrackingProperties = () => ({
141
134
  mongosh_version: this.mongoshVersion,
142
135
  session_id: this.log.logId,
@@ -144,7 +137,6 @@ class LoggingAndTelemetry {
144
137
  const getTelemetryUserIdentity = () => {
145
138
  var _a;
146
139
  return {
147
- deviceId: this.deviceId,
148
140
  anonymousId: (_a = this.busEventState.telemetryAnonymousId) !== null && _a !== void 0 ? _a : this.busEventState.userId,
149
141
  };
150
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"logging-and-telemetry.js","sourceRoot":"","sources":["../src/logging-and-telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging-and-telemetry.js","sourceRoot":"","sources":["../src/logging-and-telemetry.ts"],"names":[],"mappings":";;;;;;AAyDA,4DAOC;AAhED,oEAAwC;AACxC,8CAAwD;AAmCxD,+BAA+B;AAC/B,2DAAoD;AACpD,2DAAgD;AAQhD,mEAA0D;AAC1D,uCAAkD;AAClD,mCAAkC;AAOlC,qDAAoD;AAEpD,SAAgB,wBAAwB,CACtC,KAA0C;IAE1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE3D,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAGD,MAAa,mBAAmB;IAiC9B,YAAY,EACV,GAAG,EACH,SAAS,EACT,UAAU,EACV,cAAc,EACd,QAAQ,GAC4B;QAnB9B,qBAAgB,GAAuB,EAAE,CAAC;QAC1C,2BAAsB,GAAuB,EAAE,CAAC;QAChD,YAAO,GAAG,KAAK,CAAC;QAChB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,+BAA0B,GAAG,KAAK,CAAC;QAKpC,0BAAqB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAE/C,wBAAmB,GAAoB,IAAI,eAAe,EAAE,CAAC;QAwGtE,kBAAa,GAAqC;YAKxD,qBAAqB,EAAE,KAAK;YAC5B,eAAe,EAAE;gBACf,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI,kBAAQ,EAAsC;gBAC5D,kBAAkB,EAAE,IAAI,kBAAQ,EAAsC;aACvE;YACD,eAAe,EAAE,KAAK;YACtB,oBAAoB,EAAE,SAAS;YAC/B,MAAM,EAAE,SAAS;SAClB,CAAC;QA7GA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEM,KAAK;QAEV,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAInC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBAEH,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC;gBAC/D,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,uBAAW,EAAC;oBAChC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;oBAC/C,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACzB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;4BACvB,OAAO;wBACT,CAAC;wBAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;oBACrD,CAAC;oBACD,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;iBAC7C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAc,EAAE,WAAW,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAEM,YAAY,CAAC,MAAsB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAElB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,2BAA2B;QACjC,IAAI,YAA0C,CAAC;QAC/C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YACtD,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAEO,iCAAiC;QACvC,IAAI,YAA0C,CAAC;QAC/C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAC5D,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IAC1C,CAAC;IAmBO,sBAAsB;QAC5B,MAAM,KAAK,GAAG,CAUZ,KAAQ,EACR,QAAqD,EACrD,EAAE;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAA8B,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACpB,CAAC,CAA2B,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAuC,EAAE;;YAAC,OAAA,CAAC;gBAC/D,GAAG,IAAI,CAAC,UAAU;gBAClB,SAAS,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS;gBACrC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;aAC3B,CAAC,CAAA;SAAA,CAAC;QAEH,MAAM,qBAAqB,GAAG,GAA8B,EAAE,CAAC,CAAC;YAC9D,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,GAA6B,EAAE;;YAC9D,OAAO;gBACL,WAAW,EACT,MAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,mCACtC,IAAI,CAAC,aAAa,CAAC,MAAiB;aACxC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CACZ,OAKC,EACK,EAAE;YACR,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,GAAG,OAAO;gBACV,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;oBAC1B,GAAG,OAAO,CAAC,UAAU;iBACtB;aACF,CAAC,CAAC;YAEL,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACtB,GAAG,wBAAwB,EAAE;gBAC7B,MAAM,EAAE,aAAa,EAAE;aACxB,CAAC,CAAC;YAEL,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,4BAA4B,EAAE,CAAC,EAAyB,EAAE,EAAE;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,cAAc,EACd,EAAE,CACH,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,mCAAmC,EACnC,CAAC,KAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,2BAA2B,CAC5B,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7D,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAkB,EAAE,EAAE;YAC9C,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,yBAAyB,EAAE,GAAG,IAAI,CAAC;YACtE,MAAM,aAAa,GAAG,GAAG,IAAI,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG;gBACpB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;aACzD,CAAC;YACF,MAAM,UAAU,GAAG;gBACjB,GAAG,yBAAyB;gBAC5B,GAAG,aAAa;aACjB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,sBAAsB,EACtB;gBACE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;gBACjC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB;gBAC7D,aAAa;gBACb,GAAG,UAAU;aACd,CACF,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,gBAAgB;gBACvB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,uBAAuB,EAAE,CAAC,IAAyB,EAAE,EAAE;YAC3D,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC7D,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAClB,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CACF,CAAC;YAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACrE,KAAK,CAAC;gBACJ,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE;oBACV,cAAc,EAAE,IAAI,CAAC,aAAa;oBAClC,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,GAAG,iBAAiB;iBACrB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,kBAAkB,EAClB,CAAC,wBAAiE,EAAE,EAAE;YACpE,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,oBAAoB;gBACrC,wBAAwB,CAAC,WAAW,CAAC;YAEvC,QAAQ,EAAE,CAAC;QACb,CAAC,CACF,CAAC;QAEF,KAAK,CACH,qBAAqB,EACrB,CAAC,4BAGA,EAAE,EAAE;YACH,IAAI,4BAA4B,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,oBAAoB;oBACrC,4BAA4B,CAAC,WAAW,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC;YAClE,CAAC;YACD,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,cAAc,CACf,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,OAAe,EAAE,EAAE;YACvD,MAAM,YAAY,GAAG,KAMpB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAC/C,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,OAAO,EACP,GAAG,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,EAC/C,KAAK,CACN,CAAC;YAEF,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC;oBACJ,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,0BAA0B,EAAE,CAAC,KAA0B,EAAE,EAAE;YAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,YAAY,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,2BAA2B,EAAE,CAAC,IAA+B,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,mCAAmC,EACnC,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,kBAAkB,EAClB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,aAAa,EAAE,CAAC,IAAc,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,oBAAoB,EACpB,IAAI,CACL,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,cAAc,EAAE,CAAC,IAAe,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,IAAI,CACL,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE;oBACV,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAA2B,EAAE,EAAE;YACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,iCAAiC,EAAE,CAAC,IAA2B,EAAE,EAAE;YAEvE,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,WAAM,CAAC;gBACP,GAAG,GAAG,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,oBAAoB,EACpB,IAAA,wBAAU,EAAC,GAAG,CAAC,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,uBAAuB,EAAE,CAAC,IAAyB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,yBAAyB,EACzB,IAAI,CACL,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB;oBAC7C,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,mBAAmB;gBACvB,UAAU,EAAE;oBACV,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB;wBAC1C,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;iBACnD;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,8CAA8C,CAC/C,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe;iBAC1C;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,uBAAuB,CACxB,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,kDAAkD,CACnD,CAAC;YAEF,KAAK,CAAC;gBACJ,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,iCAAiC,EAAE,CAAC,EAAyB,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,eAAe,EACf,mCAAmC,EACnC,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAA0B,EAAE,EAAE;YACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,eAAe,EACf,mCAAmC,EACnC;gBACE,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;gBACzC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU;aAC/C,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,yBAAyB,EAAE,CAAC,EAAuB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,6BAA6B,EAAE,CAAC,EAA0B,EAAE,EAAE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,EACvB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,oBAAoB,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,sCAAsC,EACtC,CAAC,EAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,qBAAqB,EACrB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,sCAAsC,EACtC,CAAC,EAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,qBAAqB,EACrB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAA2B,EAAE,EAAE;YACpE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,wBAAwB,EACxB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAE;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,CACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,oCAAoC,EACpC,CAAC,EAAgC,EAAE,EAAE;YACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,+BAA+B,EAC/B,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CACH,0CAA0C,EAC1C,CAAC,EAAsB,EAAE,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,wCAAwC,EACxC,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAAuB,EAAE,EAAE;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,+BAA+B,EAAE,CAAC,EAA4B,EAAE,EAAE;YACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAAwB,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,yBAAyB,EACzB,EAAE,CACH,CAAC;YAEF,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7B,KAAK,CAAC;oBACJ,KAAK,EAAE,iBAAiB;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,kCAAkC,EAClC,CAAC,EAA+B,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,EACvB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,kBAAkB,EAAE,CAAC,EAAY,EAAE,EAAE;YAEzC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS;gBAAE,OAAO;YAC1D,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClB,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;YAKpD,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACtC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,KAAK,CACN,CAAC;gBAEF,KAAK,CAAC;oBACJ,KAAK,EAAE,mBAAmB;oBAC1B,UAAU,EAAE;wBACV,GAAG,KAAK;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACtC,KAAK,CAAC;oBACJ,KAAK,EAAE,UAAU;oBACjB,UAAU,EAAE;wBACV,GAAG,KAAK;wBACR,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,CAAC,CAAC,CAAC;QAMH,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,YAAY,EACZ,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,iDAAiD,CAClD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,iCAAiC,EACjC,CAAC,EAA6B,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,sBAAsB,EACtB,IAAA,wBAAU,EAAC,EAAE,CAAC,CACf,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,4CAA4C,EAC5C,CAAC,EAAuC,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,sDAAsD,EACtD,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,8CAA8C,EAC9C,CAAC,EAAyC,EAAE,EAAE;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,mDAAmD,EACnD;gBACE,GAAG,EAAE;gBACL,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO;aACxB,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,kCAAkC,EAClC,CAAC,EAA+B,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,0BAA0B,EAC1B;gBACE,GAAG,EAAE;aACN,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,2CAA2C,EAC3C,CAAC,EAAuC,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,mCAAmC,EACnC;gBACE,GAAG,EAAE;aACN,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAA,6BAAU,EACR,IAAI,CAAC,GAAG,EACR;YACE,IAAI,EAAE,CAAC,GAAG,IAAsC,EAAE,EAAE;gBAClD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAsC,EAAE,EAAE;gBAClD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAuC,EAAE,EAAE;gBACpD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,UAAU,EAAE,CAAC,GAAG,IAA4C,EAAE,EAAE;gBAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,CAAC;SACF,EACD,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,8BAAoB,EAAC,GAAG,CAAC,CACnC,CAAC;IACJ,CAAC;;AAh2BH,kDAi2BC;AAh2BgB,+BAAW,GAAG,IAAI,mCAAc,CAC7C,EAAE,EACF,IAAI,EACJ,IAAI,iBAAQ,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;QAC7B,QAAQ,EAAE,CAAC;IACb,CAAC;CACF,CAAC,CACH,AARyB,CAQxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/logging",
3
- "version": "3.7.2",
3
+ "version": "3.9.0",
4
4
  "description": "MongoDB Shell Logging Utilities Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "license": "Apache-2.0",
@@ -17,10 +17,11 @@
17
17
  "node": ">=14.15.1"
18
18
  },
19
19
  "dependencies": {
20
+ "@mongodb-js/device-id": "^0.2.1",
20
21
  "@mongodb-js/devtools-connect": "^3.4.1",
21
22
  "@mongosh/errors": "2.4.0",
22
23
  "@mongosh/history": "2.4.6",
23
- "@mongosh/types": "3.6.2",
24
+ "@mongosh/types": "3.8.0",
24
25
  "mongodb-log-writer": "^2.3.1",
25
26
  "mongodb-redact": "^1.1.5",
26
27
  "native-machine-id": "^0.1.1"
@@ -29,6 +30,7 @@
29
30
  "@mongodb-js/eslint-config-mongosh": "^1.0.0",
30
31
  "@mongodb-js/prettier-config-devtools": "^1.0.1",
31
32
  "@mongodb-js/tsconfig-mongosh": "^1.0.0",
33
+ "@segment/analytics-node": "^1.3.0",
32
34
  "depcheck": "^1.4.7",
33
35
  "eslint": "^7.25.0",
34
36
  "prettier": "^2.8.8",
@@ -51,5 +53,5 @@
51
53
  "mongosh": {
52
54
  "unitTestsOnly": true
53
55
  },
54
- "gitHead": "e4eedf3110a5e230da706a356851763ddbf6fc48"
56
+ "gitHead": "5068f4cea2aa8056f458246804ddcbefbd5a1aae"
55
57
  }
@@ -40,7 +40,11 @@ describe('analytics helpers', function () {
40
40
 
41
41
  toggleable.identify({
42
42
  userId: 'me',
43
- traits: { platform: '1234', session_id: 'abc' },
43
+ traits: {
44
+ platform: '1234',
45
+ session_id: 'abc',
46
+ device_id: 'test-device-id',
47
+ },
44
48
  timestamp,
45
49
  });
46
50
  toggleable.track({
@@ -80,7 +84,11 @@ describe('analytics helpers', function () {
80
84
  'identify',
81
85
  {
82
86
  userId: 'me',
83
- traits: { platform: '1234', session_id: 'abc' },
87
+ traits: {
88
+ platform: '1234',
89
+ session_id: 'abc',
90
+ device_id: 'test-device-id',
91
+ },
84
92
  timestamp,
85
93
  },
86
94
  ],
@@ -124,7 +132,14 @@ describe('analytics helpers', function () {
124
132
  describe('ThrottledAnalytics', function () {
125
133
  const metadataPath = os.tmpdir();
126
134
  const userId = 'u-' + Date.now();
127
- const iEvt = { userId, traits: { platform: 'what', session_id: 'abc' } };
135
+ const iEvt = {
136
+ userId,
137
+ traits: {
138
+ platform: 'what',
139
+ session_id: 'abc',
140
+ device_id: 'test-device-id',
141
+ },
142
+ };
128
143
  const tEvt = {
129
144
  userId,
130
145
  event: 'hi',
@@ -252,7 +267,14 @@ describe('analytics helpers', function () {
252
267
 
253
268
  describe('SampledAnalytics', function () {
254
269
  const userId = `u-${Date.now()}`;
255
- const iEvt = { userId, traits: { platform: 'what', session_id: 'abc' } };
270
+ const iEvt = {
271
+ userId,
272
+ traits: {
273
+ platform: 'what',
274
+ session_id: 'abc',
275
+ device_id: 'test-device-id',
276
+ },
277
+ };
256
278
  const tEvt = {
257
279
  userId,
258
280
  event: 'hi',
@@ -1,21 +1,20 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
+ import type {
4
+ IdentifyParams as SegmentIdentifyParams,
5
+ TrackParams as SegmentTrackParams,
6
+ } from '@segment/analytics-node';
3
7
 
4
- export type MongoshAnalyticsIdentity =
5
- | {
6
- deviceId?: string;
7
- userId: string;
8
- anonymousId?: never;
9
- }
10
- | {
11
- deviceId?: string;
12
- userId?: never;
13
- anonymousId: string;
14
- };
8
+ type Timestamp = SegmentTrackParams['timestamp'];
9
+
10
+ export type MongoshAnalyticsIdentity = SegmentIdentifyParams;
15
11
 
16
12
  export type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
17
- traits: { platform: string; session_id: string };
18
- timestamp?: Date;
13
+ traits: {
14
+ platform: string;
15
+ session_id: string;
16
+ device_id: string;
17
+ } & SegmentIdentifyParams['traits'];
19
18
  };
20
19
 
21
20
  export type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
@@ -25,7 +24,7 @@ export type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
25
24
  session_id: string;
26
25
  [key: string]: any;
27
26
  };
28
- timestamp?: Date;
27
+ timestamp?: Timestamp;
29
28
  };
30
29
 
31
30
  /**
@@ -93,10 +92,14 @@ type AnalyticsEventsQueueItem =
93
92
  | ['identify', Parameters<MongoshAnalytics['identify']>]
94
93
  | ['track', Parameters<MongoshAnalytics['track']>];
95
94
 
96
- function addTimestamp<T extends { timestamp?: Date }>(
95
+ function addTimestamp<T extends { timestamp?: Timestamp }>(
97
96
  message: T
98
- ): T & { timestamp: Date } {
99
- return { ...message, timestamp: message.timestamp ?? new Date() };
97
+ ): T & { timestamp: Timestamp } {
98
+ const timestampDate =
99
+ message.timestamp instanceof Date || message.timestamp === undefined
100
+ ? message.timestamp
101
+ : new Date(message.timestamp);
102
+ return { ...message, timestamp: timestampDate };
100
103
  }
101
104
 
102
105
  /**
@@ -275,7 +278,10 @@ export class ThrottledAnalytics implements MongoshAnalytics {
275
278
  if (this.currentUserId) {
276
279
  throw new Error('Identify can only be called once per user session');
277
280
  }
278
- this.currentUserId = message.userId ?? message.anonymousId;
281
+
282
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
283
+ this.currentUserId = message.userId ?? message.anonymousId!;
284
+
279
285
  this.restorePromise = this.restoreThrottleState().then((enabled) => {
280
286
  if (!enabled) {
281
287
  this.trackQueue.disable();
@@ -8,9 +8,10 @@ import type { Writable } from 'stream';
8
8
  import type { MongoshLoggingAndTelemetry } from '.';
9
9
  import { setupLoggingAndTelemetry } from '.';
10
10
  import type { LoggingAndTelemetry } from './logging-and-telemetry';
11
- import { getDeviceId } from './logging-and-telemetry';
12
11
  import sinon from 'sinon';
13
12
  import type { MongoshLoggingAndTelemetryArguments } from './types';
13
+ import { getDeviceId } from '@mongodb-js/device-id';
14
+ import { getMachineId } from 'native-machine-id';
14
15
 
15
16
  describe('MongoshLoggingAndTelemetry', function () {
16
17
  let logOutput: any[];
@@ -19,6 +20,7 @@ describe('MongoshLoggingAndTelemetry', function () {
19
20
 
20
21
  const userId = '53defe995fa47e6c13102d9d';
21
22
  const logId = '5fb3c20ee1507e894e5340f3';
23
+ const deviceId = 'test-device';
22
24
 
23
25
  let logger: MongoLogWriter;
24
26
 
@@ -39,7 +41,6 @@ describe('MongoshLoggingAndTelemetry', function () {
39
41
  const testLoggingArguments: Omit<MongoshLoggingAndTelemetryArguments, 'bus'> =
40
42
  {
41
43
  analytics,
42
- deviceId: 'test-device',
43
44
  userTraits: {
44
45
  platform: process.platform,
45
46
  arch: process.arch,
@@ -54,6 +55,7 @@ describe('MongoshLoggingAndTelemetry', function () {
54
55
 
55
56
  loggingAndTelemetry = setupLoggingAndTelemetry({
56
57
  ...testLoggingArguments,
58
+ deviceId,
57
59
  bus,
58
60
  });
59
61
 
@@ -117,8 +119,8 @@ describe('MongoshLoggingAndTelemetry', function () {
117
119
  'identify',
118
120
  {
119
121
  anonymousId: userId,
120
- deviceId: 'test-device',
121
122
  traits: {
123
+ device_id: deviceId,
122
124
  arch: process.arch,
123
125
  platform: process.platform,
124
126
  session_id: logId,
@@ -129,7 +131,6 @@ describe('MongoshLoggingAndTelemetry', function () {
129
131
  'track',
130
132
  {
131
133
  anonymousId: userId,
132
- deviceId: 'test-device',
133
134
  event: 'New Connection',
134
135
  properties: {
135
136
  mongosh_version: '1.0.0',
@@ -178,8 +179,8 @@ describe('MongoshLoggingAndTelemetry', function () {
178
179
  'identify',
179
180
  {
180
181
  anonymousId: userId,
181
- deviceId: 'test-device',
182
182
  traits: {
183
+ device_id: deviceId,
183
184
  arch: process.arch,
184
185
  platform: process.platform,
185
186
  session_id: logId,
@@ -190,7 +191,6 @@ describe('MongoshLoggingAndTelemetry', function () {
190
191
  'track',
191
192
  {
192
193
  anonymousId: userId,
193
- deviceId: 'test-device',
194
194
  event: 'New Connection',
195
195
  properties: {
196
196
  mongosh_version: '1.0.0',
@@ -235,9 +235,9 @@ describe('MongoshLoggingAndTelemetry', function () {
235
235
  [
236
236
  'identify',
237
237
  {
238
- deviceId: 'unknown',
239
238
  anonymousId: userId,
240
239
  traits: {
240
+ device_id: 'unknown',
241
241
  platform: process.platform,
242
242
  arch: process.arch,
243
243
  session_id: logId,
@@ -254,6 +254,7 @@ describe('MongoshLoggingAndTelemetry', function () {
254
254
  });
255
255
 
256
256
  it('automatically sets up device ID for telemetry', async function () {
257
+ const abortController = new AbortController();
257
258
  const loggingAndTelemetry = setupLoggingAndTelemetry({
258
259
  ...testLoggingArguments,
259
260
  bus,
@@ -264,7 +265,10 @@ describe('MongoshLoggingAndTelemetry', function () {
264
265
 
265
266
  bus.emit('mongosh:new-user', { userId, anonymousId: userId });
266
267
 
267
- const deviceId = await getDeviceId();
268
+ const deviceId = await getDeviceId({
269
+ getMachineId: () => getMachineId({ raw: true }),
270
+ abortSignal: abortController.signal,
271
+ });
268
272
 
269
273
  await (loggingAndTelemetry as LoggingAndTelemetry).setupTelemetryPromise;
270
274
 
@@ -272,9 +276,53 @@ describe('MongoshLoggingAndTelemetry', function () {
272
276
  [
273
277
  'identify',
274
278
  {
275
- deviceId,
276
279
  anonymousId: userId,
277
280
  traits: {
281
+ device_id: deviceId,
282
+ platform: process.platform,
283
+ arch: process.arch,
284
+ session_id: logId,
285
+ },
286
+ },
287
+ ],
288
+ ]);
289
+ });
290
+
291
+ it('resolves device ID setup when flushed', async function () {
292
+ const loggingAndTelemetry = setupLoggingAndTelemetry({
293
+ ...testLoggingArguments,
294
+ bus,
295
+ deviceId: undefined,
296
+ });
297
+ sinon
298
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
299
+ .stub(require('native-machine-id'), 'getMachineId')
300
+ .resolves(
301
+ new Promise((resolve) => setTimeout(resolve, 10_000).unref())
302
+ );
303
+
304
+ loggingAndTelemetry.attachLogger(logger);
305
+
306
+ // Start the device ID setup
307
+ const setupPromise = (loggingAndTelemetry as LoggingAndTelemetry)
308
+ .setupTelemetryPromise;
309
+
310
+ // Flush before it completes
311
+ loggingAndTelemetry.flush();
312
+
313
+ // Emit an event that would trigger analytics
314
+ bus.emit('mongosh:new-user', { userId, anonymousId: userId });
315
+
316
+ await setupPromise;
317
+
318
+ // Should still identify but with unknown device ID
319
+ expect(analyticsOutput).deep.equal([
320
+ [
321
+ 'identify',
322
+ {
323
+ anonymousId: userId,
324
+ traits: {
325
+ device_id: 'unknown',
278
326
  platform: process.platform,
279
327
  arch: process.arch,
280
328
  session_id: logId,
@@ -299,7 +347,7 @@ describe('MongoshLoggingAndTelemetry', function () {
299
347
  ...testLoggingArguments,
300
348
  bus,
301
349
  deviceId: undefined,
302
- });
350
+ }) as LoggingAndTelemetry;
303
351
 
304
352
  loggingAndTelemetry.attachLogger(logger);
305
353
 
@@ -310,13 +358,13 @@ describe('MongoshLoggingAndTelemetry', function () {
310
358
  expect(analyticsOutput).to.have.lengthOf(0);
311
359
 
312
360
  resolveTelemetry('1234');
313
- await (loggingAndTelemetry as LoggingAndTelemetry).setupTelemetryPromise;
361
+ await loggingAndTelemetry.setupTelemetryPromise;
314
362
 
315
363
  expect(logOutput).to.have.lengthOf(1);
316
364
  expect(analyticsOutput).to.have.lengthOf(1);
317
365
 
318
366
  // Hash created from machine ID 1234
319
- expect(analyticsOutput[0][1].deviceId).equals(
367
+ expect(loggingAndTelemetry['deviceId']).equals(
320
368
  '8c9f929608f0ef13bfd5a290e0233f283e2cc25ffefc2ad8d9ef0650eb224a52'
321
369
  );
322
370
  });
@@ -719,8 +767,8 @@ describe('MongoshLoggingAndTelemetry', function () {
719
767
  'identify',
720
768
  {
721
769
  anonymousId: userId,
722
- deviceId: 'test-device',
723
770
  traits: {
771
+ device_id: deviceId,
724
772
  platform: process.platform,
725
773
  arch: process.arch,
726
774
  session_id: logId,
@@ -731,8 +779,8 @@ describe('MongoshLoggingAndTelemetry', function () {
731
779
  'identify',
732
780
  {
733
781
  anonymousId: userId,
734
- deviceId: 'test-device',
735
782
  traits: {
783
+ device_id: deviceId,
736
784
  platform: process.platform,
737
785
  arch: process.arch,
738
786
  session_id: logId,
@@ -743,7 +791,6 @@ describe('MongoshLoggingAndTelemetry', function () {
743
791
  'track',
744
792
  {
745
793
  anonymousId: userId,
746
- deviceId: 'test-device',
747
794
  event: 'Startup Time',
748
795
  properties: {
749
796
  is_interactive: true,
@@ -759,7 +806,6 @@ describe('MongoshLoggingAndTelemetry', function () {
759
806
  'track',
760
807
  {
761
808
  anonymousId: '53defe995fa47e6c13102d9d',
762
- deviceId: 'test-device',
763
809
  event: 'Error',
764
810
  properties: {
765
811
  mongosh_version: '1.0.0',
@@ -775,7 +821,6 @@ describe('MongoshLoggingAndTelemetry', function () {
775
821
  'track',
776
822
  {
777
823
  anonymousId: '53defe995fa47e6c13102d9d',
778
- deviceId: 'test-device',
779
824
  event: 'Error',
780
825
  properties: {
781
826
  mongosh_version: '1.0.0',
@@ -791,7 +836,6 @@ describe('MongoshLoggingAndTelemetry', function () {
791
836
  'track',
792
837
  {
793
838
  anonymousId: '53defe995fa47e6c13102d9d',
794
- deviceId: 'test-device',
795
839
  event: 'Use',
796
840
  properties: {
797
841
  mongosh_version: '1.0.0',
@@ -803,7 +847,6 @@ describe('MongoshLoggingAndTelemetry', function () {
803
847
  'track',
804
848
  {
805
849
  anonymousId: '53defe995fa47e6c13102d9d',
806
- deviceId: 'test-device',
807
850
  event: 'Show',
808
851
  properties: {
809
852
  mongosh_version: '1.0.0',
@@ -823,7 +866,6 @@ describe('MongoshLoggingAndTelemetry', function () {
823
866
  shell: true,
824
867
  },
825
868
  anonymousId: '53defe995fa47e6c13102d9d',
826
- deviceId: 'test-device',
827
869
  },
828
870
  ],
829
871
  [
@@ -836,7 +878,6 @@ describe('MongoshLoggingAndTelemetry', function () {
836
878
  nested: false,
837
879
  },
838
880
  anonymousId: '53defe995fa47e6c13102d9d',
839
- deviceId: 'test-device',
840
881
  },
841
882
  ],
842
883
  [
@@ -848,7 +889,6 @@ describe('MongoshLoggingAndTelemetry', function () {
848
889
  session_id: logId,
849
890
  },
850
891
  anonymousId: '53defe995fa47e6c13102d9d',
851
- deviceId: 'test-device',
852
892
  },
853
893
  ],
854
894
  [
@@ -860,7 +900,6 @@ describe('MongoshLoggingAndTelemetry', function () {
860
900
  session_id: logId,
861
901
  },
862
902
  anonymousId: '53defe995fa47e6c13102d9d',
863
- deviceId: 'test-device',
864
903
  },
865
904
  ],
866
905
  [
@@ -873,14 +912,12 @@ describe('MongoshLoggingAndTelemetry', function () {
873
912
  shell: true,
874
913
  },
875
914
  anonymousId: '53defe995fa47e6c13102d9d',
876
- deviceId: 'test-device',
877
915
  },
878
916
  ],
879
917
  [
880
918
  'track',
881
919
  {
882
920
  anonymousId: '53defe995fa47e6c13102d9d',
883
- deviceId: 'test-device',
884
921
  event: 'Snippet Install',
885
922
  properties: {
886
923
  mongosh_version: '1.0.0',
@@ -976,7 +1013,6 @@ describe('MongoshLoggingAndTelemetry', function () {
976
1013
  'track',
977
1014
  {
978
1015
  anonymousId: '53defe995fa47e6c13102d9d',
979
- deviceId: 'test-device',
980
1016
  event: 'Deprecated Method',
981
1017
  properties: {
982
1018
  mongosh_version: '1.0.0',
@@ -990,7 +1026,6 @@ describe('MongoshLoggingAndTelemetry', function () {
990
1026
  'track',
991
1027
  {
992
1028
  anonymousId: '53defe995fa47e6c13102d9d',
993
- deviceId: 'test-device',
994
1029
  event: 'Deprecated Method',
995
1030
  properties: {
996
1031
  mongosh_version: '1.0.0',
@@ -1004,7 +1039,6 @@ describe('MongoshLoggingAndTelemetry', function () {
1004
1039
  'track',
1005
1040
  {
1006
1041
  anonymousId: '53defe995fa47e6c13102d9d',
1007
- deviceId: 'test-device',
1008
1042
  event: 'Deprecated Method',
1009
1043
  properties: {
1010
1044
  mongosh_version: '1.0.0',
@@ -1018,7 +1052,6 @@ describe('MongoshLoggingAndTelemetry', function () {
1018
1052
  'track',
1019
1053
  {
1020
1054
  anonymousId: '53defe995fa47e6c13102d9d',
1021
- deviceId: 'test-device',
1022
1055
  event: 'API Call',
1023
1056
  properties: {
1024
1057
  mongosh_version: '1.0.0',
@@ -1033,7 +1066,6 @@ describe('MongoshLoggingAndTelemetry', function () {
1033
1066
  'track',
1034
1067
  {
1035
1068
  anonymousId: '53defe995fa47e6c13102d9d',
1036
- deviceId: 'test-device',
1037
1069
  event: 'API Call',
1038
1070
  properties: {
1039
1071
  mongosh_version: '1.0.0',
@@ -1188,7 +1220,6 @@ describe('MongoshLoggingAndTelemetry', function () {
1188
1220
  'track',
1189
1221
  {
1190
1222
  anonymousId: undefined,
1191
- deviceId: 'test-device',
1192
1223
  event: 'New Connection',
1193
1224
  properties: {
1194
1225
  mongosh_version: '1.0.0',
@@ -1202,13 +1233,4 @@ describe('MongoshLoggingAndTelemetry', function () {
1202
1233
  ],
1203
1234
  ]);
1204
1235
  });
1205
-
1206
- describe('getDeviceId()', function () {
1207
- it('is consistent on the same machine', async function () {
1208
- const idA = await getDeviceId();
1209
- const idB = await getDeviceId();
1210
-
1211
- expect(idA).equals(idB);
1212
- });
1213
- });
1214
1236
  });
@@ -53,40 +53,7 @@ import type {
53
53
  MongoshLoggingAndTelemetryArguments,
54
54
  MongoshTrackingProperties,
55
55
  } from './types';
56
- import { createHmac } from 'crypto';
57
-
58
- /**
59
- * @returns A hashed, unique identifier for the running device or `"unknown"` if not known.
60
- */
61
- export async function getDeviceId({
62
- onError,
63
- }: {
64
- onError?: (error: Error) => void;
65
- } = {}): Promise<string | 'unknown'> {
66
- try {
67
- // Create a hashed format from the all uppercase version of the machine ID
68
- // to match it exactly with the denisbrodbeck/machineid library that Atlas CLI uses.
69
- const originalId: string =
70
- // eslint-disable-next-line @typescript-eslint/no-var-requires
71
- await require('native-machine-id').getMachineId({
72
- raw: true,
73
- });
74
-
75
- if (!originalId) {
76
- return 'unknown';
77
- }
78
- const hmac = createHmac('sha256', originalId);
79
-
80
- /** This matches the message used to create the hashes in Atlas CLI */
81
- const DEVICE_ID_HASH_MESSAGE = 'atlascli';
82
-
83
- hmac.update(DEVICE_ID_HASH_MESSAGE);
84
- return hmac.digest('hex');
85
- } catch (error) {
86
- onError?.(error as Error);
87
- return 'unknown';
88
- }
89
- }
56
+ import { getDeviceId } from '@mongodb-js/device-id';
90
57
 
91
58
  export function setupLoggingAndTelemetry(
92
59
  props: MongoshLoggingAndTelemetryArguments
@@ -125,11 +92,11 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
125
92
  private isBufferingTelemetryEvents = false;
126
93
 
127
94
  private deviceId: string | undefined;
128
- /** @internal */
95
+
96
+ /** @internal Used for awaiting the telemetry setup in tests. */
129
97
  public setupTelemetryPromise: Promise<void> = Promise.resolve();
130
98
 
131
- // eslint-disable-next-line @typescript-eslint/no-empty-function
132
- private resolveDeviceId: (value: string) => void = () => {};
99
+ private readonly telemetrySetupAbort: AbortController = new AbortController();
133
100
 
134
101
  constructor({
135
102
  bus,
@@ -160,26 +127,34 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
160
127
  }
161
128
 
162
129
  public flush(): void {
163
- // Run any telemetry events even if device ID hasn't been resolved yet
164
- this.runAndClearPendingTelemetryEvents();
165
-
166
130
  // Run any other pending events with the set or dummy log for telemetry purposes.
167
131
  this.runAndClearPendingBusEvents();
168
132
 
169
- this.resolveDeviceId('unknown');
133
+ // Abort setup, which will cause the device ID to be set to 'unknown'
134
+ // and run any remaining telemetry events
135
+ this.telemetrySetupAbort.abort();
170
136
  }
171
137
 
172
138
  private async setupTelemetry(): Promise<void> {
173
139
  if (!this.deviceId) {
174
- this.deviceId = await Promise.race([
175
- getDeviceId({
176
- onError: (error) =>
177
- this.bus.emit('mongosh:error', error, 'telemetry'),
178
- }),
179
- new Promise<string>((resolve) => {
180
- this.resolveDeviceId = resolve;
181
- }),
182
- ]);
140
+ try {
141
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
142
+ const getMachineId = require('native-machine-id').getMachineId;
143
+ this.deviceId = await getDeviceId({
144
+ getMachineId: () => getMachineId({ raw: true }),
145
+ onError: (reason, error) => {
146
+ if (reason === 'abort') {
147
+ return;
148
+ }
149
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
150
+ this.bus.emit('mongosh:error', error, 'telemetry');
151
+ },
152
+ abortSignal: this.telemetrySetupAbort.signal,
153
+ });
154
+ } catch (error) {
155
+ this.deviceId = 'unknown';
156
+ this.bus.emit('mongosh:error', error as Error, 'telemetry');
157
+ }
183
158
  }
184
159
 
185
160
  this.runAndClearPendingTelemetryEvents();
@@ -267,6 +242,7 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
267
242
 
268
243
  const getUserTraits = (): AnalyticsIdentifyMessage['traits'] => ({
269
244
  ...this.userTraits,
245
+ device_id: this.deviceId ?? 'unknown',
270
246
  session_id: this.log.logId,
271
247
  });
272
248
 
@@ -277,7 +253,6 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
277
253
 
278
254
  const getTelemetryUserIdentity = (): MongoshAnalyticsIdentity => {
279
255
  return {
280
- deviceId: this.deviceId,
281
256
  anonymousId:
282
257
  this.busEventState.telemetryAnonymousId ??
283
258
  (this.busEventState.userId as string),