@fluidframework/container-runtime 2.13.0 → 2.21.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 (489) hide show
  1. package/.eslintrc.cjs +71 -5
  2. package/CHANGELOG.md +84 -0
  3. package/api-report/container-runtime.legacy.alpha.api.md +38 -232
  4. package/dist/batchTracker.d.ts +1 -2
  5. package/dist/batchTracker.d.ts.map +1 -1
  6. package/dist/batchTracker.js +1 -1
  7. package/dist/batchTracker.js.map +1 -1
  8. package/dist/blobManager/blobManager.d.ts +5 -1
  9. package/dist/blobManager/blobManager.d.ts.map +1 -1
  10. package/dist/blobManager/blobManager.js +30 -13
  11. package/dist/blobManager/blobManager.js.map +1 -1
  12. package/dist/blobManager/blobManagerSnapSum.d.ts +1 -0
  13. package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  14. package/dist/blobManager/blobManagerSnapSum.js +7 -5
  15. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  16. package/dist/channelCollection.d.ts +23 -12
  17. package/dist/channelCollection.d.ts.map +1 -1
  18. package/dist/channelCollection.js +85 -53
  19. package/dist/channelCollection.js.map +1 -1
  20. package/dist/connectionTelemetry.d.ts +2 -2
  21. package/dist/connectionTelemetry.d.ts.map +1 -1
  22. package/dist/connectionTelemetry.js +10 -6
  23. package/dist/connectionTelemetry.js.map +1 -1
  24. package/dist/containerHandleContext.d.ts +1 -1
  25. package/dist/containerHandleContext.d.ts.map +1 -1
  26. package/dist/containerHandleContext.js.map +1 -1
  27. package/dist/containerRuntime.d.ts +87 -94
  28. package/dist/containerRuntime.d.ts.map +1 -1
  29. package/dist/containerRuntime.js +312 -226
  30. package/dist/containerRuntime.js.map +1 -1
  31. package/dist/dataStore.d.ts +7 -3
  32. package/dist/dataStore.d.ts.map +1 -1
  33. package/dist/dataStore.js +8 -4
  34. package/dist/dataStore.js.map +1 -1
  35. package/dist/dataStoreContext.d.ts +41 -25
  36. package/dist/dataStoreContext.d.ts.map +1 -1
  37. package/dist/dataStoreContext.js +47 -29
  38. package/dist/dataStoreContext.js.map +1 -1
  39. package/dist/dataStoreContexts.d.ts +6 -2
  40. package/dist/dataStoreContexts.d.ts.map +1 -1
  41. package/dist/dataStoreContexts.js +7 -2
  42. package/dist/dataStoreContexts.js.map +1 -1
  43. package/dist/dataStoreRegistry.d.ts +1 -1
  44. package/dist/dataStoreRegistry.d.ts.map +1 -1
  45. package/dist/dataStoreRegistry.js.map +1 -1
  46. package/dist/deltaManagerProxies.d.ts +1 -17
  47. package/dist/deltaManagerProxies.d.ts.map +1 -1
  48. package/dist/deltaManagerProxies.js.map +1 -1
  49. package/dist/deltaScheduler.d.ts +9 -6
  50. package/dist/deltaScheduler.d.ts.map +1 -1
  51. package/dist/deltaScheduler.js +95 -89
  52. package/dist/deltaScheduler.js.map +1 -1
  53. package/dist/gc/garbageCollection.d.ts +21 -7
  54. package/dist/gc/garbageCollection.d.ts.map +1 -1
  55. package/dist/gc/garbageCollection.js +48 -19
  56. package/dist/gc/garbageCollection.js.map +1 -1
  57. package/dist/gc/gcConfigs.d.ts +11 -0
  58. package/dist/gc/gcConfigs.d.ts.map +1 -1
  59. package/dist/gc/gcConfigs.js +5 -2
  60. package/dist/gc/gcConfigs.js.map +1 -1
  61. package/dist/gc/gcDefinitions.d.ts +218 -70
  62. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  63. package/dist/gc/gcDefinitions.js +40 -13
  64. package/dist/gc/gcDefinitions.js.map +1 -1
  65. package/dist/gc/gcHelpers.d.ts +6 -2
  66. package/dist/gc/gcHelpers.d.ts.map +1 -1
  67. package/dist/gc/gcHelpers.js +14 -7
  68. package/dist/gc/gcHelpers.js.map +1 -1
  69. package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  70. package/dist/gc/gcSummaryDefinitions.d.ts +18 -6
  71. package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
  72. package/dist/gc/gcSummaryDefinitions.js.map +1 -1
  73. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  74. package/dist/gc/gcSummaryStateTracker.js +2 -1
  75. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  76. package/dist/gc/gcTelemetry.d.ts +33 -11
  77. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  78. package/dist/gc/gcTelemetry.js +35 -17
  79. package/dist/gc/gcTelemetry.js.map +1 -1
  80. package/dist/gc/gcUnreferencedStateTracker.d.ts +42 -13
  81. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  82. package/dist/gc/gcUnreferencedStateTracker.js +27 -9
  83. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  84. package/dist/gc/index.d.ts +1 -0
  85. package/dist/gc/index.d.ts.map +1 -1
  86. package/dist/gc/index.js +3 -1
  87. package/dist/gc/index.js.map +1 -1
  88. package/dist/inboundBatchAggregator.d.ts +34 -0
  89. package/dist/inboundBatchAggregator.d.ts.map +1 -0
  90. package/dist/inboundBatchAggregator.js +185 -0
  91. package/dist/inboundBatchAggregator.js.map +1 -0
  92. package/dist/index.d.ts +1 -1
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/layerCompatState.d.ts +19 -0
  96. package/dist/layerCompatState.d.ts.map +1 -0
  97. package/dist/layerCompatState.js +64 -0
  98. package/dist/layerCompatState.js.map +1 -0
  99. package/dist/legacy.d.ts +0 -4
  100. package/dist/messageTypes.d.ts +14 -5
  101. package/dist/messageTypes.d.ts.map +1 -1
  102. package/dist/messageTypes.js.map +1 -1
  103. package/dist/metadata.d.ts +12 -4
  104. package/dist/metadata.d.ts.map +1 -1
  105. package/dist/metadata.js +6 -2
  106. package/dist/metadata.js.map +1 -1
  107. package/dist/opLifecycle/batchManager.d.ts +9 -3
  108. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  109. package/dist/opLifecycle/batchManager.js +3 -1
  110. package/dist/opLifecycle/batchManager.js.map +1 -1
  111. package/dist/opLifecycle/duplicateBatchDetector.d.ts +9 -3
  112. package/dist/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  113. package/dist/opLifecycle/duplicateBatchDetector.js +11 -5
  114. package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
  115. package/dist/opLifecycle/opCompressor.d.ts +3 -2
  116. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  117. package/dist/opLifecycle/opCompressor.js +13 -19
  118. package/dist/opLifecycle/opCompressor.js.map +1 -1
  119. package/dist/opLifecycle/opDecompressor.d.ts +6 -1
  120. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  121. package/dist/opLifecycle/opDecompressor.js +16 -8
  122. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  123. package/dist/opLifecycle/opGroupingManager.d.ts +1 -2
  124. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  125. package/dist/opLifecycle/opGroupingManager.js +9 -6
  126. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  127. package/dist/opLifecycle/opSplitter.d.ts +13 -10
  128. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  129. package/dist/opLifecycle/opSplitter.js +16 -11
  130. package/dist/opLifecycle/opSplitter.js.map +1 -1
  131. package/dist/opLifecycle/outbox.d.ts +4 -4
  132. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  133. package/dist/opLifecycle/outbox.js +17 -16
  134. package/dist/opLifecycle/outbox.js.map +1 -1
  135. package/dist/opLifecycle/remoteMessageProcessor.d.ts +9 -3
  136. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  137. package/dist/opLifecycle/remoteMessageProcessor.js +3 -1
  138. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  139. package/dist/package.json +2 -1
  140. package/dist/packageVersion.d.ts +1 -1
  141. package/dist/packageVersion.js +1 -1
  142. package/dist/packageVersion.js.map +1 -1
  143. package/dist/pendingStateManager.d.ts +22 -11
  144. package/dist/pendingStateManager.d.ts.map +1 -1
  145. package/dist/pendingStateManager.js +24 -15
  146. package/dist/pendingStateManager.js.map +1 -1
  147. package/dist/summary/documentSchema.d.ts +7 -0
  148. package/dist/summary/documentSchema.d.ts.map +1 -1
  149. package/dist/summary/documentSchema.js +8 -4
  150. package/dist/summary/documentSchema.js.map +1 -1
  151. package/dist/summary/index.d.ts +1 -1
  152. package/dist/summary/index.d.ts.map +1 -1
  153. package/dist/summary/index.js.map +1 -1
  154. package/dist/summary/orderedClientElection.d.ts +94 -31
  155. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  156. package/dist/summary/orderedClientElection.js +28 -16
  157. package/dist/summary/orderedClientElection.js.map +1 -1
  158. package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -0
  159. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  160. package/dist/summary/runWhileConnectedCoordinator.js +7 -2
  161. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  162. package/dist/summary/runningSummarizer.d.ts +17 -6
  163. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  164. package/dist/summary/runningSummarizer.js +48 -19
  165. package/dist/summary/runningSummarizer.js.map +1 -1
  166. package/dist/summary/summarizer.d.ts +10 -5
  167. package/dist/summary/summarizer.d.ts.map +1 -1
  168. package/dist/summary/summarizer.js +26 -11
  169. package/dist/summary/summarizer.js.map +1 -1
  170. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  171. package/dist/summary/summarizerClientElection.js +1 -0
  172. package/dist/summary/summarizerClientElection.js.map +1 -1
  173. package/dist/summary/summarizerHeuristics.d.ts +6 -2
  174. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  175. package/dist/summary/summarizerHeuristics.js +13 -5
  176. package/dist/summary/summarizerHeuristics.js.map +1 -1
  177. package/dist/summary/summarizerNode/index.d.ts.map +1 -1
  178. package/dist/summary/summarizerNode/index.js.map +1 -1
  179. package/dist/summary/summarizerNode/summarizerNode.d.ts +24 -8
  180. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  181. package/dist/summary/summarizerNode/summarizerNode.js +45 -36
  182. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  183. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
  184. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  185. package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -1
  186. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  187. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
  188. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  189. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
  190. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  191. package/dist/summary/summarizerTypes.d.ts +253 -135
  192. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  193. package/dist/summary/summarizerTypes.js.map +1 -1
  194. package/dist/summary/summaryCollection.d.ts +3 -4
  195. package/dist/summary/summaryCollection.d.ts.map +1 -1
  196. package/dist/summary/summaryCollection.js +10 -8
  197. package/dist/summary/summaryCollection.js.map +1 -1
  198. package/dist/summary/summaryFormat.d.ts +28 -9
  199. package/dist/summary/summaryFormat.d.ts.map +1 -1
  200. package/dist/summary/summaryFormat.js +3 -2
  201. package/dist/summary/summaryFormat.js.map +1 -1
  202. package/dist/summary/summaryGenerator.d.ts +9 -3
  203. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  204. package/dist/summary/summaryGenerator.js +22 -9
  205. package/dist/summary/summaryGenerator.js.map +1 -1
  206. package/dist/summary/summaryManager.d.ts +8 -4
  207. package/dist/summary/summaryManager.d.ts.map +1 -1
  208. package/dist/summary/summaryManager.js +20 -9
  209. package/dist/summary/summaryManager.js.map +1 -1
  210. package/dist/throttler.d.ts +26 -10
  211. package/dist/throttler.d.ts.map +1 -1
  212. package/dist/throttler.js +12 -4
  213. package/dist/throttler.js.map +1 -1
  214. package/lib/batchTracker.d.ts +1 -2
  215. package/lib/batchTracker.d.ts.map +1 -1
  216. package/lib/batchTracker.js +2 -2
  217. package/lib/batchTracker.js.map +1 -1
  218. package/lib/blobManager/blobManager.d.ts +5 -1
  219. package/lib/blobManager/blobManager.d.ts.map +1 -1
  220. package/lib/blobManager/blobManager.js +30 -13
  221. package/lib/blobManager/blobManager.js.map +1 -1
  222. package/lib/blobManager/blobManagerSnapSum.d.ts +1 -0
  223. package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  224. package/lib/blobManager/blobManagerSnapSum.js +7 -5
  225. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  226. package/lib/channelCollection.d.ts +23 -12
  227. package/lib/channelCollection.d.ts.map +1 -1
  228. package/lib/channelCollection.js +88 -54
  229. package/lib/channelCollection.js.map +1 -1
  230. package/lib/connectionTelemetry.d.ts +2 -2
  231. package/lib/connectionTelemetry.d.ts.map +1 -1
  232. package/lib/connectionTelemetry.js +11 -7
  233. package/lib/connectionTelemetry.js.map +1 -1
  234. package/lib/containerHandleContext.d.ts +1 -1
  235. package/lib/containerHandleContext.d.ts.map +1 -1
  236. package/lib/containerHandleContext.js.map +1 -1
  237. package/lib/containerRuntime.d.ts +87 -94
  238. package/lib/containerRuntime.d.ts.map +1 -1
  239. package/lib/containerRuntime.js +319 -228
  240. package/lib/containerRuntime.js.map +1 -1
  241. package/lib/dataStore.d.ts +7 -3
  242. package/lib/dataStore.d.ts.map +1 -1
  243. package/lib/dataStore.js +8 -4
  244. package/lib/dataStore.js.map +1 -1
  245. package/lib/dataStoreContext.d.ts +41 -25
  246. package/lib/dataStoreContext.d.ts.map +1 -1
  247. package/lib/dataStoreContext.js +47 -29
  248. package/lib/dataStoreContext.js.map +1 -1
  249. package/lib/dataStoreContexts.d.ts +6 -2
  250. package/lib/dataStoreContexts.d.ts.map +1 -1
  251. package/lib/dataStoreContexts.js +7 -2
  252. package/lib/dataStoreContexts.js.map +1 -1
  253. package/lib/dataStoreRegistry.d.ts +1 -1
  254. package/lib/dataStoreRegistry.d.ts.map +1 -1
  255. package/lib/dataStoreRegistry.js.map +1 -1
  256. package/lib/deltaManagerProxies.d.ts +1 -17
  257. package/lib/deltaManagerProxies.d.ts.map +1 -1
  258. package/lib/deltaManagerProxies.js.map +1 -1
  259. package/lib/deltaScheduler.d.ts +9 -6
  260. package/lib/deltaScheduler.d.ts.map +1 -1
  261. package/lib/deltaScheduler.js +96 -90
  262. package/lib/deltaScheduler.js.map +1 -1
  263. package/lib/gc/garbageCollection.d.ts +21 -7
  264. package/lib/gc/garbageCollection.d.ts.map +1 -1
  265. package/lib/gc/garbageCollection.js +51 -20
  266. package/lib/gc/garbageCollection.js.map +1 -1
  267. package/lib/gc/gcConfigs.d.ts +11 -0
  268. package/lib/gc/gcConfigs.d.ts.map +1 -1
  269. package/lib/gc/gcConfigs.js +4 -2
  270. package/lib/gc/gcConfigs.js.map +1 -1
  271. package/lib/gc/gcDefinitions.d.ts +218 -70
  272. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  273. package/lib/gc/gcDefinitions.js +40 -13
  274. package/lib/gc/gcDefinitions.js.map +1 -1
  275. package/lib/gc/gcHelpers.d.ts +6 -2
  276. package/lib/gc/gcHelpers.d.ts.map +1 -1
  277. package/lib/gc/gcHelpers.js +14 -7
  278. package/lib/gc/gcHelpers.js.map +1 -1
  279. package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  280. package/lib/gc/gcSummaryDefinitions.d.ts +18 -6
  281. package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
  282. package/lib/gc/gcSummaryDefinitions.js.map +1 -1
  283. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  284. package/lib/gc/gcSummaryStateTracker.js +2 -1
  285. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  286. package/lib/gc/gcTelemetry.d.ts +33 -11
  287. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  288. package/lib/gc/gcTelemetry.js +38 -18
  289. package/lib/gc/gcTelemetry.js.map +1 -1
  290. package/lib/gc/gcUnreferencedStateTracker.d.ts +42 -13
  291. package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  292. package/lib/gc/gcUnreferencedStateTracker.js +27 -9
  293. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  294. package/lib/gc/index.d.ts +1 -0
  295. package/lib/gc/index.d.ts.map +1 -1
  296. package/lib/gc/index.js +1 -0
  297. package/lib/gc/index.js.map +1 -1
  298. package/lib/inboundBatchAggregator.d.ts +34 -0
  299. package/lib/inboundBatchAggregator.d.ts.map +1 -0
  300. package/lib/inboundBatchAggregator.js +181 -0
  301. package/lib/inboundBatchAggregator.js.map +1 -0
  302. package/lib/index.d.ts +1 -1
  303. package/lib/index.d.ts.map +1 -1
  304. package/lib/index.js.map +1 -1
  305. package/lib/layerCompatState.d.ts +19 -0
  306. package/lib/layerCompatState.d.ts.map +1 -0
  307. package/lib/layerCompatState.js +60 -0
  308. package/lib/layerCompatState.js.map +1 -0
  309. package/lib/legacy.d.ts +0 -4
  310. package/lib/messageTypes.d.ts +14 -5
  311. package/lib/messageTypes.d.ts.map +1 -1
  312. package/lib/messageTypes.js.map +1 -1
  313. package/lib/metadata.d.ts +12 -4
  314. package/lib/metadata.d.ts.map +1 -1
  315. package/lib/metadata.js +6 -2
  316. package/lib/metadata.js.map +1 -1
  317. package/lib/opLifecycle/batchManager.d.ts +9 -3
  318. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  319. package/lib/opLifecycle/batchManager.js +3 -1
  320. package/lib/opLifecycle/batchManager.js.map +1 -1
  321. package/lib/opLifecycle/duplicateBatchDetector.d.ts +9 -3
  322. package/lib/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  323. package/lib/opLifecycle/duplicateBatchDetector.js +11 -5
  324. package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
  325. package/lib/opLifecycle/opCompressor.d.ts +3 -2
  326. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  327. package/lib/opLifecycle/opCompressor.js +14 -20
  328. package/lib/opLifecycle/opCompressor.js.map +1 -1
  329. package/lib/opLifecycle/opDecompressor.d.ts +6 -1
  330. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  331. package/lib/opLifecycle/opDecompressor.js +17 -9
  332. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  333. package/lib/opLifecycle/opGroupingManager.d.ts +1 -2
  334. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  335. package/lib/opLifecycle/opGroupingManager.js +10 -7
  336. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  337. package/lib/opLifecycle/opSplitter.d.ts +13 -10
  338. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  339. package/lib/opLifecycle/opSplitter.js +16 -11
  340. package/lib/opLifecycle/opSplitter.js.map +1 -1
  341. package/lib/opLifecycle/outbox.d.ts +4 -4
  342. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  343. package/lib/opLifecycle/outbox.js +17 -16
  344. package/lib/opLifecycle/outbox.js.map +1 -1
  345. package/lib/opLifecycle/remoteMessageProcessor.d.ts +9 -3
  346. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  347. package/lib/opLifecycle/remoteMessageProcessor.js +3 -1
  348. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  349. package/lib/packageVersion.d.ts +1 -1
  350. package/lib/packageVersion.js +1 -1
  351. package/lib/packageVersion.js.map +1 -1
  352. package/lib/pendingStateManager.d.ts +22 -11
  353. package/lib/pendingStateManager.d.ts.map +1 -1
  354. package/lib/pendingStateManager.js +25 -16
  355. package/lib/pendingStateManager.js.map +1 -1
  356. package/lib/summary/documentSchema.d.ts +7 -0
  357. package/lib/summary/documentSchema.d.ts.map +1 -1
  358. package/lib/summary/documentSchema.js +8 -4
  359. package/lib/summary/documentSchema.js.map +1 -1
  360. package/lib/summary/index.d.ts +1 -1
  361. package/lib/summary/index.d.ts.map +1 -1
  362. package/lib/summary/index.js.map +1 -1
  363. package/lib/summary/orderedClientElection.d.ts +94 -31
  364. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  365. package/lib/summary/orderedClientElection.js +28 -16
  366. package/lib/summary/orderedClientElection.js.map +1 -1
  367. package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -0
  368. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  369. package/lib/summary/runWhileConnectedCoordinator.js +7 -2
  370. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  371. package/lib/summary/runningSummarizer.d.ts +17 -6
  372. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  373. package/lib/summary/runningSummarizer.js +48 -19
  374. package/lib/summary/runningSummarizer.js.map +1 -1
  375. package/lib/summary/summarizer.d.ts +10 -5
  376. package/lib/summary/summarizer.d.ts.map +1 -1
  377. package/lib/summary/summarizer.js +26 -11
  378. package/lib/summary/summarizer.js.map +1 -1
  379. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  380. package/lib/summary/summarizerClientElection.js +1 -0
  381. package/lib/summary/summarizerClientElection.js.map +1 -1
  382. package/lib/summary/summarizerHeuristics.d.ts +6 -2
  383. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  384. package/lib/summary/summarizerHeuristics.js +13 -5
  385. package/lib/summary/summarizerHeuristics.js.map +1 -1
  386. package/lib/summary/summarizerNode/index.d.ts.map +1 -1
  387. package/lib/summary/summarizerNode/index.js.map +1 -1
  388. package/lib/summary/summarizerNode/summarizerNode.d.ts +24 -8
  389. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  390. package/lib/summary/summarizerNode/summarizerNode.js +45 -36
  391. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  392. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
  393. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  394. package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -1
  395. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  396. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
  397. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  398. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
  399. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  400. package/lib/summary/summarizerTypes.d.ts +253 -135
  401. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  402. package/lib/summary/summarizerTypes.js.map +1 -1
  403. package/lib/summary/summaryCollection.d.ts +3 -4
  404. package/lib/summary/summaryCollection.d.ts.map +1 -1
  405. package/lib/summary/summaryCollection.js +10 -8
  406. package/lib/summary/summaryCollection.js.map +1 -1
  407. package/lib/summary/summaryFormat.d.ts +28 -9
  408. package/lib/summary/summaryFormat.d.ts.map +1 -1
  409. package/lib/summary/summaryFormat.js +2 -2
  410. package/lib/summary/summaryFormat.js.map +1 -1
  411. package/lib/summary/summaryGenerator.d.ts +9 -3
  412. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  413. package/lib/summary/summaryGenerator.js +22 -9
  414. package/lib/summary/summaryGenerator.js.map +1 -1
  415. package/lib/summary/summaryManager.d.ts +8 -4
  416. package/lib/summary/summaryManager.d.ts.map +1 -1
  417. package/lib/summary/summaryManager.js +20 -9
  418. package/lib/summary/summaryManager.js.map +1 -1
  419. package/lib/throttler.d.ts +26 -10
  420. package/lib/throttler.d.ts.map +1 -1
  421. package/lib/throttler.js +12 -4
  422. package/lib/throttler.js.map +1 -1
  423. package/package.json +22 -31
  424. package/src/batchTracker.ts +34 -36
  425. package/src/blobManager/blobManager.ts +54 -33
  426. package/src/blobManager/blobManagerSnapSum.ts +10 -10
  427. package/src/channelCollection.ts +108 -82
  428. package/src/connectionTelemetry.ts +43 -19
  429. package/src/containerHandleContext.ts +2 -2
  430. package/src/containerRuntime.ts +492 -364
  431. package/src/dataStore.ts +17 -9
  432. package/src/dataStoreContext.ts +94 -73
  433. package/src/dataStoreContexts.ts +17 -12
  434. package/src/dataStoreRegistry.ts +1 -1
  435. package/src/deltaManagerProxies.ts +5 -5
  436. package/src/deltaScheduler.ts +24 -18
  437. package/src/gc/garbageCollection.ts +89 -40
  438. package/src/gc/gcConfigs.ts +13 -5
  439. package/src/gc/gcDefinitions.ts +224 -70
  440. package/src/gc/gcHelpers.ts +22 -11
  441. package/src/gc/gcReferenceGraphAlgorithm.ts +1 -1
  442. package/src/gc/gcSummaryDefinitions.ts +18 -6
  443. package/src/gc/gcSummaryStateTracker.ts +7 -3
  444. package/src/gc/gcTelemetry.ts +73 -30
  445. package/src/gc/gcUnreferencedStateTracker.ts +40 -16
  446. package/src/gc/index.ts +1 -0
  447. package/src/{scheduleManager.ts → inboundBatchAggregator.ts} +55 -122
  448. package/src/index.ts +0 -3
  449. package/src/layerCompatState.ts +75 -0
  450. package/src/messageTypes.ts +16 -5
  451. package/src/metadata.ts +12 -4
  452. package/src/opLifecycle/README.md +43 -34
  453. package/src/opLifecycle/batchManager.ts +12 -6
  454. package/src/opLifecycle/duplicateBatchDetector.ts +12 -6
  455. package/src/opLifecycle/opCompressor.ts +22 -25
  456. package/src/opLifecycle/opDecompressor.ts +23 -11
  457. package/src/opLifecycle/opGroupingManager.ts +16 -11
  458. package/src/opLifecycle/opSplitter.ts +24 -18
  459. package/src/opLifecycle/outbox.ts +35 -33
  460. package/src/opLifecycle/remoteMessageProcessor.ts +13 -5
  461. package/src/packageVersion.ts +1 -1
  462. package/src/pendingStateManager.ts +49 -26
  463. package/src/summary/documentSchema.ts +41 -22
  464. package/src/summary/index.ts +0 -3
  465. package/src/summary/orderedClientElection.ts +114 -49
  466. package/src/summary/runWhileConnectedCoordinator.ts +12 -3
  467. package/src/summary/runningSummarizer.ts +79 -36
  468. package/src/summary/summarizer.ts +51 -25
  469. package/src/summary/summarizerClientElection.ts +4 -2
  470. package/src/summary/summarizerHeuristics.ts +23 -12
  471. package/src/summary/summarizerNode/index.ts +1 -0
  472. package/src/summary/summarizerNode/summarizerNode.ts +54 -43
  473. package/src/summary/summarizerNode/summarizerNodeUtils.ts +48 -16
  474. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +25 -15
  475. package/src/summary/summarizerTypes.ts +253 -139
  476. package/src/summary/summaryCollection.ts +41 -31
  477. package/src/summary/summaryFormat.ts +34 -13
  478. package/src/summary/summaryGenerator.ts +39 -18
  479. package/src/summary/summaryManager.ts +36 -24
  480. package/src/throttler.ts +23 -11
  481. package/container-runtime.test-files.tar +0 -0
  482. package/dist/scheduleManager.d.ts +0 -28
  483. package/dist/scheduleManager.d.ts.map +0 -1
  484. package/dist/scheduleManager.js +0 -233
  485. package/dist/scheduleManager.js.map +0 -1
  486. package/lib/scheduleManager.d.ts +0 -28
  487. package/lib/scheduleManager.d.ts.map +0 -1
  488. package/lib/scheduleManager.js +0 -229
  489. package/lib/scheduleManager.js.map +0 -1
@@ -8,11 +8,10 @@ import {
8
8
  ContainerWarning,
9
9
  } from "@fluidframework/container-definitions/internal";
10
10
  import type {
11
- ISummarizerEvents as NewISummarizerEvents,
12
- SummarizerStopReason as NewSummarizerStopReason,
11
+ ISummarizerEvents,
12
+ SummarizerStopReason,
13
13
  } from "@fluidframework/container-runtime-definitions/internal";
14
14
  import {
15
- IEvent,
16
15
  IEventProvider,
17
16
  ITelemetryBaseProperties,
18
17
  ITelemetryBaseLogger,
@@ -42,9 +41,12 @@ import { SummarizeReason } from "./summaryGenerator.js";
42
41
  * @param T - cancellation reason type
43
42
  * @legacy
44
43
  * @alpha
44
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
45
45
  */
46
46
  export interface ICancellationToken<T> {
47
- /** Tells if this cancellable token is cancelled */
47
+ /**
48
+ * Tells if this cancellable token is cancelled
49
+ */
48
50
  readonly cancelled: boolean;
49
51
  /**
50
52
  * Promise that gets fulfilled when this cancellable token is cancelled
@@ -57,34 +59,49 @@ export interface ICancellationToken<T> {
57
59
  * Similar to AbortSignal, but using promise instead of events
58
60
  * @legacy
59
61
  * @alpha
62
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
60
63
  */
61
- export type ISummaryCancellationToken = ICancellationToken<NewSummarizerStopReason>;
64
+ export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
62
65
 
63
66
  /**
64
67
  * Data required to update internal tracking state after receiving a Summary Ack.
65
68
  * @legacy
66
69
  * @alpha
70
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
67
71
  */
68
72
  export interface IRefreshSummaryAckOptions {
69
- /** Handle from the ack's summary op. */
73
+ /**
74
+ * Handle from the ack's summary op.
75
+ */
70
76
  readonly proposalHandle: string | undefined;
71
- /** Handle from the summary ack just received */
77
+ /**
78
+ * Handle from the summary ack just received
79
+ */
72
80
  readonly ackHandle: string;
73
- /** Reference sequence number from the ack's summary op */
81
+ /**
82
+ * Reference sequence number from the ack's summary op
83
+ */
74
84
  readonly summaryRefSeq: number;
75
- /** Telemetry logger to which telemetry events will be forwarded. */
85
+ /**
86
+ * Telemetry logger to which telemetry events will be forwarded.
87
+ */
76
88
  readonly summaryLogger: ITelemetryLoggerExt;
77
89
  }
78
90
 
79
91
  /**
80
92
  * @legacy
81
93
  * @alpha
94
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
82
95
  */
83
96
  export interface ISummarizerInternalsProvider {
84
- /** Encapsulates the work to walk the internals of the running container to generate a summary */
97
+ /**
98
+ * Encapsulates the work to walk the internals of the running container to generate a summary
99
+ */
85
100
  submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
86
101
 
87
- /** Callback whenever a new SummaryAck is received, to update internal tracking state */
102
+ /**
103
+ * Callback whenever a new SummaryAck is received, to update internal tracking state
104
+ */
88
105
  refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
89
106
  }
90
107
 
@@ -99,6 +116,7 @@ export interface ISummarizingWarning extends ContainerWarning {
99
116
  /**
100
117
  * @legacy
101
118
  * @alpha
119
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
102
120
  */
103
121
  export interface IConnectableRuntime {
104
122
  readonly disposed: boolean;
@@ -110,10 +128,13 @@ export interface IConnectableRuntime {
110
128
  /**
111
129
  * @legacy
112
130
  * @alpha
131
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
113
132
  */
114
133
  export interface ISummarizerRuntime extends IConnectableRuntime {
115
134
  readonly baseLogger: ITelemetryBaseLogger;
116
- /** clientId of parent (non-summarizing) container that owns summarizer container */
135
+ /**
136
+ * clientId of parent (non-summarizing) container that owns summarizer container
137
+ */
117
138
  readonly summarizerClientId: string | undefined;
118
139
  readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
119
140
  disposeFn(): void;
@@ -134,22 +155,33 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
134
155
  * @alpha
135
156
  */
136
157
  export interface ISummarizeOptions {
137
- /** True to generate the full tree with no handle reuse optimizations; defaults to false */
158
+ /**
159
+ * True to generate the full tree with no handle reuse optimizations; defaults to false
160
+ */
138
161
  readonly fullTree?: boolean;
139
162
  }
140
163
 
141
164
  /**
142
165
  * @legacy
143
166
  * @alpha
167
+ * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
144
168
  */
145
169
  export interface ISubmitSummaryOptions extends ISummarizeOptions {
146
- /** Logger to use for correlated summary events */
170
+ /**
171
+ * Logger to use for correlated summary events
172
+ */
147
173
  readonly summaryLogger: ITelemetryLoggerExt;
148
- /** Tells when summary process should be cancelled */
174
+ /**
175
+ * Tells when summary process should be cancelled
176
+ */
149
177
  readonly cancellationToken: ISummaryCancellationToken;
150
- /** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt. */
178
+ /**
179
+ * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt.
180
+ */
151
181
  readonly finalAttempt?: boolean;
152
- /** The sequence number of the latest summary used to validate if summary state is correct before summarizing */
182
+ /**
183
+ * The sequence number of the latest summary used to validate if summary state is correct before summarizing
184
+ */
153
185
  readonly latestSummaryRefSeqNum: number;
154
186
  }
155
187
 
@@ -158,9 +190,13 @@ export interface ISubmitSummaryOptions extends ISummarizeOptions {
158
190
  * @alpha
159
191
  */
160
192
  export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
161
- /** Reason for generating summary. */
193
+ /**
194
+ * Reason for generating summary.
195
+ */
162
196
  readonly reason: string;
163
- /** In case of a failure, will attempt to retry based on if the failure is retriable. */
197
+ /**
198
+ * In case of a failure, will attempt to retry based on if the failure is retriable.
199
+ */
164
200
  readonly retryOnFailure?: boolean;
165
201
  }
166
202
 
@@ -170,7 +206,9 @@ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
170
206
  * @alpha
171
207
  */
172
208
  export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
173
- /** If specified, The summarize attempt will not occur until after this sequence number. */
209
+ /**
210
+ * If specified, The summarize attempt will not occur until after this sequence number.
211
+ */
174
212
  readonly afterSequenceNumber?: number;
175
213
 
176
214
  /**
@@ -189,17 +227,29 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
189
227
  * @alpha
190
228
  */
191
229
  export interface IGeneratedSummaryStats extends ISummaryStats {
192
- /** The total number of data stores in the container. */
230
+ /**
231
+ * The total number of data stores in the container.
232
+ */
193
233
  readonly dataStoreCount: number;
194
- /** The number of data stores that were summarized in this summary. */
234
+ /**
235
+ * The number of data stores that were summarized in this summary.
236
+ */
195
237
  readonly summarizedDataStoreCount: number;
196
- /** The number of data stores whose GC reference state was updated in this summary. */
238
+ /**
239
+ * The number of data stores whose GC reference state was updated in this summary.
240
+ */
197
241
  readonly gcStateUpdatedDataStoreCount?: number;
198
- /** The size of the gc blobs in this summary. */
242
+ /**
243
+ * The size of the gc blobs in this summary.
244
+ */
199
245
  readonly gcTotalBlobsSize?: number;
200
- /** The number of gc blobs in this summary. */
246
+ /**
247
+ * The number of gc blobs in this summary.
248
+ */
201
249
  readonly gcBlobNodeCount?: number;
202
- /** The summary number for a container's summary. Incremented on summaries throughout its lifetime. */
250
+ /**
251
+ * The summary number for a container's summary. Incremented on summaries throughout its lifetime.
252
+ */
203
253
  readonly summaryNumber: number;
204
254
  }
205
255
 
@@ -219,9 +269,13 @@ export interface IRetriableFailureError extends Error {
219
269
  */
220
270
  export interface IBaseSummarizeResult {
221
271
  readonly stage: "base";
222
- /** Retriable error object related to failed summarize attempt. */
272
+ /**
273
+ * Retriable error object related to failed summarize attempt.
274
+ */
223
275
  readonly error: IRetriableFailureError | undefined;
224
- /** Reference sequence number as of the generate summary attempt. */
276
+ /**
277
+ * Reference sequence number as of the generate summary attempt.
278
+ */
225
279
  readonly referenceSequenceNumber: number;
226
280
  readonly minimumSequenceNumber: number;
227
281
  }
@@ -233,11 +287,17 @@ export interface IBaseSummarizeResult {
233
287
  */
234
288
  export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
235
289
  readonly stage: "generate";
236
- /** Generated summary tree. */
290
+ /**
291
+ * Generated summary tree.
292
+ */
237
293
  readonly summaryTree: ISummaryTree;
238
- /** Stats for generated summary tree. */
294
+ /**
295
+ * Stats for generated summary tree.
296
+ */
239
297
  readonly summaryStats: IGeneratedSummaryStats;
240
- /** Time it took to generate the summary tree and stats. */
298
+ /**
299
+ * Time it took to generate the summary tree and stats.
300
+ */
241
301
  readonly generateDuration: number;
242
302
  }
243
303
 
@@ -248,9 +308,13 @@ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "
248
308
  */
249
309
  export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
250
310
  readonly stage: "upload";
251
- /** The handle returned by storage pointing to the uploaded summary tree. */
311
+ /**
312
+ * The handle returned by storage pointing to the uploaded summary tree.
313
+ */
252
314
  readonly handle: string;
253
- /** Time it took to upload the summary tree to storage. */
315
+ /**
316
+ * Time it took to upload the summary tree to storage.
317
+ */
254
318
  readonly uploadDuration: number;
255
319
  }
256
320
 
@@ -261,9 +325,13 @@ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "
261
325
  */
262
326
  export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
263
327
  readonly stage: "submit";
264
- /** The client sequence number of the summarize op submitted for the summary. */
328
+ /**
329
+ * The client sequence number of the summarize op submitted for the summary.
330
+ */
265
331
  readonly clientSequenceNumber: number;
266
- /** Time it took to submit the summarize op to the broadcasting service. */
332
+ /**
333
+ * Time it took to submit the summarize op to the broadcasting service.
334
+ */
267
335
  readonly submitOpDuration: number;
268
336
  }
269
337
 
@@ -355,13 +423,19 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> =
355
423
  * @alpha
356
424
  */
357
425
  export interface ISummarizeResults {
358
- /** Resolves when we generate, upload, and submit the summary. */
426
+ /**
427
+ * Resolves when we generate, upload, and submit the summary.
428
+ */
359
429
  readonly summarySubmitted: Promise<
360
430
  SummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>
361
431
  >;
362
- /** Resolves when we observe our summarize op broadcast. */
432
+ /**
433
+ * Resolves when we observe our summarize op broadcast.
434
+ */
363
435
  readonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;
364
- /** Resolves when we receive a summaryAck or summaryNack. */
436
+ /**
437
+ * Resolves when we receive a summaryAck or summaryNack.
438
+ */
365
439
  readonly receivedSummaryAckOrNack: Promise<
366
440
  SummarizeResultPart<IAckSummaryResult, INackSummaryResult>
367
441
  >;
@@ -380,7 +454,9 @@ export type EnqueueSummarizeResult =
380
454
  readonly alreadyEnqueued?: undefined;
381
455
  })
382
456
  | (ISummarizeResults & {
383
- /** Indicates that another summarize attempt was already enqueued. */
457
+ /**
458
+ * Indicates that another summarize attempt was already enqueued.
459
+ */
384
460
  readonly alreadyEnqueued: true;
385
461
  /**
386
462
  * Indicates that the other enqueued summarize attempt was abandoned,
@@ -389,7 +465,9 @@ export type EnqueueSummarizeResult =
389
465
  readonly overridden: true;
390
466
  })
391
467
  | {
392
- /** Indicates that another summarize attempt was already enqueued. */
468
+ /**
469
+ * Indicates that another summarize attempt was already enqueued.
470
+ */
393
471
  readonly alreadyEnqueued: true;
394
472
  /**
395
473
  * Indicates that the other enqueued summarize attempt remains enqueued,
@@ -401,60 +479,8 @@ export type EnqueueSummarizeResult =
401
479
  /**
402
480
  * @legacy
403
481
  * @alpha
404
- * @deprecated Use SummarizerStopReason from the "\@fluidframework/container-runtime-definitions" package
405
482
  */
406
- export type SummarizerStopReason =
407
- /** Summarizer client failed to summarize in all attempts. */
408
- | "failToSummarize"
409
- /** Parent client reported that it is no longer connected. */
410
- | "parentNotConnected"
411
- /**
412
- * Parent client reported that it is no longer elected the summarizer.
413
- * This is the normal flow; a disconnect will always trigger the parent
414
- * client to no longer be elected as responsible for summaries. Then it
415
- * tries to stop its spawned summarizer client.
416
- */
417
- | "notElectedParent"
418
- /**
419
- * We are not already running the summarizer and we are not the current elected client id.
420
- */
421
- | "notElectedClient"
422
- /** Summarizer client was disconnected */
423
- | "summarizerClientDisconnected"
424
- /** running summarizer threw an exception */
425
- | "summarizerException"
426
- /**
427
- * The previous summary state on the summarizer is not the most recently acked summary. this also happens when the
428
- * first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack
429
- */
430
- | "latestSummaryStateStale";
431
-
432
- /**
433
- * @legacy
434
- * @alpha
435
- * @deprecated Use ISummarizeEventProps from the "\@fluidframework/container-runtime-definitions" package
436
- */
437
- export interface ISummarizeEventProps {
438
- result: "success" | "failure" | "canceled";
439
- currentAttempt: number;
440
- maxAttempts: number;
441
- error?: any;
442
- }
443
-
444
- /**
445
- * @legacy
446
- * @alpha
447
- * @deprecated Use ISummarizerEvents from the "\@fluidframework/container-runtime-definitions" package
448
- */
449
- export interface ISummarizerEvents extends IEvent {
450
- (event: "summarize", listener: (props: ISummarizeEventProps) => void);
451
- }
452
-
453
- /**
454
- * @legacy
455
- * @alpha
456
- */
457
- export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
483
+ export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
458
484
  /**
459
485
  * Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.
460
486
  */
@@ -465,12 +491,12 @@ export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
465
491
  * Summarizer will finish current processes, which may take a while.
466
492
  * For example, summarizer may complete last summary before exiting.
467
493
  */
468
- stop(reason: NewSummarizerStopReason): void;
494
+ stop(reason: SummarizerStopReason): void;
469
495
 
470
496
  /* Closes summarizer. Any pending processes (summary in flight) are abandoned. */
471
497
  close(): void;
472
498
 
473
- run(onBehalfOf: string): Promise<NewSummarizerStopReason>;
499
+ run(onBehalfOf: string): Promise<SummarizerStopReason>;
474
500
 
475
501
  /**
476
502
  * Attempts to generate a summary on demand. If already running, takes no action.
@@ -497,39 +523,63 @@ export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
497
523
  enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
498
524
  }
499
525
 
500
- /** Data about an attempt to summarize used for heuristics. */
526
+ /**
527
+ * Data about an attempt to summarize used for heuristics.
528
+ */
501
529
  export interface ISummarizeAttempt {
502
- /** Reference sequence number when summary was generated or attempted */
530
+ /**
531
+ * Reference sequence number when summary was generated or attempted
532
+ */
503
533
  readonly refSequenceNumber: number;
504
534
 
505
- /** Time of summary attempt after it was sent or attempted */
535
+ /**
536
+ * Time of summary attempt after it was sent or attempted
537
+ */
506
538
  readonly summaryTime: number;
507
539
 
508
- /** Sequence number of summary op */
540
+ /**
541
+ * Sequence number of summary op
542
+ */
509
543
  summarySequenceNumber?: number;
510
544
  }
511
545
 
512
- /** Data relevant for summary heuristics. */
546
+ /**
547
+ * Data relevant for summary heuristics.
548
+ */
513
549
  export interface ISummarizeHeuristicData {
514
- /** Latest received op sequence number */
550
+ /**
551
+ * Latest received op sequence number
552
+ */
515
553
  lastOpSequenceNumber: number;
516
554
 
517
- /** Most recent summary attempt from this client */
555
+ /**
556
+ * Most recent summary attempt from this client
557
+ */
518
558
  readonly lastAttempt: ISummarizeAttempt;
519
559
 
520
- /** Most recent summary that received an ack */
560
+ /**
561
+ * Most recent summary that received an ack
562
+ */
521
563
  readonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;
522
564
 
523
- /** Number of runtime ops since last summary */
565
+ /**
566
+ * Number of runtime ops since last summary
567
+ */
524
568
  numRuntimeOps: number;
525
569
 
526
- /** Number of non-runtime ops since last summary */
570
+ /**
571
+ * Number of non-runtime ops since last summary
572
+ */
527
573
  numNonRuntimeOps: number;
528
574
 
529
- /** Cumulative size in bytes of all the ops since the last summary */
575
+ /**
576
+ * Cumulative size in bytes of all the ops since the last summary
577
+ */
530
578
  totalOpsSize: number;
531
579
 
532
- /** Wether or not this instance contains adjusted metrics due to missing op data */
580
+ /**
581
+ * Wether or not this instance contains adjusted metrics due to missing op data
582
+ */
533
583
  hasMissingOpData: boolean;
534
584
 
535
585
  /**
@@ -546,35 +596,53 @@ export interface ISummarizeHeuristicData {
546
596
  */
547
597
  recordAttempt(referenceSequenceNumber?: number): void;
548
598
 
549
- /** Mark that the last sent summary attempt has received an ack */
599
+ /**
600
+ * Mark that the last sent summary attempt has received an ack
601
+ */
550
602
  markLastAttemptAsSuccessful(): void;
551
603
 
552
604
  opsSinceLastSummary: number;
553
605
  }
554
606
 
555
- /** Responsible for running heuristics determining when to summarize. */
607
+ /**
608
+ * Responsible for running heuristics determining when to summarize.
609
+ */
556
610
  export interface ISummarizeHeuristicRunner {
557
- /** Start specific heuristic trackers (ex: idle timer) */
611
+ /**
612
+ * Start specific heuristic trackers (ex: idle timer)
613
+ */
558
614
  start(): void;
559
615
 
560
- /** Runs the heuristics to determine if it should try to summarize */
616
+ /**
617
+ * Runs the heuristics to determine if it should try to summarize
618
+ */
561
619
  run(): void;
562
620
 
563
- /** Runs a different heuristic to check if it should summarize before closing */
621
+ /**
622
+ * Runs a different heuristic to check if it should summarize before closing
623
+ */
564
624
  shouldRunLastSummary(): boolean;
565
625
 
566
- /** Disposes of resources */
626
+ /**
627
+ * Disposes of resources
628
+ */
567
629
  dispose(): void;
568
630
  }
569
631
 
570
632
  type ISummarizeTelemetryRequiredProperties =
571
- /** Reason code for attempting to summarize */
633
+ /**
634
+ * Reason code for attempting to summarize
635
+ */
572
636
  "summarizeReason";
573
637
 
574
638
  type ISummarizeTelemetryOptionalProperties =
575
- /** Number of attempts within the last time window, used for calculating the throttle delay. */
639
+ /**
640
+ * Number of attempts within the last time window, used for calculating the throttle delay.
641
+ */
576
642
  | "summaryAttempts"
577
- /** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt */
643
+ /**
644
+ * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt
645
+ */
578
646
  | "finalAttempt"
579
647
  | keyof ISummarizeOptions;
580
648
 
@@ -584,9 +652,13 @@ export type ISummarizeTelemetryProperties = Pick<
584
652
  > &
585
653
  Partial<Pick<ITelemetryBaseProperties, ISummarizeTelemetryOptionalProperties>>;
586
654
 
587
- /** Strategy used to heuristically determine when we should run a summary */
655
+ /**
656
+ * Strategy used to heuristically determine when we should run a summary
657
+ */
588
658
  export interface ISummaryHeuristicStrategy {
589
- /** Summarize reason for this summarize heuristic strategy (ex: "maxTime") */
659
+ /**
660
+ * Summarize reason for this summarize heuristic strategy (ex: "maxTime")
661
+ */
590
662
  summarizeReason: Readonly<SummarizeReason>;
591
663
 
592
664
  /**
@@ -601,50 +673,88 @@ export interface ISummaryHeuristicStrategy {
601
673
  }
602
674
 
603
675
  type SummaryGeneratorRequiredTelemetryProperties =
604
- /** True to generate the full tree with no handle reuse optimizations */
676
+ /**
677
+ * True to generate the full tree with no handle reuse optimizations
678
+ */
605
679
  | "fullTree"
606
- /** Time since we last attempted to generate a summary */
680
+ /**
681
+ * Time since we last attempted to generate a summary
682
+ */
607
683
  | "timeSinceLastAttempt"
608
- /** Time since we last successfully generated a summary */
684
+ /**
685
+ * Time since we last successfully generated a summary
686
+ */
609
687
  | "timeSinceLastSummary";
610
688
 
611
689
  type SummaryGeneratorOptionalTelemetryProperties =
612
- /** Reference sequence number as of the generate summary attempt. */
690
+ /**
691
+ * Reference sequence number as of the generate summary attempt.
692
+ */
613
693
  | "referenceSequenceNumber"
614
- /** minimum sequence number (at the reference sequence number) */
694
+ /**
695
+ * minimum sequence number (at the reference sequence number)
696
+ */
615
697
  | "minimumSequenceNumber"
616
- /** Delta between the current reference sequence number and the reference sequence number of the last attempt */
698
+ /**
699
+ * Delta between the current reference sequence number and the reference sequence number of the last attempt
700
+ */
617
701
  | "opsSinceLastAttempt"
618
- /** Delta between the current reference sequence number and the reference sequence number of the last summary */
702
+ /**
703
+ * Delta between the current reference sequence number and the reference sequence number of the last summary
704
+ */
619
705
  | "opsSinceLastSummary"
620
706
  /**
621
707
  * Delta in sum of op sizes between the current reference sequence number and the reference
622
708
  * sequence number of the last summary
623
709
  */
624
710
  | "opsSizesSinceLastSummary"
625
- /** Delta between the number of non-runtime ops since the last summary */
711
+ /**
712
+ * Delta between the number of non-runtime ops since the last summary
713
+ */
626
714
  | "nonRuntimeOpsSinceLastSummary"
627
- /** Delta between the number of runtime ops since the last summary */
715
+ /**
716
+ * Delta between the number of runtime ops since the last summary
717
+ */
628
718
  | "runtimeOpsSinceLastSummary"
629
- /** Wether or not this instance contains adjusted metrics due to missing op data */
719
+ /**
720
+ * Wether or not this instance contains adjusted metrics due to missing op data
721
+ */
630
722
  | "hasMissingOpData"
631
- /** Time it took to generate the summary tree and stats. */
723
+ /**
724
+ * Time it took to generate the summary tree and stats.
725
+ */
632
726
  | "generateDuration"
633
- /** The handle returned by storage pointing to the uploaded summary tree. */
727
+ /**
728
+ * The handle returned by storage pointing to the uploaded summary tree.
729
+ */
634
730
  | "handle"
635
- /** Time it took to upload the summary tree to storage. */
731
+ /**
732
+ * Time it took to upload the summary tree to storage.
733
+ */
636
734
  | "uploadDuration"
637
- /** The client sequence number of the summarize op submitted for the summary. */
735
+ /**
736
+ * The client sequence number of the summarize op submitted for the summary.
737
+ */
638
738
  | "clientSequenceNumber"
639
- /** Time it took for this summary to be acked after it was generated */
739
+ /**
740
+ * Time it took for this summary to be acked after it was generated
741
+ */
640
742
  | "ackWaitDuration"
641
- /** Reference sequence number of the ack/nack message */
743
+ /**
744
+ * Reference sequence number of the ack/nack message
745
+ */
642
746
  | "ackNackSequenceNumber"
643
- /** Actual sequence number of the summary op proposal. */
747
+ /**
748
+ * Actual sequence number of the summary op proposal.
749
+ */
644
750
  | "summarySequenceNumber"
645
- /** Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying. */
751
+ /**
752
+ * Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying.
753
+ */
646
754
  | "nackRetryAfter"
647
- /** The stage at which the submit summary method failed at. This can help determine what type of failure we have */
755
+ /**
756
+ * The stage at which the submit summary method failed at. This can help determine what type of failure we have
757
+ */
648
758
  | "stage";
649
759
 
650
760
  export type SummaryGeneratorTelemetry = Pick<
@@ -654,8 +764,12 @@ export type SummaryGeneratorTelemetry = Pick<
654
764
  Partial<Pick<ITelemetryBaseProperties, SummaryGeneratorOptionalTelemetryProperties>>;
655
765
 
656
766
  export interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {
657
- /** Number of times the summarizer run. */
767
+ /**
768
+ * Number of times the summarizer run.
769
+ */
658
770
  summarizeCount: () => number;
659
- /** Number of successful attempts to summarize. */
771
+ /**
772
+ * Number of successful attempts to summarize.
773
+ */
660
774
  summarizerSuccessfulAttempts: () => number;
661
775
  }