@dxos/observability 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

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 (110) hide show
  1. package/dist/lib/browser/chunk-JV7HV5M3.mjs +147 -0
  2. package/dist/lib/browser/chunk-JV7HV5M3.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-RWIBODSU.mjs → chunk-LCUEUKOU.mjs} +155 -107
  4. package/dist/lib/browser/chunk-LCUEUKOU.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-3LKCQYWD.mjs → chunk-WTIK6YHB.mjs} +2 -4
  6. package/dist/lib/browser/{chunk-3LKCQYWD.mjs.map → chunk-WTIK6YHB.mjs.map} +3 -3
  7. package/dist/lib/browser/index.mjs +6 -1
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/observability-ZJBNR5EC.mjs +10 -0
  10. package/dist/lib/browser/segment/index.mjs +7 -81
  11. package/dist/lib/browser/segment/index.mjs.map +4 -4
  12. package/dist/lib/browser/sentry/index.mjs +1 -1
  13. package/dist/lib/browser/{sentry-log-processor-2KNHVHXL.mjs → sentry-log-processor-DVY46HFR.mjs} +2 -2
  14. package/dist/lib/browser/{sentry-log-processor-2KNHVHXL.mjs.map → sentry-log-processor-DVY46HFR.mjs.map} +2 -2
  15. package/dist/lib/node/{chunk-X2D2I2IE.cjs → chunk-TZZPITFA.cjs} +156 -109
  16. package/dist/lib/node/chunk-TZZPITFA.cjs.map +7 -0
  17. package/dist/lib/node/{chunk-HKBUNAUG.cjs → chunk-VJYGUKWI.cjs} +6 -6
  18. package/dist/lib/node/{chunk-HKBUNAUG.cjs.map → chunk-VJYGUKWI.cjs.map} +3 -3
  19. package/dist/lib/node/chunk-XIE7NKDF.cjs +213 -0
  20. package/dist/lib/node/chunk-XIE7NKDF.cjs.map +7 -0
  21. package/dist/lib/node/index.cjs +20 -15
  22. package/dist/lib/node/index.cjs.map +2 -2
  23. package/dist/lib/node/meta.json +1 -1
  24. package/dist/lib/node/{observability-MM62IY7P.cjs → observability-LQYGR6H5.cjs} +9 -6
  25. package/dist/lib/node/observability-LQYGR6H5.cjs.map +7 -0
  26. package/dist/lib/node/segment/index.cjs +6 -136
  27. package/dist/lib/node/segment/index.cjs.map +4 -4
  28. package/dist/lib/node/sentry/index.cjs +10 -10
  29. package/dist/lib/node/sentry/index.cjs.map +1 -1
  30. package/dist/lib/node/{sentry-log-processor-SJZRJ7IS.cjs → sentry-log-processor-XWB4ECU6.cjs} +8 -8
  31. package/dist/lib/node/{sentry-log-processor-SJZRJ7IS.cjs.map → sentry-log-processor-XWB4ECU6.cjs.map} +2 -2
  32. package/dist/lib/node-esm/{chunk-CMDADTM3.mjs → chunk-ANXHKE36.mjs} +3 -3
  33. package/dist/lib/node-esm/{chunk-CMDADTM3.mjs.map → chunk-ANXHKE36.mjs.map} +3 -3
  34. package/dist/lib/node-esm/{chunk-S7JHPCWW.mjs → chunk-HMGFYMJF.mjs} +154 -107
  35. package/dist/lib/node-esm/chunk-HMGFYMJF.mjs.map +7 -0
  36. package/dist/lib/node-esm/chunk-IKCDMDT3.mjs +202 -0
  37. package/dist/lib/node-esm/chunk-IKCDMDT3.mjs.map +7 -0
  38. package/dist/lib/node-esm/index.mjs +6 -1
  39. package/dist/lib/node-esm/meta.json +1 -1
  40. package/dist/lib/node-esm/observability-KDS7YGCQ.mjs +11 -0
  41. package/dist/lib/node-esm/segment/index.mjs +7 -139
  42. package/dist/lib/node-esm/segment/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/sentry/index.mjs +1 -1
  44. package/dist/lib/node-esm/{sentry-log-processor-BVINGAOV.mjs → sentry-log-processor-FO6MIWBC.mjs} +2 -2
  45. package/dist/lib/node-esm/{sentry-log-processor-BVINGAOV.mjs.map → sentry-log-processor-FO6MIWBC.mjs.map} +2 -2
  46. package/dist/types/src/helpers/browser-observability.d.ts.map +1 -1
  47. package/dist/types/src/helpers/browser-observability.js +15 -14
  48. package/dist/types/src/helpers/browser-observability.js.map +1 -1
  49. package/dist/types/src/helpers/common.d.ts +3 -1
  50. package/dist/types/src/helpers/common.d.ts.map +1 -1
  51. package/dist/types/src/helpers/common.js +4 -0
  52. package/dist/types/src/helpers/common.js.map +1 -1
  53. package/dist/types/src/helpers/node-observability.d.ts.map +1 -1
  54. package/dist/types/src/helpers/node-observability.js +2 -2
  55. package/dist/types/src/helpers/node-observability.js.map +1 -1
  56. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +1 -1
  57. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +1 -1
  58. package/dist/types/src/helpers/setup-telemetry-listeners.js +38 -36
  59. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +1 -1
  60. package/dist/types/src/observability.d.ts +30 -25
  61. package/dist/types/src/observability.d.ts.map +1 -1
  62. package/dist/types/src/observability.js +61 -39
  63. package/dist/types/src/observability.js.map +1 -1
  64. package/dist/types/src/segment/base.d.ts +15 -0
  65. package/dist/types/src/segment/base.d.ts.map +1 -0
  66. package/dist/types/src/segment/base.js +50 -0
  67. package/dist/types/src/segment/base.js.map +1 -0
  68. package/dist/types/src/segment/browser.d.ts +10 -5
  69. package/dist/types/src/segment/browser.d.ts.map +1 -1
  70. package/dist/types/src/segment/browser.js +27 -25
  71. package/dist/types/src/segment/browser.js.map +1 -1
  72. package/dist/types/src/segment/node.d.ts +10 -14
  73. package/dist/types/src/segment/node.d.ts.map +1 -1
  74. package/dist/types/src/segment/node.js +26 -29
  75. package/dist/types/src/segment/node.js.map +1 -1
  76. package/dist/types/src/segment/types.d.ts +39 -11
  77. package/dist/types/src/segment/types.d.ts.map +1 -1
  78. package/dist/types/src/segment/types.js +14 -0
  79. package/dist/types/src/segment/types.js.map +1 -1
  80. package/dist/types/src/sentry/browser.d.ts +1 -1
  81. package/dist/types/src/sentry/browser.d.ts.map +1 -1
  82. package/dist/types/src/sentry/browser.js +2 -2
  83. package/dist/types/src/sentry/browser.js.map +1 -1
  84. package/dist/types/src/sentry/node.d.ts +1 -1
  85. package/dist/types/src/sentry/node.d.ts.map +1 -1
  86. package/dist/types/src/sentry/node.js +2 -2
  87. package/dist/types/src/sentry/node.js.map +1 -1
  88. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +1 -1
  89. package/dist/types/src/sentry/sentry-log-processor.js.map +1 -1
  90. package/package.json +15 -15
  91. package/src/helpers/browser-observability.ts +13 -17
  92. package/src/helpers/common.ts +15 -2
  93. package/src/helpers/node-observability.ts +3 -2
  94. package/src/helpers/setup-telemetry-listeners.ts +39 -41
  95. package/src/observability.ts +101 -64
  96. package/src/segment/base.ts +69 -0
  97. package/src/segment/browser.ts +28 -29
  98. package/src/segment/node.ts +30 -33
  99. package/src/segment/types.ts +39 -9
  100. package/src/sentry/browser.ts +2 -2
  101. package/src/sentry/node.ts +2 -2
  102. package/src/sentry/sentry-log-processor.ts +3 -0
  103. package/dist/lib/browser/chunk-RWIBODSU.mjs.map +0 -7
  104. package/dist/lib/browser/observability-VEOITBLM.mjs +0 -7
  105. package/dist/lib/node/chunk-X2D2I2IE.cjs.map +0 -7
  106. package/dist/lib/node/observability-MM62IY7P.cjs.map +0 -7
  107. package/dist/lib/node-esm/chunk-S7JHPCWW.mjs.map +0 -7
  108. package/dist/lib/node-esm/observability-OLS7SWZT.mjs +0 -8
  109. /package/dist/lib/browser/{observability-VEOITBLM.mjs.map → observability-ZJBNR5EC.mjs.map} +0 -0
  110. /package/dist/lib/node-esm/{observability-OLS7SWZT.mjs.map → observability-KDS7YGCQ.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { type Client, type Config } from '@dxos/client';
2
2
  import { type ClientServices } from '@dxos/client-protocol';
3
3
  import { type IPData } from './helpers';
4
- import { type EventOptions, type PageOptions } from './segment';
4
+ import { type TrackOptions, type PageOptions } from './segment';
5
5
  import { type InitOptions } from './sentry';
6
6
  export type ObservabilitySecrets = {
7
7
  DX_ENVIRONMENT: string | null;
@@ -12,16 +12,21 @@ export type ObservabilitySecrets = {
12
12
  OTEL_ENDPOINT: string | null;
13
13
  OTEL_AUTHORIZATION: string | null;
14
14
  };
15
- export type Mode = 'basic' | 'full' | 'disabled';
16
15
  export type TagScope = 'errors' | 'telemetry' | 'metrics' | 'all';
16
+ /** Gathering mode. */
17
+ export type Mode = 'basic' | 'full' | 'disabled';
17
18
  export type ObservabilityOptions = {
18
- namespace: string;
19
19
  mode: Mode;
20
- release?: string;
20
+ /** Environment. */
21
21
  environment?: string;
22
+ /** Application namespace. */
23
+ namespace: string;
24
+ /** Application release. */
25
+ release?: string;
26
+ /** User group. */
27
+ group?: string;
22
28
  config?: Config;
23
29
  secrets?: Record<string, string>;
24
- group?: string;
25
30
  telemetry?: {
26
31
  batchSize?: number;
27
32
  };
@@ -30,6 +35,12 @@ export type ObservabilityOptions = {
30
35
  };
31
36
  };
32
37
  export declare class Observability {
38
+ private _mode;
39
+ private readonly _namespace;
40
+ private readonly _config?;
41
+ private readonly _group?;
42
+ private readonly _secrets;
43
+ private readonly _tags;
33
44
  private _otelMetrics?;
34
45
  private _otelTraces?;
35
46
  private _telemetryBatchSize;
@@ -39,16 +50,9 @@ export declare class Observability {
39
50
  private _errorReportingOptions?;
40
51
  private _captureException?;
41
52
  private _captureUserFeedback?;
42
- private _setTag?;
43
- private _secrets;
44
- private _namespace;
45
- private _mode;
46
- private _config?;
47
- private _group?;
48
- private _ctx;
49
- private _tags;
50
53
  private _lastNetworkStatus?;
51
- constructor({ namespace, environment, release, config, secrets, group, mode, telemetry, errorLog, }: ObservabilityOptions);
54
+ private _ctx;
55
+ constructor({ mode, namespace, environment, release, config, group, secrets, telemetry, errorLog, }: ObservabilityOptions);
52
56
  get mode(): Mode;
53
57
  get group(): string | undefined;
54
58
  get enabled(): boolean;
@@ -56,13 +60,18 @@ export declare class Observability {
56
60
  initialize(): Promise<void>;
57
61
  close(): Promise<void>;
58
62
  setMode(mode: Mode): void;
59
- setTag(key: string, value: string, scope?: TagScope): void;
63
+ /** Callback (e.g., to share tags with Sentry.) */
64
+ private _setTag?;
65
+ /**
66
+ * camelCase keys are converted to snake_case in Segment.
67
+ */
68
+ setTag(key: string, value: string | undefined, scope?: TagScope): void;
60
69
  getTag(key: string): {
61
70
  value: string;
62
71
  scope: TagScope;
63
72
  } | undefined;
64
- addIPDataTelemetryTags: (ipData: IPData) => void;
65
73
  setIdentityTags(clientServices: Partial<ClientServices>): Promise<void>;
74
+ setIPDataTelemetryTags: (ipData: IPData) => void;
66
75
  private _initLogs;
67
76
  private _initMetrics;
68
77
  /**
@@ -76,32 +85,28 @@ export declare class Observability {
76
85
  startRuntimeMetrics(client: Client, frequency?: number): Promise<void>;
77
86
  private _initTelemetry;
78
87
  /**
79
- * A telemetry event.
80
- *
88
+ * Submit telemetry page view.
81
89
  * The default implementation uses Segment.
82
90
  */
83
- event(options: EventOptions): void;
91
+ page(options: PageOptions): void;
84
92
  /**
85
- * A telemetry page view.
86
- *
93
+ * Submit telemetry user action.
87
94
  * The default implementation uses Segment.
88
95
  */
89
- page(options: PageOptions): void;
96
+ track(options: TrackOptions): void;
90
97
  private _initErrorLogs;
91
98
  startErrorLogs(): void;
92
99
  startTraces(): void;
93
100
  private _initTraces;
94
101
  /**
95
102
  * Manually capture an exception.
96
- *
97
103
  * The default implementation uses Sentry.
98
104
  */
99
105
  captureException(err: any): void;
100
106
  /**
101
107
  * Manually capture user feedback.
102
- *
103
108
  * The default implementation uses Sentry.
104
109
  */
105
- captureUserFeedback(name: string, email: string, message: string): void;
110
+ captureUserFeedback(message: string): void;
106
111
  }
107
112
  //# sourceMappingURL=observability.d.ts.map
@@ -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,EAAa,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,uBAAuB,CAAC;AASxE,OAAO,EAAwB,KAAK,MAAM,EAAa,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAkB,MAAM,WAAW,CAAC;AACvG,OAAO,EAAE,KAAK,WAAW,EAAmD,MAAM,UAAU,CAAC;AAS7F,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,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;AAElE,sBAAsB;AACtB,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,IAAI,CAAC;IAEX,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,WAAW,CAAC;KACjC,CAAC;CACH,CAAC;AAyBF,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyD;IAG/E,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,WAAW,CAAC,CAAa;IAEjC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAC,CAAmB;IAEtC,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAc;IAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAC1D,OAAO,CAAC,oBAAoB,CAAC,CAAqC;IAClE,OAAO,CAAC,kBAAkB,CAAC,CAAgB;IAE3C,OAAO,CAAC,IAAI,CAAiB;gBAGjB,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EACX,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE,oBAAoB;IAmBvB,IAAI,IAAI,SAEP;IAED,IAAI,KAAK,uBAER;IAED,IAAI,OAAO,YAEV;IAED,OAAO,CAAC,YAAY;IA+Bd,UAAU;IASV,KAAK;IAWX,OAAO,CAAC,IAAI,EAAE,IAAI;IAQlB,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAC,CAAuC;IAEvD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,QAAQ;IAc/D,MAAM,CAAC,GAAG,EAAE,MAAM;eA3IgC,MAAM;eAAS,QAAQ;;IAgJnE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAmC7D,sBAAsB,WAAY,MAAM,UAMtC;YAMY,SAAS;YA8BT,YAAY;IAuB1B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG;IAMxD,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAoD3D,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAuD9C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAqC;YA8C5E,cAAc;IAoB5B;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW;IAIzB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY;YAQb,cAAc;IAiC5B,cAAc;IAId,WAAW;YAKG,WAAW;IAoBzB;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG;IAMzB;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM;CAWpC"}
@@ -10,43 +10,61 @@ import { ConnectionState } from '@dxos/network-manager';
10
10
  import { DeviceKind, Platform } from '@dxos/protocols/proto/dxos/client/services';
11
11
  import { isNode } from '@dxos/util';
12
12
  import buildSecrets from './cli-observability-secrets.json';
13
- import { getTelemetryIdentifier, mapSpaces } from './helpers';
13
+ import { getTelemetryIdentity, mapSpaces } from './helpers';
14
+ import { TelemetryEvent } from './segment';
14
15
  const SPACE_METRICS_MIN_INTERVAL = 1000 * 60; // 1 minute
15
16
  const SPACE_TELEMETRY_MIN_INTERVAL = 1000 * 60 * 60; // 1 hour
16
17
  const NETWORK_METRICS_MIN_INTERVAL = 1000 * 60 * 5; // 5 minutes
17
18
  /*
18
19
  * Observability provides a common interface for error logging, metrics, and telemetry.
19
20
  * It currently provides these capabilities using Sentry, OpenTelemetry, and Segment.
21
+ *
22
+ * Segment:
23
+ * https://app.segment.com/dxos/sources/composer-app/debugger
24
+ * https://app.segment.com/dxos/sources/composer-app/settings/keys
25
+ *
26
+ * NOTE:
27
+ * - Segment maintains a set of admin creates Source (e.g., "composer-app").
28
+ * - Each source has at least one API_KEY, which is used by the client.
29
+ *
30
+ * Testing:
31
+ * https://app.segment.com/dxos/sources/composer-app/settings/keys
32
+ * - DX_TELEMETRY_API_KEY
33
+ * - DX_SENTRY_DESTINATION
34
+ *
35
+ * Sentry:
36
+ * https://sentry.io/organizations/dxos/issues
37
+ *
38
+ * OpenTelemetry:
39
+ * https://dxosorg.grafana.net/explore
20
40
  */
21
41
  export class Observability {
22
42
  // TODO(nf): make platform a required extension?
23
- constructor({ namespace, environment, release, config, secrets, group, mode, telemetry, errorLog, }) {
43
+ constructor({ mode, namespace, environment, release, config, group, secrets, telemetry, errorLog, }) {
24
44
  var _a;
25
- // TODO(nf): accept upstream context?
26
- this._ctx = new Context();
27
45
  this._tags = new Map();
28
- this.addIPDataTelemetryTags = (ipData) => {
46
+ this._ctx = new Context();
47
+ this.setIPDataTelemetryTags = (ipData) => {
29
48
  this.setTag('city', ipData.city, 'telemetry');
30
49
  this.setTag('region', ipData.region, 'telemetry');
31
50
  this.setTag('country', ipData.country, 'telemetry');
32
51
  ipData.latitude && this.setTag('latitude', ipData.latitude.toString(), 'telemetry');
33
52
  ipData.longitude && this.setTag('longitude', ipData.longitude.toString(), 'telemetry');
34
53
  };
35
- this._namespace = namespace;
36
54
  this._mode = mode;
55
+ this._namespace = namespace;
37
56
  this._config = config;
38
57
  this._group = group;
39
58
  this._secrets = this._loadSecrets(config, secrets);
40
59
  this._telemetryBatchSize = (_a = telemetry === null || telemetry === void 0 ? void 0 : telemetry.batchSize) !== null && _a !== void 0 ? _a : 30;
41
60
  this._errorReportingOptions = errorLog === null || errorLog === void 0 ? void 0 : errorLog.sentryInitOptions;
42
- if (this._group) {
43
- this.setTag('group', this._group);
44
- }
45
- this.setTag('namespace', this._namespace);
46
- environment && this.setTag('environment', environment);
47
- release && this.setTag('release', release);
61
+ // Tags.
48
62
  this.setTag('mode', this._mode);
63
+ this.setTag('namespace', this._namespace);
64
+ this.setTag('environment', environment);
65
+ this.setTag('release', release);
49
66
  this.setTag('session', PublicKey.random().toHex());
67
+ this.setTag('group', this._group);
50
68
  }
51
69
  get mode() {
52
70
  return this._mode;
@@ -65,7 +83,6 @@ export class Observability {
65
83
  };
66
84
  process.env.DX_ENVIRONMENT && (mergedSecrets.DX_ENVIRONMENT = process.env.DX_ENVIRONMENT);
67
85
  process.env.DX_RELEASE && (mergedSecrets.DX_RELEASE = process.env.DX_RELEASE);
68
- // TODO: prefix these with DX_?
69
86
  process.env.SENTRY_DESTINATION && (mergedSecrets.SENTRY_DESTINATION = process.env.SENTRY_DESTINATION);
70
87
  process.env.TELEMETRY_API_KEY && (mergedSecrets.TELEMETRY_API_KEY = process.env.TELEMETRY_API_KEY);
71
88
  process.env.IPDATA_API_KEY && (mergedSecrets.IPDATA_API_KEY = process.env.IPDATA_API_KEY);
@@ -88,6 +105,7 @@ export class Observability {
88
105
  }
89
106
  }
90
107
  async initialize() {
108
+ log('initializing...');
91
109
  await this._initLogs();
92
110
  await this._initMetrics();
93
111
  await this._initTelemetry();
@@ -95,22 +113,25 @@ export class Observability {
95
113
  await this._initTraces();
96
114
  }
97
115
  async close() {
116
+ log('closing...');
98
117
  const closes = [];
99
118
  this._telemetry && closes.push(this._telemetry.close());
100
119
  this._otelMetrics && closes.push(this._otelMetrics.close());
101
120
  this._otelLogs && closes.push(this._otelLogs.close());
102
121
  await Promise.all(closes);
103
122
  await this._ctx.dispose();
104
- // TODO(wittjosiah): Remove telemetry, etc. scripts.
105
123
  }
106
124
  setMode(mode) {
107
125
  this._mode = mode;
108
126
  }
109
- //
110
- // Tags
111
- //
127
+ /**
128
+ * camelCase keys are converted to snake_case in Segment.
129
+ */
112
130
  setTag(key, value, scope) {
113
131
  var _a;
132
+ if (value === undefined) {
133
+ return;
134
+ }
114
135
  if (this.enabled && (scope === undefined || scope === 'all' || scope === 'errors')) {
115
136
  (_a = this._setTag) === null || _a === void 0 ? void 0 : _a.call(this, key, value);
116
137
  }
@@ -126,12 +147,13 @@ export class Observability {
126
147
  async setIdentityTags(clientServices) {
127
148
  if (clientServices.IdentityService) {
128
149
  clientServices.IdentityService.queryIdentity().subscribe((idqr) => {
129
- var _a;
150
+ var _a, _b;
130
151
  if (!((_a = idqr === null || idqr === void 0 ? void 0 : idqr.identity) === null || _a === void 0 ? void 0 : _a.did)) {
131
152
  log('empty response from identity service', { idqr });
132
153
  return;
133
154
  }
134
155
  this.setTag('did', idqr.identity.did);
156
+ (_b = this._telemetry) === null || _b === void 0 ? void 0 : _b.identify({ userId: idqr.identity.did });
135
157
  });
136
158
  }
137
159
  if (clientServices.DevicesService) {
@@ -280,9 +302,10 @@ export class Observability {
280
302
  updateSpaceTelemetry.on(this._ctx, async () => {
281
303
  log('send space telemetry');
282
304
  for (const data of mapSpaces(spaces, { truncateKeys: true })) {
283
- this.event({
284
- did: getTelemetryIdentifier(client),
285
- name: `${namespace}.space.update`,
305
+ this.track({
306
+ ...getTelemetryIdentity(client),
307
+ event: TelemetryEvent.METRICS,
308
+ action: 'space.update',
286
309
  properties: data,
287
310
  });
288
311
  }
@@ -311,9 +334,8 @@ export class Observability {
311
334
  var _a;
312
335
  const platform = await ((_a = client.services.services.SystemService) === null || _a === void 0 ? void 0 : _a.getPlatform());
313
336
  invariant(platform, 'platform is required');
314
- this.setTag('platform_type', Platform.PLATFORM_TYPE[platform.type].toLowerCase());
337
+ this.setTag('platformType', Platform.PLATFORM_TYPE[platform.type].toLowerCase());
315
338
  if (this._mode === 'full') {
316
- // platform[foo] does not work?
317
339
  if (platform.platform) {
318
340
  this.setTag('platform', platform.platform);
319
341
  }
@@ -364,22 +386,20 @@ export class Observability {
364
386
  }
365
387
  }
366
388
  /**
367
- * A telemetry event.
368
- *
389
+ * Submit telemetry page view.
369
390
  * The default implementation uses Segment.
370
391
  */
371
- event(options) {
392
+ page(options) {
372
393
  var _a;
373
- (_a = this._telemetry) === null || _a === void 0 ? void 0 : _a.event(options);
394
+ (_a = this._telemetry) === null || _a === void 0 ? void 0 : _a.page(options);
374
395
  }
375
396
  /**
376
- * A telemetry page view.
377
- *
397
+ * Submit telemetry user action.
378
398
  * The default implementation uses Segment.
379
399
  */
380
- page(options) {
400
+ track(options) {
381
401
  var _a;
382
- (_a = this._telemetry) === null || _a === void 0 ? void 0 : _a.page(options);
402
+ (_a = this._telemetry) === null || _a === void 0 ? void 0 : _a.track(options);
383
403
  }
384
404
  //
385
405
  // Error Logs
@@ -391,7 +411,7 @@ export class Observability {
391
411
  this._captureException = captureException;
392
412
  this._captureUserFeedback = captureUserFeedback;
393
413
  this._setTag = setTag;
394
- // TODO(nf): refactor package into this one?
414
+ // TODO(nf): Refactor package into this one?
395
415
  log.info('Initializing Sentry', {
396
416
  dest: this._secrets.SENTRY_DESTINATION,
397
417
  options: this._errorReportingOptions,
@@ -403,8 +423,8 @@ export class Observability {
403
423
  scrubFilenames: this._mode !== 'full',
404
424
  onError: (event) => this._sentryLogProcessor.addLogBreadcrumbsTo(event),
405
425
  });
406
- // TODO(nf): set platform at instantiation? needed for node.
407
- // TODO(nf): is this different than passing as properties in options?
426
+ // TODO(nf): Set platform at instantiation? needed for node.
427
+ // TODO(nf): Is this different than passing as properties in options?
408
428
  this._tags.forEach((v, k) => {
409
429
  if (v.scope === 'all' || v.scope === 'errors') {
410
430
  setTag(k, v.value);
@@ -421,7 +441,7 @@ export class Observability {
421
441
  startTraces() {
422
442
  this._otelTraces && this._otelTraces.start();
423
443
  }
424
- // TODO(nf): refactor init based on providers and their capabilities
444
+ // TODO(nf): Refactor init based on providers and their capabilities.
425
445
  async _initTraces() {
426
446
  var _a, _b;
427
447
  if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== 'disabled') {
@@ -441,7 +461,6 @@ export class Observability {
441
461
  }
442
462
  /**
443
463
  * Manually capture an exception.
444
- *
445
464
  * The default implementation uses Sentry.
446
465
  */
447
466
  captureException(err) {
@@ -452,15 +471,18 @@ export class Observability {
452
471
  }
453
472
  /**
454
473
  * Manually capture user feedback.
455
- *
456
474
  * The default implementation uses Sentry.
457
475
  */
458
- captureUserFeedback(name, email, message) {
476
+ captureUserFeedback(message) {
459
477
  var _a;
478
+ if (!this._secrets.SENTRY_DESTINATION) {
479
+ log.info('Feedback submitted without Sentry destination', { message });
480
+ return;
481
+ }
460
482
  // TODO(Zan): Should this respect telemetry mode? Sending feedback is explicitly user-initiated.
461
483
  // - Maybe if telemetry is disable we shouldn't enable replay.
462
484
  // - (Check the browser.ts implementation for reference).
463
- void ((_a = this._captureUserFeedback) === null || _a === void 0 ? void 0 : _a.call(this, name, email, message));
485
+ void ((_a = this._captureUserFeedback) === null || _a === void 0 ? void 0 : _a.call(this, message));
464
486
  }
465
487
  }
466
488
  //# sourceMappingURL=observability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/observability.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAA4B,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAsB,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAA8D,cAAc,EAAE,MAAM,WAAW,CAAC;AAIvG,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,WAAW;AACzD,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAC9D,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;AA8ChE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,aAAa;IAwBxB,gDAAgD;IAChD,YAAY,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EACX,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,GACa;;QA7BN,UAAK,GAAG,IAAI,GAAG,EAA8C,CAAC;QAgBvE,SAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QAmK7B,2BAAsB,GAAG,CAAC,MAAc,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACpD,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;YACpF,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;QACzF,CAAC,CAAC;QA3JA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEnD,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;QAE1D,QAAQ;QACR,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;IACnC,CAAC;IAEO,YAAY,CAAC,MAA0B,EAAE,OAAgC;QAC/E,IAAI,MAAM,EAAE,EAAE,CAAC;YACb,MAAM,aAAa,GAAG;gBACpB,GAAI,YAAqC;gBACzC,GAAG,OAAO;aACX,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAE5G,OAAO,aAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,OAAO;gBACL,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,gCAAgC,CAAC;gBAC7D,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,4BAA4B,CAAC;gBACrD,kBAAkB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,uCAAuC,CAAC;gBACxE,iBAAiB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,sCAAsC,CAAC;gBACtE,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,mCAAmC,CAAC;gBAChE,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,kCAAkC,CAAC;gBAC9D,kBAAkB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,uCAAuC,CAAC;gBACxE,GAAG,OAAO;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,GAAG,CAAC,YAAY,CAAC,CAAC;QAClB,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IASD;;OAEG;IACH,MAAM,CAAC,GAAW,EAAE,KAAyB,EAAE,KAAgB;;QAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACnF,MAAA,IAAI,CAAC,OAAO,qDAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,eAAe,CAAC,cAAuC;QAC3D,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;YACnC,cAAc,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAChE,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,GAAG,CAAA,EAAE,CAAC;oBACzB,GAAG,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;YAClC,cAAc,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;;gBAC7D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBAED,SAAS,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;gBACrD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpF,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1C,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,IAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAUD,EAAE;IACF,OAAO;IACP,EAAE;IAEM,KAAK,CAAC,SAAS;;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACjG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACrC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACrD,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,cAAc,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,mCAAI,OAAO;gBACxD,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvB,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;gBAC3D,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC7C;gBACH,QAAQ,EAAE,QAAQ,CAAC,OAAO;gBAC1B,uBAAuB,EAAE,KAAK;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACjF,GAAG,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,EAAE;IACF,UAAU;IACV,EAAE;IAEM,KAAK,CAAC,YAAY;;QACxB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACpF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC;gBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACrC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACrD,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,cAAc,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,mCAAI,OAAO;gBACxD,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvB,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC5D,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC7C;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY,EAAE,KAAmB,EAAE,SAAe;;QACtD,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,mDAAmD;IAEnD,mBAAmB,CAAC,cAAuC;QACzD,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,uCAAuC;QACvC,MAAM,mBAAmB,GAAG,IAAI,KAAK,EAAiB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAC9F,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;;YAC3C,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC3B,MAAC,MAAA,IAAI,CAAC,kBAAkB,0CAAE,SAAoC,0CAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5F,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,eAAe,EAAE,CAAC;gBACpC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,sBAAsB,GAAG,CAAC,CAAC;YAE/B,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,cAAc,0CAAE,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;;gBAClE,UAAU,EAAE,CAAC;gBAEb,KAAK,MAAM,IAAI,IAAI,MAAA,cAAc,CAAC,WAAW,mCAAI,EAAE,EAAE,CAAC;oBACpD,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;oBAClD,KAAK,MAAM,MAAM,IAAI,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,CAAC;wBACxC,sBAAsB,IAAI,MAAA,MAAM,CAAC,eAAe,mCAAI,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;gBAC1D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClG,CAAC;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,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YACtE,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;YACxC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACxG,CAAC;IAED,kBAAkB,CAAC,MAAc,EAAE,SAAiB;QAClD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACnC,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,KAAK,EAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACnF,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC1C,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAI,KAAK,EAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACvF,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC5C,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC;oBACT,GAAG,oBAAoB,CAAC,MAAM,CAAC;oBAC/B,KAAK,EAAE,cAAc,CAAC,OAAO;oBAC7B,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;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;gBAC1B,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACrB,MAAM;qBACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBAC/C,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACP,CAAC;SACF,CAAC,CAAC;QAEH,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,YAAoB,4BAA4B;;QACxF,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,0CAAE,WAAW,EAAE,CAAA,CAAC;QAC7E,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,oBAAoB,CAClB,IAAI,CAAC,IAAI,EACT,KAAK,IAAI,EAAE;;YACT,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAI,MAAM,CAAC,WAAmB,CAAC,MAAM,CAAC;gBAClD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;oBACpE,IAAI,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBAClE,IAAI,CAAC,KAAK,CAAC,mCAAmC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,0CAAE,WAAW,GAChD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpE,IAAI,CAAC,KAAK,CAAC,wCAAwC,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAChF,IAAI,CAAC,KAAK,CAAC,uCAAuC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC,EACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,EACD,SAAS,CACV,CAAC;IACJ,CAAC;IAED,EAAE;IACF,YAAY;IACZ,EAAE;IAEM,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpG,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBACvC,SAAS,EAAE,IAAI,CAAC,mBAAmB;gBACnC,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvB,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;gBAC9D,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC7C;aACJ,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,OAAoB;;QACvB,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAqB;;QACzB,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,EAAE;IACF,aAAa;IACb,EAAE;IAEM,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAClE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC7E,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;YAC1C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YAEtB,4CAA4C;YAC5C,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACtC,OAAO,EAAE,IAAI,CAAC,sBAAsB;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,GAAG,IAAI,CAAC,sBAAsB;gBAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM;gBACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAoB,CAAC,mBAAmB,CAAC,KAAK,CAAC;aACzE,CAAC,CAAC;YAEH,4DAA4D;YAC5D,qEAAqE;YACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,mBAAmB,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvG,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,WAAW;;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACjG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACrC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACrD,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,cAAc,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,mCAAI,OAAO;gBACxD,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvB,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC5D,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC7C;aACJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAAQ;;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAA,IAAI,CAAC,iBAAiB,qDAAG,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAe;;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,gGAAgG;QAChG,8DAA8D;QAC9D,yDAAyD;QACzD,KAAK,CAAA,MAAA,IAAI,CAAC,oBAAoB,qDAAG,OAAO,CAAC,CAAA,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { type TrackParams, type PageParams, type IdentifyParams } from '@segment/analytics-node';
2
+ import { type PageOptions, type Tags, type TrackOptions } from './types';
3
+ /**
4
+ * Base class for Node and BrowserSegment telemetry.
5
+ */
6
+ export declare abstract class AbstractSegmentTelemetry {
7
+ private readonly _getTags;
8
+ constructor(_getTags: () => Tags);
9
+ abstract identify(options: IdentifyParams): void;
10
+ abstract page(options: PageOptions): void;
11
+ abstract track(options: TrackOptions): void;
12
+ protected createPageProps(options: PageOptions): PageParams;
13
+ protected createTrackProps(options: TrackOptions): TrackParams;
14
+ }
15
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/segment/base.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIjG,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,IAAI,EAET,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,8BAAsB,wBAAwB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM,IAAI;IAEjD,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAEhD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAEzC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAE3C,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU;IAY3D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAa/D"}
@@ -0,0 +1,50 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ import { log } from '@dxos/log';
5
+ import { TelemetryEvent, } from './types';
6
+ /**
7
+ * NOTE: Segment provides a default ID if we don't provide one.
8
+ */
9
+ const getIdentityOptions = ({ did, installationId }) => {
10
+ if (!did && !installationId) {
11
+ log.warn('No telemetry identifier provided.');
12
+ }
13
+ return {
14
+ userId: did,
15
+ anonymousId: installationId,
16
+ };
17
+ };
18
+ /**
19
+ * Base class for Node and BrowserSegment telemetry.
20
+ */
21
+ export class AbstractSegmentTelemetry {
22
+ constructor(_getTags) {
23
+ this._getTags = _getTags;
24
+ }
25
+ createPageProps(options) {
26
+ const { properties, ...rest } = options;
27
+ return {
28
+ ...getIdentityOptions(options),
29
+ ...rest,
30
+ properties: {
31
+ common: this._getTags(),
32
+ custom: properties,
33
+ },
34
+ };
35
+ }
36
+ createTrackProps(options) {
37
+ const { event, action, properties, ...rest } = options;
38
+ return {
39
+ ...getIdentityOptions(options),
40
+ ...rest,
41
+ event: event !== null && event !== void 0 ? event : TelemetryEvent.ACTION,
42
+ properties: {
43
+ action,
44
+ common: this._getTags(),
45
+ custom: properties,
46
+ },
47
+ };
48
+ }
49
+ }
50
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/segment/base.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAIF,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAKL,cAAc,GAEf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAmB,EAA0B,EAAE;IAC9F,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,cAAc;KACF,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAgB,wBAAwB;IAC5C,YAA6B,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IAAG,CAAC;IAQ3C,eAAe,CAAC,OAAoB;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACxC,OAAO;YACL,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC9B,GAAG,IAAI;YACP,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvB,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,OAAqB;QAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACvD,OAAO;YACL,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc,CAAC,MAAM;YACrC,UAAU,EAAE;gBACV,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvB,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,9 +1,14 @@
1
- import type { EventOptions, SegmentTelemetryOptions, PageOptions } from './types';
2
- export declare class SegmentTelemetry {
3
- private _getTags;
1
+ import { type IdentifyParams } from '@segment/analytics-node';
2
+ import { AbstractSegmentTelemetry } from './base';
3
+ import type { TrackOptions, SegmentTelemetryOptions, PageOptions } from './types';
4
+ /**
5
+ * Browser telemetry.
6
+ */
7
+ export declare class SegmentTelemetry extends AbstractSegmentTelemetry {
4
8
  constructor({ apiKey, batchSize, getTags }: SegmentTelemetryOptions);
5
- page({ did: userId, ...options }?: PageOptions): void;
6
- event({ did: userId, name: event, ...options }: EventOptions): void;
9
+ identify(options: IdentifyParams): void;
10
+ page(options: PageOptions): void;
11
+ track(options: TrackOptions): void;
7
12
  flush(): Promise<void>;
8
13
  close(): Promise<void>;
9
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAgBnE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAE,WAAgB;IAYlD,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY;IAetD,KAAK;IAUL,KAAK;CACZ"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF;;GAEG;AAEH,qBAAa,gBAAiB,SAAQ,wBAAwB;gBAChD,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYnE,QAAQ,CAAC,OAAO,EAAE,cAAc;IAQhC,IAAI,CAAC,OAAO,EAAE,WAAW;IASzB,KAAK,CAAC,OAAO,EAAE,YAAY;IASrB,KAAK;IAUL,KAAK;CACZ"}