@dxos/observability 0.3.11-main.e19f39d → 0.3.11-main.e28df4f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/lib/browser/chunk-ROSK6U3K.mjs +83 -0
  2. package/dist/lib/browser/chunk-ROSK6U3K.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-STWCJK52.mjs +748 -0
  4. package/dist/lib/browser/chunk-STWCJK52.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +28 -553
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/observability-XIDFB6PJ.mjs +10 -0
  9. package/dist/lib/browser/observability-XIDFB6PJ.mjs.map +7 -0
  10. package/dist/lib/browser/segment/index.mjs +8 -0
  11. package/dist/lib/browser/segment/index.mjs.map +7 -0
  12. package/dist/lib/node/chunk-ARUBPK2W.cjs +170 -0
  13. package/dist/lib/node/chunk-ARUBPK2W.cjs.map +7 -0
  14. package/dist/lib/node/chunk-DE7OVD7T.cjs +769 -0
  15. package/dist/lib/node/chunk-DE7OVD7T.cjs.map +7 -0
  16. package/dist/lib/node/index.cjs +26 -602
  17. package/dist/lib/node/index.cjs.map +4 -4
  18. package/dist/lib/node/meta.json +1 -1
  19. package/dist/lib/node/observability-YMIQHLME.cjs +32 -0
  20. package/dist/lib/node/observability-YMIQHLME.cjs.map +7 -0
  21. package/dist/lib/node/segment/index.cjs +30 -0
  22. package/dist/lib/node/segment/index.cjs.map +7 -0
  23. package/dist/types/src/helpers/app-observability.d.ts +19 -0
  24. package/dist/types/src/helpers/app-observability.d.ts.map +1 -0
  25. package/dist/types/src/helpers/app-observability.js +195 -0
  26. package/dist/types/src/helpers/app-observability.js.map +1 -0
  27. package/dist/types/src/helpers/index.d.ts +4 -0
  28. package/dist/types/src/helpers/index.d.ts.map +1 -0
  29. package/dist/types/src/helpers/index.js +23 -0
  30. package/dist/types/src/helpers/index.js.map +1 -0
  31. package/dist/types/src/{util.d.ts → helpers/map-spaces.d.ts} +2 -3
  32. package/dist/types/src/helpers/map-spaces.d.ts.map +1 -0
  33. package/dist/types/src/{util.js → helpers/map-spaces.js} +1 -2
  34. package/dist/types/src/helpers/map-spaces.js.map +1 -0
  35. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +4 -0
  36. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +1 -0
  37. package/dist/types/src/helpers/setup-telemetry-listeners.js +96 -0
  38. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +1 -0
  39. package/dist/types/src/index.d.ts +1 -0
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/index.js +1 -0
  42. package/dist/types/src/index.js.map +1 -1
  43. package/dist/types/src/observability.d.ts +3 -4
  44. package/dist/types/src/observability.d.ts.map +1 -1
  45. package/dist/types/src/observability.js +26 -25
  46. package/dist/types/src/observability.js.map +1 -1
  47. package/package.json +15 -14
  48. package/src/helpers/app-observability.ts +205 -0
  49. package/src/helpers/index.ts +7 -0
  50. package/src/{util.ts → helpers/map-spaces.ts} +1 -2
  51. package/src/helpers/setup-telemetry-listeners.ts +115 -0
  52. package/src/index.ts +1 -0
  53. package/src/observability.ts +26 -24
  54. package/dist/types/src/util.d.ts.map +0 -1
  55. package/dist/types/src/util.js.map +0 -1
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setupTelemetryListeners = void 0;
7
+ const app_observability_1 = require("./app-observability");
8
+ let lastFocusEvent = new Date();
9
+ let totalTime = 0;
10
+ const setupTelemetryListeners = (namespace, client, observability) => {
11
+ const clickCallback = (event) => {
12
+ if (app_observability_1.BASE_TELEMETRY_PROPERTIES.group === 'dxos' && event.target && !event.target.id) {
13
+ // TODO(wittjosiah): Use @dxos/log so these can be filtered.
14
+ console.warn('Click event on element without id:', event.target);
15
+ }
16
+ setTimeout(() => {
17
+ var _a, _b;
18
+ return observability.event({
19
+ identityId: (0, app_observability_1.getTelemetryIdentifier)(client),
20
+ name: `${namespace}.window.click`,
21
+ properties: {
22
+ ...app_observability_1.BASE_TELEMETRY_PROPERTIES,
23
+ href: window.location.href,
24
+ id: (_a = event.target) === null || _a === void 0 ? void 0 : _a.id,
25
+ path: (_b = event.path) === null || _b === void 0 ? void 0 : _b.filter((el) => Boolean(el.tagName)).map((el) => `${el.tagName.toLowerCase()}${el.id ? `#${el.id}` : ''}`).reverse().join('>'),
26
+ },
27
+ });
28
+ });
29
+ };
30
+ const focusCallback = () => {
31
+ const now = new Date();
32
+ setTimeout(() => observability.event({
33
+ identityId: (0, app_observability_1.getTelemetryIdentifier)(client),
34
+ name: `${namespace}.window.focus`,
35
+ properties: {
36
+ ...app_observability_1.BASE_TELEMETRY_PROPERTIES,
37
+ href: window.location.href,
38
+ timeAway: now.getTime() - lastFocusEvent.getTime(),
39
+ },
40
+ }));
41
+ lastFocusEvent = now;
42
+ };
43
+ const blurCallback = () => {
44
+ const now = new Date();
45
+ const timeSpent = now.getTime() - lastFocusEvent.getTime();
46
+ setTimeout(() => observability.event({
47
+ identityId: (0, app_observability_1.getTelemetryIdentifier)(client),
48
+ name: `${namespace}.window.blur`,
49
+ properties: {
50
+ ...app_observability_1.BASE_TELEMETRY_PROPERTIES,
51
+ href: window.location.href,
52
+ timeSpent,
53
+ },
54
+ }));
55
+ lastFocusEvent = now;
56
+ totalTime = totalTime + timeSpent;
57
+ };
58
+ const unloadCallback = () => {
59
+ setTimeout(() => observability.event({
60
+ identityId: (0, app_observability_1.getTelemetryIdentifier)(client),
61
+ name: `${namespace}.page.unload`,
62
+ properties: {
63
+ ...app_observability_1.BASE_TELEMETRY_PROPERTIES,
64
+ href: window.location.href,
65
+ timeSpent: totalTime,
66
+ },
67
+ }));
68
+ };
69
+ const errorCallback = (event) => {
70
+ setTimeout(() => observability.event({
71
+ identityId: (0, app_observability_1.getTelemetryIdentifier)(client),
72
+ name: `${namespace}.window.error`,
73
+ properties: {
74
+ ...app_observability_1.BASE_TELEMETRY_PROPERTIES,
75
+ href: window.location.href,
76
+ message: event.message,
77
+ filename: event.filename,
78
+ stack: event.error.stack,
79
+ },
80
+ }));
81
+ };
82
+ window.addEventListener('click', clickCallback, true);
83
+ window.addEventListener('focus', focusCallback);
84
+ window.addEventListener('blur', blurCallback);
85
+ window.addEventListener('beforeunload', unloadCallback);
86
+ window.addEventListener('error', errorCallback);
87
+ return () => {
88
+ window.removeEventListener('click', clickCallback, true);
89
+ window.removeEventListener('focus', focusCallback);
90
+ window.removeEventListener('blur', blurCallback);
91
+ window.removeEventListener('beforeunload', unloadCallback);
92
+ window.removeEventListener('error', errorCallback);
93
+ };
94
+ };
95
+ exports.setupTelemetryListeners = setupTelemetryListeners;
96
+ //# sourceMappingURL=setup-telemetry-listeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-telemetry-listeners.js","sourceRoot":"","sources":["../../../../src/helpers/setup-telemetry-listeners.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export * from './helpers';
1
2
  export * from './observability';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
@@ -17,5 +17,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./helpers"), exports);
20
21
  __exportStar(require("./observability"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,4CAA0B;AAC1B,kDAAgC"}
@@ -22,8 +22,8 @@ export type ObservabilityOptions = {
22
22
  };
23
23
  errorLog?: {
24
24
  sentryInitOptions?: InitOptions;
25
+ logProcessor?: boolean;
25
26
  };
26
- logProcessor?: boolean;
27
27
  };
28
28
  export declare class Observability {
29
29
  private _metrics?;
@@ -38,7 +38,7 @@ export declare class Observability {
38
38
  private _group?;
39
39
  private _ctx;
40
40
  private _tags;
41
- constructor({ namespace, config, secrets, group, mode, telemetry, errorLog, logProcessor }: ObservabilityOptions);
41
+ constructor({ namespace, config, secrets, group, mode, telemetry, errorLog }: ObservabilityOptions);
42
42
  private _loadSecrets;
43
43
  initialize(): void;
44
44
  close(): Promise<void>;
@@ -50,7 +50,6 @@ export declare class Observability {
50
50
  */
51
51
  setTag(key: string, value: string): void;
52
52
  setIdentityTags(client: Client): Promise<void>;
53
- setDeviceTags(client: Client): Promise<void>;
54
53
  private _initMetrics;
55
54
  /**
56
55
  * Gauge metric.
@@ -59,7 +58,7 @@ export declare class Observability {
59
58
  */
60
59
  gauge(name: string, value: number | any, extraTags?: any): void;
61
60
  startNetworkMetrics(client: Client): void;
62
- startSpacesMetrics(client: Client): void;
61
+ startSpacesMetrics(client: Client, namespace: string): void;
63
62
  startRuntimeMetrics(client: Client, frequency?: number): Promise<void>;
64
63
  private _initTelemetry;
65
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAYxD,OAAO,EAAoB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAKL,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAC;AAWlB,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,oBAAoB,GAAG;IAEjC,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,WAAW,CAAC;QAChC,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAMF,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAElC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAC,CAAmB;IAEtC,OAAO,CAAC,sBAAsB,CAAC,CAAc;IAC7C,OAAO,CAAC,kBAAkB,CAAU;IAEpC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,KAAK,CAA6B;gBAG9B,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,oBAAoB;IAoBlG,OAAO,CAAC,YAAY;IAmBpB,UAAU;IAMJ,KAAK;IAMX,OAAO,CAAC,IAAI,EAAE,IAAI;IAIlB,IAAI,IAAI,SAEP;IAED,IAAI,OAAO,YAEV;IAMD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS3B,eAAe,CAAC,MAAM,EAAE,MAAM;IAiCpC,OAAO,CAAC,YAAY;IAapB;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG;IAMxD,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAkDlC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAmD9C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAA8B;IAwCnF,OAAO,CAAC,cAAc;IAYtB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY;IAI3B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW;IAQzB,OAAO,CAAC,cAAc;IA8BtB;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG;CAK1B"}
@@ -16,9 +16,9 @@ const services_1 = require("@dxos/protocols/proto/dxos/client/services");
16
16
  const util_1 = require("@dxos/util");
17
17
  const cli_observability_secrets_json_1 = __importDefault(require("./cli-observability-secrets.json"));
18
18
  const datadog_1 = require("./datadog");
19
+ const helpers_1 = require("./helpers");
19
20
  const segment_1 = require("./segment");
20
21
  const sentry_1 = require("./sentry");
21
- const util_2 = require("./util");
22
22
  const SPACE_METRICS_MIN_INTERVAL = 1000 * 60;
23
23
  // const DATADOG_IDLE_INTERVAL = 1000 * 60 * 5;
24
24
  const DATADOG_IDLE_INTERVAL = 1000 * 60 * 1;
@@ -30,8 +30,8 @@ const ERROR_TAGS = ['identityKey', 'username', 'deviceKey', 'group'];
30
30
  */
31
31
  class Observability {
32
32
  // TODO(nf): make platform a required extension?
33
- constructor({ namespace, config, secrets, group, mode, telemetry, errorLog, logProcessor }) {
34
- var _a;
33
+ constructor({ namespace, config, secrets, group, mode, telemetry, errorLog }) {
34
+ var _a, _b;
35
35
  this._mode = 'disabled';
36
36
  // TODO(nf): accept upstream context?
37
37
  this._ctx = new context_1.Context();
@@ -43,7 +43,7 @@ class Observability {
43
43
  this._secrets = this._loadSecrets(config, secrets);
44
44
  this._telemetryBatchSize = (_a = telemetry === null || telemetry === void 0 ? void 0 : telemetry.batchSize) !== null && _a !== void 0 ? _a : 30;
45
45
  this._errorReportingOptions = errorLog === null || errorLog === void 0 ? void 0 : errorLog.sentryInitOptions;
46
- this._errorLogProcessor = logProcessor !== null && logProcessor !== void 0 ? logProcessor : false;
46
+ this._errorLogProcessor = (_b = errorLog === null || errorLog === void 0 ? void 0 : errorLog.logProcessor) !== null && _b !== void 0 ? _b : false;
47
47
  if (this._group) {
48
48
  this.setTag('group', this._group);
49
49
  }
@@ -101,23 +101,16 @@ class Observability {
101
101
  }
102
102
  this._tags.set(key, value);
103
103
  }
104
- // TODO(nf): Combine with setDeviceTags.
104
+ // TODO(wittjosiah): Improve privacy of telemetry identifiers. See `getTelemetryIdentifier`.
105
105
  async setIdentityTags(client) {
106
106
  client.services.services.IdentityService.queryIdentity().subscribe((idqr) => {
107
- var _a, _b, _c, _d, _e, _f;
107
+ var _a;
108
108
  if (!((_a = idqr === null || idqr === void 0 ? void 0 : idqr.identity) === null || _a === void 0 ? void 0 : _a.identityKey)) {
109
109
  (0, log_1.log)('empty response from identity service', { idqr });
110
110
  return;
111
111
  }
112
- // TODO(nf): check mode
113
- // TODO(nf): cardinality
114
- this.setTag('identityKey', (_b = idqr === null || idqr === void 0 ? void 0 : idqr.identity) === null || _b === void 0 ? void 0 : _b.identityKey.truncate());
115
- if ((_d = (_c = idqr === null || idqr === void 0 ? void 0 : idqr.identity) === null || _c === void 0 ? void 0 : _c.profile) === null || _d === void 0 ? void 0 : _d.displayName) {
116
- this.setTag('username', (_f = (_e = idqr === null || idqr === void 0 ? void 0 : idqr.identity) === null || _e === void 0 ? void 0 : _e.profile) === null || _f === void 0 ? void 0 : _f.displayName);
117
- }
112
+ this.setTag('identityKey', idqr.identity.identityKey.truncate());
118
113
  });
119
- }
120
- async setDeviceTags(client) {
121
114
  client.services.services.DevicesService.queryDevices().subscribe((dqr) => {
122
115
  var _a;
123
116
  if (!dqr || !dqr.devices || dqr.devices.length === 0) {
@@ -205,18 +198,28 @@ class Observability {
205
198
  });
206
199
  // scheduleTaskInterval(ctx, async () => updateSignalMetrics.emit(), DATADOG_IDLE_INTERVAL);
207
200
  }
208
- startSpacesMetrics(client) {
209
- let spaces = client.spaces.get();
201
+ startSpacesMetrics(client, namespace) {
202
+ const spaces = client.spaces.get();
210
203
  const subscriptions = new Map();
211
204
  this._ctx.onDispose(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));
212
205
  const updateSpaceMetrics = new async_1.Event().debounce(SPACE_METRICS_MIN_INTERVAL);
213
- updateSpaceMetrics.on(this._ctx, async (space) => {
206
+ updateSpaceMetrics.on(this._ctx, async () => {
214
207
  (0, log_1.log)('send space update');
215
- for (const sp of (0, util_2.mapSpaces)(spaces, { truncateKeys: true })) {
216
- this.gauge('dxos.client.space.members', sp.members, { key: sp.key });
217
- this.gauge('dxos.client.space.objects', sp.objects, { key: sp.key });
218
- this.gauge('dxos.client.space.epoch', sp.epoch, { key: sp.key });
219
- this.gauge('dxos.client.space.currentDataMutations', sp.currentDataMutations, { key: sp.key });
208
+ for (const data of (0, helpers_1.mapSpaces)(spaces, { truncateKeys: true })) {
209
+ // Metrics
210
+ this.gauge('dxos.client.space.members', data.members, { key: data.key });
211
+ this.gauge('dxos.client.space.objects', data.objects, { key: data.key });
212
+ this.gauge('dxos.client.space.epoch', data.epoch, { key: data.key });
213
+ this.gauge('dxos.client.space.currentDataMutations', data.currentDataMutations, { key: data.key });
214
+ // Telemetry
215
+ this.event({
216
+ identityId: (0, helpers_1.getTelemetryIdentifier)(client),
217
+ name: `${namespace}.space.update`,
218
+ properties: {
219
+ ...helpers_1.BASE_TELEMETRY_PROPERTIES,
220
+ ...data,
221
+ },
222
+ });
220
223
  }
221
224
  });
222
225
  const subscribeToSpaceUpdate = (space) => space.pipeline.subscribe({
@@ -228,9 +231,7 @@ class Observability {
228
231
  subscriptions.set(space.key.toHex(), subscribeToSpaceUpdate(space));
229
232
  });
230
233
  client.spaces.subscribe({
231
- next: async () => {
232
- spaces = client.spaces.get();
233
- // spaces = await this.getSpaces(this._agent.client);
234
+ next: async (spaces) => {
234
235
  spaces
235
236
  .filter((space) => !subscriptions.has(space.key.toHex()))
236
237
  .forEach((space) => {
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,uCAA0D;AAG1D,2CAAwC;AACxC,+CAA4C;AAC5C,mCAAgC;AAChC,2DAAwD;AACxD,yEAAsG;AACtG,qCAAoC;AAEpC,sGAA4D;AAC5D,uCAA2C;AAC3C,uCAAkF;AAClF,qCAOkB;AAClB,iCAAmC;AAEnC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7C,+CAA+C;AAC/C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;AAE5C,8CAA8C;AAC9C,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAoCrE;;;GAGG;AACH,MAAa,aAAa;IAmBxB,gDAAgD;IAChD,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAwB;;QAPxG,UAAK,GAAS,UAAU,CAAC;QAEjC,qCAAqC;QAC7B,SAAI,GAAG,IAAI,iBAAO,EAAE,CAAC;QACrB,UAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QAIxC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,UAAU,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,mCAAI,EAAE,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAC;QAEhD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YACzB,oCAAoC;SACrC;IACH,CAAC;IAEO,YAAY,CAAC,MAA0B,EAAE,OAAgC;QAC/E,IAAI,IAAA,aAAM,GAAE,EAAE;YACZ,OAAO,wCAAoC,CAAC;SAC7C;aAAM;YACL,IAAA,qBAAS,EAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YAChD,IAAA,SAAG,EAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,OAAO;gBACL,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;gBAC5D,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;gBACpD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC;gBACvE,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC;gBACrE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC;gBAC/D,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC;gBACjE,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC;gBACjE,GAAG,OAAO;aACX,CAAC;SACH;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE1B,oDAAoD;IACtD,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;IACnC,CAAC;IAED,EAAE;IACF,OAAO;IACP,EAAE;IAEF;;OAEG;IACH,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAA,eAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAgB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;;YAC3E,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,WAAW,CAAA,EAAE;gBAChC,IAAA,SAAG,EAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,OAAO;aACR;YAED,uBAAuB;YACvB,wBAAwB;YACxB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,IAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,OAAO,0CAAE,WAAW,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,OAAO,0CAAE,WAAW,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAe,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;;YACxE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,IAAA,SAAG,EAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3D,OAAO;aACR;YACD,IAAA,qBAAS,EAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAU,CAAC,OAAO,CAAC,CAAC;YACpF,IAAI,CAAC,UAAU,EAAE;gBACf,IAAA,SAAG,EAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,IAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACxD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE;IACF,UAAU;IACV,EAAE;IAEM,YAAY;QAClB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAc,CAAC;gBACjC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;gBACrC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;gBACzB,4EAA4E;gBAC5E,MAAM,EAAE,IAAI,CAAC,OAAQ;aACtB,CAAC,CAAC;SACJ;aAAM;YACL,IAAA,SAAG,EAAC,kBAAkB,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY,EAAE,KAAmB,EAAE,SAAe;;QACtD,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,mDAAmD;IAEnD,mBAAmB,CAAC,MAAc;;QAChC,MAAM,mBAAmB,GAAG,IAAI,aAAK,EAAiB,CAAC;QAEvD,kDAAkD;QAClD,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;;YACxD,IAAA,SAAG,EAAC,qBAAqB,CAAC,CAAC;YAC1B,aAAa,CAAC,SAAoC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChF,IAAI,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACnD,KAAK,MAAM,KAAK,IAAI,iCAAe,EAAE;gBACnC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAChC;YAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,sBAAsB,GAAG,CAAC,CAAC;YAE/B,MAAA,aAAa,CAAC,cAAc,0CAAE,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;;gBACvD,UAAU,EAAE,CAAC;gBAEb,KAAK,MAAM,IAAI,IAAI,MAAA,cAAc,CAAC,WAAW,mCAAI,EAAE,EAAE;oBACnD,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAA,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9E,mBAAmB,IAAI,MAAA,IAAI,CAAC,cAAc,mCAAI,CAAC,CAAC;oBAChD,oBAAoB,IAAI,MAAA,IAAI,CAAC,eAAe,mCAAI,CAAC,CAAC;oBAElD,KAAK,MAAM,MAAM,IAAI,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE;wBACvC,sBAAsB,IAAI,MAAA,MAAM,CAAC,eAAe,mCAAI,CAAC,CAAC;qBACvD;iBACF;gBAED,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;gBAC1D,KAAK,MAAM,KAAK,IAAI,iCAAe,EAAE;oBACnC,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;iBACjG;gBACD,IAAI,CAAC,KAAK,CAAC,yCAAyC,EAAE,mBAAmB,CAAC,CAAC;gBAC3E,IAAI,CAAC,KAAK,CAAC,0CAA0C,EAAE,oBAAoB,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,CAAC,4CAA4C,EAAE,sBAAsB,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,0CAAE,WAAW,GAAG,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YACjF,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,4FAA4F;IAC9F,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE/F,MAAM,kBAAkB,GAAG,IAAI,aAAK,EAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACnF,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAA,SAAG,EAAC,mBAAmB,CAAC,CAAC;YACzB,KAAK,MAAM,EAAE,IAAI,IAAA,gBAAS,EAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC1D,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;aAChG;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,CAAC,KAAY,EAAE,EAAE,CAC9C,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE,GAAG,EAAE;gBACT,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,qDAAqD;gBACrD,MAAM;qBACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;qBACxD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;YACP,CAAC;SACF,CAAC,CAAC;QAEH,IAAA,4BAAoB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,YAAoB,qBAAqB;;QACjF,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,0CAAE,WAAW,EAAE,CAAA,CAAC;QAC7E,IAAA,qBAAS,EAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YACzB,+BAA+B;YAC/B,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC5C;YACD,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;aACpC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC1C;SACF;QACD,IAAA,4BAAoB,EAClB,IAAI,CAAC,IAAI,EACT,KAAK,IAAI,EAAE;;YACT,IAAA,SAAG,EAAC,UAAU,CAAC,CAAC;YAChB,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,0CAAE,WAAW,GAChD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAA,SAAG,EAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9B,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvE,IAAI,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtE;YACH,CAAC,EACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,SAAG,EAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,EACD,SAAS,CACV,CAAC;IACJ,CAAC;IAED,EAAE;IACF,YAAY;IACZ,EAAE;IAEM,cAAc;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YAChE,IAAI,CAAC,UAAU,GAAG,IAAI,0BAAgB,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBACvC,SAAS,EAAE,IAAI,CAAC,mBAAmB;gBACnC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;aAC1B,CAAC,CAAC;SACJ;aAAM;YACL,IAAA,SAAG,EAAC,kBAAkB,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAqB;;QACzB,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAoB;;QACvB,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,EAAE;IACF,aAAa;IACb,EAAE;IAEM,cAAc;;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YACjE,4CAA4C;YAC5C,SAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACtC,OAAO,EAAE,IAAI,CAAC,sBAAsB;aACrC,CAAC,CAAC;YACH,IAAA,aAAU,EAAC;gBACT,GAAG,IAAI,CAAC,sBAAsB;gBAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM;aACtC,CAAC,CAAC;YACH,IAAI,MAAA,IAAI,CAAC,sBAAsB,0CAAE,OAAO,EAAE;gBACxC,IAAA,yBAAsB,GAAE,CAAC;aAC1B;YACD,4DAA4D;YAC5D,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAA,iCAAwB,GAAE,CAAC;aAC5B;YACD,qEAAqE;YACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC1B,IAAA,eAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAA,SAAG,EAAC,iBAAiB,CAAC,CAAC;SACxB;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAQ;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAA,yBAAsB,EAAC,GAAG,CAAC,CAAC;SAC7B;IACH,CAAC;CACF;AAjXD,sCAiXC"}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/observability",
3
- "version": "0.3.11-main.e19f39d",
3
+ "version": "0.3.11-main.e28df4f",
4
4
  "description": "Provides a common interface for app and platform observability",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -65,19 +65,20 @@
65
65
  "analytics-node": "^6.2.0",
66
66
  "datadog-metrics": "^0.11.1",
67
67
  "debug": "^4.3.4",
68
- "@dxos/async": "0.3.11-main.e19f39d",
69
- "@dxos/client-protocol": "0.3.11-main.e19f39d",
70
- "@dxos/client-services": "0.3.11-main.e19f39d",
71
- "@dxos/context": "0.3.11-main.e19f39d",
72
- "@dxos/invariant": "0.3.11-main.e19f39d",
73
- "@dxos/config": "0.3.11-main.e19f39d",
74
- "@dxos/log": "0.3.11-main.e19f39d",
75
- "@dxos/debug": "0.3.11-main.e19f39d",
76
- "@dxos/network-manager": "0.3.11-main.e19f39d",
77
- "@dxos/node-std": "0.3.11-main.e19f39d",
78
- "@dxos/react-client": "0.3.11-main.e19f39d",
79
- "@dxos/protocols": "0.3.11-main.e19f39d",
80
- "@dxos/util": "0.3.11-main.e19f39d"
68
+ "localforage": "^1.10.0",
69
+ "@dxos/client-services": "0.3.11-main.e28df4f",
70
+ "@dxos/async": "0.3.11-main.e28df4f",
71
+ "@dxos/config": "0.3.11-main.e28df4f",
72
+ "@dxos/client-protocol": "0.3.11-main.e28df4f",
73
+ "@dxos/context": "0.3.11-main.e28df4f",
74
+ "@dxos/invariant": "0.3.11-main.e28df4f",
75
+ "@dxos/log": "0.3.11-main.e28df4f",
76
+ "@dxos/debug": "0.3.11-main.e28df4f",
77
+ "@dxos/network-manager": "0.3.11-main.e28df4f",
78
+ "@dxos/node-std": "0.3.11-main.e28df4f",
79
+ "@dxos/protocols": "0.3.11-main.e28df4f",
80
+ "@dxos/react-client": "0.3.11-main.e28df4f",
81
+ "@dxos/util": "0.3.11-main.e28df4f"
81
82
  },
82
83
  "devDependencies": {
83
84
  "@sentry/types": "^7.98.0",
@@ -0,0 +1,205 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ // NOTE: localStorage is not available in web workers.
6
+ import * as localForage from 'localforage';
7
+
8
+ // import { type Platform } from '@dxos/client-services';
9
+ import type { Client, Config } from '@dxos/client';
10
+ import { log } from '@dxos/log';
11
+ // import { type InitOptions as TelemetryInitOptions } from '@dxos/telemetry';
12
+
13
+ import type { Mode, Observability } from '../observability';
14
+
15
+ export const BASE_TELEMETRY_PROPERTIES: any = {};
16
+ // item name is 'telemetry' for backwards compatibility
17
+ export const OBSERVABILITY_DISABLED_KEY = 'telemetry-disabled';
18
+ export const OBSERVABILITY_GROUP_KEY = 'telemetry-group';
19
+
20
+ if (typeof navigator !== 'undefined' && navigator.storage?.estimate) {
21
+ setInterval(async () => {
22
+ try {
23
+ const storageEstimate = await navigator.storage.estimate();
24
+ BASE_TELEMETRY_PROPERTIES.storageUsage = storageEstimate.usage;
25
+ BASE_TELEMETRY_PROPERTIES.storageQuota = storageEstimate.quota;
26
+ } catch (error) {
27
+ log.warn('Failed to run estimate()', error);
28
+ }
29
+ }, 10e3);
30
+ }
31
+
32
+ // TODO(wittjosiah): Improve privacy of telemetry identifiers.
33
+ // - Identifier should be generated client-side with no attachment to identity.
34
+ // - Identifier can then be reset by user.
35
+ // - Identifier can be synced via HALO to allow for correlation of events bewteen devices.
36
+ // - Identifier should also be stored outside of HALO such that it is available immediately on startup.
37
+ export const getTelemetryIdentifier = (client: Client) => {
38
+ if (!client?.initialized) {
39
+ return undefined;
40
+ }
41
+
42
+ const identity = client.halo.identity.get();
43
+ if (identity) {
44
+ return identity.identityKey.truncate();
45
+ }
46
+
47
+ return undefined;
48
+ };
49
+
50
+ export const isObservabilityDisabled = async (namespace: string): Promise<boolean> => {
51
+ try {
52
+ return (await localForage.getItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`)) === 'true';
53
+ } catch (err) {
54
+ log.catch('Failed to check if observability is disabled, assuming it is', err);
55
+ return true;
56
+ }
57
+ };
58
+
59
+ export const storeObservabilityDisabled = async (namespace: string, value: boolean) => {
60
+ try {
61
+ await localForage.setItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`, String(value));
62
+ } catch (err) {
63
+ log.catch('Failed to store observability disabled', err);
64
+ }
65
+ };
66
+
67
+ export const getObservabilityGroup = async (namespace: string): Promise<string | undefined> => {
68
+ try {
69
+ return (await localForage.getItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`)) ?? undefined;
70
+ } catch (err) {
71
+ log.catch('Failed to get observability group', err);
72
+ }
73
+ };
74
+
75
+ export const storeObservabilityGroup = async (namespace: string, value: string) => {
76
+ try {
77
+ await localForage.setItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`, value);
78
+ } catch (err) {
79
+ log.catch('Failed to store observability group', err);
80
+ }
81
+ };
82
+
83
+ export type AppObservabilityOptions = {
84
+ namespace: string;
85
+ config: Config;
86
+ mode?: Mode;
87
+ tracingEnable?: boolean;
88
+ replayEnable?: boolean;
89
+ // TODO(nf): options for providers?
90
+ };
91
+
92
+ type IPData = { city: string; region: string; country: string; latitude: number; longitude: number };
93
+
94
+ // TODO(wittjosiah): Store preference for disabling telemetry.
95
+ // At minimum should be stored locally (i.e., localstorage), possibly in halo preference.
96
+ // Needs to be hooked up to settings page for user visibility.
97
+ export const initializeAppObservability = async ({
98
+ namespace,
99
+ config,
100
+ mode = 'basic',
101
+ tracingEnable = true,
102
+ replayEnable = true,
103
+ }: AppObservabilityOptions): Promise<Observability> => {
104
+ log('initializeAppObservability', { config });
105
+
106
+ /*
107
+ const platform = (await client.services.services.SystemService?.getPlatform()) as Platform;
108
+ if (!platform) {
109
+ log.error('failed to get platform, could not initialize observability');
110
+ return undefined;
111
+ }
112
+ */
113
+
114
+ const group = (await getObservabilityGroup(namespace)) ?? undefined;
115
+ const release = `${namespace}@${config.get('runtime.app.build.version')}`;
116
+ const environment = config.get('runtime.app.env.DX_ENVIRONMENT');
117
+ BASE_TELEMETRY_PROPERTIES.group = group;
118
+ BASE_TELEMETRY_PROPERTIES.release = release;
119
+ BASE_TELEMETRY_PROPERTIES.environment = environment;
120
+ const observabilityDisabled = await isObservabilityDisabled(namespace);
121
+
122
+ const { Observability } = await import('../observability');
123
+
124
+ // TODO(nf): configure mode
125
+ const observability = new Observability({
126
+ namespace,
127
+ group,
128
+ mode,
129
+ config,
130
+ errorLog: {
131
+ sentryInitOptions: {
132
+ environment,
133
+ release,
134
+ tracing: tracingEnable,
135
+ replay: replayEnable,
136
+ // TODO(wittjosiah): Configure these.
137
+ sampleRate: 1.0,
138
+ replaySampleRate: 0.1,
139
+ replaySampleRateOnError: 1.0,
140
+ },
141
+ },
142
+ });
143
+
144
+ // global kill switch
145
+ if (observabilityDisabled) {
146
+ observability.setMode('disabled');
147
+ log.info('observability disabled');
148
+ return observability;
149
+ }
150
+
151
+ try {
152
+ const getIPData = async (config: Config): Promise<IPData | void> => {
153
+ const IP_DATA_CACHE_TIMEOUT = 6 * 60 * 60 * 1000; // 6 hours
154
+ type CachedIPData = {
155
+ data: IPData;
156
+ timestamp: number;
157
+ };
158
+
159
+ // Check cache first.
160
+ const cachedData: null | CachedIPData = await localForage.getItem('dxos:telemetry:ipdata');
161
+ if (cachedData && cachedData.timestamp > Date.now() - IP_DATA_CACHE_TIMEOUT) {
162
+ return cachedData.data;
163
+ }
164
+
165
+ // TODO(nf): move into observability
166
+ // Fetch data if not cached.
167
+ const IPDATA_API_KEY = config.get('runtime.app.env.DX_IPDATA_API_KEY');
168
+ if (IPDATA_API_KEY) {
169
+ return fetch(`https://api.ipdata.co?api-key=${IPDATA_API_KEY}`)
170
+ .then((res) => res.json())
171
+ .then((data) => {
172
+ // Cache data.
173
+ localForage
174
+ .setItem('dxos:telemetry:ipdata', {
175
+ data,
176
+ timestamp: Date.now(),
177
+ })
178
+ .catch((err) => observability.captureException(err));
179
+
180
+ return data;
181
+ })
182
+ .catch((err) => observability.captureException(err));
183
+ }
184
+ };
185
+
186
+ const ipData = await getIPData(config);
187
+ if (ipData && ipData.city) {
188
+ BASE_TELEMETRY_PROPERTIES.city = ipData.city;
189
+ BASE_TELEMETRY_PROPERTIES.region = ipData.region;
190
+ BASE_TELEMETRY_PROPERTIES.country = ipData.country;
191
+ BASE_TELEMETRY_PROPERTIES.latitude = ipData.latitude;
192
+ BASE_TELEMETRY_PROPERTIES.longitude = ipData.longitude;
193
+ }
194
+
195
+ // TODO(nf): plugin state?
196
+
197
+ // TODO(nf): should provide capability to init Sentry earlier in booting process to capture errors during initialization.
198
+
199
+ observability.initialize();
200
+ } catch (err: any) {
201
+ log.error('Failed to initialize app observability', err);
202
+ }
203
+
204
+ return observability;
205
+ };
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ export * from './app-observability';
6
+ export * from './map-spaces';
7
+ export * from './setup-telemetry-listeners';
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Space } from '@dxos/client-protocol';
5
+ import type { Space } from '@dxos/client-protocol';
6
6
 
7
7
  export type MapSpacesOptions = {
8
8
  verbose?: boolean;
@@ -29,7 +29,6 @@ export const mapSpaces = (spaces: Space[], options: MapSpacesOptions = { verbose
29
29
  // TODO(nf): truncate keys for DD?
30
30
  key: space.key.truncate(),
31
31
  open: space.isOpen,
32
- name: space.properties.name,
33
32
  members: space.members.get().length,
34
33
  objects: space.db.query().objects.length,
35
34
  startup,