@splitsoftware/splitio-commons 1.16.1-rc.8 → 1.17.0-rc.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.
Files changed (167) hide show
  1. package/CHANGES.txt +2 -1
  2. package/cjs/evaluator/matchers/index.js +1 -3
  3. package/cjs/evaluator/matchers/matcherTypes.js +0 -1
  4. package/cjs/evaluator/matchersTransform/index.js +1 -1
  5. package/cjs/logger/constants.js +4 -3
  6. package/cjs/logger/messages/info.js +2 -1
  7. package/cjs/readiness/readinessManager.js +10 -14
  8. package/cjs/readiness/sdkReadinessManager.js +6 -5
  9. package/cjs/sdkClient/sdkClientMethodCS.js +2 -2
  10. package/cjs/sdkClient/sdkClientMethodCSWithTT.js +2 -2
  11. package/cjs/sdkFactory/index.js +1 -1
  12. package/cjs/services/decorateHeaders.js +42 -0
  13. package/cjs/services/splitApi.js +0 -4
  14. package/cjs/services/splitHttpClient.js +5 -4
  15. package/cjs/storages/AbstractSplitsCacheAsync.js +2 -2
  16. package/cjs/storages/AbstractSplitsCacheSync.js +6 -5
  17. package/cjs/storages/KeyBuilder.js +0 -3
  18. package/cjs/storages/KeyBuilderCS.js +5 -17
  19. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +4 -16
  20. package/cjs/storages/inLocalStorage/index.js +2 -6
  21. package/cjs/storages/inMemory/InMemoryStorageCS.js +0 -5
  22. package/cjs/storages/inMemory/SplitsCacheInMemory.js +11 -20
  23. package/cjs/storages/inMemory/TelemetryCacheInMemory.js +10 -7
  24. package/cjs/storages/pluggable/inMemoryWrapper.js +1 -1
  25. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +1 -5
  26. package/cjs/sync/polling/pollingManagerCS.js +33 -51
  27. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +2 -2
  28. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +21 -20
  29. package/cjs/sync/streaming/SSEClient/index.js +0 -4
  30. package/cjs/sync/streaming/SSEHandler/index.js +0 -1
  31. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +9 -23
  32. package/cjs/sync/streaming/constants.js +1 -2
  33. package/cjs/sync/streaming/parseUtils.js +8 -3
  34. package/cjs/sync/streaming/pushManager.js +68 -99
  35. package/cjs/sync/submitters/telemetrySubmitter.js +0 -4
  36. package/cjs/sync/syncManagerOnline.js +14 -24
  37. package/cjs/utils/constants/index.js +2 -4
  38. package/cjs/utils/settingsValidation/index.js +2 -7
  39. package/esm/evaluator/matchers/index.js +1 -3
  40. package/esm/evaluator/matchers/matcherTypes.js +0 -1
  41. package/esm/evaluator/matchersTransform/index.js +1 -1
  42. package/esm/logger/constants.js +1 -0
  43. package/esm/logger/messages/info.js +2 -1
  44. package/esm/readiness/readinessManager.js +10 -14
  45. package/esm/readiness/sdkReadinessManager.js +6 -5
  46. package/esm/sdkClient/sdkClientMethodCS.js +2 -2
  47. package/esm/sdkClient/sdkClientMethodCSWithTT.js +2 -2
  48. package/esm/sdkFactory/index.js +1 -1
  49. package/esm/services/decorateHeaders.js +38 -0
  50. package/esm/services/splitApi.js +1 -5
  51. package/esm/services/splitHttpClient.js +5 -4
  52. package/esm/storages/AbstractSplitsCacheAsync.js +2 -2
  53. package/esm/storages/AbstractSplitsCacheSync.js +4 -3
  54. package/esm/storages/KeyBuilder.js +0 -3
  55. package/esm/storages/KeyBuilderCS.js +4 -15
  56. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +5 -17
  57. package/esm/storages/inLocalStorage/index.js +3 -7
  58. package/esm/storages/inMemory/InMemoryStorageCS.js +0 -5
  59. package/esm/storages/inMemory/SplitsCacheInMemory.js +12 -21
  60. package/esm/storages/inMemory/TelemetryCacheInMemory.js +10 -7
  61. package/esm/storages/pluggable/inMemoryWrapper.js +1 -1
  62. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +1 -5
  63. package/esm/sync/polling/pollingManagerCS.js +34 -52
  64. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +2 -2
  65. package/esm/sync/polling/updaters/mySegmentsUpdater.js +19 -18
  66. package/esm/sync/streaming/SSEClient/index.js +1 -5
  67. package/esm/sync/streaming/SSEHandler/index.js +1 -2
  68. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +9 -23
  69. package/esm/sync/streaming/constants.js +0 -1
  70. package/esm/sync/streaming/parseUtils.js +8 -3
  71. package/esm/sync/streaming/pushManager.js +69 -99
  72. package/esm/sync/submitters/telemetrySubmitter.js +0 -4
  73. package/esm/sync/syncManagerOnline.js +15 -25
  74. package/esm/utils/constants/index.js +1 -3
  75. package/esm/utils/settingsValidation/index.js +2 -7
  76. package/package.json +1 -1
  77. package/src/dtos/types.ts +7 -17
  78. package/src/evaluator/matchers/index.ts +0 -2
  79. package/src/evaluator/matchers/matcherTypes.ts +0 -1
  80. package/src/evaluator/matchersTransform/index.ts +1 -1
  81. package/src/logger/constants.ts +1 -0
  82. package/src/logger/messages/info.ts +2 -1
  83. package/src/readiness/readinessManager.ts +9 -13
  84. package/src/readiness/sdkReadinessManager.ts +7 -7
  85. package/src/readiness/types.ts +2 -3
  86. package/src/sdkClient/sdkClientMethodCS.ts +2 -2
  87. package/src/sdkClient/sdkClientMethodCSWithTT.ts +2 -2
  88. package/src/sdkFactory/index.ts +1 -1
  89. package/src/services/decorateHeaders.ts +40 -0
  90. package/src/services/splitApi.ts +2 -7
  91. package/src/services/splitHttpClient.ts +6 -5
  92. package/src/services/types.ts +0 -1
  93. package/src/storages/AbstractSplitsCacheAsync.ts +2 -2
  94. package/src/storages/AbstractSplitsCacheSync.ts +5 -4
  95. package/src/storages/KeyBuilder.ts +0 -3
  96. package/src/storages/KeyBuilderCS.ts +5 -25
  97. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +3 -3
  98. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +5 -20
  99. package/src/storages/inLocalStorage/index.ts +4 -8
  100. package/src/storages/inMemory/InMemoryStorageCS.ts +0 -5
  101. package/src/storages/inMemory/SplitsCacheInMemory.ts +10 -15
  102. package/src/storages/inMemory/TelemetryCacheInMemory.ts +11 -7
  103. package/src/storages/pluggable/inMemoryWrapper.ts +1 -1
  104. package/src/storages/types.ts +5 -7
  105. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +2 -6
  106. package/src/sync/polling/pollingManagerCS.ts +29 -61
  107. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +10 -10
  108. package/src/sync/polling/types.ts +3 -4
  109. package/src/sync/polling/updaters/mySegmentsUpdater.ts +20 -17
  110. package/src/sync/streaming/SSEClient/index.ts +7 -10
  111. package/src/sync/streaming/SSEHandler/index.ts +1 -2
  112. package/src/sync/streaming/SSEHandler/types.ts +2 -14
  113. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +10 -26
  114. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  115. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  116. package/src/sync/streaming/UpdateWorkers/types.ts +2 -2
  117. package/src/sync/streaming/constants.ts +0 -1
  118. package/src/sync/streaming/parseUtils.ts +10 -6
  119. package/src/sync/streaming/pushManager.ts +67 -103
  120. package/src/sync/streaming/types.ts +3 -5
  121. package/src/sync/submitters/telemetrySubmitter.ts +0 -4
  122. package/src/sync/submitters/types.ts +4 -11
  123. package/src/sync/syncManagerOnline.ts +11 -19
  124. package/src/types.ts +9 -28
  125. package/src/utils/constants/index.ts +1 -3
  126. package/src/utils/settingsValidation/index.ts +3 -8
  127. package/src/utils/settingsValidation/types.ts +1 -1
  128. package/types/dtos/types.d.ts +6 -14
  129. package/types/logger/constants.d.ts +1 -0
  130. package/types/readiness/readinessManager.d.ts +2 -2
  131. package/types/readiness/sdkReadinessManager.d.ts +3 -2
  132. package/types/readiness/types.d.ts +2 -3
  133. package/types/services/decorateHeaders.d.ts +2 -0
  134. package/types/services/splitApi.d.ts +1 -1
  135. package/types/services/splitHttpClient.d.ts +1 -1
  136. package/types/services/types.d.ts +0 -1
  137. package/types/storages/AbstractSplitsCacheAsync.d.ts +1 -1
  138. package/types/storages/AbstractSplitsCacheSync.d.ts +3 -3
  139. package/types/storages/KeyBuilder.d.ts +0 -1
  140. package/types/storages/KeyBuilderCS.d.ts +2 -7
  141. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +2 -2
  142. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +1 -1
  143. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +2 -3
  144. package/types/storages/inMemory/TelemetryCacheInMemory.d.ts +6 -4
  145. package/types/storages/pluggable/inMemoryWrapper.d.ts +1 -1
  146. package/types/storages/types.d.ts +3 -4
  147. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +3 -2
  148. package/types/sync/polling/types.d.ts +3 -10
  149. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +4 -4
  150. package/types/sync/streaming/SSEClient/index.d.ts +0 -1
  151. package/types/sync/streaming/SSEHandler/types.d.ts +2 -13
  152. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +2 -3
  153. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +1 -2
  154. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +2 -3
  155. package/types/sync/streaming/UpdateWorkers/types.d.ts +2 -2
  156. package/types/sync/streaming/constants.d.ts +0 -1
  157. package/types/sync/streaming/parseUtils.d.ts +4 -2
  158. package/types/sync/streaming/pushManager.d.ts +0 -2
  159. package/types/sync/streaming/types.d.ts +4 -5
  160. package/types/sync/submitters/types.d.ts +3 -10
  161. package/types/types.d.ts +11 -26
  162. package/types/utils/constants/index.d.ts +1 -3
  163. package/types/utils/settingsValidation/index.d.ts +0 -2
  164. package/types/utils/settingsValidation/types.d.ts +1 -1
  165. package/cjs/evaluator/matchers/large_segment.js +0 -16
  166. package/esm/evaluator/matchers/large_segment.js +0 -12
  167. package/src/evaluator/matchers/large_segment.ts +0 -18
@@ -48,10 +48,6 @@ interface IInSegmentMatcher extends ISplitMatcherBase {
48
48
  matcherType: 'IN_SEGMENT';
49
49
  userDefinedSegmentMatcherData: IInSegmentMatcherData;
50
50
  }
51
- interface IInLargeSegmentMatcher extends ISplitMatcherBase {
52
- matcherType: 'IN_LARGE_SEGMENT';
53
- userDefinedSegmentMatcherData: IInSegmentMatcherData;
54
- }
55
51
  interface IWhitelistMatcher extends ISplitMatcherBase {
56
52
  matcherType: 'WHITELIST';
57
53
  whitelistMatcherData: IWhitelistMatcherData;
@@ -132,7 +128,7 @@ interface IInListSemverMatcher extends ISplitMatcherBase {
132
128
  matcherType: 'IN_LIST_SEMVER';
133
129
  whitelistMatcherData: IWhitelistMatcherData;
134
130
  }
135
- export declare type ISplitMatcher = IAllKeysMatcher | IInSegmentMatcher | IWhitelistMatcher | IEqualToMatcher | IGreaterThanOrEqualToMatcher | ILessThanOrEqualToMatcher | IBetweenMatcher | IEqualToSetMatcher | IContainsAnyOfSetMatcher | IContainsAllOfSetMatcher | IPartOfSetMatcher | IStartsWithMatcher | IEndsWithMatcher | IContainsStringMatcher | IInSplitTreatmentMatcher | IEqualToBooleanMatcher | IMatchesStringMatcher | IEqualToSemverMatcher | IGreaterThanOrEqualToSemverMatcher | ILessThanOrEqualToSemverMatcher | IBetweenSemverMatcher | IInListSemverMatcher | IInLargeSegmentMatcher;
131
+ export declare type ISplitMatcher = IAllKeysMatcher | IInSegmentMatcher | IWhitelistMatcher | IEqualToMatcher | IGreaterThanOrEqualToMatcher | ILessThanOrEqualToMatcher | IBetweenMatcher | IEqualToSetMatcher | IContainsAnyOfSetMatcher | IContainsAllOfSetMatcher | IPartOfSetMatcher | IStartsWithMatcher | IEndsWithMatcher | IContainsStringMatcher | IInSplitTreatmentMatcher | IEqualToBooleanMatcher | IMatchesStringMatcher | IEqualToSemverMatcher | IGreaterThanOrEqualToSemverMatcher | ILessThanOrEqualToSemverMatcher | IBetweenSemverMatcher | IInListSemverMatcher;
136
132
  /** Split object */
137
133
  export interface ISplitPartition {
138
134
  treatment: string;
@@ -177,17 +173,13 @@ export interface ISegmentChangesResponse {
177
173
  since: number;
178
174
  till: number;
179
175
  }
176
+ export interface IMySegmentsResponseItem {
177
+ id: string;
178
+ name: string;
179
+ }
180
180
  /** Interface of the parsed JSON response of `/mySegments/{userKey}` */
181
181
  export interface IMySegmentsResponse {
182
- mySegments: {
183
- id: string;
184
- name: string;
185
- }[];
186
- }
187
- /** Interface of the parsed JSON response of `/myLargeSegments/{userKey}` */
188
- export interface IMyLargeSegmentsResponse {
189
- myLargeSegments: string[];
190
- changeNumber: number;
182
+ mySegments: IMySegmentsResponseItem[];
191
183
  }
192
184
  /** Metadata internal type for storages */
193
185
  export interface IMetadata {
@@ -35,6 +35,7 @@ export declare const IMPRESSION = 102;
35
35
  export declare const IMPRESSION_QUEUEING = 103;
36
36
  export declare const NEW_SHARED_CLIENT = 104;
37
37
  export declare const NEW_FACTORY = 105;
38
+ export declare const POLLING_SMART_PAUSING = 106;
38
39
  export declare const POLLING_START = 107;
39
40
  export declare const POLLING_STOP = 108;
40
41
  export declare const SYNC_SPLITS_FETCH_RETRY = 109;
@@ -1,6 +1,6 @@
1
- import { IEventEmitter, ISettings } from '../types';
1
+ import { IEventEmitter } from '../types';
2
2
  import { IReadinessManager, ISplitsEventEmitter } from './types';
3
3
  /**
4
4
  * Factory of readiness manager, which handles the ready / update event propagation.
5
5
  */
6
- export declare function readinessManagerFactory(EventEmitter: new () => IEventEmitter, settings: ISettings, splits?: ISplitsEventEmitter): IReadinessManager;
6
+ export declare function readinessManagerFactory(EventEmitter: new () => IEventEmitter, readyTimeout?: number, splits?: ISplitsEventEmitter): IReadinessManager;
@@ -1,5 +1,6 @@
1
1
  import { ISdkReadinessManager } from './types';
2
- import { IEventEmitter, ISettings } from '../types';
2
+ import { IEventEmitter } from '../types';
3
+ import { ILogger } from '../logger/types';
3
4
  /**
4
5
  * SdkReadinessManager factory, which provides the public status API of SDK clients and manager: ready promise, readiness event emitter and constants (SDK_READY, etc).
5
6
  * It also updates logs related warnings and errors.
@@ -7,4 +8,4 @@ import { IEventEmitter, ISettings } from '../types';
7
8
  * @param readyTimeout time in millis to emit SDK_READY_TIME_OUT event
8
9
  * @param readinessManager optional readinessManager to use. only used internally for `shared` method
9
10
  */
10
- export declare function sdkReadinessManagerFactory(EventEmitter: new () => IEventEmitter, settings: ISettings, readinessManager?: import("./types").IReadinessManager): ISdkReadinessManager;
11
+ export declare function sdkReadinessManagerFactory(log: ILogger, EventEmitter: new () => IEventEmitter, readyTimeout?: number, readinessManager?: import("./types").IReadinessManager): ISdkReadinessManager;
@@ -34,7 +34,6 @@ export interface IReadinessManager {
34
34
  /** Event emitters */
35
35
  splits: ISplitsEventEmitter;
36
36
  segments: ISegmentsEventEmitter;
37
- largeSegments?: ISegmentsEventEmitter;
38
37
  gate: IReadinessEventEmitter;
39
38
  /** Readiness status */
40
39
  isReady(): boolean;
@@ -46,7 +45,7 @@ export interface IReadinessManager {
46
45
  setDestroyed(): void;
47
46
  destroy(): void;
48
47
  /** for client-side */
49
- shared(): IReadinessManager;
48
+ shared(readyTimeout?: number): IReadinessManager;
50
49
  }
51
50
  /** SDK readiness manager */
52
51
  export interface ISdkReadinessManager {
@@ -58,6 +57,6 @@ export interface ISdkReadinessManager {
58
57
  */
59
58
  incInternalReadyCbCount(): void;
60
59
  /** for client-side */
61
- shared(): ISdkReadinessManager;
60
+ shared(readyTimeout?: number): ISdkReadinessManager;
62
61
  }
63
62
  export {};
@@ -0,0 +1,2 @@
1
+ import { ISettings } from '../types';
2
+ export declare function decorateHeaders(settings: ISettings, headers: Record<string, string>): Record<string, string>;
@@ -9,4 +9,4 @@ import { ITelemetryTracker } from '../trackers/types';
9
9
  * @param platform object containing environment-specific dependencies
10
10
  * @param telemetryTracker telemetry tracker
11
11
  */
12
- export declare function splitApiFactory(settings: ISettings, platform: Pick<IPlatform, 'getOptions' | 'getFetch'>, telemetryTracker: ITelemetryTracker): ISplitApi;
12
+ export declare function splitApiFactory(settings: ISettings, platform: IPlatform, telemetryTracker: ITelemetryTracker): ISplitApi;
@@ -7,4 +7,4 @@ import { IPlatform } from '../sdkFactory/types';
7
7
  * @param settings SDK settings, used to access authorizationKey, logger instance and metadata (SDK version, ip and hostname) to set additional headers
8
8
  * @param platform object containing environment-specific dependencies
9
9
  */
10
- export declare function splitHttpClientFactory(settings: ISettings, { getOptions, getFetch }: Pick<IPlatform, 'getOptions' | 'getFetch'>): ISplitHttpClient;
10
+ export declare function splitHttpClientFactory(settings: ISettings, { getOptions, getFetch }: IPlatform): ISplitHttpClient;
@@ -33,7 +33,6 @@ export interface ISplitApi {
33
33
  fetchSplitChanges: IFetchSplitChanges;
34
34
  fetchSegmentChanges: IFetchSegmentChanges;
35
35
  fetchMySegments: IFetchMySegments;
36
- fetchMyLargeSegments: IFetchMySegments;
37
36
  postEventsBulk: IPostEventsBulk;
38
37
  postUniqueKeysBulkCs: IPostUniqueKeysBulkCs;
39
38
  postUniqueKeysBulkSs: IPostUniqueKeysBulkSs;
@@ -18,7 +18,7 @@ export declare abstract class AbstractSplitsCacheAsync implements ISplitsCacheAs
18
18
  abstract getNamesByFlagSets(flagSets: string[]): Promise<ISet<string>[]>;
19
19
  abstract trafficTypeExists(trafficType: string): Promise<boolean>;
20
20
  abstract clear(): Promise<boolean | void>;
21
- usesMatcher(): Promise<boolean>;
21
+ usesSegments(): Promise<boolean>;
22
22
  /**
23
23
  * Check if the splits information is already stored in cache.
24
24
  * Noop, just keeping the interface. This is used by client-side implementations only.
@@ -17,7 +17,7 @@ export declare abstract class AbstractSplitsCacheSync implements ISplitsCacheSyn
17
17
  getAll(): ISplit[];
18
18
  abstract getSplitNames(): string[];
19
19
  abstract trafficTypeExists(trafficType: string): boolean;
20
- abstract usesMatcher(matcherType: string): boolean;
20
+ abstract usesSegments(): boolean;
21
21
  abstract clear(): void;
22
22
  /**
23
23
  * Check if the splits information is already stored in cache. This data can be preloaded.
@@ -39,6 +39,6 @@ export declare abstract class AbstractSplitsCacheSync implements ISplitsCacheSyn
39
39
  }
40
40
  /**
41
41
  * Given a parsed split, it returns a boolean flagging if its conditions use segments matchers (rules & whitelists).
42
- * This util is intended to simplify the implementation of `splitsCache::usesMatcher` method
42
+ * This util is intended to simplify the implementation of `splitsCache::usesSegments` method
43
43
  */
44
- export declare function usesMatcher(split: ISplit, matcherType: string): boolean;
44
+ export declare function usesSegments(split: ISplit): boolean;
@@ -10,7 +10,6 @@ export declare class KeyBuilder {
10
10
  isSplitKey(key: string): boolean;
11
11
  buildSplitKeyPrefix(): string;
12
12
  buildSplitsWithSegmentCountKey(): string;
13
- buildSplitsWithLargeSegmentCountKey(): string;
14
13
  buildSegmentNameKey(segmentName: string): string;
15
14
  buildSegmentTillKey(segmentName: string): string;
16
15
  extractKey(builtKey: string): string;
@@ -1,10 +1,5 @@
1
1
  import { KeyBuilder } from './KeyBuilder';
2
- export interface MySegmentsKeyBuilder {
3
- buildSegmentNameKey(segmentName: string): string;
4
- extractSegmentName(builtSegmentKeyName: string): string | undefined;
5
- extractOldSegmentKey(builtSegmentKeyName: string): string | undefined;
6
- }
7
- export declare class KeyBuilderCS extends KeyBuilder implements MySegmentsKeyBuilder {
2
+ export declare class KeyBuilderCS extends KeyBuilder {
8
3
  protected readonly regexSplitsCacheKey: RegExp;
9
4
  protected readonly matchingKey: string;
10
5
  constructor(prefix: string, matchingKey: string);
@@ -13,8 +8,8 @@ export declare class KeyBuilderCS extends KeyBuilder implements MySegmentsKeyBui
13
8
  */
14
9
  buildSegmentNameKey(segmentName: string): string;
15
10
  extractSegmentName(builtSegmentKeyName: string): string | undefined;
11
+ buildOldSegmentNameKey(segmentName: string): string;
16
12
  extractOldSegmentKey(builtSegmentKeyName: string): string | undefined;
17
13
  buildLastUpdatedKey(): string;
18
14
  isSplitsCacheKey(key: string): boolean;
19
15
  }
20
- export declare function myLargeSegmentsKeyBuilder(prefix: string, matchingKey: string): MySegmentsKeyBuilder;
@@ -1,10 +1,10 @@
1
1
  import { ILogger } from '../../logger/types';
2
2
  import { AbstractSegmentsCacheSync } from '../AbstractSegmentsCacheSync';
3
- import type { MySegmentsKeyBuilder } from '../KeyBuilderCS';
3
+ import { KeyBuilderCS } from '../KeyBuilderCS';
4
4
  export declare class MySegmentsCacheInLocal extends AbstractSegmentsCacheSync {
5
5
  private readonly keys;
6
6
  private readonly log;
7
- constructor(log: ILogger, keys: MySegmentsKeyBuilder);
7
+ constructor(log: ILogger, keys: KeyBuilderCS);
8
8
  /**
9
9
  * Removes list of segments from localStorage
10
10
  * @NOTE this method is not being used at the moment.
@@ -34,7 +34,7 @@ export declare class SplitsCacheInLocal extends AbstractSplitsCacheSync {
34
34
  getChangeNumber(): number;
35
35
  getSplitNames(): string[];
36
36
  trafficTypeExists(trafficType: string): boolean;
37
- usesMatcher(matcherType: string): boolean;
37
+ usesSegments(): boolean;
38
38
  /**
39
39
  * Check if the splits information is already stored in browser LocalStorage.
40
40
  * In this function we could add more code to check if the data is valid.
@@ -10,8 +10,7 @@ export declare class SplitsCacheInMemory extends AbstractSplitsCacheSync {
10
10
  private splitsCache;
11
11
  private ttCache;
12
12
  private changeNumber;
13
- private segmentsCount;
14
- private largeSegmentsCount;
13
+ private splitsWithSegmentsCount;
15
14
  private flagSetsCache;
16
15
  constructor(splitFiltersValidation?: ISplitFiltersValidation);
17
16
  clear(): void;
@@ -22,7 +21,7 @@ export declare class SplitsCacheInMemory extends AbstractSplitsCacheSync {
22
21
  getChangeNumber(): number;
23
22
  getSplitNames(): string[];
24
23
  trafficTypeExists(trafficType: string): boolean;
25
- usesMatcher(matcherType: string): boolean;
24
+ usesSegments(): boolean;
26
25
  getNamesByFlagSets(flagSets: string[]): ISet<string>[];
27
26
  private addToFlagSets;
28
27
  private removeFromFlagSets;
@@ -1,4 +1,4 @@
1
- import { ImpressionDataType, EventDataType, StreamingEvent, Method, OperationType, TelemetryUsageStatsPayload, UpdatesFromSSEEnum, UpdatesFromSSE } from '../../sync/submitters/types';
1
+ import { ImpressionDataType, EventDataType, StreamingEvent, Method, OperationType, TelemetryUsageStatsPayload, UpdatesFromSSEEnum } from '../../sync/submitters/types';
2
2
  import { ISegmentsCacheSync, ISplitsCacheSync, IStorageFactoryParams, ITelemetryCacheSync } from '../types';
3
3
  export declare const MAX_LATENCY_BUCKET_COUNT = 23;
4
4
  export declare function newBuckets(): number[];
@@ -10,8 +10,7 @@ export declare function shouldRecordTelemetry({ settings }: IStorageFactoryParam
10
10
  export declare class TelemetryCacheInMemory implements ITelemetryCacheSync {
11
11
  private splits?;
12
12
  private segments?;
13
- private largeSegments?;
14
- constructor(splits?: ISplitsCacheSync | undefined, segments?: ISegmentsCacheSync | undefined, largeSegments?: ISegmentsCacheSync | undefined);
13
+ constructor(splits?: ISplitsCacheSync | undefined, segments?: ISegmentsCacheSync | undefined);
15
14
  private e;
16
15
  isEmpty(): boolean;
17
16
  clear(): void;
@@ -66,6 +65,9 @@ export declare class TelemetryCacheInMemory implements ITelemetryCacheSync {
66
65
  popLatencies(): Partial<Record<Method, number[]>>;
67
66
  recordLatency(method: Method, latencyMs: number): void;
68
67
  private updatesFromSSE;
69
- popUpdatesFromSSE(): UpdatesFromSSE;
68
+ popUpdatesFromSSE(): {
69
+ sp: number;
70
+ ms: number;
71
+ };
70
72
  recordUpdatesFromSSE(type: UpdatesFromSSEEnum): void;
71
73
  }
@@ -5,7 +5,7 @@ import { ISet } from '../../utils/lang/sets';
5
5
  * The `_cache` property is the object were items are stored.
6
6
  * Intended for testing purposes.
7
7
  *
8
- * @param connDelay delay in millis for `connect` resolve. If not provided, `connect` resolves immediately.
8
+ * @param connDelay delay in millis for `connect` resolve. If not provided, `connect` resolves inmediatelly.
9
9
  */
10
10
  export declare function inMemoryWrapperFactory(connDelay?: number): IPluggableStorageWrapper & {
11
11
  _cache: Record<string, string | string[] | ISet<string>>;
@@ -189,7 +189,7 @@ export interface ISplitsCacheBase {
189
189
  getAll(): MaybeThenable<ISplit[]>;
190
190
  getSplitNames(): MaybeThenable<string[]>;
191
191
  trafficTypeExists(trafficType: string): MaybeThenable<boolean>;
192
- usesMatcher(matcherType: string): MaybeThenable<boolean>;
192
+ usesSegments(): MaybeThenable<boolean>;
193
193
  clear(): MaybeThenable<boolean | void>;
194
194
  checkCache(): MaybeThenable<boolean>;
195
195
  killLocally(name: string, defaultTreatment: string, changeNumber: number): MaybeThenable<boolean>;
@@ -205,7 +205,7 @@ export interface ISplitsCacheSync extends ISplitsCacheBase {
205
205
  getAll(): ISplit[];
206
206
  getSplitNames(): string[];
207
207
  trafficTypeExists(trafficType: string): boolean;
208
- usesMatcher(matcherType: string): boolean;
208
+ usesSegments(): boolean;
209
209
  clear(): void;
210
210
  checkCache(): boolean;
211
211
  killLocally(name: string, defaultTreatment: string, changeNumber: number): boolean;
@@ -221,7 +221,7 @@ export interface ISplitsCacheAsync extends ISplitsCacheBase {
221
221
  getAll(): Promise<ISplit[]>;
222
222
  getSplitNames(): Promise<string[]>;
223
223
  trafficTypeExists(trafficType: string): Promise<boolean>;
224
- usesMatcher(matcherType: string): Promise<boolean>;
224
+ usesSegments(): Promise<boolean>;
225
225
  clear(): Promise<boolean | void>;
226
226
  checkCache(): Promise<boolean>;
227
227
  killLocally(name: string, defaultTreatment: string, changeNumber: number): Promise<boolean>;
@@ -388,7 +388,6 @@ export interface IStorageBase<TSplitsCache extends ISplitsCacheBase, TSegmentsCa
388
388
  shared?: (matchingKey: string, onReadyCb: (error?: any) => void) => this;
389
389
  }
390
390
  export interface IStorageSync extends IStorageBase<ISplitsCacheSync, ISegmentsCacheSync, IImpressionsCacheSync, IImpressionCountsCacheSync, IEventsCacheSync, ITelemetryCacheSync, IUniqueKeysCacheSync> {
391
- largeSegments?: ISegmentsCacheSync;
392
391
  }
393
392
  export interface IStorageAsync extends IStorageBase<ISplitsCacheAsync, ISegmentsCacheAsync, IImpressionsCacheAsync | IImpressionsCacheSync, IImpressionCountsCacheBase, IEventsCacheAsync | IEventsCacheSync, ITelemetryCacheAsync | ITelemetryCacheSync, IUniqueKeysCacheBase> {
394
393
  }
@@ -1,8 +1,9 @@
1
- import { ISegmentsCacheSync } from '../../../storages/types';
1
+ import { IStorageSync } from '../../../storages/types';
2
+ import { IReadinessManager } from '../../../readiness/types';
2
3
  import { IMySegmentsSyncTask } from '../types';
3
4
  import { IFetchMySegments } from '../../../services/types';
4
5
  import { ISettings } from '../../../types';
5
6
  /**
6
7
  * Creates a sync task that periodically executes a `mySegmentsUpdater` task
7
8
  */
8
- export declare function mySegmentsSyncTaskFactory(fetchMySegments: IFetchMySegments, mySegmentsCache: ISegmentsCacheSync, notifyUpdate: () => void, settings: ISettings, matchingKey: string, segmentsRefreshRate: number, NAME: string): IMySegmentsSyncTask;
9
+ export declare function mySegmentsSyncTaskFactory(fetchMySegments: IFetchMySegments, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings, matchingKey: string): IMySegmentsSyncTask;
@@ -12,26 +12,19 @@ export interface ISegmentsSyncTask extends ISyncTask<[fetchOnlyNew?: boolean, se
12
12
  export declare type MySegmentsData = string[] | {
13
13
  name: string;
14
14
  add: boolean;
15
- }[];
15
+ };
16
16
  export interface IMySegmentsSyncTask extends ISyncTask<[segmentsData?: MySegmentsData, noCache?: boolean], boolean> {
17
17
  }
18
18
  export interface IPollingManager extends ITask {
19
19
  syncAll(): Promise<any>;
20
20
  splitsSyncTask: ISplitsSyncTask;
21
21
  segmentsSyncTask: ISyncTask;
22
- largeSegmentsSyncTask?: ISyncTask;
23
22
  }
24
23
  /**
25
24
  * PollingManager for client-side with support for multiple clients
26
25
  */
27
26
  export interface IPollingManagerCS extends IPollingManager {
28
- add(matchingKey: string, readiness: IReadinessManager, storage: IStorageSync): {
29
- msSyncTask: IMySegmentsSyncTask;
30
- mlsSyncTask?: IMySegmentsSyncTask;
31
- };
27
+ add(matchingKey: string, readiness: IReadinessManager, storage: IStorageSync): IMySegmentsSyncTask;
32
28
  remove(matchingKey: string): void;
33
- get(matchingKey: string): {
34
- msSyncTask: IMySegmentsSyncTask;
35
- mlsSyncTask?: IMySegmentsSyncTask;
36
- } | undefined;
29
+ get(matchingKey: string): IMySegmentsSyncTask | undefined;
37
30
  }
@@ -1,13 +1,13 @@
1
1
  import { IMySegmentsFetcher } from '../fetchers/types';
2
- import { ISegmentsCacheSync } from '../../../storages/types';
2
+ import { ISegmentsCacheSync, ISplitsCacheSync } from '../../../storages/types';
3
+ import { ISegmentsEventEmitter } from '../../../readiness/types';
3
4
  import { ILogger } from '../../../logger/types';
4
- import { MySegmentsData } from '../types';
5
- declare type IMySegmentsUpdater = (segmentList?: MySegmentsData, noCache?: boolean) => Promise<boolean>;
5
+ declare type IMySegmentsUpdater = (segmentList?: string[], noCache?: boolean) => Promise<boolean>;
6
6
  /**
7
7
  * factory of MySegments updater, a task that:
8
8
  * - fetches mySegments using `mySegmentsFetcher`
9
9
  * - updates `mySegmentsCache`
10
10
  * - uses `segmentsEventEmitter` to emit events related to segments data updates
11
11
  */
12
- export declare function mySegmentsUpdaterFactory(log: ILogger, mySegmentsFetcher: IMySegmentsFetcher, mySegmentsCache: ISegmentsCacheSync, notifyUpdate: () => void, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number, matchingKey: string): IMySegmentsUpdater;
12
+ export declare function mySegmentsUpdaterFactory(log: ILogger, mySegmentsFetcher: IMySegmentsFetcher, splitsCache: ISplitsCacheSync, mySegmentsCache: ISegmentsCacheSync, segmentsEventEmitter: ISegmentsEventEmitter, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number, matchingKey: string): IMySegmentsUpdater;
13
13
  export {};
@@ -14,7 +14,6 @@ export declare class SSEClient implements ISSEClient {
14
14
  useHeaders?: boolean;
15
15
  headers: Record<string, string>;
16
16
  options?: object;
17
- lse?: boolean;
18
17
  /**
19
18
  * SSEClient constructor.
20
19
  *
@@ -1,5 +1,5 @@
1
1
  import { ControlType } from '../constants';
2
- import { MY_SEGMENTS_UPDATE, MY_SEGMENTS_UPDATE_V2, SEGMENT_UPDATE, SPLIT_UPDATE, SPLIT_KILL, CONTROL, OCCUPANCY, MY_LARGE_SEGMENTS_UPDATE } from '../types';
2
+ import { MY_SEGMENTS_UPDATE, MY_SEGMENTS_UPDATE_V2, SEGMENT_UPDATE, SPLIT_UPDATE, SPLIT_KILL, CONTROL, OCCUPANCY } from '../types';
3
3
  export interface IMySegmentsUpdateData {
4
4
  type: MY_SEGMENTS_UPDATE;
5
5
  changeNumber: number;
@@ -29,17 +29,6 @@ export interface IMySegmentsUpdateV2Data {
29
29
  d: string;
30
30
  u: UpdateStrategy;
31
31
  }
32
- export interface IMyLargeSegmentsUpdateData {
33
- type: MY_LARGE_SEGMENTS_UPDATE;
34
- changeNumber: number;
35
- largeSegments: string[];
36
- c: Compression;
37
- d: string;
38
- u: UpdateStrategy;
39
- i?: number;
40
- h?: number;
41
- s?: number;
42
- }
43
32
  export interface ISegmentUpdateData {
44
33
  type: SEGMENT_UPDATE;
45
34
  changeNumber: number;
@@ -68,7 +57,7 @@ export interface IOccupancyData {
68
57
  publishers: number;
69
58
  };
70
59
  }
71
- export declare type INotificationData = IMySegmentsUpdateData | IMySegmentsUpdateV2Data | IMyLargeSegmentsUpdateData | ISegmentUpdateData | ISplitUpdateData | ISplitKillData | IControlData | IOccupancyData;
60
+ export declare type INotificationData = IMySegmentsUpdateData | IMySegmentsUpdateV2Data | ISegmentUpdateData | ISplitUpdateData | ISplitKillData | IControlData | IOccupancyData;
72
61
  export declare type INotificationMessage = {
73
62
  parsedData: INotificationData;
74
63
  channel: string;
@@ -1,8 +1,7 @@
1
- import { IMySegmentsSyncTask, MySegmentsData } from '../../polling/types';
1
+ import { IMySegmentsSyncTask } from '../../polling/types';
2
2
  import { IUpdateWorker } from './types';
3
3
  import { ITelemetryTracker } from '../../../trackers/types';
4
- import { UpdatesFromSSEEnum } from '../../submitters/types';
5
4
  /**
6
5
  * MySegmentsUpdateWorker factory
7
6
  */
8
- export declare function MySegmentsUpdateWorker(mySegmentsSyncTask: IMySegmentsSyncTask, telemetryTracker: ITelemetryTracker, updateType: UpdatesFromSSEEnum): IUpdateWorker<[changeNumber: number, segmentsData?: MySegmentsData, delay?: number]>;
7
+ export declare function MySegmentsUpdateWorker(mySegmentsSyncTask: IMySegmentsSyncTask, telemetryTracker: ITelemetryTracker): IUpdateWorker;
@@ -1,9 +1,8 @@
1
1
  import { ILogger } from '../../../logger/types';
2
2
  import { ISegmentsCacheSync } from '../../../storages/types';
3
3
  import { ISegmentsSyncTask } from '../../polling/types';
4
- import { ISegmentUpdateData } from '../SSEHandler/types';
5
4
  import { IUpdateWorker } from './types';
6
5
  /**
7
6
  * SegmentsUpdateWorker factory
8
7
  */
9
- export declare function SegmentsUpdateWorker(log: ILogger, segmentsSyncTask: ISegmentsSyncTask, segmentsCache: ISegmentsCacheSync): IUpdateWorker<[ISegmentUpdateData]>;
8
+ export declare function SegmentsUpdateWorker(log: ILogger, segmentsSyncTask: ISegmentsSyncTask, segmentsCache: ISegmentsCacheSync): IUpdateWorker;
@@ -1,14 +1,13 @@
1
- import { ISplit } from '../../../dtos/types';
2
1
  import { ILogger } from '../../../logger/types';
3
2
  import { ISplitsEventEmitter } from '../../../readiness/types';
4
3
  import { ISplitsCacheSync } from '../../../storages/types';
5
4
  import { ITelemetryTracker } from '../../../trackers/types';
6
5
  import { ISegmentsSyncTask, ISplitsSyncTask } from '../../polling/types';
7
- import { ISplitKillData, ISplitUpdateData } from '../SSEHandler/types';
6
+ import { ISplitKillData } from '../SSEHandler/types';
8
7
  import { IUpdateWorker } from './types';
9
8
  /**
10
9
  * SplitsUpdateWorker factory
11
10
  */
12
- export declare function SplitsUpdateWorker(log: ILogger, splitsCache: ISplitsCacheSync, splitsSyncTask: ISplitsSyncTask, splitsEventEmitter: ISplitsEventEmitter, telemetryTracker: ITelemetryTracker, segmentsSyncTask?: ISegmentsSyncTask): IUpdateWorker<[updateData: ISplitUpdateData, payload?: ISplit]> & {
11
+ export declare function SplitsUpdateWorker(log: ILogger, splitsCache: ISplitsCacheSync, splitsSyncTask: ISplitsSyncTask, splitsEventEmitter: ISplitsEventEmitter, telemetryTracker: ITelemetryTracker, segmentsSyncTask?: ISegmentsSyncTask): IUpdateWorker & {
13
12
  killSplit(event: ISplitKillData): void;
14
13
  };
@@ -1,4 +1,4 @@
1
- export interface IUpdateWorker<T extends any[]> {
1
+ export interface IUpdateWorker {
2
2
  stop(): void;
3
- put(...args: T): void;
3
+ put(...args: any[]): void;
4
4
  }
@@ -24,7 +24,6 @@ export declare const MY_SEGMENTS_UPDATE_V2 = "MY_SEGMENTS_UPDATE_V2";
24
24
  export declare const SEGMENT_UPDATE = "SEGMENT_UPDATE";
25
25
  export declare const SPLIT_KILL = "SPLIT_KILL";
26
26
  export declare const SPLIT_UPDATE = "SPLIT_UPDATE";
27
- export declare const MY_LARGE_SEGMENTS_UPDATE = "MY_LARGE_SEGMENTS_UPDATE";
28
27
  export declare const CONTROL = "CONTROL";
29
28
  export declare const OCCUPANCY = "OCCUPANCY";
30
29
  export declare enum ControlType {
@@ -1,5 +1,4 @@
1
1
  import { Compression, KeyList } from './SSEHandler/types';
2
- import { ISplit } from '../../dtos/types';
3
2
  /**
4
3
  * Decode, decompress and parse the provided 'data' into a KeyList object
5
4
  *
@@ -29,5 +28,8 @@ export declare function parseBitmap(data: string, compression: Compression): Uin
29
28
  export declare function isInBitmap(bitmap: Uint8Array, hash64hex: string): boolean;
30
29
  /**
31
30
  * Parse feature flags notifications for instant feature flag updates
31
+ *
32
+ * @param {ISplitUpdateData} data
33
+ * @returns {KeyList}
32
34
  */
33
- export declare function parseFFUpdatePayload(compression: Compression, data: string): ISplit | undefined;
35
+ export declare function parseFFUpdatePayload(compression: Compression, data: string): KeyList | undefined;
@@ -1,8 +1,6 @@
1
1
  import { IPushManager } from './types';
2
2
  import { IPollingManager } from '../polling/types';
3
- import { IMyLargeSegmentsUpdateData } from './SSEHandler/types';
4
3
  import { ISdkFactoryContextSync } from '../../sdkFactory/types';
5
- export declare function getDelay(parsedData: Pick<IMyLargeSegmentsUpdateData, 'i' | 'h' | 's'>, matchingKey: string): number;
6
4
  /**
7
5
  * PushManager factory:
8
6
  * - for server-side if key is not provided in settings.
@@ -1,4 +1,4 @@
1
- import { IMySegmentsUpdateData, IMySegmentsUpdateV2Data, ISegmentUpdateData, ISplitUpdateData, ISplitKillData, IMyLargeSegmentsUpdateData } from './SSEHandler/types';
1
+ import { IMySegmentsUpdateData, IMySegmentsUpdateV2Data, ISegmentUpdateData, ISplitUpdateData, ISplitKillData } from './SSEHandler/types';
2
2
  import { ITask } from '../types';
3
3
  import { IMySegmentsSyncTask } from '../polling/types';
4
4
  import { IEventEmitter } from '../../types';
@@ -12,11 +12,10 @@ export declare type MY_SEGMENTS_UPDATE_V2 = 'MY_SEGMENTS_UPDATE_V2';
12
12
  export declare type SEGMENT_UPDATE = 'SEGMENT_UPDATE';
13
13
  export declare type SPLIT_KILL = 'SPLIT_KILL';
14
14
  export declare type SPLIT_UPDATE = 'SPLIT_UPDATE';
15
- export declare type MY_LARGE_SEGMENTS_UPDATE = 'MY_LARGE_SEGMENTS_UPDATE';
16
15
  export declare type CONTROL = 'CONTROL';
17
16
  export declare type OCCUPANCY = 'OCCUPANCY';
18
- export declare type IPushEvent = PUSH_SUBSYSTEM_UP | PUSH_SUBSYSTEM_DOWN | PUSH_NONRETRYABLE_ERROR | PUSH_RETRYABLE_ERROR | MY_SEGMENTS_UPDATE | MY_SEGMENTS_UPDATE_V2 | SEGMENT_UPDATE | SPLIT_UPDATE | SPLIT_KILL | MY_LARGE_SEGMENTS_UPDATE | ControlType.STREAMING_RESET;
19
- declare type IParsedData<T extends IPushEvent> = T extends MY_SEGMENTS_UPDATE ? IMySegmentsUpdateData : T extends MY_SEGMENTS_UPDATE_V2 ? IMySegmentsUpdateV2Data : T extends MY_LARGE_SEGMENTS_UPDATE ? IMyLargeSegmentsUpdateData : T extends SEGMENT_UPDATE ? ISegmentUpdateData : T extends SPLIT_UPDATE ? ISplitUpdateData : T extends SPLIT_KILL ? ISplitKillData : undefined;
17
+ export declare type IPushEvent = PUSH_SUBSYSTEM_UP | PUSH_SUBSYSTEM_DOWN | PUSH_NONRETRYABLE_ERROR | PUSH_RETRYABLE_ERROR | MY_SEGMENTS_UPDATE | MY_SEGMENTS_UPDATE_V2 | SEGMENT_UPDATE | SPLIT_UPDATE | SPLIT_KILL | ControlType.STREAMING_RESET;
18
+ declare type IParsedData<T extends IPushEvent> = T extends MY_SEGMENTS_UPDATE ? IMySegmentsUpdateData : T extends MY_SEGMENTS_UPDATE_V2 ? IMySegmentsUpdateV2Data : T extends SEGMENT_UPDATE ? ISegmentUpdateData : T extends SPLIT_UPDATE ? ISplitUpdateData : T extends SPLIT_KILL ? ISplitKillData : undefined;
20
19
  /**
21
20
  * EventEmitter used as Feedback Loop between the SyncManager and PushManager,
22
21
  * where the latter pushes messages and the former consumes it
@@ -30,7 +29,7 @@ export interface IPushEventEmitter extends IEventEmitter {
30
29
  * PushManager
31
30
  */
32
31
  export interface IPushManager extends ITask, IPushEventEmitter {
33
- add(userKey: string, mySegmentsSyncTask: IMySegmentsSyncTask, myLargeSegmentsSyncTask?: IMySegmentsSyncTask): void;
32
+ add(userKey: string, mySegmentsSyncTask: IMySegmentsSyncTask): void;
34
33
  remove(userKey: string): void;
35
34
  }
36
35
  export {};
@@ -90,7 +90,7 @@ export declare type DROPPED = 1;
90
90
  export declare type DEDUPED = 2;
91
91
  export declare type ImpressionDataType = QUEUED | DROPPED | DEDUPED;
92
92
  export declare type EventDataType = QUEUED | DROPPED;
93
- export declare type UpdatesFromSSEEnum = SPLITS | MY_SEGMENT | MY_LARGE_SEGMENT;
93
+ export declare type UpdatesFromSSEEnum = SPLITS | MY_SEGMENT;
94
94
  export declare type SPLITS = 'sp';
95
95
  export declare type IMPRESSIONS = 'im';
96
96
  export declare type IMPRESSIONS_COUNT = 'ic';
@@ -99,8 +99,7 @@ export declare type TELEMETRY = 'te';
99
99
  export declare type TOKEN = 'to';
100
100
  export declare type SEGMENT = 'se';
101
101
  export declare type MY_SEGMENT = 'ms';
102
- export declare type MY_LARGE_SEGMENT = 'mls';
103
- export declare type OperationType = SPLITS | IMPRESSIONS | IMPRESSIONS_COUNT | EVENTS | TELEMETRY | TOKEN | SEGMENT | MY_SEGMENT | MY_LARGE_SEGMENT;
102
+ export declare type OperationType = SPLITS | IMPRESSIONS | IMPRESSIONS_COUNT | EVENTS | TELEMETRY | TOKEN | SEGMENT | MY_SEGMENT;
104
103
  export declare type LastSync = Partial<Record<OperationType, number | undefined>>;
105
104
  export declare type HttpErrors = Partial<Record<OperationType, {
106
105
  [statusCode: string]: number;
@@ -137,9 +136,8 @@ export declare type TelemetryUsageStats = {
137
136
  mE?: MethodExceptions;
138
137
  };
139
138
  export declare type UpdatesFromSSE = {
140
- sp?: number;
139
+ sp: number;
141
140
  ms?: number;
142
- mls?: number;
143
141
  };
144
142
  export declare type TelemetryUsageStatsPayload = TelemetryUsageStats & {
145
143
  lS: LastSync;
@@ -153,8 +151,6 @@ export declare type TelemetryUsageStatsPayload = TelemetryUsageStats & {
153
151
  spC?: number;
154
152
  seC?: number;
155
153
  skC?: number;
156
- lseC?: number;
157
- lskC?: number;
158
154
  sL?: number;
159
155
  eQ: number;
160
156
  eD: number;
@@ -177,7 +173,6 @@ export declare type RefreshRates = {
177
173
  sp: number;
178
174
  se?: number;
179
175
  ms?: number;
180
- mls?: number;
181
176
  im: number;
182
177
  ev: number;
183
178
  te: number;
@@ -198,8 +193,6 @@ export declare type TelemetryConfigStats = {
198
193
  };
199
194
  export declare type TelemetryConfigStatsPayload = TelemetryConfigStats & {
200
195
  sE: boolean;
201
- lsE?: boolean;
202
- wls?: boolean;
203
196
  rR: RefreshRates;
204
197
  uO: UrlOverrides;
205
198
  iQ: number;