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