@fluidframework/container-runtime 2.0.0-internal.5.3.2 → 2.0.0-internal.6.0.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 (290) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/batchTracker.d.ts +2 -1
  3. package/dist/batchTracker.d.ts.map +1 -1
  4. package/dist/batchTracker.js +1 -1
  5. package/dist/batchTracker.js.map +1 -1
  6. package/dist/blobManager.d.ts +13 -2
  7. package/dist/blobManager.d.ts.map +1 -1
  8. package/dist/blobManager.js +103 -25
  9. package/dist/blobManager.js.map +1 -1
  10. package/dist/connectionTelemetry.d.ts.map +1 -1
  11. package/dist/connectionTelemetry.js +12 -4
  12. package/dist/connectionTelemetry.js.map +1 -1
  13. package/dist/containerRuntime.d.ts +69 -22
  14. package/dist/containerRuntime.d.ts.map +1 -1
  15. package/dist/containerRuntime.js +344 -238
  16. package/dist/containerRuntime.js.map +1 -1
  17. package/dist/dataStore.js +11 -2
  18. package/dist/dataStore.js.map +1 -1
  19. package/dist/dataStoreContext.d.ts +1 -1
  20. package/dist/dataStoreContext.d.ts.map +1 -1
  21. package/dist/dataStoreContext.js +40 -44
  22. package/dist/dataStoreContext.js.map +1 -1
  23. package/dist/dataStoreContexts.js +1 -1
  24. package/dist/dataStoreContexts.js.map +1 -1
  25. package/dist/dataStores.d.ts +21 -5
  26. package/dist/dataStores.d.ts.map +1 -1
  27. package/dist/dataStores.js +102 -58
  28. package/dist/dataStores.js.map +1 -1
  29. package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
  30. package/dist/deltaManagerSummarizerProxy.js +2 -0
  31. package/dist/deltaManagerSummarizerProxy.js.map +1 -1
  32. package/dist/deltaScheduler.d.ts.map +1 -1
  33. package/dist/deltaScheduler.js +5 -5
  34. package/dist/deltaScheduler.js.map +1 -1
  35. package/dist/gc/garbageCollection.d.ts.map +1 -1
  36. package/dist/gc/garbageCollection.js +29 -25
  37. package/dist/gc/garbageCollection.js.map +1 -1
  38. package/dist/gc/gcConfigs.js +13 -11
  39. package/dist/gc/gcConfigs.js.map +1 -1
  40. package/dist/gc/gcHelpers.d.ts +1 -0
  41. package/dist/gc/gcHelpers.d.ts.map +1 -1
  42. package/dist/gc/gcHelpers.js +5 -6
  43. package/dist/gc/gcHelpers.js.map +1 -1
  44. package/dist/gc/gcSummaryStateTracker.js +4 -6
  45. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  46. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  47. package/dist/gc/gcTelemetry.js +44 -33
  48. package/dist/gc/gcTelemetry.js.map +1 -1
  49. package/dist/id-compressor/idCompressor.d.ts +3 -3
  50. package/dist/id-compressor/idCompressor.d.ts.map +1 -1
  51. package/dist/id-compressor/idCompressor.js +52 -52
  52. package/dist/id-compressor/idCompressor.js.map +1 -1
  53. package/dist/id-compressor/idRange.js +2 -2
  54. package/dist/id-compressor/idRange.js.map +1 -1
  55. package/dist/id-compressor/sessionIdNormalizer.js +11 -16
  56. package/dist/id-compressor/sessionIdNormalizer.js.map +1 -1
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/opLifecycle/batchManager.js +10 -6
  61. package/dist/opLifecycle/batchManager.js.map +1 -1
  62. package/dist/opLifecycle/opCompressor.d.ts +2 -2
  63. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  64. package/dist/opLifecycle/opCompressor.js +7 -2
  65. package/dist/opLifecycle/opCompressor.js.map +1 -1
  66. package/dist/opLifecycle/opDecompressor.d.ts +2 -2
  67. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  68. package/dist/opLifecycle/opDecompressor.js +12 -10
  69. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  70. package/dist/opLifecycle/opGroupingManager.js +13 -5
  71. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  72. package/dist/opLifecycle/opSplitter.d.ts +2 -2
  73. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  74. package/dist/opLifecycle/opSplitter.js +11 -7
  75. package/dist/opLifecycle/opSplitter.js.map +1 -1
  76. package/dist/opLifecycle/outbox.d.ts +6 -5
  77. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  78. package/dist/opLifecycle/outbox.js +6 -14
  79. package/dist/opLifecycle/outbox.js.map +1 -1
  80. package/dist/opLifecycle/remoteMessageProcessor.d.ts +6 -1
  81. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  82. package/dist/opLifecycle/remoteMessageProcessor.js +8 -2
  83. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  84. package/dist/opProperties.js +1 -2
  85. package/dist/opProperties.js.map +1 -1
  86. package/dist/packageVersion.d.ts +1 -1
  87. package/dist/packageVersion.js +1 -1
  88. package/dist/packageVersion.js.map +1 -1
  89. package/dist/pendingStateManager.d.ts +6 -3
  90. package/dist/pendingStateManager.d.ts.map +1 -1
  91. package/dist/pendingStateManager.js +41 -32
  92. package/dist/pendingStateManager.js.map +1 -1
  93. package/dist/scheduleManager.d.ts.map +1 -1
  94. package/dist/scheduleManager.js +15 -11
  95. package/dist/scheduleManager.js.map +1 -1
  96. package/dist/summary/orderedClientElection.d.ts +2 -1
  97. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  98. package/dist/summary/orderedClientElection.js +18 -19
  99. package/dist/summary/orderedClientElection.js.map +1 -1
  100. package/dist/summary/runningSummarizer.d.ts +3 -5
  101. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  102. package/dist/summary/runningSummarizer.js +42 -66
  103. package/dist/summary/runningSummarizer.js.map +1 -1
  104. package/dist/summary/summarizer.js +5 -8
  105. package/dist/summary/summarizer.js.map +1 -1
  106. package/dist/summary/summarizerClientElection.js +5 -9
  107. package/dist/summary/summarizerClientElection.js.map +1 -1
  108. package/dist/summary/summarizerHeuristics.js +8 -12
  109. package/dist/summary/summarizerHeuristics.js.map +1 -1
  110. package/dist/summary/summarizerNode/summarizerNode.d.ts +5 -5
  111. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  112. package/dist/summary/summarizerNode/summarizerNode.js +26 -22
  113. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  114. package/dist/summary/summarizerNode/summarizerNodeUtils.js +2 -4
  115. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  116. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +4 -3
  117. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  118. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +13 -16
  119. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  120. package/dist/summary/summaryCollection.js +3 -5
  121. package/dist/summary/summaryCollection.js.map +1 -1
  122. package/dist/summary/summaryFormat.js +1 -2
  123. package/dist/summary/summaryFormat.js.map +1 -1
  124. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  125. package/dist/summary/summaryGenerator.js +67 -21
  126. package/dist/summary/summaryGenerator.js.map +1 -1
  127. package/dist/summary/summaryManager.d.ts +2 -3
  128. package/dist/summary/summaryManager.d.ts.map +1 -1
  129. package/dist/summary/summaryManager.js +9 -7
  130. package/dist/summary/summaryManager.js.map +1 -1
  131. package/lib/batchTracker.d.ts +2 -1
  132. package/lib/batchTracker.d.ts.map +1 -1
  133. package/lib/batchTracker.js +2 -2
  134. package/lib/batchTracker.js.map +1 -1
  135. package/lib/blobManager.d.ts +13 -2
  136. package/lib/blobManager.d.ts.map +1 -1
  137. package/lib/blobManager.js +103 -25
  138. package/lib/blobManager.js.map +1 -1
  139. package/lib/connectionTelemetry.d.ts.map +1 -1
  140. package/lib/connectionTelemetry.js +13 -5
  141. package/lib/connectionTelemetry.js.map +1 -1
  142. package/lib/containerRuntime.d.ts +69 -22
  143. package/lib/containerRuntime.d.ts.map +1 -1
  144. package/lib/containerRuntime.js +343 -238
  145. package/lib/containerRuntime.js.map +1 -1
  146. package/lib/dataStore.js +11 -2
  147. package/lib/dataStore.js.map +1 -1
  148. package/lib/dataStoreContext.d.ts +1 -1
  149. package/lib/dataStoreContext.d.ts.map +1 -1
  150. package/lib/dataStoreContext.js +42 -46
  151. package/lib/dataStoreContext.js.map +1 -1
  152. package/lib/dataStoreContexts.js +2 -2
  153. package/lib/dataStoreContexts.js.map +1 -1
  154. package/lib/dataStores.d.ts +21 -5
  155. package/lib/dataStores.d.ts.map +1 -1
  156. package/lib/dataStores.js +103 -59
  157. package/lib/dataStores.js.map +1 -1
  158. package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
  159. package/lib/deltaManagerSummarizerProxy.js +2 -0
  160. package/lib/deltaManagerSummarizerProxy.js.map +1 -1
  161. package/lib/deltaScheduler.d.ts.map +1 -1
  162. package/lib/deltaScheduler.js +6 -6
  163. package/lib/deltaScheduler.js.map +1 -1
  164. package/lib/gc/garbageCollection.d.ts.map +1 -1
  165. package/lib/gc/garbageCollection.js +30 -26
  166. package/lib/gc/garbageCollection.js.map +1 -1
  167. package/lib/gc/gcConfigs.js +13 -11
  168. package/lib/gc/gcConfigs.js.map +1 -1
  169. package/lib/gc/gcHelpers.d.ts +1 -0
  170. package/lib/gc/gcHelpers.d.ts.map +1 -1
  171. package/lib/gc/gcHelpers.js +5 -6
  172. package/lib/gc/gcHelpers.js.map +1 -1
  173. package/lib/gc/gcSummaryStateTracker.js +4 -6
  174. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  175. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  176. package/lib/gc/gcTelemetry.js +45 -34
  177. package/lib/gc/gcTelemetry.js.map +1 -1
  178. package/lib/id-compressor/idCompressor.d.ts +3 -3
  179. package/lib/id-compressor/idCompressor.d.ts.map +1 -1
  180. package/lib/id-compressor/idCompressor.js +52 -52
  181. package/lib/id-compressor/idCompressor.js.map +1 -1
  182. package/lib/id-compressor/idRange.js +2 -2
  183. package/lib/id-compressor/idRange.js.map +1 -1
  184. package/lib/id-compressor/sessionIdNormalizer.js +11 -16
  185. package/lib/id-compressor/sessionIdNormalizer.js.map +1 -1
  186. package/lib/index.d.ts +1 -1
  187. package/lib/index.d.ts.map +1 -1
  188. package/lib/index.js.map +1 -1
  189. package/lib/opLifecycle/batchManager.js +10 -6
  190. package/lib/opLifecycle/batchManager.js.map +1 -1
  191. package/lib/opLifecycle/opCompressor.d.ts +2 -2
  192. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  193. package/lib/opLifecycle/opCompressor.js +8 -3
  194. package/lib/opLifecycle/opCompressor.js.map +1 -1
  195. package/lib/opLifecycle/opDecompressor.d.ts +2 -2
  196. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  197. package/lib/opLifecycle/opDecompressor.js +13 -11
  198. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  199. package/lib/opLifecycle/opGroupingManager.js +13 -5
  200. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  201. package/lib/opLifecycle/opSplitter.d.ts +2 -2
  202. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  203. package/lib/opLifecycle/opSplitter.js +12 -8
  204. package/lib/opLifecycle/opSplitter.js.map +1 -1
  205. package/lib/opLifecycle/outbox.d.ts +6 -5
  206. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  207. package/lib/opLifecycle/outbox.js +7 -15
  208. package/lib/opLifecycle/outbox.js.map +1 -1
  209. package/lib/opLifecycle/remoteMessageProcessor.d.ts +6 -1
  210. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  211. package/lib/opLifecycle/remoteMessageProcessor.js +8 -2
  212. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  213. package/lib/opProperties.js +1 -2
  214. package/lib/opProperties.js.map +1 -1
  215. package/lib/packageVersion.d.ts +1 -1
  216. package/lib/packageVersion.js +1 -1
  217. package/lib/packageVersion.js.map +1 -1
  218. package/lib/pendingStateManager.d.ts +6 -3
  219. package/lib/pendingStateManager.d.ts.map +1 -1
  220. package/lib/pendingStateManager.js +41 -32
  221. package/lib/pendingStateManager.js.map +1 -1
  222. package/lib/scheduleManager.d.ts.map +1 -1
  223. package/lib/scheduleManager.js +16 -12
  224. package/lib/scheduleManager.js.map +1 -1
  225. package/lib/summary/orderedClientElection.d.ts +2 -1
  226. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  227. package/lib/summary/orderedClientElection.js +19 -20
  228. package/lib/summary/orderedClientElection.js.map +1 -1
  229. package/lib/summary/runningSummarizer.d.ts +3 -5
  230. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  231. package/lib/summary/runningSummarizer.js +43 -67
  232. package/lib/summary/runningSummarizer.js.map +1 -1
  233. package/lib/summary/summarizer.js +6 -9
  234. package/lib/summary/summarizer.js.map +1 -1
  235. package/lib/summary/summarizerClientElection.js +5 -9
  236. package/lib/summary/summarizerClientElection.js.map +1 -1
  237. package/lib/summary/summarizerHeuristics.js +8 -12
  238. package/lib/summary/summarizerHeuristics.js.map +1 -1
  239. package/lib/summary/summarizerNode/summarizerNode.d.ts +5 -5
  240. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  241. package/lib/summary/summarizerNode/summarizerNode.js +27 -23
  242. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  243. package/lib/summary/summarizerNode/summarizerNodeUtils.js +2 -4
  244. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  245. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +4 -3
  246. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  247. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +14 -17
  248. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  249. package/lib/summary/summaryCollection.js +3 -5
  250. package/lib/summary/summaryCollection.js.map +1 -1
  251. package/lib/summary/summaryFormat.js +1 -2
  252. package/lib/summary/summaryFormat.js.map +1 -1
  253. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  254. package/lib/summary/summaryGenerator.js +68 -22
  255. package/lib/summary/summaryGenerator.js.map +1 -1
  256. package/lib/summary/summaryManager.d.ts +2 -3
  257. package/lib/summary/summaryManager.d.ts.map +1 -1
  258. package/lib/summary/summaryManager.js +10 -8
  259. package/lib/summary/summaryManager.js.map +1 -1
  260. package/package.json +30 -18
  261. package/src/batchTracker.ts +4 -3
  262. package/src/blobManager.ts +113 -15
  263. package/src/connectionTelemetry.ts +7 -3
  264. package/src/containerRuntime.ts +354 -194
  265. package/src/dataStore.ts +10 -1
  266. package/src/dataStoreContext.ts +31 -33
  267. package/src/dataStoreContexts.ts +2 -2
  268. package/src/dataStores.ts +108 -71
  269. package/src/deltaManagerSummarizerProxy.ts +2 -0
  270. package/src/deltaScheduler.ts +6 -10
  271. package/src/gc/garbageCollection.ts +13 -8
  272. package/src/gc/gcHelpers.ts +1 -0
  273. package/src/gc/gcTelemetry.ts +13 -10
  274. package/src/id-compressor/idCompressor.ts +6 -5
  275. package/src/index.ts +0 -1
  276. package/src/opLifecycle/opCompressor.ts +4 -3
  277. package/src/opLifecycle/opDecompressor.ts +4 -3
  278. package/src/opLifecycle/opSplitter.ts +4 -3
  279. package/src/opLifecycle/outbox.ts +13 -25
  280. package/src/opLifecycle/remoteMessageProcessor.ts +8 -2
  281. package/src/packageVersion.ts +1 -1
  282. package/src/pendingStateManager.ts +34 -25
  283. package/src/scheduleManager.ts +2 -2
  284. package/src/summary/orderedClientElection.ts +4 -3
  285. package/src/summary/runningSummarizer.ts +18 -44
  286. package/src/summary/summarizer.ts +2 -2
  287. package/src/summary/summarizerNode/summarizerNode.ts +13 -15
  288. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +8 -7
  289. package/src/summary/summaryGenerator.ts +6 -2
  290. package/src/summary/summaryManager.ts +9 -5
@@ -8,8 +8,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.hasOngoingSession = exports.IdCompressor = exports.isLocalId = exports.isFinalId = exports.defaultClusterCapacity = void 0;
11
+ /* eslint-disable @typescript-eslint/restrict-plus-operands */
11
12
  const common_utils_1 = require("@fluidframework/common-utils");
12
13
  const sorted_btree_1 = __importDefault(require("sorted-btree"));
14
+ const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
13
15
  const utils_1 = require("./utils");
14
16
  const uuidUtilities_1 = require("./uuidUtilities");
15
17
  const appendOnlySortedMap_1 = require("./appendOnlySortedMap");
@@ -52,7 +54,6 @@ class IdCompressor {
52
54
  */
53
55
  constructor(localSessionId, logger) {
54
56
  this.localSessionId = localSessionId;
55
- this.logger = logger;
56
57
  /**
57
58
  * Trivially reach consensus on default cluster size and reserved IDs.
58
59
  * These initial values must *NOT* change without careful consideration to compatibility.
@@ -107,6 +108,7 @@ class IdCompressor {
107
108
  */
108
109
  this.finalIdToCluster = new appendOnlySortedMap_1.AppendOnlySortedMap(utils_1.compareFiniteNumbers);
109
110
  this.localSession = this.createSession(localSessionId);
111
+ this.logger = (0, telemetry_utils_1.createChildLogger)({ logger });
110
112
  }
111
113
  /**
112
114
  * The size of each newly created ID cluster.
@@ -151,9 +153,8 @@ class IdCompressor {
151
153
  * it is finalized. Ranges must be sent to the server in the order that they are taken via calls to this method.
152
154
  */
153
155
  takeNextCreationRange() {
154
- var _a;
155
156
  const lastLocalInRange = -this.localIdCount;
156
- const lastTakenNormalized = (_a = this.lastTakenLocalId) !== null && _a !== void 0 ? _a : 0;
157
+ const lastTakenNormalized = this.lastTakenLocalId ?? 0;
157
158
  (0, common_utils_1.assert)(lastLocalInRange <= lastTakenNormalized, 0x485 /* Inconsistent local ID state */);
158
159
  let ids;
159
160
  if (lastLocalInRange !== lastTakenNormalized) {
@@ -196,21 +197,20 @@ class IdCompressor {
196
197
  * @param range - the range of session-local IDs to finalize.
197
198
  */
198
199
  finalizeCreationRange(range) {
199
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
200
200
  const { sessionId } = range;
201
201
  const isLocal = sessionId === this.localSessionId;
202
- const session = (_a = this.sessions.get(sessionId)) !== null && _a !== void 0 ? _a : this.createSession(sessionId);
202
+ const session = this.sessions.get(sessionId) ?? this.createSession(sessionId);
203
203
  const ids = (0, idRange_1.getIds)(range);
204
204
  if (ids === undefined) {
205
205
  return;
206
206
  }
207
207
  const { currentClusterDetails } = session;
208
- const { cluster: currentCluster, clusterBase: currentBaseFinalId } = currentClusterDetails !== null && currentClusterDetails !== void 0 ? currentClusterDetails : {
208
+ const { cluster: currentCluster, clusterBase: currentBaseFinalId } = currentClusterDetails ?? {
209
209
  cluster: undefined,
210
210
  clusterBase: undefined,
211
211
  };
212
212
  const currentClusterExists = currentCluster !== undefined && currentBaseFinalId !== undefined;
213
- const normalizedLastFinalizedLocal = (_b = session.lastFinalizedLocalId) !== null && _b !== void 0 ? _b : 0;
213
+ const normalizedLastFinalizedLocal = session.lastFinalizedLocalId ?? 0;
214
214
  const { first: newFirstFinalizedLocal, last: newLastFinalizedLocal } = ids;
215
215
  (0, common_utils_1.assert)(newFirstFinalizedLocal === normalizedLastFinalizedLocal - 1, 0x489 /* Ranges finalized out of order. */);
216
216
  // The total number of session-local IDs to finalize
@@ -222,7 +222,8 @@ class IdCompressor {
222
222
  let newBaseUuid;
223
223
  if (currentClusterExists) {
224
224
  if (isLocal) {
225
- const lastKnownFinal = (_c = this.sessionIdNormalizer.getLastFinalId()) !== null && _c !== void 0 ? _c : (0, utils_1.fail)("Cluster exists but normalizer does not have an entry for it.");
225
+ const lastKnownFinal = this.sessionIdNormalizer.getLastFinalId() ??
226
+ (0, utils_1.fail)("Cluster exists but normalizer does not have an entry for it.");
226
227
  const lastAlignedFinalInCluster = (currentBaseFinalId +
227
228
  Math.min(currentCluster.count + finalizeCount, currentCluster.capacity) -
228
229
  1);
@@ -273,7 +274,7 @@ class IdCompressor {
273
274
  // actually finalized, because total order broadcast guarantees that any usage of those final IDs will be observed after
274
275
  // the finalization of the ranges.
275
276
  this.sessionIdNormalizer.registerFinalIdBlock(finalPivot, expansionAmount, currentCluster);
276
- (_d = this.logger) === null || _d === void 0 ? void 0 : _d.sendTelemetryEvent({
277
+ this.logger?.sendTelemetryEvent({
277
278
  eventName: "RuntimeIdCompressor:ClusterExpansion",
278
279
  sessionId: this.localSessionId,
279
280
  previousCapacity,
@@ -289,7 +290,7 @@ class IdCompressor {
289
290
  newBaseUuid = (0, numericUuid_1.incrementUuid)(currentCluster.baseUuid, currentCluster.capacity);
290
291
  currentCluster.count += remainingCapacity;
291
292
  remainingCount -= remainingCapacity;
292
- (_e = this.logger) === null || _e === void 0 ? void 0 : _e.sendTelemetryEvent({
293
+ this.logger?.sendTelemetryEvent({
293
294
  eventName: "RuntimeIdCompressor:OverfilledCluster",
294
295
  sessionId: this.localSessionId,
295
296
  });
@@ -299,7 +300,7 @@ class IdCompressor {
299
300
  // Session has never made a cluster, form a new one with the session UUID as the baseUuid
300
301
  newBaseUuid = session.sessionUuid;
301
302
  if (isLocal) {
302
- (_f = this.logger) === null || _f === void 0 ? void 0 : _f.sendTelemetryEvent({
303
+ this.logger?.sendTelemetryEvent({
303
304
  eventName: "RuntimeIdCompressor:FirstCluster",
304
305
  sessionId: this.localSessionId,
305
306
  });
@@ -334,7 +335,7 @@ class IdCompressor {
334
335
  const usedCapacity = finalizeCount - remainingCount;
335
336
  localIdPivot = (newFirstFinalizedLocal - usedCapacity);
336
337
  if (isLocal) {
337
- (_g = this.logger) === null || _g === void 0 ? void 0 : _g.sendTelemetryEvent({
338
+ this.logger?.sendTelemetryEvent({
338
339
  eventName: "RuntimeIdCompressor:NewCluster",
339
340
  sessionId: this.localSessionId,
340
341
  clusterCapacity: newCapacity,
@@ -380,7 +381,7 @@ class IdCompressor {
380
381
  (normalizedLastFinalizedLocal - overriddenLocal) -
381
382
  1);
382
383
  }
383
- (_h = cluster.overrides) !== null && _h !== void 0 ? _h : (cluster.overrides = new Map());
384
+ cluster.overrides ?? (cluster.overrides = new Map());
384
385
  const inversionKey = IdCompressor.createInversionKey(override);
385
386
  const existingIds = this.getExistingIdsForNewOverride(inversionKey, true);
386
387
  let overrideForCluster;
@@ -448,11 +449,11 @@ class IdCompressor {
448
449
  }
449
450
  }
450
451
  if (isLocal) {
451
- (_j = this.logger) === null || _j === void 0 ? void 0 : _j.sendTelemetryEvent({
452
+ this.logger?.sendTelemetryEvent({
452
453
  eventName: "RuntimeIdCompressor:IdCompressorStatus",
453
- eagerFinalIdCount: eagerFinalIdCount - ((_k = overrides === null || overrides === void 0 ? void 0 : overrides.length) !== null && _k !== void 0 ? _k : 0),
454
- localIdCount: remainingCount + ((_l = overrides === null || overrides === void 0 ? void 0 : overrides.length) !== null && _l !== void 0 ? _l : 0),
455
- overridesCount: (_m = overrides === null || overrides === void 0 ? void 0 : overrides.length) !== null && _m !== void 0 ? _m : 0,
454
+ eagerFinalIdCount: eagerFinalIdCount - (overrides?.length ?? 0),
455
+ localIdCount: remainingCount + (overrides?.length ?? 0),
456
+ overridesCount: overrides?.length ?? 0,
456
457
  sessionId: this.localSessionId,
457
458
  });
458
459
  }
@@ -497,7 +498,6 @@ class IdCompressor {
497
498
  * Returns an existing ID associated with an override, or undefined if none exists.
498
499
  */
499
500
  getExistingIdsForNewOverride(inversionKey, isFinalOverride) {
500
- var _a;
501
501
  const closestMatch = this.clustersAndOverridesInversion.getPairOrNextLower(inversionKey, reusedArray);
502
502
  let numericOverride;
503
503
  let stableOverride;
@@ -535,7 +535,9 @@ class IdCompressor {
535
535
  }
536
536
  }
537
537
  }
538
- const override = (_a = numericOverride !== null && numericOverride !== void 0 ? numericOverride : stableOverride) !== null && _a !== void 0 ? _a : (IdCompressor.isStableInversionKey(inversionKey) ? inversionKey : undefined);
538
+ const override = numericOverride ??
539
+ stableOverride ??
540
+ (IdCompressor.isStableInversionKey(inversionKey) ? inversionKey : undefined);
539
541
  if (override !== undefined) {
540
542
  const sessionSpaceId = this.getCompressedIdForStableId(override);
541
543
  if (sessionSpaceId !== undefined) {
@@ -563,8 +565,7 @@ class IdCompressor {
563
565
  * Helper for retrieving an override.
564
566
  */
565
567
  static tryGetOverride(cluster, finalId) {
566
- var _a;
567
- const override = (_a = cluster.overrides) === null || _a === void 0 ? void 0 : _a.get(finalId);
568
+ const override = cluster.overrides?.get(finalId);
568
569
  if (override === undefined) {
569
570
  return undefined;
570
571
  }
@@ -609,15 +610,15 @@ class IdCompressor {
609
610
  const registeredLocal = sessionIdNormalizer.addLocalId();
610
611
  (0, common_utils_1.assert)(registeredLocal === newLocalId, 0x496 /* Session ID Normalizer produced unexpected local ID */);
611
612
  if (eagerFinalId !== undefined) {
612
- sessionIdNormalizer.addFinalIds(eagerFinalId, eagerFinalId, cluster !== null && cluster !== void 0 ? cluster : (0, utils_1.fail)("No cluster when generating compressed ID"));
613
+ sessionIdNormalizer.addFinalIds(eagerFinalId, eagerFinalId, cluster ?? (0, utils_1.fail)("No cluster when generating compressed ID"));
613
614
  }
614
- this.localOverrides.append(newLocalId, override !== null && override !== void 0 ? override : (0, utils_1.fail)("Override must be defined"));
615
+ this.localOverrides.append(newLocalId, override ?? (0, utils_1.fail)("Override must be defined"));
615
616
  // Since the local ID was just created, it is in both session and op space
616
617
  const compressionMapping = newLocalId;
617
618
  this.clustersAndOverridesInversion.set(overrideInversionKey, compressionMapping);
618
619
  }
619
620
  else if (eagerFinalId !== undefined) {
620
- sessionIdNormalizer.addFinalIds(eagerFinalId, eagerFinalId, cluster !== null && cluster !== void 0 ? cluster : (0, utils_1.fail)("No cluster when generating compressed ID"));
621
+ sessionIdNormalizer.addFinalIds(eagerFinalId, eagerFinalId, cluster ?? (0, utils_1.fail)("No cluster when generating compressed ID"));
621
622
  return eagerFinalId;
622
623
  }
623
624
  else {
@@ -632,8 +633,7 @@ class IdCompressor {
632
633
  * @returns the UUID or override string associated with the compressed ID. Fails if the ID was not generated by this compressor.
633
634
  */
634
635
  decompress(id) {
635
- var _a;
636
- return (_a = this.tryDecompress(id)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("Compressed ID was not generated by this compressor");
636
+ return this.tryDecompress(id) ?? (0, utils_1.fail)("Compressed ID was not generated by this compressor");
637
637
  }
638
638
  /**
639
639
  * Attempts to decompress a previously compressed ID into a UUID or override string.
@@ -641,7 +641,6 @@ class IdCompressor {
641
641
  * @returns the UUID or override string associated with the compressed ID, or undefined if the ID was not generated by this compressor.
642
642
  */
643
643
  tryDecompress(id) {
644
- var _a;
645
644
  if (isFinalId(id)) {
646
645
  const possibleCluster = this.getClusterForFinalId(id);
647
646
  if (possibleCluster === undefined) {
@@ -673,7 +672,7 @@ class IdCompressor {
673
672
  // If this is a local ID with an override, then it must have been allocated on this machine and will be contained in
674
673
  // `localOverrides`s. Otherwise, it is a sequential allocation from the session UUID and can simply be negated and
675
674
  // added to that UUID to obtain the stable ID associated with it.
676
- const localOverride = (_a = this.localOverrides) === null || _a === void 0 ? void 0 : _a.get(id);
675
+ const localOverride = this.localOverrides?.get(id);
677
676
  return localOverride !== undefined
678
677
  ? localOverride
679
678
  : (0, numericUuid_1.stableIdFromNumericUuid)(this.localSession.sessionUuid, idOffset - 1);
@@ -685,8 +684,7 @@ class IdCompressor {
685
684
  * @returns the `CompressedId` associated with `uncompressed`. Fails if it has not been previously compressed by this compressor.
686
685
  */
687
686
  recompress(uncompressed) {
688
- var _a;
689
- return (_a = this.tryRecompress(uncompressed)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("No such string has ever been compressed");
687
+ return this.tryRecompress(uncompressed) ?? (0, utils_1.fail)("No such string has ever been compressed");
690
688
  }
691
689
  /**
692
690
  * Attempts to recompresses a decompressed ID, which could be a UUID or an override string.
@@ -701,7 +699,6 @@ class IdCompressor {
701
699
  * performance optimization.
702
700
  */
703
701
  recompressInternal(uncompressed, uncompressedUuidNumeric) {
704
- var _a, _b;
705
702
  let numericUuid = uncompressedUuidNumeric;
706
703
  const inversionKey = IdCompressor.createInversionKey(uncompressed);
707
704
  const isStable = IdCompressor.isStableInversionKey(inversionKey);
@@ -712,7 +709,8 @@ class IdCompressor {
712
709
  if (key === inversionKey) {
713
710
  return IdCompressor.isUnfinalizedOverride(compressionMapping)
714
711
  ? compressionMapping
715
- : (_a = compressionMapping.associatedLocalId) !== null && _a !== void 0 ? _a : compressionMapping.originalOverridingFinal;
712
+ : compressionMapping.associatedLocalId ??
713
+ compressionMapping.originalOverridingFinal;
716
714
  }
717
715
  }
718
716
  else {
@@ -720,11 +718,11 @@ class IdCompressor {
720
718
  return undefined;
721
719
  }
722
720
  const { clusterBase: closestBaseFinalId, cluster: closestCluster } = compressionMapping;
723
- numericUuid !== null && numericUuid !== void 0 ? numericUuid : (numericUuid = (0, numericUuid_1.numericUuidFromStableId)(inversionKey));
721
+ numericUuid ?? (numericUuid = (0, numericUuid_1.numericUuidFromStableId)(inversionKey));
724
722
  const uuidOffset = (0, numericUuid_1.getPositiveDelta)(numericUuid, closestCluster.baseUuid, closestCluster.count - 1);
725
723
  if (uuidOffset !== undefined) {
726
724
  let targetFinalId = (closestBaseFinalId + uuidOffset);
727
- const override = (_b = closestCluster.overrides) === null || _b === void 0 ? void 0 : _b.get(targetFinalId);
725
+ const override = closestCluster.overrides?.get(targetFinalId);
728
726
  if (typeof override === "object") {
729
727
  if (override.associatedLocalId !== undefined) {
730
728
  return override.associatedLocalId;
@@ -739,7 +737,7 @@ class IdCompressor {
739
737
  }
740
738
  if (isStable) {
741
739
  // May have already computed the numeric UUID, so avoid recomputing if possible
742
- const sessionSpaceId = this.getCompressedIdForStableId(numericUuid !== null && numericUuid !== void 0 ? numericUuid : inversionKey);
740
+ const sessionSpaceId = this.getCompressedIdForStableId(numericUuid ?? inversionKey);
743
741
  if (sessionSpaceId !== undefined) {
744
742
  return sessionSpaceId;
745
743
  }
@@ -752,7 +750,6 @@ class IdCompressor {
752
750
  * @returns the ID in op space.
753
751
  */
754
752
  normalizeToOpSpace(id) {
755
- var _a, _b, _c;
756
753
  if (isFinalId(id)) {
757
754
  return id;
758
755
  }
@@ -771,7 +768,8 @@ class IdCompressor {
771
768
  const override = this.localOverrides.get(id);
772
769
  if (override !== undefined) {
773
770
  const inversionKey = IdCompressor.createInversionKey(override);
774
- const compressionMapping = (_a = this.clustersAndOverridesInversion.get(inversionKey)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("Bimap is malformed.");
771
+ const compressionMapping = this.clustersAndOverridesInversion.get(inversionKey) ??
772
+ (0, utils_1.fail)("Bimap is malformed.");
775
773
  return !IdCompressor.isClusterInfo(compressionMapping) &&
776
774
  !IdCompressor.isUnfinalizedOverride(compressionMapping) &&
777
775
  compressionMapping.associatedLocalId === id
@@ -779,9 +777,10 @@ class IdCompressor {
779
777
  : id;
780
778
  }
781
779
  const possibleFinal = this.sessionIdNormalizer.getFinalId(id);
782
- return (_b = possibleFinal === null || possibleFinal === void 0 ? void 0 : possibleFinal[0]) !== null && _b !== void 0 ? _b : id;
780
+ return possibleFinal?.[0] ?? id;
783
781
  }
784
- const [correspondingFinal, cluster] = (_c = this.sessionIdNormalizer.getFinalId(id)) !== null && _c !== void 0 ? _c : (0, utils_1.fail)("Locally created cluster should be added to the map when allocated");
782
+ const [correspondingFinal, cluster] = this.sessionIdNormalizer.getFinalId(id) ??
783
+ (0, utils_1.fail)("Locally created cluster should be added to the map when allocated");
785
784
  if (cluster.overrides) {
786
785
  const override = cluster.overrides.get(correspondingFinal);
787
786
  if (typeof override === "object" && override.originalOverridingFinal !== undefined) {
@@ -792,7 +791,6 @@ class IdCompressor {
792
791
  return correspondingFinal;
793
792
  }
794
793
  normalizeToSessionSpace(id, sessionIdIfLocal) {
795
- var _a, _b, _c, _d;
796
794
  if (isLocalId(id)) {
797
795
  if (sessionIdIfLocal === undefined || sessionIdIfLocal === this.localSessionId) {
798
796
  const localIndex = -id;
@@ -802,10 +800,12 @@ class IdCompressor {
802
800
  return id;
803
801
  }
804
802
  else {
805
- const session = (_a = this.sessions.get(sessionIdIfLocal)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("No IDs have ever been finalized by the supplied session.");
803
+ const session = this.sessions.get(sessionIdIfLocal) ??
804
+ (0, utils_1.fail)("No IDs have ever been finalized by the supplied session.");
806
805
  const localCount = -id;
807
806
  const numericUuid = (0, numericUuid_1.incrementUuid)(session.sessionUuid, localCount - 1);
808
- return ((_b = this.compressNumericUuid(numericUuid)) !== null && _b !== void 0 ? _b : (0, utils_1.fail)("ID is not known to this compressor."));
807
+ return (this.compressNumericUuid(numericUuid) ??
808
+ (0, utils_1.fail)("ID is not known to this compressor."));
809
809
  }
810
810
  }
811
811
  const normalizedId = this.sessionIdNormalizer.getSessionSpaceId(id);
@@ -814,8 +814,9 @@ class IdCompressor {
814
814
  }
815
815
  // Check for a unified override finalized first by another session but to which the local session
816
816
  // still has an associated local ID.
817
- const [_, cluster] = (_c = this.getClusterForFinalId(id)) !== null && _c !== void 0 ? _c : (0, utils_1.fail)("Supplied final ID was not finalized by this compressor.");
818
- const override = (_d = cluster.overrides) === null || _d === void 0 ? void 0 : _d.get(id);
817
+ const [_, cluster] = this.getClusterForFinalId(id) ??
818
+ (0, utils_1.fail)("Supplied final ID was not finalized by this compressor.");
819
+ const override = cluster.overrides?.get(id);
819
820
  if (typeof override === "object" && override.associatedLocalId !== undefined) {
820
821
  return override.associatedLocalId;
821
822
  }
@@ -984,7 +985,6 @@ class IdCompressor {
984
985
  return true;
985
986
  }
986
987
  static idClustersEqual(a, b, checkSessionData = true, compareLocalState = true) {
987
- var _a, _b;
988
988
  const areEqual = (0, numericUuid_1.numericUuidEquals)(a.baseUuid, b.baseUuid) &&
989
989
  a.capacity === b.capacity &&
990
990
  a.count === b.count &&
@@ -992,7 +992,7 @@ class IdCompressor {
992
992
  IdCompressor.sessionDataEqual(a.session, b.session, false, compareLocalState)) &&
993
993
  (a.overrides === undefined) === (b.overrides === undefined) &&
994
994
  (a.overrides === undefined ||
995
- (0, utils_1.compareMaps)((_a = a.overrides) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("Overrides must be defined"), (_b = b.overrides) !== null && _b !== void 0 ? _b : (0, utils_1.fail)("Overrides must be defined"), (overrideA, overrideB) => {
995
+ (0, utils_1.compareMaps)(a.overrides ?? (0, utils_1.fail)("Overrides must be defined"), b.overrides ?? (0, utils_1.fail)("Overrides must be defined"), (overrideA, overrideB) => {
996
996
  if (compareLocalState) {
997
997
  if (typeof overrideA === "string" || typeof overrideB === "string") {
998
998
  return overrideA === overrideB;
@@ -1016,7 +1016,6 @@ class IdCompressor {
1016
1016
  return areEqual;
1017
1017
  }
1018
1018
  serialize(withSession) {
1019
- var _a, _b;
1020
1019
  const serializedSessions = [];
1021
1020
  const sessionIdToSessionIndex = new Map();
1022
1021
  for (const [sessionId, session] of this.sessions) {
@@ -1034,7 +1033,8 @@ class IdCompressor {
1034
1033
  for (const [baseFinalId, cluster] of this.finalIdToCluster.entries()) {
1035
1034
  const sessionId = (0, numericUuid_1.stableIdFromNumericUuid)(cluster.session.sessionUuid);
1036
1035
  if (sessionId !== reservedSessionId) {
1037
- const sessionIndex = (_a = sessionIdToSessionIndex.get(sessionId)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("Session object contains wrong session numeric UUID");
1036
+ const sessionIndex = sessionIdToSessionIndex.get(sessionId) ??
1037
+ (0, utils_1.fail)("Session object contains wrong session numeric UUID");
1038
1038
  const serializedCluster = [
1039
1039
  sessionIndex,
1040
1040
  cluster.capacity,
@@ -1086,7 +1086,7 @@ class IdCompressor {
1086
1086
  }
1087
1087
  return serializedWithSession;
1088
1088
  }
1089
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.sendTelemetryEvent({
1089
+ this.logger?.sendTelemetryEvent({
1090
1090
  eventName: "RuntimeIdCompressor:SerializedIdCompressorSize",
1091
1091
  size: JSON.stringify(serializedIdCompressor).length,
1092
1092
  clusterCount: serializedIdCompressor.clusters.length,
@@ -1147,7 +1147,7 @@ class IdCompressor {
1147
1147
  baseUuid: (0, numericUuid_1.incrementUuid)(sessionUuid, currentIdCount),
1148
1148
  session,
1149
1149
  };
1150
- const lastFinalizedNormalized = lastFinalizedLocalId !== null && lastFinalizedLocalId !== void 0 ? lastFinalizedLocalId : 0;
1150
+ const lastFinalizedNormalized = lastFinalizedLocalId ?? 0;
1151
1151
  const clusterBase = compressor.nextClusterBaseFinalId;
1152
1152
  session.lastFinalizedLocalId = (lastFinalizedNormalized - count);
1153
1153
  session.currentClusterDetails = { clusterBase, cluster };
@@ -1201,8 +1201,8 @@ class IdCompressor {
1201
1201
  }
1202
1202
  if (serializedLocalState !== undefined) {
1203
1203
  compressor.sessionIdNormalizer = sessionIdNormalizer_1.SessionIdNormalizer.deserialize(serializedLocalState.sessionNormalizer, (finalId) => {
1204
- var _a;
1205
- const [_, cluster] = (_a = compressor.finalIdToCluster.getPairOrNextLower(finalId)) !== null && _a !== void 0 ? _a : (0, utils_1.fail)("Final in serialized normalizer was never created.");
1204
+ const [_, cluster] = compressor.finalIdToCluster.getPairOrNextLower(finalId) ??
1205
+ (0, utils_1.fail)("Final in serialized normalizer was never created.");
1206
1206
  return cluster;
1207
1207
  });
1208
1208
  }