@fluidframework/container-runtime 2.0.0-internal.6.1.1 → 2.0.0-internal.6.3.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 (477) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +4 -3
  3. package/dist/batchTracker.d.ts +1 -1
  4. package/dist/batchTracker.d.ts.map +1 -1
  5. package/dist/batchTracker.js +5 -4
  6. package/dist/batchTracker.js.map +1 -1
  7. package/dist/blobManager.d.ts +4 -21
  8. package/dist/blobManager.d.ts.map +1 -1
  9. package/dist/blobManager.js +119 -185
  10. package/dist/blobManager.js.map +1 -1
  11. package/dist/connectionTelemetry.d.ts.map +1 -1
  12. package/dist/connectionTelemetry.js +13 -12
  13. package/dist/connectionTelemetry.js.map +1 -1
  14. package/dist/containerRuntime.d.ts +99 -16
  15. package/dist/containerRuntime.d.ts.map +1 -1
  16. package/dist/containerRuntime.js +380 -242
  17. package/dist/containerRuntime.js.map +1 -1
  18. package/dist/dataStore.d.ts.map +1 -1
  19. package/dist/dataStore.js +4 -5
  20. package/dist/dataStore.js.map +1 -1
  21. package/dist/dataStoreContext.d.ts +2 -1
  22. package/dist/dataStoreContext.d.ts.map +1 -1
  23. package/dist/dataStoreContext.js +40 -41
  24. package/dist/dataStoreContext.js.map +1 -1
  25. package/dist/dataStoreContexts.d.ts +1 -2
  26. package/dist/dataStoreContexts.d.ts.map +1 -1
  27. package/dist/dataStoreContexts.js +7 -8
  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.map +1 -1
  32. package/dist/dataStores.js +23 -25
  33. package/dist/dataStores.js.map +1 -1
  34. package/dist/deltaManagerProxyBase.d.ts +1 -1
  35. package/dist/deltaManagerProxyBase.js +2 -2
  36. package/dist/deltaManagerProxyBase.js.map +1 -1
  37. package/dist/deltaScheduler.js +6 -6
  38. package/dist/deltaScheduler.js.map +1 -1
  39. package/dist/error.d.ts +14 -0
  40. package/dist/error.d.ts.map +1 -0
  41. package/dist/error.js +21 -0
  42. package/dist/error.js.map +1 -0
  43. package/dist/gc/garbageCollection.d.ts +4 -6
  44. package/dist/gc/garbageCollection.d.ts.map +1 -1
  45. package/dist/gc/garbageCollection.js +26 -25
  46. package/dist/gc/garbageCollection.js.map +1 -1
  47. package/dist/gc/gcConfigs.d.ts.map +1 -1
  48. package/dist/gc/gcConfigs.js +5 -3
  49. package/dist/gc/gcConfigs.js.map +1 -1
  50. package/dist/gc/gcDefinitions.d.ts +4 -2
  51. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  52. package/dist/gc/gcDefinitions.js.map +1 -1
  53. package/dist/gc/gcHelpers.js +7 -7
  54. package/dist/gc/gcHelpers.js.map +1 -1
  55. package/dist/gc/gcSummaryStateTracker.d.ts +4 -7
  56. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  57. package/dist/gc/gcSummaryStateTracker.js +15 -52
  58. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  59. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  60. package/dist/gc/gcTelemetry.js +2 -0
  61. package/dist/gc/gcTelemetry.js.map +1 -1
  62. package/dist/gc/gcUnreferencedStateTracker.js +4 -4
  63. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  64. package/dist/gc/index.d.ts +1 -1
  65. package/dist/gc/index.d.ts.map +1 -1
  66. package/dist/gc/index.js +1 -2
  67. package/dist/gc/index.js.map +1 -1
  68. package/dist/id-compressor/appendOnlySortedMap.d.ts +8 -30
  69. package/dist/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
  70. package/dist/id-compressor/appendOnlySortedMap.js +26 -68
  71. package/dist/id-compressor/appendOnlySortedMap.js.map +1 -1
  72. package/dist/id-compressor/finalSpace.d.ts +29 -0
  73. package/dist/id-compressor/finalSpace.d.ts.map +1 -0
  74. package/dist/id-compressor/finalSpace.js +62 -0
  75. package/dist/id-compressor/finalSpace.js.map +1 -0
  76. package/dist/id-compressor/idCompressor.d.ts +25 -250
  77. package/dist/id-compressor/idCompressor.d.ts.map +1 -1
  78. package/dist/id-compressor/idCompressor.js +387 -1150
  79. package/dist/id-compressor/idCompressor.js.map +1 -1
  80. package/dist/id-compressor/identifiers.d.ts +32 -0
  81. package/dist/id-compressor/identifiers.d.ts.map +1 -0
  82. package/dist/id-compressor/identifiers.js +15 -0
  83. package/dist/id-compressor/identifiers.js.map +1 -0
  84. package/dist/id-compressor/index.d.ts +5 -6
  85. package/dist/id-compressor/index.d.ts.map +1 -1
  86. package/dist/id-compressor/index.js +20 -26
  87. package/dist/id-compressor/index.js.map +1 -1
  88. package/dist/id-compressor/persistanceUtilities.d.ts +22 -0
  89. package/dist/id-compressor/persistanceUtilities.d.ts.map +1 -0
  90. package/dist/id-compressor/persistanceUtilities.js +43 -0
  91. package/dist/id-compressor/persistanceUtilities.js.map +1 -0
  92. package/dist/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
  93. package/dist/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
  94. package/dist/id-compressor/sessionSpaceNormalizer.js +80 -0
  95. package/dist/id-compressor/sessionSpaceNormalizer.js.map +1 -0
  96. package/dist/id-compressor/sessions.d.ts +115 -0
  97. package/dist/id-compressor/sessions.d.ts.map +1 -0
  98. package/dist/id-compressor/sessions.js +305 -0
  99. package/dist/id-compressor/sessions.js.map +1 -0
  100. package/dist/id-compressor/utilities.d.ts +49 -0
  101. package/dist/id-compressor/utilities.d.ts.map +1 -0
  102. package/dist/id-compressor/utilities.js +166 -0
  103. package/dist/id-compressor/utilities.js.map +1 -0
  104. package/dist/index.d.ts +3 -3
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +6 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/opLifecycle/opCompressor.js +5 -5
  109. package/dist/opLifecycle/opCompressor.js.map +1 -1
  110. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  111. package/dist/opLifecycle/opDecompressor.js +11 -10
  112. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  113. package/dist/opLifecycle/opGroupingManager.js +3 -3
  114. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  115. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  116. package/dist/opLifecycle/opSplitter.js +14 -15
  117. package/dist/opLifecycle/opSplitter.js.map +1 -1
  118. package/dist/opLifecycle/outbox.d.ts +1 -0
  119. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  120. package/dist/opLifecycle/outbox.js +16 -17
  121. package/dist/opLifecycle/outbox.js.map +1 -1
  122. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  123. package/dist/opLifecycle/remoteMessageProcessor.js +11 -5
  124. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  125. package/dist/packageVersion.d.ts +1 -1
  126. package/dist/packageVersion.js +1 -1
  127. package/dist/packageVersion.js.map +1 -1
  128. package/dist/pendingStateManager.d.ts +12 -5
  129. package/dist/pendingStateManager.d.ts.map +1 -1
  130. package/dist/pendingStateManager.js +36 -23
  131. package/dist/pendingStateManager.js.map +1 -1
  132. package/dist/scheduleManager.d.ts.map +1 -1
  133. package/dist/scheduleManager.js +23 -23
  134. package/dist/scheduleManager.js.map +1 -1
  135. package/dist/summary/index.d.ts +3 -3
  136. package/dist/summary/index.d.ts.map +1 -1
  137. package/dist/summary/index.js +2 -1
  138. package/dist/summary/index.js.map +1 -1
  139. package/dist/summary/orderedClientElection.d.ts +2 -3
  140. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  141. package/dist/summary/orderedClientElection.js +8 -8
  142. package/dist/summary/orderedClientElection.js.map +1 -1
  143. package/dist/summary/runWhileConnectedCoordinator.js +3 -3
  144. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  145. package/dist/summary/runningSummarizer.d.ts +27 -4
  146. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  147. package/dist/summary/runningSummarizer.js +246 -74
  148. package/dist/summary/runningSummarizer.js.map +1 -1
  149. package/dist/summary/summarizer.d.ts +6 -5
  150. package/dist/summary/summarizer.d.ts.map +1 -1
  151. package/dist/summary/summarizer.js +73 -69
  152. package/dist/summary/summarizer.js.map +1 -1
  153. package/dist/summary/summarizerClientElection.d.ts +2 -2
  154. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  155. package/dist/summary/summarizerClientElection.js +2 -2
  156. package/dist/summary/summarizerClientElection.js.map +1 -1
  157. package/dist/summary/summarizerHeuristics.js +2 -2
  158. package/dist/summary/summarizerHeuristics.js.map +1 -1
  159. package/dist/summary/summarizerNode/index.d.ts +1 -1
  160. package/dist/summary/summarizerNode/index.d.ts.map +1 -1
  161. package/dist/summary/summarizerNode/index.js.map +1 -1
  162. package/dist/summary/summarizerNode/summarizerNode.d.ts +5 -14
  163. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  164. package/dist/summary/summarizerNode/summarizerNode.js +32 -109
  165. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  166. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +6 -30
  167. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  168. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  169. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +0 -11
  170. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  171. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +5 -88
  172. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  173. package/dist/summary/summarizerTypes.d.ts +38 -25
  174. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  175. package/dist/summary/summarizerTypes.js.map +1 -1
  176. package/dist/summary/summaryCollection.d.ts +2 -3
  177. package/dist/summary/summaryCollection.d.ts.map +1 -1
  178. package/dist/summary/summaryCollection.js +9 -8
  179. package/dist/summary/summaryCollection.js.map +1 -1
  180. package/dist/summary/summaryFormat.js +2 -2
  181. package/dist/summary/summaryFormat.js.map +1 -1
  182. package/dist/summary/summaryGenerator.d.ts +10 -4
  183. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  184. package/dist/summary/summaryGenerator.js +52 -48
  185. package/dist/summary/summaryGenerator.js.map +1 -1
  186. package/dist/summary/summaryManager.d.ts +7 -6
  187. package/dist/summary/summaryManager.d.ts.map +1 -1
  188. package/dist/summary/summaryManager.js +30 -22
  189. package/dist/summary/summaryManager.js.map +1 -1
  190. package/lib/batchTracker.d.ts +1 -1
  191. package/lib/batchTracker.d.ts.map +1 -1
  192. package/lib/batchTracker.js +3 -2
  193. package/lib/batchTracker.js.map +1 -1
  194. package/lib/blobManager.d.ts +4 -21
  195. package/lib/blobManager.d.ts.map +1 -1
  196. package/lib/blobManager.js +91 -157
  197. package/lib/blobManager.js.map +1 -1
  198. package/lib/connectionTelemetry.d.ts.map +1 -1
  199. package/lib/connectionTelemetry.js +2 -1
  200. package/lib/connectionTelemetry.js.map +1 -1
  201. package/lib/containerRuntime.d.ts +99 -16
  202. package/lib/containerRuntime.d.ts.map +1 -1
  203. package/lib/containerRuntime.js +332 -192
  204. package/lib/containerRuntime.js.map +1 -1
  205. package/lib/dataStore.d.ts.map +1 -1
  206. package/lib/dataStore.js +2 -3
  207. package/lib/dataStore.js.map +1 -1
  208. package/lib/dataStoreContext.d.ts +2 -1
  209. package/lib/dataStoreContext.d.ts.map +1 -1
  210. package/lib/dataStoreContext.js +3 -4
  211. package/lib/dataStoreContext.js.map +1 -1
  212. package/lib/dataStoreContexts.d.ts +1 -2
  213. package/lib/dataStoreContexts.d.ts.map +1 -1
  214. package/lib/dataStoreContexts.js +1 -2
  215. package/lib/dataStoreContexts.js.map +1 -1
  216. package/lib/dataStoreRegistry.js +1 -1
  217. package/lib/dataStoreRegistry.js.map +1 -1
  218. package/lib/dataStores.d.ts.map +1 -1
  219. package/lib/dataStores.js +2 -4
  220. package/lib/dataStores.js.map +1 -1
  221. package/lib/deltaManagerProxyBase.d.ts +1 -1
  222. package/lib/deltaManagerProxyBase.js +1 -1
  223. package/lib/deltaManagerProxyBase.js.map +1 -1
  224. package/lib/deltaScheduler.js +1 -1
  225. package/lib/deltaScheduler.js.map +1 -1
  226. package/lib/error.d.ts +14 -0
  227. package/lib/error.d.ts.map +1 -0
  228. package/lib/error.js +17 -0
  229. package/lib/error.js.map +1 -0
  230. package/lib/gc/garbageCollection.d.ts +4 -6
  231. package/lib/gc/garbageCollection.d.ts.map +1 -1
  232. package/lib/gc/garbageCollection.js +26 -25
  233. package/lib/gc/garbageCollection.js.map +1 -1
  234. package/lib/gc/gcConfigs.d.ts.map +1 -1
  235. package/lib/gc/gcConfigs.js +3 -1
  236. package/lib/gc/gcConfigs.js.map +1 -1
  237. package/lib/gc/gcDefinitions.d.ts +4 -2
  238. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  239. package/lib/gc/gcDefinitions.js.map +1 -1
  240. package/lib/gc/gcHelpers.js +1 -1
  241. package/lib/gc/gcHelpers.js.map +1 -1
  242. package/lib/gc/gcSummaryStateTracker.d.ts +4 -7
  243. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  244. package/lib/gc/gcSummaryStateTracker.js +16 -53
  245. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  246. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  247. package/lib/gc/gcTelemetry.js +2 -0
  248. package/lib/gc/gcTelemetry.js.map +1 -1
  249. package/lib/gc/gcUnreferencedStateTracker.js +1 -1
  250. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  251. package/lib/gc/index.d.ts +1 -1
  252. package/lib/gc/index.d.ts.map +1 -1
  253. package/lib/gc/index.js +1 -1
  254. package/lib/gc/index.js.map +1 -1
  255. package/lib/id-compressor/appendOnlySortedMap.d.ts +8 -30
  256. package/lib/id-compressor/appendOnlySortedMap.d.ts.map +1 -1
  257. package/lib/id-compressor/appendOnlySortedMap.js +25 -66
  258. package/lib/id-compressor/appendOnlySortedMap.js.map +1 -1
  259. package/lib/id-compressor/finalSpace.d.ts +29 -0
  260. package/lib/id-compressor/finalSpace.d.ts.map +1 -0
  261. package/lib/id-compressor/finalSpace.js +58 -0
  262. package/lib/id-compressor/finalSpace.js.map +1 -0
  263. package/lib/id-compressor/idCompressor.d.ts +25 -250
  264. package/lib/id-compressor/idCompressor.d.ts.map +1 -1
  265. package/lib/id-compressor/idCompressor.js +382 -1139
  266. package/lib/id-compressor/idCompressor.js.map +1 -1
  267. package/lib/id-compressor/identifiers.d.ts +32 -0
  268. package/lib/id-compressor/identifiers.d.ts.map +1 -0
  269. package/lib/id-compressor/identifiers.js +11 -0
  270. package/lib/id-compressor/identifiers.js.map +1 -0
  271. package/lib/id-compressor/index.d.ts +5 -6
  272. package/lib/id-compressor/index.d.ts.map +1 -1
  273. package/lib/id-compressor/index.js +5 -6
  274. package/lib/id-compressor/index.js.map +1 -1
  275. package/lib/id-compressor/persistanceUtilities.d.ts +22 -0
  276. package/lib/id-compressor/persistanceUtilities.d.ts.map +1 -0
  277. package/lib/id-compressor/persistanceUtilities.js +34 -0
  278. package/lib/id-compressor/persistanceUtilities.js.map +1 -0
  279. package/lib/id-compressor/sessionSpaceNormalizer.d.ts +46 -0
  280. package/lib/id-compressor/sessionSpaceNormalizer.d.ts.map +1 -0
  281. package/lib/id-compressor/sessionSpaceNormalizer.js +76 -0
  282. package/lib/id-compressor/sessionSpaceNormalizer.js.map +1 -0
  283. package/lib/id-compressor/sessions.d.ts +115 -0
  284. package/lib/id-compressor/sessions.d.ts.map +1 -0
  285. package/lib/id-compressor/sessions.js +290 -0
  286. package/lib/id-compressor/sessions.js.map +1 -0
  287. package/lib/id-compressor/utilities.d.ts +49 -0
  288. package/lib/id-compressor/utilities.d.ts.map +1 -0
  289. package/lib/id-compressor/utilities.js +148 -0
  290. package/lib/id-compressor/utilities.js.map +1 -0
  291. package/lib/index.d.ts +3 -3
  292. package/lib/index.d.ts.map +1 -1
  293. package/lib/index.js +2 -2
  294. package/lib/index.js.map +1 -1
  295. package/lib/opLifecycle/opCompressor.js +3 -3
  296. package/lib/opLifecycle/opCompressor.js.map +1 -1
  297. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  298. package/lib/opLifecycle/opDecompressor.js +2 -1
  299. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  300. package/lib/opLifecycle/opGroupingManager.js +1 -1
  301. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  302. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  303. package/lib/opLifecycle/opSplitter.js +2 -3
  304. package/lib/opLifecycle/opSplitter.js.map +1 -1
  305. package/lib/opLifecycle/outbox.d.ts +1 -0
  306. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  307. package/lib/opLifecycle/outbox.js +7 -8
  308. package/lib/opLifecycle/outbox.js.map +1 -1
  309. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  310. package/lib/opLifecycle/remoteMessageProcessor.js +12 -6
  311. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  312. package/lib/packageVersion.d.ts +1 -1
  313. package/lib/packageVersion.js +1 -1
  314. package/lib/packageVersion.js.map +1 -1
  315. package/lib/pendingStateManager.d.ts +12 -5
  316. package/lib/pendingStateManager.d.ts.map +1 -1
  317. package/lib/pendingStateManager.js +21 -8
  318. package/lib/pendingStateManager.js.map +1 -1
  319. package/lib/scheduleManager.d.ts.map +1 -1
  320. package/lib/scheduleManager.js +3 -3
  321. package/lib/scheduleManager.js.map +1 -1
  322. package/lib/summary/index.d.ts +3 -3
  323. package/lib/summary/index.d.ts.map +1 -1
  324. package/lib/summary/index.js +1 -1
  325. package/lib/summary/index.js.map +1 -1
  326. package/lib/summary/orderedClientElection.d.ts +2 -3
  327. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  328. package/lib/summary/orderedClientElection.js +3 -3
  329. package/lib/summary/orderedClientElection.js.map +1 -1
  330. package/lib/summary/runWhileConnectedCoordinator.js +1 -1
  331. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  332. package/lib/summary/runningSummarizer.d.ts +27 -4
  333. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  334. package/lib/summary/runningSummarizer.js +240 -68
  335. package/lib/summary/runningSummarizer.js.map +1 -1
  336. package/lib/summary/summarizer.d.ts +6 -5
  337. package/lib/summary/summarizer.d.ts.map +1 -1
  338. package/lib/summary/summarizer.js +69 -65
  339. package/lib/summary/summarizer.js.map +1 -1
  340. package/lib/summary/summarizerClientElection.d.ts +2 -2
  341. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  342. package/lib/summary/summarizerClientElection.js +1 -1
  343. package/lib/summary/summarizerClientElection.js.map +1 -1
  344. package/lib/summary/summarizerHeuristics.js +1 -1
  345. package/lib/summary/summarizerHeuristics.js.map +1 -1
  346. package/lib/summary/summarizerNode/index.d.ts +1 -1
  347. package/lib/summary/summarizerNode/index.d.ts.map +1 -1
  348. package/lib/summary/summarizerNode/index.js.map +1 -1
  349. package/lib/summary/summarizerNode/summarizerNode.d.ts +5 -14
  350. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  351. package/lib/summary/summarizerNode/summarizerNode.js +16 -93
  352. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  353. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +6 -30
  354. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  355. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  356. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +0 -11
  357. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  358. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +3 -86
  359. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  360. package/lib/summary/summarizerTypes.d.ts +38 -25
  361. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  362. package/lib/summary/summarizerTypes.js.map +1 -1
  363. package/lib/summary/summaryCollection.d.ts +2 -3
  364. package/lib/summary/summaryCollection.d.ts.map +1 -1
  365. package/lib/summary/summaryCollection.js +2 -1
  366. package/lib/summary/summaryCollection.js.map +1 -1
  367. package/lib/summary/summaryFormat.js +1 -1
  368. package/lib/summary/summaryFormat.js.map +1 -1
  369. package/lib/summary/summaryGenerator.d.ts +10 -4
  370. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  371. package/lib/summary/summaryGenerator.js +46 -42
  372. package/lib/summary/summaryGenerator.js.map +1 -1
  373. package/lib/summary/summaryManager.d.ts +7 -6
  374. package/lib/summary/summaryManager.d.ts.map +1 -1
  375. package/lib/summary/summaryManager.js +26 -18
  376. package/lib/summary/summaryManager.js.map +1 -1
  377. package/package.json +30 -29
  378. package/src/batchTracker.ts +3 -2
  379. package/src/blobManager.ts +105 -185
  380. package/src/connectionTelemetry.ts +2 -1
  381. package/src/containerRuntime.ts +481 -267
  382. package/src/dataStore.ts +2 -3
  383. package/src/dataStoreContext.ts +5 -8
  384. package/src/dataStoreContexts.ts +2 -4
  385. package/src/dataStoreRegistry.ts +1 -1
  386. package/src/dataStores.ts +4 -7
  387. package/src/deltaManagerProxyBase.ts +1 -1
  388. package/src/deltaScheduler.ts +1 -1
  389. package/src/error.ts +18 -0
  390. package/src/gc/garbageCollection.ts +39 -41
  391. package/src/gc/gcConfigs.ts +4 -2
  392. package/src/gc/gcDefinitions.ts +4 -6
  393. package/src/gc/gcHelpers.ts +1 -1
  394. package/src/gc/gcSummaryStateTracker.ts +19 -65
  395. package/src/gc/gcTelemetry.ts +2 -0
  396. package/src/gc/gcUnreferencedStateTracker.ts +1 -1
  397. package/src/gc/index.ts +0 -1
  398. package/src/id-compressor/appendOnlySortedMap.ts +26 -87
  399. package/src/id-compressor/finalSpace.ts +67 -0
  400. package/src/id-compressor/idCompressor.ts +456 -1681
  401. package/src/id-compressor/identifiers.ts +42 -0
  402. package/src/id-compressor/index.ts +11 -20
  403. package/src/id-compressor/persistanceUtilities.ts +58 -0
  404. package/src/id-compressor/sessionSpaceNormalizer.ts +83 -0
  405. package/src/id-compressor/sessions.ts +405 -0
  406. package/src/id-compressor/utilities.ts +187 -0
  407. package/src/index.ts +7 -1
  408. package/src/opLifecycle/opCompressor.ts +3 -3
  409. package/src/opLifecycle/opDecompressor.ts +2 -1
  410. package/src/opLifecycle/opGroupingManager.ts +1 -1
  411. package/src/opLifecycle/opSplitter.ts +4 -4
  412. package/src/opLifecycle/outbox.ts +14 -11
  413. package/src/opLifecycle/remoteMessageProcessor.ts +19 -6
  414. package/src/packageVersion.ts +1 -1
  415. package/src/pendingStateManager.ts +50 -29
  416. package/src/scheduleManager.ts +6 -4
  417. package/src/summary/index.ts +4 -3
  418. package/src/summary/orderedClientElection.ts +8 -5
  419. package/src/summary/runWhileConnectedCoordinator.ts +1 -1
  420. package/src/summary/runningSummarizer.ts +273 -97
  421. package/src/summary/summarizer.ts +23 -12
  422. package/src/summary/summarizerClientElection.ts +2 -2
  423. package/src/summary/summarizerHeuristics.ts +1 -1
  424. package/src/summary/summarizerNode/index.ts +1 -2
  425. package/src/summary/summarizerNode/summarizerNode.ts +23 -145
  426. package/src/summary/summarizerNode/summarizerNodeUtils.ts +7 -38
  427. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +3 -123
  428. package/src/summary/summarizerTypes.ts +40 -25
  429. package/src/summary/summaryCollection.ts +3 -3
  430. package/src/summary/summaryFormat.ts +1 -1
  431. package/src/summary/summaryGenerator.ts +52 -55
  432. package/src/summary/summaryManager.ts +36 -13
  433. package/dist/id-compressor/idRange.d.ts +0 -11
  434. package/dist/id-compressor/idRange.d.ts.map +0 -1
  435. package/dist/id-compressor/idRange.js +0 -29
  436. package/dist/id-compressor/idRange.js.map +0 -1
  437. package/dist/id-compressor/numericUuid.d.ts +0 -59
  438. package/dist/id-compressor/numericUuid.d.ts.map +0 -1
  439. package/dist/id-compressor/numericUuid.js +0 -325
  440. package/dist/id-compressor/numericUuid.js.map +0 -1
  441. package/dist/id-compressor/sessionIdNormalizer.d.ts +0 -138
  442. package/dist/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
  443. package/dist/id-compressor/sessionIdNormalizer.js +0 -483
  444. package/dist/id-compressor/sessionIdNormalizer.js.map +0 -1
  445. package/dist/id-compressor/utils.d.ts +0 -57
  446. package/dist/id-compressor/utils.d.ts.map +0 -1
  447. package/dist/id-compressor/utils.js +0 -90
  448. package/dist/id-compressor/utils.js.map +0 -1
  449. package/dist/id-compressor/uuidUtilities.d.ts +0 -28
  450. package/dist/id-compressor/uuidUtilities.d.ts.map +0 -1
  451. package/dist/id-compressor/uuidUtilities.js +0 -104
  452. package/dist/id-compressor/uuidUtilities.js.map +0 -1
  453. package/lib/id-compressor/idRange.d.ts +0 -11
  454. package/lib/id-compressor/idRange.d.ts.map +0 -1
  455. package/lib/id-compressor/idRange.js +0 -25
  456. package/lib/id-compressor/idRange.js.map +0 -1
  457. package/lib/id-compressor/numericUuid.d.ts +0 -59
  458. package/lib/id-compressor/numericUuid.d.ts.map +0 -1
  459. package/lib/id-compressor/numericUuid.js +0 -315
  460. package/lib/id-compressor/numericUuid.js.map +0 -1
  461. package/lib/id-compressor/sessionIdNormalizer.d.ts +0 -138
  462. package/lib/id-compressor/sessionIdNormalizer.d.ts.map +0 -1
  463. package/lib/id-compressor/sessionIdNormalizer.js +0 -479
  464. package/lib/id-compressor/sessionIdNormalizer.js.map +0 -1
  465. package/lib/id-compressor/utils.d.ts +0 -57
  466. package/lib/id-compressor/utils.d.ts.map +0 -1
  467. package/lib/id-compressor/utils.js +0 -79
  468. package/lib/id-compressor/utils.js.map +0 -1
  469. package/lib/id-compressor/uuidUtilities.d.ts +0 -28
  470. package/lib/id-compressor/uuidUtilities.d.ts.map +0 -1
  471. package/lib/id-compressor/uuidUtilities.js +0 -96
  472. package/lib/id-compressor/uuidUtilities.js.map +0 -1
  473. package/src/id-compressor/idRange.ts +0 -35
  474. package/src/id-compressor/numericUuid.ts +0 -383
  475. package/src/id-compressor/sessionIdNormalizer.ts +0 -609
  476. package/src/id-compressor/utils.ts +0 -114
  477. package/src/id-compressor/uuidUtilities.ts +0 -120
@@ -7,7 +7,6 @@ import {
7
7
  ITelemetryLoggerExt,
8
8
  PerformanceEvent,
9
9
  LoggingError,
10
- createChildLogger,
11
10
  } from "@fluidframework/telemetry-utils";
12
11
  import { ITelemetryProperties } from "@fluidframework/core-interfaces";
13
12
 
@@ -17,14 +16,13 @@ import {
17
16
  IPromiseTimer,
18
17
  IPromiseTimerResult,
19
18
  Timer,
20
- } from "@fluidframework/common-utils";
19
+ } from "@fluidframework/core-utils";
21
20
  import { MessageType } from "@fluidframework/protocol-definitions";
22
21
  import { getRetryDelaySecondsFromError } from "@fluidframework/driver-utils";
23
- import { DriverErrorType } from "@fluidframework/driver-definitions";
22
+ import { DriverErrorTypes } from "@fluidframework/driver-definitions";
24
23
  import {
25
24
  IAckSummaryResult,
26
25
  INackSummaryResult,
27
- ISummarizeOptions,
28
26
  IBroadcastSummaryResult,
29
27
  ISummarizeResults,
30
28
  ISummarizeHeuristicData,
@@ -32,9 +30,7 @@ import {
32
30
  SubmitSummaryResult,
33
31
  SummarizeResultPart,
34
32
  ISummaryCancellationToken,
35
- ISummarizeTelemetryProperties,
36
33
  SummaryGeneratorTelemetry,
37
- SummaryStage,
38
34
  SubmitSummaryFailureData,
39
35
  } from "./summarizerTypes";
40
36
  import { IClientSummaryWatcher } from "./summaryCollection";
@@ -143,12 +139,17 @@ export class SummarizeResultBuilder {
143
139
  SummarizeResultPart<IAckSummaryResult, INackSummaryResult>
144
140
  >();
145
141
 
142
+ /**
143
+ * Fails one or more of the three results as per the passed params.
144
+ * If submit fails, all three results fail.
145
+ * If op broadcast fails, only op broadcast result and ack nack result fails.
146
+ * If ack nack fails, only ack nack result fails.
147
+ */
146
148
  public fail(
147
149
  message: string,
148
150
  error: any,
149
- stage: SummaryStage = "unknown",
151
+ submitFailureResult?: SubmitSummaryFailureData,
150
152
  nackSummaryResult?: INackSummaryResult,
151
- retryAfterSeconds?: number,
152
153
  ) {
153
154
  assert(
154
155
  !this.receivedSummaryAckOrNack.isCompleted,
@@ -160,9 +161,11 @@ export class SummarizeResultBuilder {
160
161
  message,
161
162
  data: undefined,
162
163
  error,
163
- retryAfterSeconds,
164
164
  } as const;
165
- this.summarySubmitted.resolve({ ...result, data: { stage } });
165
+
166
+ // Note that if any of these are already resolved, it will be a no-op. For example, if ack nack failed but
167
+ // submit summary and op broadcast has already been resolved as passed, only ack nack result will get modified.
168
+ this.summarySubmitted.resolve({ ...result, data: submitFailureResult });
166
169
  this.summaryOpBroadcasted.resolve(result);
167
170
  this.receivedSummaryAckOrNack.resolve({ ...result, data: nackSummaryResult });
168
171
  }
@@ -217,33 +220,23 @@ export class SummaryGenerator {
217
220
  * fullTree to generate tree without any summary handles even if unchanged
218
221
  */
219
222
  public summarize(
220
- summarizeProps: ISummarizeTelemetryProperties,
221
- options: ISummarizeOptions,
222
- cancellationToken: ISummaryCancellationToken,
223
+ summaryOptions: ISubmitSummaryOptions,
223
224
  resultsBuilder = new SummarizeResultBuilder(),
224
225
  ): ISummarizeResults {
225
- this.summarizeCore(summarizeProps, options, resultsBuilder, cancellationToken).catch(
226
- (error) => {
227
- const message = "UnexpectedSummarizeError";
228
- this.logger.sendErrorEvent({ eventName: message, ...summarizeProps }, error);
229
- resultsBuilder.fail(message, error);
230
- },
231
- );
226
+ this.summarizeCore(summaryOptions, resultsBuilder).catch((error) => {
227
+ const message = "UnexpectedSummarizeError";
228
+ summaryOptions.summaryLogger.sendErrorEvent({ eventName: message }, error);
229
+ resultsBuilder.fail(message, error);
230
+ });
232
231
 
233
232
  return resultsBuilder.build();
234
233
  }
235
234
 
236
235
  private async summarizeCore(
237
- summarizeProps: ISummarizeTelemetryProperties,
238
- options: ISummarizeOptions,
236
+ submitSummaryOptions: ISubmitSummaryOptions,
239
237
  resultsBuilder: SummarizeResultBuilder,
240
- cancellationToken: ISummaryCancellationToken,
241
238
  ): Promise<void> {
242
- const { refreshLatestAck, fullTree } = options;
243
- const logger = createChildLogger({
244
- logger: this.logger,
245
- properties: { all: summarizeProps },
246
- });
239
+ const { summaryLogger, cancellationToken, ...summarizeOptions } = submitSummaryOptions;
247
240
 
248
241
  // Note: timeSinceLastAttempt and timeSinceLastSummary for the
249
242
  // first summary are basically the time since the summarizer was loaded.
@@ -251,37 +244,40 @@ export class SummaryGenerator {
251
244
  const timeSinceLastSummary =
252
245
  Date.now() - this.heuristicData.lastSuccessfulSummary.summaryTime;
253
246
  let summarizeTelemetryProps: SummaryGeneratorTelemetry = {
254
- fullTree,
247
+ ...summarizeOptions,
248
+ fullTree: summarizeOptions.fullTree ?? false,
255
249
  timeSinceLastAttempt,
256
250
  timeSinceLastSummary,
257
251
  };
258
252
 
259
253
  const summarizeEvent = PerformanceEvent.start(
260
- logger,
254
+ summaryLogger,
261
255
  {
262
256
  eventName: "Summarize",
263
- refreshLatestAck,
264
257
  ...summarizeTelemetryProps,
265
258
  },
266
259
  { start: true, end: true, cancel: "generic" },
267
260
  );
268
261
 
269
262
  let summaryData: SubmitSummaryResult | undefined;
263
+
264
+ /**
265
+ * Summarization can fail during submit, during op broadcast or during nack.
266
+ * For submit failures, submitFailureResult should be provided. For nack failures, nackSummaryResult should
267
+ * be provided. For op broadcast failures, only errors / properties should be provided.
268
+ */
270
269
  const fail = (
271
270
  errorCode: keyof typeof summarizeErrors,
272
271
  error?: any,
273
272
  properties?: SummaryGeneratorTelemetry,
273
+ submitFailureResult?: SubmitSummaryFailureData,
274
274
  nackSummaryResult?: INackSummaryResult,
275
275
  ) => {
276
- // UploadSummary may fail with 429 and retryAfter - respect that
277
- // Summary Nack also can have retryAfter, it's parsed below and comes as a property.
278
- const retryAfterSeconds = getRetryDelaySecondsFromError(error);
279
-
280
276
  // Report any failure as an error unless it was due to cancellation (like "disconnected" error)
281
277
  // If failure happened on upload, we may not yet realized that socket disconnected, so check
282
278
  // offlineError too.
283
279
  const category =
284
- cancellationToken.cancelled || error?.errorType === DriverErrorType.offlineError
280
+ cancellationToken.cancelled || error?.errorType === DriverErrorTypes.offlineError
285
281
  ? "generic"
286
282
  : "error";
287
283
 
@@ -291,15 +287,14 @@ export class SummaryGenerator {
291
287
  ...properties,
292
288
  reason,
293
289
  category,
294
- retryAfterSeconds,
290
+ retryAfterSeconds:
291
+ submitFailureResult?.retryAfterSeconds ??
292
+ nackSummaryResult?.retryAfterSeconds,
295
293
  },
296
294
  error ?? reason,
297
295
  ); // disconnect & summaryAckTimeout do not have proper error.
298
296
 
299
- // If summarize did not hit an unexpected error, summaryData would be available. Otherwise, the state is
300
- // unknown.
301
- const stage = summaryData?.stage ?? "unknown";
302
- resultsBuilder.fail(reason, error, stage, nackSummaryResult, retryAfterSeconds);
297
+ resultsBuilder.fail(reason, error, submitFailureResult, nackSummaryResult);
303
298
  };
304
299
 
305
300
  // Wait to generate and send summary
@@ -308,12 +303,7 @@ export class SummaryGenerator {
308
303
  // Need to save refSeqNum before we record new attempt (happens as part of submitSummaryCallback)
309
304
  const lastAttemptRefSeqNum = this.heuristicData.lastAttempt.refSequenceNumber;
310
305
 
311
- summaryData = await this.submitSummaryCallback({
312
- fullTree,
313
- refreshLatestAck,
314
- summaryLogger: logger,
315
- cancellationToken,
316
- });
306
+ summaryData = await this.submitSummaryCallback(submitSummaryOptions);
317
307
 
318
308
  // Cumulatively add telemetry properties based on how far generateSummary went.
319
309
  const referenceSequenceNumber = summaryData.referenceSequenceNumber;
@@ -333,7 +323,10 @@ export class SummaryGenerator {
333
323
  );
334
324
 
335
325
  if (summaryData.stage !== "submit") {
336
- return fail("submitSummaryFailure", summaryData.error, summarizeTelemetryProps);
326
+ return fail("submitSummaryFailure", summaryData.error, summarizeTelemetryProps, {
327
+ stage: summaryData.stage,
328
+ retryAfterSeconds: getRetryDelaySecondsFromError(summaryData.error),
329
+ });
337
330
  }
338
331
 
339
332
  /**
@@ -346,14 +339,14 @@ export class SummaryGenerator {
346
339
  * state change of multiple data stores. So, the total number of data stores that are summarized should not
347
340
  * exceed the number of ops since last summary + number of data store whose reference state changed.
348
341
  */
349
- if (!fullTree && !summaryData.forcedFullTree) {
342
+ if (!submitSummaryOptions.fullTree && !summaryData.forcedFullTree) {
350
343
  const { summarizedDataStoreCount, gcStateUpdatedDataStoreCount = 0 } =
351
344
  summaryData.summaryStats;
352
345
  if (
353
346
  summarizedDataStoreCount >
354
347
  gcStateUpdatedDataStoreCount + this.heuristicData.opsSinceLastSummary
355
348
  ) {
356
- logger.sendErrorEvent({
349
+ summaryLogger.sendErrorEvent({
357
350
  eventName: "IncrementalSummaryViolation",
358
351
  summarizedDataStoreCount,
359
352
  gcStateUpdatedDataStoreCount,
@@ -366,7 +359,10 @@ export class SummaryGenerator {
366
359
  summarizeEvent.reportEvent("generate", { ...summarizeTelemetryProps });
367
360
  resultsBuilder.summarySubmitted.resolve({ success: true, data: summaryData });
368
361
  } catch (error) {
369
- return fail("submitSummaryFailure", error);
362
+ return fail("submitSummaryFailure", error, undefined /* properties */, {
363
+ stage: "unknown",
364
+ retryAfterSeconds: getRetryDelaySecondsFromError(error),
365
+ });
370
366
  } finally {
371
367
  if (summaryData === undefined) {
372
368
  this.heuristicData.recordAttempt();
@@ -385,10 +381,10 @@ export class SummaryGenerator {
385
381
  cancellationToken,
386
382
  );
387
383
  if (waitBroadcastResult.result === "cancelled") {
388
- return fail("disconnect", summaryData.stage);
384
+ return fail("disconnect");
389
385
  }
390
386
  if (waitBroadcastResult.result !== "done") {
391
- return fail("summaryOpWaitTimeout", summaryData.stage);
387
+ return fail("summaryOpWaitTimeout");
392
388
  }
393
389
  const summarizeOp = waitBroadcastResult.value;
394
390
 
@@ -399,7 +395,7 @@ export class SummaryGenerator {
399
395
  });
400
396
 
401
397
  this.heuristicData.lastAttempt.summarySequenceNumber = summarizeOp.sequenceNumber;
402
- logger.sendTelemetryEvent({
398
+ summaryLogger.sendTelemetryEvent({
403
399
  eventName: "Summarize_Op",
404
400
  duration: broadcastDuration,
405
401
  referenceSequenceNumber: summarizeOp.referenceSequenceNumber,
@@ -468,7 +464,8 @@ export class SummaryGenerator {
468
464
  "summaryNack",
469
465
  error,
470
466
  { ...summarizeTelemetryProps, nackRetryAfter: retryAfterSeconds },
471
- { summaryNackOp: ackNackOp, ackNackDuration },
467
+ undefined /* submitFailureResult */,
468
+ { summaryNackOp: ackNackOp, ackNackDuration, retryAfterSeconds },
472
469
  );
473
470
  }
474
471
  } finally {
@@ -3,18 +3,32 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { IEvent, IEventProvider } from "@fluidframework/common-definitions";
7
- import { IDisposable, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
- import { assert } from "@fluidframework/common-utils";
6
+ import {
7
+ IDisposable,
8
+ IEvent,
9
+ IEventProvider,
10
+ ITelemetryBaseLogger,
11
+ } from "@fluidframework/core-interfaces";
12
+ import { assert } from "@fluidframework/core-utils";
13
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
9
14
  import {
10
15
  createChildLogger,
11
16
  ITelemetryLoggerExt,
12
17
  PerformanceEvent,
13
18
  } from "@fluidframework/telemetry-utils";
14
- import { DriverErrorType } from "@fluidframework/driver-definitions";
19
+ import { DriverErrorTypes } from "@fluidframework/driver-definitions";
15
20
  import { IThrottler } from "../throttler";
16
21
  import { ISummarizerClientElection } from "./summarizerClientElection";
17
- import { ISummarizer, SummarizerStopReason } from "./summarizerTypes";
22
+ import {
23
+ EnqueueSummarizeResult,
24
+ IEnqueueSummarizeOptions,
25
+ IOnDemandSummarizeOptions,
26
+ ISummarizeEventProps,
27
+ ISummarizeResults,
28
+ ISummarizer,
29
+ ISummarizerEvents,
30
+ SummarizerStopReason,
31
+ } from "./summarizerTypes";
18
32
  import { SummaryCollection } from "./summaryCollection";
19
33
  import { Summarizer } from "./summarizer";
20
34
 
@@ -73,7 +87,7 @@ export interface ISummaryManagerConfig {
73
87
  * It observes changes in calculated summarizer and reacts to changes by either creating summarizer client or
74
88
  * stopping existing summarizer client.
75
89
  */
76
- export class SummaryManager implements IDisposable {
90
+ export class SummaryManager extends TypedEventEmitter<ISummarizerEvents> implements IDisposable {
77
91
  private readonly logger: ITelemetryLoggerExt;
78
92
  private readonly opsToBypassInitialDelay: number;
79
93
  private readonly initialDelayMs: number;
@@ -108,6 +122,8 @@ export class SummaryManager implements IDisposable {
108
122
  }: Readonly<Partial<ISummaryManagerConfig>> = {},
109
123
  private readonly disableHeuristics?: boolean,
110
124
  ) {
125
+ super();
126
+
111
127
  this.logger = createChildLogger({
112
128
  logger: parentLogger,
113
129
  namespace: "SummaryManager",
@@ -145,6 +161,10 @@ export class SummaryManager implements IDisposable {
145
161
  this.refreshSummarizer();
146
162
  };
147
163
 
164
+ private readonly handleSummarizeEvent = (eventProps: ISummarizeEventProps) => {
165
+ this.emit("summarize", eventProps);
166
+ };
167
+
148
168
  private static readonly isStartingOrRunning = (state: SummaryManagerState) =>
149
169
  state === SummaryManagerState.Starting || state === SummaryManagerState.Running;
150
170
 
@@ -246,6 +266,7 @@ export class SummaryManager implements IDisposable {
246
266
 
247
267
  const summarizer = await this.requestSummarizerFn();
248
268
  this.summarizer = summarizer;
269
+ this.summarizer.on("summarize", this.handleSummarizeEvent);
249
270
 
250
271
  // Re-validate that it need to be running. Due to asynchrony, it may be not the case anymore
251
272
  // If we can't run the LastSummary, simply return as to avoid paying the cost of launching
@@ -308,7 +329,7 @@ export class SummaryManager implements IDisposable {
308
329
  // If failure happened on container load, we may not yet realized that socket disconnected, so check
309
330
  // offlineError.
310
331
  const category =
311
- error?.errorType === DriverErrorType.offlineError ? "generic" : "error";
332
+ error?.errorType === DriverErrorTypes.offlineError ? "generic" : "error";
312
333
  this.logger.sendTelemetryEvent(
313
334
  {
314
335
  eventName: "SummarizerException",
@@ -322,6 +343,7 @@ export class SummaryManager implements IDisposable {
322
343
  assert(this.state !== SummaryManagerState.Off, 0x264 /* "Expected: Not Off" */);
323
344
  this.state = SummaryManagerState.Off;
324
345
 
346
+ this.summarizer?.off("summarize", this.handleSummarizeEvent);
325
347
  this.summarizer?.close();
326
348
  this.summarizer = undefined;
327
349
 
@@ -404,26 +426,27 @@ export class SummaryManager implements IDisposable {
404
426
  return startWithInitialDelay;
405
427
  }
406
428
 
407
- public readonly summarizeOnDemand: ISummarizer["summarizeOnDemand"] = (...args) => {
429
+ public summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults {
408
430
  if (this.summarizer === undefined) {
409
431
  throw Error("No running summarizer client");
410
432
  // TODO: could spawn a summarizer client temporarily.
411
433
  }
412
- return this.summarizer.summarizeOnDemand(...args);
413
- };
434
+ return this.summarizer.summarizeOnDemand(options);
435
+ }
414
436
 
415
- public readonly enqueueSummarize: ISummarizer["enqueueSummarize"] = (...args) => {
437
+ public enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult {
416
438
  if (this.summarizer === undefined) {
417
439
  throw Error("No running summarizer client");
418
440
  // TODO: could spawn a summarizer client temporarily.
419
441
  }
420
- return this.summarizer.enqueueSummarize(...args);
421
- };
442
+ return this.summarizer.enqueueSummarize(options);
443
+ }
422
444
 
423
445
  public dispose() {
424
446
  this.clientElection.off("electedSummarizerChanged", this.refreshSummarizer);
425
447
  this.connectedState.off("connected", this.handleConnected);
426
448
  this.connectedState.off("disconnected", this.handleDisconnected);
449
+ this.summarizer?.off("summarize", this.handleSummarizeEvent);
427
450
  this._disposed = true;
428
451
  }
429
452
  }
@@ -1,11 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import type { IdCreationRange, UnackedLocalId } from "@fluidframework/runtime-definitions";
6
- export declare function getIds(range: IdCreationRange): {
7
- first: UnackedLocalId;
8
- last: UnackedLocalId;
9
- overrides?: IdCreationRange.Overrides;
10
- } | undefined;
11
- //# sourceMappingURL=idRange.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idRange.d.ts","sourceRoot":"","sources":["../../src/id-compressor/idRange.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE3F,wBAAgB,MAAM,CACrB,KAAK,EAAE,eAAe,GAEpB;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,eAAe,CAAC,SAAS,CAAA;CAAE,GACtF,SAAS,CAsBX"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getIds = void 0;
8
- const common_utils_1 = require("@fluidframework/common-utils");
9
- function getIds(range) {
10
- const { ids } = range;
11
- if (ids === undefined) {
12
- return undefined;
13
- }
14
- let first = ids.first;
15
- let last = ids.last;
16
- const overrides = ids;
17
- if (overrides.overrides !== undefined) {
18
- first ?? (first = overrides.overrides[0][0]);
19
- last ?? (last = overrides.overrides[overrides.overrides.length - 1][0]);
20
- }
21
- (0, common_utils_1.assert)(first !== undefined && last !== undefined, 0x49b /* malformed IdCreationRange */);
22
- return {
23
- first,
24
- last,
25
- overrides: overrides.overrides,
26
- };
27
- }
28
- exports.getIds = getIds;
29
- //# sourceMappingURL=idRange.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idRange.js","sourceRoot":"","sources":["../../src/id-compressor/idRange.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAAsD;AAGtD,SAAgB,MAAM,CACrB,KAAsB;IAItB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,IAAI,GAAG,KAAK,SAAS,EAAE;QACtB,OAAO,SAAS,CAAC;KACjB;IAED,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEpB,MAAM,SAAS,GAAG,GAA4C,CAAC;IAC/D,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;QACtC,KAAK,KAAL,KAAK,GAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;QACpC,IAAI,KAAJ,IAAI,GAAK,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;KAChE;IAED,IAAA,qBAAM,EAAC,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEzF,OAAO;QACN,KAAK;QACL,IAAI;QACJ,SAAS,EAAE,SAAS,CAAC,SAAS;KAC9B,CAAC;AACH,CAAC;AA1BD,wBA0BC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/common-utils\";\nimport type { IdCreationRange, UnackedLocalId } from \"@fluidframework/runtime-definitions\";\n\nexport function getIds(\n\trange: IdCreationRange,\n):\n\t| { first: UnackedLocalId; last: UnackedLocalId; overrides?: IdCreationRange.Overrides }\n\t| undefined {\n\tconst { ids } = range;\n\tif (ids === undefined) {\n\t\treturn undefined;\n\t}\n\n\tlet first = ids.first;\n\tlet last = ids.last;\n\n\tconst overrides = ids as Partial<IdCreationRange.HasOverrides>;\n\tif (overrides.overrides !== undefined) {\n\t\tfirst ??= overrides.overrides[0][0];\n\t\tlast ??= overrides.overrides[overrides.overrides.length - 1][0];\n\t}\n\n\tassert(first !== undefined && last !== undefined, 0x49b /* malformed IdCreationRange */);\n\n\treturn {\n\t\tfirst,\n\t\tlast,\n\t\toverrides: overrides.overrides,\n\t};\n}\n"]}
@@ -1,59 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { SessionId, StableId } from "@fluidframework/runtime-definitions";
6
- /**
7
- * A UUID (128 bit identifier) optimized for use as a 128 bit unsigned integer with fast addition and toString operations.
8
- * The string entry is the upper 76 bits of the uuid and the integer entry holds the lower 52 bits:
9
- *
10
- * ```
11
- * UUUUUUUU-UUUU-VUUU-vUUU-UUUUUUUUUUUU - the uuid
12
- * SSSSSSSS-SSSS-SSSS-SSS - array[0]: string
13
- * N NNNNNNNNNNNN - array[1]: integer
14
- * ```
15
- *
16
- * The integer keeps the common case cost of incrementing and computing deltas very low.
17
- * The string optimizes toString by caching the the majority of the resulting string.
18
- */
19
- export declare type NumericUuid = readonly [string, number] & {
20
- readonly NumericUuid: "9132ea20-a811-4756-85f8-aa6da5ca90f8";
21
- };
22
- /**
23
- * Calculates the numeric delta between a and b (i.e. a - b).
24
- * @param a - an uuid
25
- * @param b - an other uuid
26
- * @param maxDelta - the maximum integer delta (inclusive) to tolerate.
27
- * @returns undefined if the delta is negative or greater than `maxDelta`
28
- */
29
- export declare function getPositiveDelta(a: NumericUuid, b: NumericUuid, maxDelta: number): number | undefined;
30
- /**
31
- * @param offset - an optional offset to increment the returned StableId
32
- * @returns the string representation of a `NumericUuid`.
33
- */
34
- export declare function stableIdFromNumericUuid(uuid: NumericUuid, offset?: number): StableId;
35
- /**
36
- * @param stableId - a minimal uuid string
37
- * @returns a numeric representation of `stableId`.
38
- */
39
- export declare function numericUuidFromStableId(stableId: StableId): NumericUuid;
40
- /**
41
- * Creates a session base ID.
42
- * This method (rather than standard uuid generation methods) should be used to generate session IDs.
43
- */
44
- export declare function createSessionId(): SessionId;
45
- /**
46
- * Compares numeric uuids for equality.
47
- */
48
- export declare function numericUuidEquals(a: NumericUuid, b: NumericUuid): boolean;
49
- /**
50
- * Increments the uuid. `amount` must be a positive integer.
51
- * @returns the result of incrementing the uuid by `amount`.
52
- */
53
- export declare function incrementUuid(uuid: NumericUuid, amount: number): NumericUuid;
54
- /**
55
- * Any session uuid with all of its highish bits set is in danger of overflowing after fewer than 2^53 increments.
56
- * By zeroing one of those bits at random, potential overflow is prevented.
57
- */
58
- export declare function ensureSessionUuid(uuid: StableId): SessionId;
59
- //# sourceMappingURL=numericUuid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numericUuid.d.ts","sourceRoot":"","sources":["../../src/id-compressor/numericUuid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAI1E;;;;;;;;;;;;GAYG;AACH,oBAAY,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACrD,QAAQ,CAAC,WAAW,EAAE,sCAAsC,CAAC;CAC7D,CAAC;AAQF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC/B,CAAC,EAAE,WAAW,EACd,CAAC,EAAE,WAAW,EACd,QAAQ,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAgDpB;AAaD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,SAAI,GAAG,QAAQ,CAW/E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAKvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEzE;AAQD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAoD5E;AAiJD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAoB3D"}