@fluidframework/container-runtime 2.0.0-dev.5.2.0.169897 → 2.0.0-dev.6.4.0.191258

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 (561) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +4 -3
  3. package/dist/batchTracker.d.ts +3 -2
  4. package/dist/batchTracker.d.ts.map +1 -1
  5. package/dist/batchTracker.js +6 -5
  6. package/dist/batchTracker.js.map +1 -1
  7. package/dist/blobManager.d.ts +15 -18
  8. package/dist/blobManager.d.ts.map +1 -1
  9. package/dist/blobManager.js +212 -171
  10. package/dist/blobManager.js.map +1 -1
  11. package/dist/connectionTelemetry.d.ts.map +1 -1
  12. package/dist/connectionTelemetry.js +33 -17
  13. package/dist/connectionTelemetry.js.map +1 -1
  14. package/dist/containerRuntime.d.ts +172 -35
  15. package/dist/containerRuntime.d.ts.map +1 -1
  16. package/dist/containerRuntime.js +722 -425
  17. package/dist/containerRuntime.js.map +1 -1
  18. package/dist/dataStore.d.ts.map +1 -1
  19. package/dist/dataStore.js +15 -7
  20. package/dist/dataStore.js.map +1 -1
  21. package/dist/dataStoreContext.d.ts +4 -4
  22. package/dist/dataStoreContext.d.ts.map +1 -1
  23. package/dist/dataStoreContext.js +87 -90
  24. package/dist/dataStoreContext.js.map +1 -1
  25. package/dist/dataStoreContexts.d.ts +1 -1
  26. package/dist/dataStoreContexts.d.ts.map +1 -1
  27. package/dist/dataStoreContexts.js +10 -10
  28. package/dist/dataStoreContexts.js.map +1 -1
  29. package/dist/dataStoreRegistry.js +2 -2
  30. package/dist/dataStoreRegistry.js.map +1 -1
  31. package/dist/dataStores.d.ts +23 -7
  32. package/dist/dataStores.d.ts.map +1 -1
  33. package/dist/dataStores.js +125 -82
  34. package/dist/dataStores.js.map +1 -1
  35. package/dist/deltaManagerProxyBase.d.ts +35 -0
  36. package/dist/deltaManagerProxyBase.d.ts.map +1 -0
  37. package/dist/deltaManagerProxyBase.js +77 -0
  38. package/dist/deltaManagerProxyBase.js.map +1 -0
  39. package/dist/deltaManagerSummarizerProxy.d.ts +1 -1
  40. package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
  41. package/dist/deltaManagerSummarizerProxy.js +4 -2
  42. package/dist/deltaManagerSummarizerProxy.js.map +1 -1
  43. package/dist/deltaScheduler.d.ts.map +1 -1
  44. package/dist/deltaScheduler.js +10 -10
  45. package/dist/deltaScheduler.js.map +1 -1
  46. package/dist/error.d.ts +14 -0
  47. package/dist/error.d.ts.map +1 -0
  48. package/dist/error.js +21 -0
  49. package/dist/error.js.map +1 -0
  50. package/dist/gc/garbageCollection.d.ts +10 -9
  51. package/dist/gc/garbageCollection.d.ts.map +1 -1
  52. package/dist/gc/garbageCollection.js +65 -56
  53. package/dist/gc/garbageCollection.js.map +1 -1
  54. package/dist/gc/gcConfigs.d.ts.map +1 -1
  55. package/dist/gc/gcConfigs.js +18 -14
  56. package/dist/gc/gcConfigs.js.map +1 -1
  57. package/dist/gc/gcDefinitions.d.ts +17 -5
  58. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  59. package/dist/gc/gcDefinitions.js +14 -15
  60. package/dist/gc/gcDefinitions.js.map +1 -1
  61. package/dist/gc/gcHelpers.d.ts +0 -8
  62. package/dist/gc/gcHelpers.d.ts.map +1 -1
  63. package/dist/gc/gcHelpers.js +11 -24
  64. package/dist/gc/gcHelpers.js.map +1 -1
  65. package/dist/gc/gcSummaryStateTracker.d.ts +4 -7
  66. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  67. package/dist/gc/gcSummaryStateTracker.js +19 -58
  68. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  69. package/dist/gc/gcTelemetry.d.ts +1 -1
  70. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  71. package/dist/gc/gcTelemetry.js +45 -35
  72. package/dist/gc/gcTelemetry.js.map +1 -1
  73. package/dist/gc/gcUnreferencedStateTracker.js +4 -4
  74. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  75. package/dist/gc/index.d.ts +2 -2
  76. package/dist/gc/index.d.ts.map +1 -1
  77. package/dist/gc/index.js +3 -5
  78. package/dist/gc/index.js.map +1 -1
  79. package/dist/id-compressor/appendOnlySortedMap.d.ts +8 -30
  80. package/dist/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
  81. package/dist/id-compressor/appendOnlySortedMap.js +26 -68
  82. package/dist/id-compressor/appendOnlySortedMap.js.map +1 -1
  83. package/dist/id-compressor/finalSpace.d.ts +29 -0
  84. package/dist/id-compressor/finalSpace.d.ts.map +1 -0
  85. package/dist/id-compressor/finalSpace.js +62 -0
  86. package/dist/id-compressor/finalSpace.js.map +1 -0
  87. package/dist/id-compressor/idCompressor.d.ts +25 -250
  88. package/dist/id-compressor/idCompressor.d.ts.map +1 -1
  89. package/dist/id-compressor/idCompressor.js +390 -1153
  90. package/dist/id-compressor/idCompressor.js.map +1 -1
  91. package/dist/id-compressor/identifiers.d.ts +32 -0
  92. package/dist/id-compressor/identifiers.d.ts.map +1 -0
  93. package/dist/id-compressor/identifiers.js +15 -0
  94. package/dist/id-compressor/identifiers.js.map +1 -0
  95. package/dist/id-compressor/index.d.ts +5 -6
  96. package/dist/id-compressor/index.d.ts.map +1 -1
  97. package/dist/id-compressor/index.js +20 -26
  98. package/dist/id-compressor/index.js.map +1 -1
  99. package/dist/id-compressor/persistanceUtilities.d.ts +22 -0
  100. package/dist/id-compressor/persistanceUtilities.d.ts.map +1 -0
  101. package/dist/id-compressor/persistanceUtilities.js +43 -0
  102. package/dist/id-compressor/persistanceUtilities.js.map +1 -0
  103. package/dist/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
  104. package/dist/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
  105. package/dist/id-compressor/sessionSpaceNormalizer.js +80 -0
  106. package/dist/id-compressor/sessionSpaceNormalizer.js.map +1 -0
  107. package/dist/id-compressor/sessions.d.ts +115 -0
  108. package/dist/id-compressor/sessions.d.ts.map +1 -0
  109. package/dist/id-compressor/sessions.js +305 -0
  110. package/dist/id-compressor/sessions.js.map +1 -0
  111. package/dist/id-compressor/utilities.d.ts +49 -0
  112. package/dist/id-compressor/utilities.d.ts.map +1 -0
  113. package/dist/id-compressor/utilities.js +166 -0
  114. package/dist/id-compressor/utilities.js.map +1 -0
  115. package/dist/index.d.ts +3 -3
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +6 -4
  118. package/dist/index.js.map +1 -1
  119. package/dist/metadata.d.ts +18 -0
  120. package/dist/metadata.d.ts.map +1 -0
  121. package/dist/metadata.js +7 -0
  122. package/dist/metadata.js.map +1 -0
  123. package/dist/opLifecycle/batchManager.d.ts +2 -1
  124. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  125. package/dist/opLifecycle/batchManager.js +15 -7
  126. package/dist/opLifecycle/batchManager.js.map +1 -1
  127. package/dist/opLifecycle/definitions.d.ts +11 -0
  128. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  129. package/dist/opLifecycle/definitions.js.map +1 -1
  130. package/dist/opLifecycle/index.d.ts +1 -1
  131. package/dist/opLifecycle/index.d.ts.map +1 -1
  132. package/dist/opLifecycle/index.js +2 -1
  133. package/dist/opLifecycle/index.js.map +1 -1
  134. package/dist/opLifecycle/opCompressor.d.ts +2 -2
  135. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  136. package/dist/opLifecycle/opCompressor.js +12 -7
  137. package/dist/opLifecycle/opCompressor.js.map +1 -1
  138. package/dist/opLifecycle/opDecompressor.d.ts +2 -2
  139. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  140. package/dist/opLifecycle/opDecompressor.js +30 -21
  141. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  142. package/dist/opLifecycle/opGroupingManager.d.ts +1 -1
  143. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  144. package/dist/opLifecycle/opGroupingManager.js +19 -13
  145. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  146. package/dist/opLifecycle/opSplitter.d.ts +2 -2
  147. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  148. package/dist/opLifecycle/opSplitter.js +24 -19
  149. package/dist/opLifecycle/opSplitter.js.map +1 -1
  150. package/dist/opLifecycle/outbox.d.ts +39 -6
  151. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  152. package/dist/opLifecycle/outbox.js +138 -61
  153. package/dist/opLifecycle/outbox.js.map +1 -1
  154. package/dist/opLifecycle/remoteMessageProcessor.d.ts +6 -1
  155. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  156. package/dist/opLifecycle/remoteMessageProcessor.js +22 -8
  157. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  158. package/dist/opProperties.js +1 -2
  159. package/dist/opProperties.js.map +1 -1
  160. package/dist/packageVersion.d.ts +1 -1
  161. package/dist/packageVersion.js +1 -1
  162. package/dist/packageVersion.js.map +1 -1
  163. package/dist/pendingStateManager.d.ts +25 -10
  164. package/dist/pendingStateManager.d.ts.map +1 -1
  165. package/dist/pendingStateManager.js +101 -64
  166. package/dist/pendingStateManager.js.map +1 -1
  167. package/dist/scheduleManager.d.ts.map +1 -1
  168. package/dist/scheduleManager.js +43 -33
  169. package/dist/scheduleManager.js.map +1 -1
  170. package/dist/summary/index.d.ts +4 -4
  171. package/dist/summary/index.d.ts.map +1 -1
  172. package/dist/summary/index.js +3 -1
  173. package/dist/summary/index.js.map +1 -1
  174. package/dist/summary/orderedClientElection.d.ts +3 -3
  175. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  176. package/dist/summary/orderedClientElection.js +26 -27
  177. package/dist/summary/orderedClientElection.js.map +1 -1
  178. package/dist/summary/runWhileConnectedCoordinator.js +3 -3
  179. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  180. package/dist/summary/runningSummarizer.d.ts +31 -10
  181. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  182. package/dist/summary/runningSummarizer.js +271 -139
  183. package/dist/summary/runningSummarizer.js.map +1 -1
  184. package/dist/summary/summarizer.d.ts +8 -7
  185. package/dist/summary/summarizer.d.ts.map +1 -1
  186. package/dist/summary/summarizer.js +79 -78
  187. package/dist/summary/summarizer.js.map +1 -1
  188. package/dist/summary/summarizerClientElection.d.ts +2 -2
  189. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  190. package/dist/summary/summarizerClientElection.js +7 -11
  191. package/dist/summary/summarizerClientElection.js.map +1 -1
  192. package/dist/summary/summarizerHeuristics.js +10 -14
  193. package/dist/summary/summarizerHeuristics.js.map +1 -1
  194. package/dist/summary/summarizerNode/index.d.ts +1 -1
  195. package/dist/summary/summarizerNode/index.d.ts.map +1 -1
  196. package/dist/summary/summarizerNode/index.js.map +1 -1
  197. package/dist/summary/summarizerNode/summarizerNode.d.ts +40 -23
  198. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  199. package/dist/summary/summarizerNode/summarizerNode.js +144 -149
  200. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  201. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +25 -29
  202. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  203. package/dist/summary/summarizerNode/summarizerNodeUtils.js +2 -4
  204. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  205. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +21 -16
  206. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  207. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +74 -123
  208. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  209. package/dist/summary/summarizerTypes.d.ts +44 -24
  210. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  211. package/dist/summary/summarizerTypes.js.map +1 -1
  212. package/dist/summary/summaryCollection.d.ts +2 -2
  213. package/dist/summary/summaryCollection.d.ts.map +1 -1
  214. package/dist/summary/summaryCollection.js +16 -13
  215. package/dist/summary/summaryCollection.js.map +1 -1
  216. package/dist/summary/summaryFormat.d.ts +4 -0
  217. package/dist/summary/summaryFormat.d.ts.map +1 -1
  218. package/dist/summary/summaryFormat.js +8 -5
  219. package/dist/summary/summaryFormat.js.map +1 -1
  220. package/dist/summary/summaryGenerator.d.ts +21 -6
  221. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  222. package/dist/summary/summaryGenerator.js +117 -54
  223. package/dist/summary/summaryGenerator.js.map +1 -1
  224. package/dist/summary/summaryManager.d.ts +8 -7
  225. package/dist/summary/summaryManager.d.ts.map +1 -1
  226. package/dist/summary/summaryManager.js +38 -28
  227. package/dist/summary/summaryManager.js.map +1 -1
  228. package/lib/batchTracker.d.ts +3 -2
  229. package/lib/batchTracker.d.ts.map +1 -1
  230. package/lib/batchTracker.js +5 -4
  231. package/lib/batchTracker.js.map +1 -1
  232. package/lib/blobManager.d.ts +15 -18
  233. package/lib/blobManager.d.ts.map +1 -1
  234. package/lib/blobManager.js +187 -146
  235. package/lib/blobManager.js.map +1 -1
  236. package/lib/connectionTelemetry.d.ts.map +1 -1
  237. package/lib/connectionTelemetry.js +23 -7
  238. package/lib/connectionTelemetry.js.map +1 -1
  239. package/lib/containerRuntime.d.ts +172 -35
  240. package/lib/containerRuntime.d.ts.map +1 -1
  241. package/lib/containerRuntime.js +678 -380
  242. package/lib/containerRuntime.js.map +1 -1
  243. package/lib/dataStore.d.ts.map +1 -1
  244. package/lib/dataStore.js +13 -5
  245. package/lib/dataStore.js.map +1 -1
  246. package/lib/dataStoreContext.d.ts +4 -4
  247. package/lib/dataStoreContext.d.ts.map +1 -1
  248. package/lib/dataStoreContext.js +49 -52
  249. package/lib/dataStoreContext.js.map +1 -1
  250. package/lib/dataStoreContexts.d.ts +1 -1
  251. package/lib/dataStoreContexts.d.ts.map +1 -1
  252. package/lib/dataStoreContexts.js +3 -3
  253. package/lib/dataStoreContexts.js.map +1 -1
  254. package/lib/dataStoreRegistry.js +1 -1
  255. package/lib/dataStoreRegistry.js.map +1 -1
  256. package/lib/dataStores.d.ts +23 -7
  257. package/lib/dataStores.d.ts.map +1 -1
  258. package/lib/dataStores.js +107 -64
  259. package/lib/dataStores.js.map +1 -1
  260. package/lib/deltaManagerProxyBase.d.ts +35 -0
  261. package/lib/deltaManagerProxyBase.d.ts.map +1 -0
  262. package/lib/deltaManagerProxyBase.js +73 -0
  263. package/lib/deltaManagerProxyBase.js.map +1 -0
  264. package/lib/deltaManagerSummarizerProxy.d.ts +1 -1
  265. package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
  266. package/lib/deltaManagerSummarizerProxy.js +3 -1
  267. package/lib/deltaManagerSummarizerProxy.js.map +1 -1
  268. package/lib/deltaScheduler.d.ts.map +1 -1
  269. package/lib/deltaScheduler.js +7 -7
  270. package/lib/deltaScheduler.js.map +1 -1
  271. package/lib/error.d.ts +14 -0
  272. package/lib/error.d.ts.map +1 -0
  273. package/lib/error.js +17 -0
  274. package/lib/error.js.map +1 -0
  275. package/lib/gc/garbageCollection.d.ts +10 -9
  276. package/lib/gc/garbageCollection.d.ts.map +1 -1
  277. package/lib/gc/garbageCollection.js +61 -52
  278. package/lib/gc/garbageCollection.js.map +1 -1
  279. package/lib/gc/gcConfigs.d.ts.map +1 -1
  280. package/lib/gc/gcConfigs.js +16 -12
  281. package/lib/gc/gcConfigs.js.map +1 -1
  282. package/lib/gc/gcDefinitions.d.ts +17 -5
  283. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  284. package/lib/gc/gcDefinitions.js +13 -14
  285. package/lib/gc/gcDefinitions.js.map +1 -1
  286. package/lib/gc/gcHelpers.d.ts +0 -8
  287. package/lib/gc/gcHelpers.d.ts.map +1 -1
  288. package/lib/gc/gcHelpers.js +5 -17
  289. package/lib/gc/gcHelpers.js.map +1 -1
  290. package/lib/gc/gcSummaryStateTracker.d.ts +4 -7
  291. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  292. package/lib/gc/gcSummaryStateTracker.js +20 -59
  293. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  294. package/lib/gc/gcTelemetry.d.ts +1 -1
  295. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  296. package/lib/gc/gcTelemetry.js +46 -36
  297. package/lib/gc/gcTelemetry.js.map +1 -1
  298. package/lib/gc/gcUnreferencedStateTracker.js +1 -1
  299. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  300. package/lib/gc/index.d.ts +2 -2
  301. package/lib/gc/index.d.ts.map +1 -1
  302. package/lib/gc/index.js +2 -2
  303. package/lib/gc/index.js.map +1 -1
  304. package/lib/id-compressor/appendOnlySortedMap.d.ts +8 -30
  305. package/lib/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
  306. package/lib/id-compressor/appendOnlySortedMap.js +25 -66
  307. package/lib/id-compressor/appendOnlySortedMap.js.map +1 -1
  308. package/lib/id-compressor/finalSpace.d.ts +29 -0
  309. package/lib/id-compressor/finalSpace.d.ts.map +1 -0
  310. package/lib/id-compressor/finalSpace.js +58 -0
  311. package/lib/id-compressor/finalSpace.js.map +1 -0
  312. package/lib/id-compressor/idCompressor.d.ts +25 -250
  313. package/lib/id-compressor/idCompressor.d.ts.map +1 -1
  314. package/lib/id-compressor/idCompressor.js +385 -1142
  315. package/lib/id-compressor/idCompressor.js.map +1 -1
  316. package/lib/id-compressor/identifiers.d.ts +32 -0
  317. package/lib/id-compressor/identifiers.d.ts.map +1 -0
  318. package/lib/id-compressor/identifiers.js +11 -0
  319. package/lib/id-compressor/identifiers.js.map +1 -0
  320. package/lib/id-compressor/index.d.ts +5 -6
  321. package/lib/id-compressor/index.d.ts.map +1 -1
  322. package/lib/id-compressor/index.js +5 -6
  323. package/lib/id-compressor/index.js.map +1 -1
  324. package/lib/id-compressor/persistanceUtilities.d.ts +22 -0
  325. package/lib/id-compressor/persistanceUtilities.d.ts.map +1 -0
  326. package/lib/id-compressor/persistanceUtilities.js +34 -0
  327. package/lib/id-compressor/persistanceUtilities.js.map +1 -0
  328. package/lib/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
  329. package/lib/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
  330. package/lib/id-compressor/sessionSpaceNormalizer.js +76 -0
  331. package/lib/id-compressor/sessionSpaceNormalizer.js.map +1 -0
  332. package/lib/id-compressor/sessions.d.ts +115 -0
  333. package/lib/id-compressor/sessions.d.ts.map +1 -0
  334. package/lib/id-compressor/sessions.js +290 -0
  335. package/lib/id-compressor/sessions.js.map +1 -0
  336. package/lib/id-compressor/utilities.d.ts +49 -0
  337. package/lib/id-compressor/utilities.d.ts.map +1 -0
  338. package/lib/id-compressor/utilities.js +148 -0
  339. package/lib/id-compressor/utilities.js.map +1 -0
  340. package/lib/index.d.ts +3 -3
  341. package/lib/index.d.ts.map +1 -1
  342. package/lib/index.js +2 -2
  343. package/lib/index.js.map +1 -1
  344. package/lib/metadata.d.ts +18 -0
  345. package/lib/metadata.d.ts.map +1 -0
  346. package/lib/metadata.js +6 -0
  347. package/lib/metadata.js.map +1 -0
  348. package/lib/opLifecycle/batchManager.d.ts +2 -1
  349. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  350. package/lib/opLifecycle/batchManager.js +15 -7
  351. package/lib/opLifecycle/batchManager.js.map +1 -1
  352. package/lib/opLifecycle/definitions.d.ts +11 -0
  353. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  354. package/lib/opLifecycle/definitions.js.map +1 -1
  355. package/lib/opLifecycle/index.d.ts +1 -1
  356. package/lib/opLifecycle/index.d.ts.map +1 -1
  357. package/lib/opLifecycle/index.js +1 -1
  358. package/lib/opLifecycle/index.js.map +1 -1
  359. package/lib/opLifecycle/opCompressor.d.ts +2 -2
  360. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  361. package/lib/opLifecycle/opCompressor.js +10 -5
  362. package/lib/opLifecycle/opCompressor.js.map +1 -1
  363. package/lib/opLifecycle/opDecompressor.d.ts +2 -2
  364. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  365. package/lib/opLifecycle/opDecompressor.js +22 -13
  366. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  367. package/lib/opLifecycle/opGroupingManager.d.ts +1 -1
  368. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  369. package/lib/opLifecycle/opGroupingManager.js +17 -11
  370. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  371. package/lib/opLifecycle/opSplitter.d.ts +2 -2
  372. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  373. package/lib/opLifecycle/opSplitter.js +15 -10
  374. package/lib/opLifecycle/opSplitter.js.map +1 -1
  375. package/lib/opLifecycle/outbox.d.ts +39 -6
  376. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  377. package/lib/opLifecycle/outbox.js +132 -56
  378. package/lib/opLifecycle/outbox.js.map +1 -1
  379. package/lib/opLifecycle/remoteMessageProcessor.d.ts +6 -1
  380. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  381. package/lib/opLifecycle/remoteMessageProcessor.js +23 -9
  382. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  383. package/lib/opProperties.js +1 -2
  384. package/lib/opProperties.js.map +1 -1
  385. package/lib/packageVersion.d.ts +1 -1
  386. package/lib/packageVersion.js +1 -1
  387. package/lib/packageVersion.js.map +1 -1
  388. package/lib/pendingStateManager.d.ts +25 -10
  389. package/lib/pendingStateManager.d.ts.map +1 -1
  390. package/lib/pendingStateManager.js +90 -53
  391. package/lib/pendingStateManager.js.map +1 -1
  392. package/lib/scheduleManager.d.ts.map +1 -1
  393. package/lib/scheduleManager.js +25 -15
  394. package/lib/scheduleManager.js.map +1 -1
  395. package/lib/summary/index.d.ts +4 -4
  396. package/lib/summary/index.d.ts.map +1 -1
  397. package/lib/summary/index.js +2 -2
  398. package/lib/summary/index.js.map +1 -1
  399. package/lib/summary/orderedClientElection.d.ts +3 -3
  400. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  401. package/lib/summary/orderedClientElection.js +21 -22
  402. package/lib/summary/orderedClientElection.js.map +1 -1
  403. package/lib/summary/runWhileConnectedCoordinator.js +1 -1
  404. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  405. package/lib/summary/runningSummarizer.d.ts +31 -10
  406. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  407. package/lib/summary/runningSummarizer.js +265 -133
  408. package/lib/summary/runningSummarizer.js.map +1 -1
  409. package/lib/summary/summarizer.d.ts +8 -7
  410. package/lib/summary/summarizer.d.ts.map +1 -1
  411. package/lib/summary/summarizer.js +75 -74
  412. package/lib/summary/summarizer.js.map +1 -1
  413. package/lib/summary/summarizerClientElection.d.ts +2 -2
  414. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  415. package/lib/summary/summarizerClientElection.js +6 -10
  416. package/lib/summary/summarizerClientElection.js.map +1 -1
  417. package/lib/summary/summarizerHeuristics.js +9 -13
  418. package/lib/summary/summarizerHeuristics.js.map +1 -1
  419. package/lib/summary/summarizerNode/index.d.ts +1 -1
  420. package/lib/summary/summarizerNode/index.d.ts.map +1 -1
  421. package/lib/summary/summarizerNode/index.js.map +1 -1
  422. package/lib/summary/summarizerNode/summarizerNode.d.ts +40 -23
  423. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  424. package/lib/summary/summarizerNode/summarizerNode.js +132 -137
  425. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  426. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +25 -29
  427. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  428. package/lib/summary/summarizerNode/summarizerNodeUtils.js +2 -4
  429. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  430. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +21 -16
  431. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  432. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +70 -119
  433. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  434. package/lib/summary/summarizerTypes.d.ts +44 -24
  435. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  436. package/lib/summary/summarizerTypes.js.map +1 -1
  437. package/lib/summary/summaryCollection.d.ts +2 -2
  438. package/lib/summary/summaryCollection.d.ts.map +1 -1
  439. package/lib/summary/summaryCollection.js +9 -6
  440. package/lib/summary/summaryCollection.js.map +1 -1
  441. package/lib/summary/summaryFormat.d.ts +4 -0
  442. package/lib/summary/summaryFormat.d.ts.map +1 -1
  443. package/lib/summary/summaryFormat.js +7 -4
  444. package/lib/summary/summaryFormat.js.map +1 -1
  445. package/lib/summary/summaryGenerator.d.ts +21 -6
  446. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  447. package/lib/summary/summaryGenerator.js +109 -47
  448. package/lib/summary/summaryGenerator.js.map +1 -1
  449. package/lib/summary/summaryManager.d.ts +8 -7
  450. package/lib/summary/summaryManager.d.ts.map +1 -1
  451. package/lib/summary/summaryManager.js +35 -25
  452. package/lib/summary/summaryManager.js.map +1 -1
  453. package/package.json +30 -32
  454. package/src/batchTracker.ts +7 -5
  455. package/src/blobManager.ts +235 -172
  456. package/src/connectionTelemetry.ts +19 -5
  457. package/src/containerRuntime.ts +853 -431
  458. package/src/dataStore.ts +12 -4
  459. package/src/dataStoreContext.ts +49 -46
  460. package/src/dataStoreContexts.ts +4 -4
  461. package/src/dataStoreRegistry.ts +1 -1
  462. package/src/dataStores.ts +119 -80
  463. package/src/deltaManagerProxyBase.ts +111 -0
  464. package/src/deltaManagerSummarizerProxy.ts +4 -1
  465. package/src/deltaScheduler.ts +7 -11
  466. package/src/error.ts +18 -0
  467. package/src/gc/garbageCollection.md +53 -5
  468. package/src/gc/garbageCollection.ts +58 -51
  469. package/src/gc/gcConfigs.ts +4 -2
  470. package/src/gc/gcDefinitions.ts +17 -21
  471. package/src/gc/gcEarlyAdoption.md +145 -0
  472. package/src/gc/gcHelpers.ts +1 -12
  473. package/src/gc/gcSummaryStateTracker.ts +19 -65
  474. package/src/gc/gcTelemetry.ts +15 -13
  475. package/src/gc/gcUnreferencedStateTracker.ts +1 -1
  476. package/src/gc/index.ts +2 -4
  477. package/src/id-compressor/appendOnlySortedMap.ts +26 -87
  478. package/src/id-compressor/finalSpace.ts +67 -0
  479. package/src/id-compressor/idCompressor.ts +458 -1682
  480. package/src/id-compressor/identifiers.ts +42 -0
  481. package/src/id-compressor/index.ts +11 -20
  482. package/src/id-compressor/persistanceUtilities.ts +58 -0
  483. package/src/id-compressor/sessionSpaceNormalizer.ts +83 -0
  484. package/src/id-compressor/sessions.ts +405 -0
  485. package/src/id-compressor/utilities.ts +187 -0
  486. package/src/index.ts +9 -2
  487. package/src/metadata.ts +19 -0
  488. package/src/opLifecycle/README.md +20 -0
  489. package/src/opLifecycle/batchManager.ts +9 -1
  490. package/src/opLifecycle/definitions.ts +11 -0
  491. package/src/opLifecycle/index.ts +1 -1
  492. package/src/opLifecycle/opCompressor.ts +6 -5
  493. package/src/opLifecycle/opDecompressor.ts +47 -17
  494. package/src/opLifecycle/opGroupingManager.ts +18 -8
  495. package/src/opLifecycle/opSplitter.ts +10 -7
  496. package/src/opLifecycle/outbox.ts +177 -72
  497. package/src/opLifecycle/remoteMessageProcessor.ts +32 -9
  498. package/src/packageVersion.ts +1 -1
  499. package/src/pendingStateManager.ts +123 -78
  500. package/src/scheduleManager.ts +22 -11
  501. package/src/summary/index.ts +7 -4
  502. package/src/summary/orderedClientElection.ts +10 -6
  503. package/src/summary/runWhileConnectedCoordinator.ts +1 -1
  504. package/src/summary/runningSummarizer.ts +291 -163
  505. package/src/summary/summarizer.ts +27 -16
  506. package/src/summary/summarizerClientElection.ts +2 -2
  507. package/src/summary/summarizerHeuristics.ts +1 -1
  508. package/src/summary/summarizerNode/index.ts +2 -2
  509. package/src/summary/summarizerNode/summarizerNode.ts +142 -184
  510. package/src/summary/summarizerNode/summarizerNodeUtils.ts +27 -35
  511. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +72 -148
  512. package/src/summary/summarizerTypes.ts +49 -24
  513. package/src/summary/summaryCollection.ts +9 -4
  514. package/src/summary/summaryFormat.ts +9 -2
  515. package/src/summary/summaryGenerator.ts +72 -49
  516. package/src/summary/summaryManager.ts +44 -16
  517. package/dist/id-compressor/idRange.d.ts +0 -11
  518. package/dist/id-compressor/idRange.d.ts.map +0 -1
  519. package/dist/id-compressor/idRange.js +0 -29
  520. package/dist/id-compressor/idRange.js.map +0 -1
  521. package/dist/id-compressor/numericUuid.d.ts +0 -59
  522. package/dist/id-compressor/numericUuid.d.ts.map +0 -1
  523. package/dist/id-compressor/numericUuid.js +0 -325
  524. package/dist/id-compressor/numericUuid.js.map +0 -1
  525. package/dist/id-compressor/sessionIdNormalizer.d.ts +0 -138
  526. package/dist/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
  527. package/dist/id-compressor/sessionIdNormalizer.js +0 -488
  528. package/dist/id-compressor/sessionIdNormalizer.js.map +0 -1
  529. package/dist/id-compressor/utils.d.ts +0 -57
  530. package/dist/id-compressor/utils.d.ts.map +0 -1
  531. package/dist/id-compressor/utils.js +0 -90
  532. package/dist/id-compressor/utils.js.map +0 -1
  533. package/dist/id-compressor/uuidUtilities.d.ts +0 -30
  534. package/dist/id-compressor/uuidUtilities.d.ts.map +0 -1
  535. package/dist/id-compressor/uuidUtilities.js +0 -106
  536. package/dist/id-compressor/uuidUtilities.js.map +0 -1
  537. package/lib/id-compressor/idRange.d.ts +0 -11
  538. package/lib/id-compressor/idRange.d.ts.map +0 -1
  539. package/lib/id-compressor/idRange.js +0 -25
  540. package/lib/id-compressor/idRange.js.map +0 -1
  541. package/lib/id-compressor/numericUuid.d.ts +0 -59
  542. package/lib/id-compressor/numericUuid.d.ts.map +0 -1
  543. package/lib/id-compressor/numericUuid.js +0 -315
  544. package/lib/id-compressor/numericUuid.js.map +0 -1
  545. package/lib/id-compressor/sessionIdNormalizer.d.ts +0 -138
  546. package/lib/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
  547. package/lib/id-compressor/sessionIdNormalizer.js +0 -484
  548. package/lib/id-compressor/sessionIdNormalizer.js.map +0 -1
  549. package/lib/id-compressor/utils.d.ts +0 -57
  550. package/lib/id-compressor/utils.d.ts.map +0 -1
  551. package/lib/id-compressor/utils.js +0 -79
  552. package/lib/id-compressor/utils.js.map +0 -1
  553. package/lib/id-compressor/uuidUtilities.d.ts +0 -30
  554. package/lib/id-compressor/uuidUtilities.d.ts.map +0 -1
  555. package/lib/id-compressor/uuidUtilities.js +0 -98
  556. package/lib/id-compressor/uuidUtilities.js.map +0 -1
  557. package/src/id-compressor/idRange.ts +0 -35
  558. package/src/id-compressor/numericUuid.ts +0 -383
  559. package/src/id-compressor/sessionIdNormalizer.ts +0 -609
  560. package/src/id-compressor/utils.ts +0 -114
  561. package/src/id-compressor/uuidUtilities.ts +0 -123
@@ -6,12 +6,12 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.LocalDetachedFluidDataStoreContext = exports.LocalFluidDataStoreContext = exports.LocalFluidDataStoreContextBase = exports.RemoteFluidDataStoreContext = exports.FluidDataStoreContext = exports.createAttributesBlob = void 0;
8
8
  const container_definitions_1 = require("@fluidframework/container-definitions");
9
- const common_utils_1 = require("@fluidframework/common-utils");
9
+ const client_utils_1 = require("@fluid-internal/client-utils");
10
+ const core_utils_1 = require("@fluidframework/core-utils");
10
11
  const driver_utils_1 = require("@fluidframework/driver-utils");
11
12
  const runtime_definitions_1 = require("@fluidframework/runtime-definitions");
12
13
  const runtime_utils_1 = require("@fluidframework/runtime-utils");
13
14
  const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
14
- const container_utils_1 = require("@fluidframework/container-utils");
15
15
  const summary_1 = require("./summary");
16
16
  const gc_1 = require("./gc");
17
17
  function createAttributes(pkg, isRootDataStore) {
@@ -30,9 +30,8 @@ exports.createAttributesBlob = createAttributesBlob;
30
30
  /**
31
31
  * Represents the context for the store. This context is passed to the store runtime.
32
32
  */
33
- class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
33
+ class FluidDataStoreContext extends client_utils_1.TypedEventEmitter {
34
34
  constructor(props, existing, isLocalDataStore, makeLocallyVisibleFn) {
35
- var _a;
36
35
  super();
37
36
  this.existing = existing;
38
37
  this.isLocalDataStore = isLocalDataStore;
@@ -56,14 +55,25 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
56
55
  this.pkg = props.pkg;
57
56
  // URIs use slashes as delimiters. Handles use URIs.
58
57
  // Thus having slashes in types almost guarantees trouble down the road!
59
- (0, common_utils_1.assert)(!this.id.includes("/"), 0x13a /* Data store ID contains slash */);
58
+ (0, core_utils_1.assert)(!this.id.includes("/"), 0x13a /* Data store ID contains slash */);
60
59
  this._attachState =
61
60
  this.containerRuntime.attachState !== container_definitions_1.AttachState.Detached && this.existing
62
61
  ? this.containerRuntime.attachState
63
62
  : container_definitions_1.AttachState.Detached;
64
63
  const thisSummarizeInternal = async (fullTree, trackState, telemetryContext) => this.summarizeInternal(fullTree, trackState, telemetryContext);
65
64
  this.summarizerNode = props.createSummarizerNodeFn(thisSummarizeInternal, async (fullGC) => this.getGCDataInternal(fullGC));
66
- this.mc = (0, telemetry_utils_1.loggerToMonitoringContext)(telemetry_utils_1.ChildLogger.create(this.logger, "FluidDataStoreContext"));
65
+ this.mc = (0, telemetry_utils_1.createChildMonitoringContext)({
66
+ logger: this.logger,
67
+ namespace: "FluidDataStoreContext",
68
+ properties: {
69
+ all: (0, telemetry_utils_1.tagCodeArtifacts)({
70
+ fluidDataStoreId: this.id,
71
+ // The package name is a getter because `this.pkg` may not be initialized during construction.
72
+ // For data stores loaded from summary, it is initialized during data store realization.
73
+ fullPackageName: () => this.pkg?.join("/"),
74
+ }),
75
+ },
76
+ });
67
77
  this.thresholdOpsCounter = new telemetry_utils_1.ThresholdCounter(FluidDataStoreContext.pendingOpsCountThreshold, this.mc.logger);
68
78
  // Tombstone should only throw when the feature flag is enabled and the client isn't a summarizer
69
79
  this.throwOnTombstoneUsage =
@@ -72,10 +82,10 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
72
82
  this.clientDetails.type !== summary_1.summarizerClientType;
73
83
  // By default, a data store can log maximum 10 local changes telemetry in summarizer.
74
84
  this.localChangesTelemetryCount =
75
- (_a = this.mc.config.getNumber("Fluid.Telemetry.LocalChangesTelemetryCount")) !== null && _a !== void 0 ? _a : 10;
85
+ this.mc.config.getNumber("Fluid.Telemetry.LocalChangesTelemetryCount") ?? 10;
76
86
  }
77
87
  get packagePath() {
78
- (0, common_utils_1.assert)(this.pkg !== undefined, 0x139 /* "Undefined package path" */);
88
+ (0, core_utils_1.assert)(this.pkg !== undefined, 0x139 /* "Undefined package path" */);
79
89
  return this.pkg;
80
90
  }
81
91
  get options() {
@@ -175,33 +185,29 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
175
185
  this._tombstoned = tombstone;
176
186
  }
177
187
  rejectDeferredRealize(reason, failedPkgPath, fullPackageName) {
178
- throw new telemetry_utils_1.LoggingError(reason, {
179
- failedPkgPath: { value: failedPkgPath, tag: telemetry_utils_1.TelemetryDataTag.CodeArtifact },
180
- fullPackageName: (0, runtime_utils_1.packagePathToTelemetryProperty)(fullPackageName),
181
- });
188
+ throw new telemetry_utils_1.LoggingError(reason, (0, telemetry_utils_1.tagCodeArtifacts)({
189
+ failedPkgPath,
190
+ packagePath: fullPackageName?.join("/"),
191
+ }));
182
192
  }
183
193
  async realize() {
184
- (0, common_utils_1.assert)(!this.detachedRuntimeCreation, 0x13d /* "Detached runtime creation on realize()" */);
194
+ (0, core_utils_1.assert)(!this.detachedRuntimeCreation, 0x13d /* "Detached runtime creation on realize()" */);
185
195
  if (!this.channelDeferred) {
186
- this.channelDeferred = new common_utils_1.Deferred();
196
+ this.channelDeferred = new core_utils_1.Deferred();
187
197
  this.realizeCore(this.existing).catch((error) => {
188
- var _a;
189
- const errorWrapped = container_utils_1.DataProcessingError.wrapIfUnrecognized(error, "realizeFluidDataStoreContext");
190
- errorWrapped.addTelemetryProperties({
191
- fluidDataStoreId: {
192
- value: this.id,
193
- tag: telemetry_utils_1.TelemetryDataTag.CodeArtifact,
194
- },
195
- packageName: (0, runtime_utils_1.packagePathToTelemetryProperty)(this.pkg),
196
- });
197
- (_a = this.channelDeferred) === null || _a === void 0 ? void 0 : _a.reject(errorWrapped);
198
- this.logger.sendErrorEvent({ eventName: "RealizeError" }, errorWrapped);
198
+ const errorWrapped = telemetry_utils_1.DataProcessingError.wrapIfUnrecognized(error, "realizeFluidDataStoreContext");
199
+ errorWrapped.addTelemetryProperties((0, telemetry_utils_1.tagCodeArtifacts)({
200
+ fullPackageName: this.pkg?.join("/"),
201
+ fluidDataStoreId: this.id,
202
+ }));
203
+ this.channelDeferred?.reject(errorWrapped);
204
+ this.mc.logger.sendErrorEvent({ eventName: "RealizeError" }, errorWrapped);
199
205
  });
200
206
  }
201
207
  return this.channelDeferred.promise;
202
208
  }
203
209
  async factoryFromPackagePath(packages) {
204
- (0, common_utils_1.assert)(this.pkg === packages, 0x13e /* "Unexpected package path" */);
210
+ (0, core_utils_1.assert)(this.pkg === packages, 0x13e /* "Unexpected package path" */);
205
211
  if (packages === undefined) {
206
212
  this.rejectDeferredRealize("packages is undefined");
207
213
  }
@@ -219,7 +225,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
219
225
  }
220
226
  registry = entry.IFluidDataStoreRegistry;
221
227
  }
222
- const factory = entry === null || entry === void 0 ? void 0 : entry.IFluidDataStoreFactory;
228
+ const factory = entry?.IFluidDataStoreFactory;
223
229
  if (factory === undefined) {
224
230
  this.rejectDeferredRealize("Can't find factory for package", lastPkg, packages);
225
231
  }
@@ -233,10 +239,10 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
233
239
  this._baseSnapshot = details.snapshot;
234
240
  const packages = details.pkg;
235
241
  const { factory, registry } = await this.factoryFromPackagePath(packages);
236
- (0, common_utils_1.assert)(this.registry === undefined, 0x13f /* "datastore context registry is already set" */);
242
+ (0, core_utils_1.assert)(this.registry === undefined, 0x13f /* "datastore context registry is already set" */);
237
243
  this.registry = registry;
238
244
  const channel = await factory.instantiateDataStore(this, existing);
239
- (0, common_utils_1.assert)(channel !== undefined, 0x140 /* "undefined channel on datastore context" */);
245
+ (0, core_utils_1.assert)(channel !== undefined, 0x140 /* "undefined channel on datastore context" */);
240
246
  this.bindRuntime(channel);
241
247
  }
242
248
  /**
@@ -252,34 +258,36 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
252
258
  if (!this.loaded) {
253
259
  return;
254
260
  }
255
- (0, common_utils_1.assert)(this.connected === connected, 0x141 /* "Unexpected connected state" */);
261
+ (0, core_utils_1.assert)(this.connected === connected, 0x141 /* "Unexpected connected state" */);
256
262
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
257
263
  this.channel.setConnectionState(connected, clientId);
258
264
  }
259
265
  process(messageArg, local, localOpMetadata) {
260
- var _a;
261
- this.verifyNotClosed("process", true, (0, container_utils_1.extractSafePropertiesFromMessage)(messageArg));
266
+ this.verifyNotClosed("process", true, (0, telemetry_utils_1.extractSafePropertiesFromMessage)(messageArg));
262
267
  const innerContents = messageArg.contents;
263
- const message = Object.assign(Object.assign({}, messageArg), { type: innerContents.type, contents: innerContents.content });
268
+ const message = {
269
+ ...messageArg,
270
+ type: innerContents.type,
271
+ contents: innerContents.content,
272
+ };
264
273
  this.summarizerNode.recordChange(message);
265
274
  if (this.loaded) {
266
- return (_a = this.channel) === null || _a === void 0 ? void 0 : _a.process(message, local, localOpMetadata);
275
+ return this.channel?.process(message, local, localOpMetadata);
267
276
  }
268
277
  else {
269
- (0, common_utils_1.assert)(!local, 0x142 /* "local store channel is not loaded" */);
270
- (0, common_utils_1.assert)(this.pending !== undefined, 0x23d /* "pending is undefined" */);
278
+ (0, core_utils_1.assert)(!local, 0x142 /* "local store channel is not loaded" */);
279
+ (0, core_utils_1.assert)(this.pending !== undefined, 0x23d /* "pending is undefined" */);
271
280
  this.pending.push(message);
272
281
  this.thresholdOpsCounter.sendIfMultiple("StorePendingOps", this.pending.length);
273
282
  }
274
283
  }
275
284
  processSignal(message, local) {
276
- var _a;
277
285
  this.verifyNotClosed("processSignal");
278
286
  // Signals are ignored if the store is not yet loaded
279
287
  if (!this.loaded) {
280
288
  return;
281
289
  }
282
- (_a = this.channel) === null || _a === void 0 ? void 0 : _a.processSignal(message, local);
290
+ this.channel?.processSignal(message, local);
283
291
  }
284
292
  getQuorum() {
285
293
  return this._containerRuntime.getQuorum();
@@ -314,7 +322,11 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
314
322
  summarizeResult.summary.unreferenced = true;
315
323
  summarizeResult.stats.unreferencedBlobSize = summarizeResult.stats.totalBlobSize;
316
324
  }
317
- return Object.assign(Object.assign({}, summarizeResult), { id: this.id, pathPartsForChildren });
325
+ return {
326
+ ...summarizeResult,
327
+ id: this.id,
328
+ pathPartsForChildren,
329
+ };
318
330
  }
319
331
  /**
320
332
  * Returns the data used for garbage collection. This includes a list of GC nodes that represent this data store
@@ -334,7 +346,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
334
346
  */
335
347
  async getGCDataInternal(fullGC = false) {
336
348
  await this.realize();
337
- (0, common_utils_1.assert)(this.channel !== undefined, 0x143 /* "Channel should not be undefined when running GC" */);
349
+ (0, core_utils_1.assert)(this.channel !== undefined, 0x143 /* "Channel should not be undefined when running GC" */);
338
350
  return this.channel.getGCData(fullGC);
339
351
  }
340
352
  /**
@@ -384,8 +396,8 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
384
396
  * 2. When the data store is realized. This updates the channel's used routes as per last GC run.
385
397
  */
386
398
  updateChannelUsedRoutes() {
387
- (0, common_utils_1.assert)(this.loaded, 0x144 /* "Channel should be loaded when updating used routes" */);
388
- (0, common_utils_1.assert)(this.channel !== undefined, 0x145 /* "Channel should be present when data store is loaded" */);
399
+ (0, core_utils_1.assert)(this.loaded, 0x144 /* "Channel should be loaded when updating used routes" */);
400
+ (0, core_utils_1.assert)(this.channel !== undefined, 0x145 /* "Channel should be present when data store is loaded" */);
389
401
  // If there is no lastUsedRoutes, GC has not run up until this point.
390
402
  if (this.lastUsedRoutes === undefined) {
391
403
  return;
@@ -405,7 +417,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
405
417
  }
406
418
  submitMessage(type, content, localOpMetadata) {
407
419
  this.verifyNotClosed("submitMessage");
408
- (0, common_utils_1.assert)(!!this.channel, 0x146 /* "Channel must exist when submitting message" */);
420
+ (0, core_utils_1.assert)(!!this.channel, 0x146 /* "Channel must exist when submitting message" */);
409
421
  const fluidDataStoreContent = {
410
422
  content,
411
423
  type,
@@ -435,7 +447,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
435
447
  }
436
448
  submitSignal(type, content) {
437
449
  this.verifyNotClosed("submitSignal");
438
- (0, common_utils_1.assert)(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
450
+ (0, core_utils_1.assert)(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
439
451
  return this._containerRuntime.submitDataStoreSignal(this.id, type, content);
440
452
  }
441
453
  /**
@@ -443,8 +455,8 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
443
455
  * globally visible now.
444
456
  */
445
457
  makeLocallyVisible() {
446
- (0, common_utils_1.assert)(this.channel !== undefined, 0x2cf /* "undefined channel on datastore context" */);
447
- (0, common_utils_1.assert)(this.channel.visibilityState === runtime_definitions_1.VisibilityState.LocallyVisible, 0x590 /* Channel must be locally visible */);
458
+ (0, core_utils_1.assert)(this.channel !== undefined, 0x2cf /* "undefined channel on datastore context" */);
459
+ (0, core_utils_1.assert)(this.channel.visibilityState === runtime_definitions_1.VisibilityState.LocallyVisible, 0x590 /* Channel must be locally visible */);
448
460
  this.makeLocallyVisibleFn();
449
461
  }
450
462
  /** @deprecated - To be replaced by calling makeLocallyVisible directly */
@@ -452,14 +464,13 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
452
464
  this.makeLocallyVisibleFn();
453
465
  }
454
466
  bindRuntime(channel) {
455
- var _a;
456
467
  if (this.channel) {
457
468
  throw new Error("Runtime already bound");
458
469
  }
459
470
  try {
460
- (0, common_utils_1.assert)(!this.detachedRuntimeCreation, 0x148 /* "Detached runtime creation on runtime bind" */);
461
- (0, common_utils_1.assert)(this.channelDeferred !== undefined, 0x149 /* "Undefined channel deferral" */);
462
- (0, common_utils_1.assert)(this.pkg !== undefined, 0x14a /* "Undefined package path" */);
471
+ (0, core_utils_1.assert)(!this.detachedRuntimeCreation, 0x148 /* "Detached runtime creation on runtime bind" */);
472
+ (0, core_utils_1.assert)(this.channelDeferred !== undefined, 0x149 /* "Undefined channel deferral" */);
473
+ (0, core_utils_1.assert)(this.pkg !== undefined, 0x14a /* "Undefined package path" */);
463
474
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
464
475
  const pending = this.pending;
465
476
  // Apply all pending ops
@@ -486,13 +497,9 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
486
497
  this.channelDeferred.resolve(this.channel);
487
498
  }
488
499
  catch (error) {
489
- (_a = this.channelDeferred) === null || _a === void 0 ? void 0 : _a.reject(error);
490
- this.logger.sendErrorEvent({
500
+ this.channelDeferred?.reject(error);
501
+ this.mc.logger.sendErrorEvent({
491
502
  eventName: "BindRuntimeError",
492
- fluidDataStoreId: {
493
- value: this.id,
494
- tag: telemetry_utils_1.TelemetryDataTag.CodeArtifact,
495
- },
496
503
  }, error);
497
504
  }
498
505
  }
@@ -517,7 +524,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
517
524
  return {};
518
525
  }
519
526
  reSubmit(contents, localOpMetadata) {
520
- (0, common_utils_1.assert)(!!this.channel, 0x14b /* "Channel must exist when resubmitting ops" */);
527
+ (0, core_utils_1.assert)(!!this.channel, 0x14b /* "Channel must exist when resubmitting ops" */);
521
528
  const innerContents = contents;
522
529
  this.channel.reSubmit(innerContents.type, innerContents.content, localOpMetadata);
523
530
  }
@@ -535,14 +542,13 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
535
542
  if (!this.channel) {
536
543
  await this.realize();
537
544
  }
538
- (0, common_utils_1.assert)(!!this.channel, 0x14c /* "Channel must exist when rebasing ops" */);
539
- const innerContents = contents;
540
- return this.channel.applyStashedOp(innerContents.content);
545
+ (0, core_utils_1.assert)(!!this.channel, 0x14c /* "Channel must exist when rebasing ops" */);
546
+ return this.channel.applyStashedOp(contents);
541
547
  }
542
548
  verifyNotClosed(callSite, checkTombstone = true, safeTelemetryProps = {}) {
543
549
  if (this.deleted) {
544
550
  const messageString = `Context is deleted! Call site [${callSite}]`;
545
- const error = new container_utils_1.DataCorruptionError(messageString, safeTelemetryProps);
551
+ const error = new telemetry_utils_1.DataCorruptionError(messageString, safeTelemetryProps);
546
552
  this.mc.logger.sendErrorEvent({
547
553
  eventName: "GC_Deleted_DataStore_Changed",
548
554
  callSite,
@@ -554,7 +560,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
554
560
  }
555
561
  if (checkTombstone && this.tombstoned) {
556
562
  const messageString = `Context is tombstoned! Call site [${callSite}]`;
557
- const error = new container_utils_1.DataCorruptionError(messageString, safeTelemetryProps);
563
+ const error = new telemetry_utils_1.DataCorruptionError(messageString, safeTelemetryProps);
558
564
  (0, gc_1.sendGCUnexpectedUsageEvent)(this.mc, {
559
565
  eventName: "GC_Tombstone_DataStore_Changed",
560
566
  category: this.throwOnTombstoneUsage ? "error" : "generic",
@@ -572,7 +578,6 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
572
578
  * other clients that are up-to-date till seq# 100 may not have them yet.
573
579
  */
574
580
  identifyLocalChangeInSummarizer(eventName, type) {
575
- var _a, _b;
576
581
  if (this.clientDetails.type !== summary_1.summarizerClientType ||
577
582
  this.localChangesTelemetryCount <= 0) {
578
583
  return;
@@ -583,12 +588,7 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
583
588
  this.mc.logger.sendTelemetryEvent({
584
589
  eventName,
585
590
  type,
586
- fluidDataStoreId: {
587
- value: this.id,
588
- tag: telemetry_utils_1.TelemetryDataTag.CodeArtifact,
589
- },
590
- packageName: (0, runtime_utils_1.packagePathToTelemetryProperty)(this.pkg),
591
- isSummaryInProgress: (_b = (_a = this.summarizerNode).isSummaryInProgress) === null || _b === void 0 ? void 0 : _b.call(_a),
591
+ isSummaryInProgress: this.summarizerNode.isSummaryInProgress?.(),
592
592
  stack: (0, telemetry_utils_1.generateStack)(),
593
593
  });
594
594
  this.localChangesTelemetryCount--;
@@ -598,8 +598,8 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
598
598
  // DDS will not create failure summaries
599
599
  { throwOnFailure: true }, getGCDataFn);
600
600
  }
601
- async uploadBlob(blob) {
602
- return this.containerRuntime.uploadBlob(blob);
601
+ async uploadBlob(blob, signal) {
602
+ return this.containerRuntime.uploadBlob(blob, signal);
603
603
  }
604
604
  }
605
605
  exports.FluidDataStoreContext = FluidDataStoreContext;
@@ -609,8 +609,7 @@ class RemoteFluidDataStoreContext extends FluidDataStoreContext {
609
609
  super(props, true /* existing */, false /* isLocalDataStore */, () => {
610
610
  throw new Error("Already attached");
611
611
  });
612
- this.initialSnapshotDetailsP = new common_utils_1.LazyPromise(async () => {
613
- var _a;
612
+ this.initialSnapshotDetailsP = new core_utils_1.LazyPromise(async () => {
614
613
  let tree = this.initSnapshotValue;
615
614
  let isRootDataStore = true;
616
615
  if (!!tree && tree.blobs[summary_1.dataStoreAttributesBlobName] !== undefined) {
@@ -635,10 +634,10 @@ class RemoteFluidDataStoreContext extends FluidDataStoreContext {
635
634
  * data stores in older documents are not garbage collected incorrectly. This may lead to additional
636
635
  * roots in the document but they won't break.
637
636
  */
638
- isRootDataStore = (_a = attributes.isRootDataStore) !== null && _a !== void 0 ? _a : true;
637
+ isRootDataStore = attributes.isRootDataStore ?? true;
639
638
  if ((0, summary_1.hasIsolatedChannels)(attributes)) {
640
639
  tree = tree.trees[runtime_definitions_1.channelsTreeName];
641
- (0, common_utils_1.assert)(tree !== undefined, 0x1fe /* "isolated channels subtree should exist in remote datastore snapshot" */);
640
+ (0, core_utils_1.assert)(tree !== undefined, 0x1fe /* "isolated channels subtree should exist in remote datastore snapshot" */);
642
641
  }
643
642
  }
644
643
  return {
@@ -678,17 +677,17 @@ class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
678
677
  }
679
678
  attachListeners() {
680
679
  this.once("attaching", () => {
681
- (0, common_utils_1.assert)(this.attachState === container_definitions_1.AttachState.Detached, 0x14d /* "Should move from detached to attaching" */);
680
+ (0, core_utils_1.assert)(this.attachState === container_definitions_1.AttachState.Detached, 0x14d /* "Should move from detached to attaching" */);
682
681
  this._attachState = container_definitions_1.AttachState.Attaching;
683
682
  });
684
683
  this.once("attached", () => {
685
- (0, common_utils_1.assert)(this.attachState === container_definitions_1.AttachState.Attaching, 0x14e /* "Should move from attaching to attached" */);
684
+ (0, core_utils_1.assert)(this.attachState === container_definitions_1.AttachState.Attaching, 0x14e /* "Should move from attaching to attached" */);
686
685
  this._attachState = container_definitions_1.AttachState.Attached;
687
686
  });
688
687
  }
689
688
  generateAttachMessage() {
690
- (0, common_utils_1.assert)(this.channel !== undefined, 0x14f /* "There should be a channel when generating attach message" */);
691
- (0, common_utils_1.assert)(this.pkg !== undefined, 0x150 /* "pkg should be available in local data store context" */);
689
+ (0, core_utils_1.assert)(this.channel !== undefined, 0x14f /* "There should be a channel when generating attach message" */);
690
+ (0, core_utils_1.assert)(this.pkg !== undefined, 0x150 /* "pkg should be available in local data store context" */);
692
691
  const summarizeResult = this.channel.getAttachSummary();
693
692
  // Wrap dds summaries in .channels subtree.
694
693
  (0, summary_1.wrapSummaryInChannelsTree)(summarizeResult);
@@ -705,7 +704,6 @@ class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
705
704
  return message;
706
705
  }
707
706
  async getInitialSnapshotDetails() {
708
- var _a;
709
707
  let snapshot = this.snapshotTree;
710
708
  let attributes;
711
709
  let isRootDataStore = false;
@@ -715,20 +713,20 @@ class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
715
713
  attributes = await (0, summary_1.getFluidDataStoreAttributes)(this.storage, snapshot);
716
714
  if ((0, summary_1.hasIsolatedChannels)(attributes)) {
717
715
  snapshot = snapshot.trees[runtime_definitions_1.channelsTreeName];
718
- (0, common_utils_1.assert)(snapshot !== undefined, 0x1ff /* "isolated channels subtree should exist in local datastore snapshot" */);
716
+ (0, core_utils_1.assert)(snapshot !== undefined, 0x1ff /* "isolated channels subtree should exist in local datastore snapshot" */);
719
717
  }
720
718
  if (this.pkg === undefined) {
721
719
  this.pkg = JSON.parse(attributes.pkg);
722
720
  // If there is no isRootDataStore in the attributes blob, set it to true. This ensures that data
723
721
  // stores in older documents are not garbage collected incorrectly. This may lead to additional
724
722
  // roots in the document but they won't break.
725
- if ((_a = attributes.isRootDataStore) !== null && _a !== void 0 ? _a : true) {
723
+ if (attributes.isRootDataStore ?? true) {
726
724
  isRootDataStore = true;
727
725
  this.setInMemoryRoot();
728
726
  }
729
727
  }
730
728
  }
731
- (0, common_utils_1.assert)(this.pkg !== undefined, 0x152 /* "pkg should be available in local data store" */);
729
+ (0, core_utils_1.assert)(this.pkg !== undefined, 0x152 /* "pkg should be available in local data store" */);
732
730
  return {
733
731
  pkg: this.pkg,
734
732
  isRootDataStore,
@@ -778,15 +776,14 @@ class LocalDetachedFluidDataStoreContext extends LocalFluidDataStoreContextBase
778
776
  this.detachedRuntimeCreation = true;
779
777
  }
780
778
  async attachRuntime(registry, dataStoreChannel) {
781
- var _a;
782
- (0, common_utils_1.assert)(this.detachedRuntimeCreation, 0x154 /* "runtime creation is already attached" */);
779
+ (0, core_utils_1.assert)(this.detachedRuntimeCreation, 0x154 /* "runtime creation is already attached" */);
783
780
  this.detachedRuntimeCreation = false;
784
- (0, common_utils_1.assert)(this.channelDeferred === undefined, 0x155 /* "channel deferral is already set" */);
785
- this.channelDeferred = new common_utils_1.Deferred();
781
+ (0, core_utils_1.assert)(this.channelDeferred === undefined, 0x155 /* "channel deferral is already set" */);
782
+ this.channelDeferred = new core_utils_1.Deferred();
786
783
  const factory = registry.IFluidDataStoreFactory;
787
784
  const entry = await this.factoryFromPackagePath(this.pkg);
788
- (0, common_utils_1.assert)(entry.factory === factory, 0x156 /* "Unexpected factory for package path" */);
789
- (0, common_utils_1.assert)(this.registry === undefined, 0x157 /* "datastore registry already attached" */);
785
+ (0, core_utils_1.assert)(entry.factory === factory, 0x156 /* "Unexpected factory for package path" */);
786
+ (0, core_utils_1.assert)(this.registry === undefined, 0x157 /* "datastore registry already attached" */);
790
787
  this.registry = entry.registry;
791
788
  super.bindRuntime(dataStoreChannel);
792
789
  // Load the handle to the data store's entryPoint to make sure that for a detached data store, the entryPoint
@@ -796,7 +793,7 @@ class LocalDetachedFluidDataStoreContext extends LocalFluidDataStoreContextBase
796
793
  // of data store factories tends to construct the data object (at least kick off an async method that returns
797
794
  // it); that code moved to the entryPoint initialization function, so we want to ensure it still executes
798
795
  // before the data store is attached.
799
- await ((_a = dataStoreChannel.entryPoint) === null || _a === void 0 ? void 0 : _a.get());
796
+ await dataStoreChannel.entryPoint?.get();
800
797
  if (await this.isRoot()) {
801
798
  dataStoreChannel.makeVisibleAndAttachGraph();
802
799
  }