@fluidframework/container-runtime 2.53.1 → 2.61.0-355054

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 (478) hide show
  1. package/.mocharc.cjs +1 -2
  2. package/CHANGELOG.md +4 -0
  3. package/api-report/{container-runtime.legacy.alpha.api.md → container-runtime.legacy.beta.api.md} +55 -55
  4. package/container-runtime.test-files.tar +0 -0
  5. package/dist/batchTracker.d.ts +1 -1
  6. package/dist/batchTracker.d.ts.map +1 -1
  7. package/dist/batchTracker.js.map +1 -1
  8. package/dist/blobManager/blobManager.d.ts +29 -17
  9. package/dist/blobManager/blobManager.d.ts.map +1 -1
  10. package/dist/blobManager/blobManager.js +150 -135
  11. package/dist/blobManager/blobManager.js.map +1 -1
  12. package/dist/blobManager/blobManagerSnapSum.d.ts +4 -4
  13. package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  14. package/dist/blobManager/blobManagerSnapSum.js +30 -33
  15. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  16. package/dist/blobManager/index.d.ts +2 -2
  17. package/dist/blobManager/index.d.ts.map +1 -1
  18. package/dist/blobManager/index.js.map +1 -1
  19. package/dist/channelCollection.d.ts +9 -11
  20. package/dist/channelCollection.d.ts.map +1 -1
  21. package/dist/channelCollection.js +2 -3
  22. package/dist/channelCollection.js.map +1 -1
  23. package/dist/compressionDefinitions.d.ts +3 -6
  24. package/dist/compressionDefinitions.d.ts.map +1 -1
  25. package/dist/compressionDefinitions.js +2 -4
  26. package/dist/compressionDefinitions.js.map +1 -1
  27. package/dist/connectionTelemetry.d.ts +3 -4
  28. package/dist/connectionTelemetry.d.ts.map +1 -1
  29. package/dist/connectionTelemetry.js.map +1 -1
  30. package/dist/containerHandleContext.d.ts +2 -2
  31. package/dist/containerHandleContext.d.ts.map +1 -1
  32. package/dist/containerHandleContext.js.map +1 -1
  33. package/dist/containerRuntime.d.ts +13 -20
  34. package/dist/containerRuntime.d.ts.map +1 -1
  35. package/dist/containerRuntime.js +4 -7
  36. package/dist/containerRuntime.js.map +1 -1
  37. package/dist/dataStore.d.ts +3 -3
  38. package/dist/dataStore.d.ts.map +1 -1
  39. package/dist/dataStore.js.map +1 -1
  40. package/dist/dataStoreContext.d.ts +8 -8
  41. package/dist/dataStoreContext.d.ts.map +1 -1
  42. package/dist/dataStoreContext.js.map +1 -1
  43. package/dist/dataStoreContexts.d.ts +2 -2
  44. package/dist/dataStoreContexts.d.ts.map +1 -1
  45. package/dist/dataStoreContexts.js.map +1 -1
  46. package/dist/dataStoreRegistry.d.ts +1 -1
  47. package/dist/dataStoreRegistry.d.ts.map +1 -1
  48. package/dist/dataStoreRegistry.js.map +1 -1
  49. package/dist/deltaManagerProxies.d.ts +2 -3
  50. package/dist/deltaManagerProxies.d.ts.map +1 -1
  51. package/dist/deltaManagerProxies.js.map +1 -1
  52. package/dist/deltaScheduler.d.ts +2 -2
  53. package/dist/deltaScheduler.d.ts.map +1 -1
  54. package/dist/deltaScheduler.js.map +1 -1
  55. package/dist/error.d.ts +1 -1
  56. package/dist/error.d.ts.map +1 -1
  57. package/dist/error.js.map +1 -1
  58. package/dist/gc/garbageCollection.d.ts +4 -4
  59. package/dist/gc/garbageCollection.d.ts.map +1 -1
  60. package/dist/gc/garbageCollection.js.map +1 -1
  61. package/dist/gc/gcConfigs.d.ts +3 -3
  62. package/dist/gc/gcConfigs.d.ts.map +1 -1
  63. package/dist/gc/gcConfigs.js.map +1 -1
  64. package/dist/gc/gcDefinitions.d.ts +10 -11
  65. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  66. package/dist/gc/gcDefinitions.js.map +1 -1
  67. package/dist/gc/gcHelpers.d.ts +4 -4
  68. package/dist/gc/gcHelpers.d.ts.map +1 -1
  69. package/dist/gc/gcHelpers.js.map +1 -1
  70. package/dist/gc/gcReferenceGraphAlgorithm.d.ts +1 -1
  71. package/dist/gc/gcReferenceGraphAlgorithm.d.ts.map +1 -1
  72. package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  73. package/dist/gc/gcSummaryDefinitions.d.ts +1 -1
  74. package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
  75. package/dist/gc/gcSummaryDefinitions.js.map +1 -1
  76. package/dist/gc/gcSummaryStateTracker.d.ts +4 -4
  77. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  78. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  79. package/dist/gc/gcTelemetry.d.ts +6 -6
  80. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  81. package/dist/gc/gcTelemetry.js.map +1 -1
  82. package/dist/gc/index.d.ts +3 -3
  83. package/dist/gc/index.d.ts.map +1 -1
  84. package/dist/gc/index.js.map +1 -1
  85. package/dist/inboundBatchAggregator.d.ts +2 -2
  86. package/dist/inboundBatchAggregator.d.ts.map +1 -1
  87. package/dist/inboundBatchAggregator.js.map +1 -1
  88. package/dist/index.d.ts +7 -7
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/legacy.d.ts +2 -1
  92. package/dist/messageTypes.d.ts +7 -8
  93. package/dist/messageTypes.d.ts.map +1 -1
  94. package/dist/messageTypes.js +1 -2
  95. package/dist/messageTypes.js.map +1 -1
  96. package/dist/opLifecycle/batchManager.d.ts +2 -2
  97. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  98. package/dist/opLifecycle/batchManager.js.map +1 -1
  99. package/dist/opLifecycle/definitions.d.ts +1 -1
  100. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  101. package/dist/opLifecycle/definitions.js.map +1 -1
  102. package/dist/opLifecycle/duplicateBatchDetector.d.ts +1 -1
  103. package/dist/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  104. package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
  105. package/dist/opLifecycle/index.d.ts +5 -5
  106. package/dist/opLifecycle/index.d.ts.map +1 -1
  107. package/dist/opLifecycle/index.js.map +1 -1
  108. package/dist/opLifecycle/opCompressor.d.ts +2 -2
  109. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  110. package/dist/opLifecycle/opCompressor.js.map +1 -1
  111. package/dist/opLifecycle/opDecompressor.d.ts +2 -2
  112. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  113. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  114. package/dist/opLifecycle/opGroupingManager.d.ts +3 -3
  115. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  116. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  117. package/dist/opLifecycle/opSplitter.d.ts +4 -4
  118. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  119. package/dist/opLifecycle/opSplitter.js.map +1 -1
  120. package/dist/opLifecycle/outbox.d.ts +9 -9
  121. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  122. package/dist/opLifecycle/outbox.js.map +1 -1
  123. package/dist/opLifecycle/remoteMessageProcessor.d.ts +4 -4
  124. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  125. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  126. package/dist/opProperties.d.ts +1 -1
  127. package/dist/opProperties.d.ts.map +1 -1
  128. package/dist/opProperties.js.map +1 -1
  129. package/dist/packageVersion.d.ts +1 -1
  130. package/dist/packageVersion.d.ts.map +1 -1
  131. package/dist/packageVersion.js +1 -1
  132. package/dist/packageVersion.js.map +1 -1
  133. package/dist/pendingStateManager.d.ts +3 -3
  134. package/dist/pendingStateManager.d.ts.map +1 -1
  135. package/dist/pendingStateManager.js.map +1 -1
  136. package/dist/storageServiceWithAttachBlobs.d.ts +1 -1
  137. package/dist/storageServiceWithAttachBlobs.d.ts.map +1 -1
  138. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  139. package/dist/summary/documentSchema.d.ts +1 -2
  140. package/dist/summary/documentSchema.d.ts.map +1 -1
  141. package/dist/summary/documentSchema.js.map +1 -1
  142. package/dist/summary/index.d.ts +10 -10
  143. package/dist/summary/index.d.ts.map +1 -1
  144. package/dist/summary/index.js.map +1 -1
  145. package/dist/summary/orderedClientElection.d.ts +4 -4
  146. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  147. package/dist/summary/orderedClientElection.js.map +1 -1
  148. package/dist/summary/summarizerClientElection.d.ts +5 -5
  149. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  150. package/dist/summary/summarizerClientElection.js.map +1 -1
  151. package/dist/summary/summarizerNode/index.d.ts +3 -3
  152. package/dist/summary/summarizerNode/index.d.ts.map +1 -1
  153. package/dist/summary/summarizerNode/index.js.map +1 -1
  154. package/dist/summary/summarizerNode/summarizerNode.d.ts +5 -6
  155. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  156. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  157. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -3
  158. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  159. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  160. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +3 -3
  161. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  162. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  163. package/dist/summary/summarizerTypes.d.ts +25 -44
  164. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  165. package/dist/summary/summarizerTypes.js.map +1 -1
  166. package/dist/summary/summarizerUtils.d.ts +3 -3
  167. package/dist/summary/summarizerUtils.d.ts.map +1 -1
  168. package/dist/summary/summarizerUtils.js.map +1 -1
  169. package/dist/summary/summaryCollection.d.ts +13 -23
  170. package/dist/summary/summaryCollection.d.ts.map +1 -1
  171. package/dist/summary/summaryCollection.js +1 -2
  172. package/dist/summary/summaryCollection.js.map +1 -1
  173. package/dist/summary/summaryDelayLoadedModule/index.d.ts +2 -2
  174. package/dist/summary/summaryDelayLoadedModule/index.d.ts.map +1 -1
  175. package/dist/summary/summaryDelayLoadedModule/index.js.map +1 -1
  176. package/dist/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts +1 -1
  177. package/dist/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts.map +1 -1
  178. package/dist/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.js.map +1 -1
  179. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.d.ts +3 -3
  180. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -1
  181. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -1
  182. package/dist/summary/summaryDelayLoadedModule/summarizer.d.ts +5 -5
  183. package/dist/summary/summaryDelayLoadedModule/summarizer.d.ts.map +1 -1
  184. package/dist/summary/summaryDelayLoadedModule/summarizer.js.map +1 -1
  185. package/dist/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts +3 -4
  186. package/dist/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts.map +1 -1
  187. package/dist/summary/summaryDelayLoadedModule/summarizerHeuristics.js.map +1 -1
  188. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.d.ts +3 -3
  189. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.d.ts.map +1 -1
  190. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
  191. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts +1 -1
  192. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts.map +1 -1
  193. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.js.map +1 -1
  194. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts +5 -10
  195. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts.map +1 -1
  196. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.js.map +1 -1
  197. package/dist/summary/summaryFormat.d.ts +9 -14
  198. package/dist/summary/summaryFormat.d.ts.map +1 -1
  199. package/dist/summary/summaryFormat.js.map +1 -1
  200. package/dist/summary/summaryHelpers.d.ts +1 -2
  201. package/dist/summary/summaryHelpers.d.ts.map +1 -1
  202. package/dist/summary/summaryHelpers.js +1 -2
  203. package/dist/summary/summaryHelpers.js.map +1 -1
  204. package/dist/summary/summaryManager.d.ts +3 -3
  205. package/dist/summary/summaryManager.d.ts.map +1 -1
  206. package/dist/summary/summaryManager.js.map +1 -1
  207. package/internal.d.ts +1 -1
  208. package/legacy.d.ts +1 -1
  209. package/lib/batchTracker.d.ts +1 -1
  210. package/lib/batchTracker.d.ts.map +1 -1
  211. package/lib/batchTracker.js.map +1 -1
  212. package/lib/blobManager/blobManager.d.ts +29 -17
  213. package/lib/blobManager/blobManager.d.ts.map +1 -1
  214. package/lib/blobManager/blobManager.js +142 -127
  215. package/lib/blobManager/blobManager.js.map +1 -1
  216. package/lib/blobManager/blobManagerSnapSum.d.ts +4 -4
  217. package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  218. package/lib/blobManager/blobManagerSnapSum.js +26 -29
  219. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  220. package/lib/blobManager/index.d.ts +2 -2
  221. package/lib/blobManager/index.d.ts.map +1 -1
  222. package/lib/blobManager/index.js.map +1 -1
  223. package/lib/channelCollection.d.ts +9 -11
  224. package/lib/channelCollection.d.ts.map +1 -1
  225. package/lib/channelCollection.js +2 -3
  226. package/lib/channelCollection.js.map +1 -1
  227. package/lib/compressionDefinitions.d.ts +3 -6
  228. package/lib/compressionDefinitions.d.ts.map +1 -1
  229. package/lib/compressionDefinitions.js +2 -4
  230. package/lib/compressionDefinitions.js.map +1 -1
  231. package/lib/connectionTelemetry.d.ts +3 -4
  232. package/lib/connectionTelemetry.d.ts.map +1 -1
  233. package/lib/connectionTelemetry.js.map +1 -1
  234. package/lib/containerHandleContext.d.ts +2 -2
  235. package/lib/containerHandleContext.d.ts.map +1 -1
  236. package/lib/containerHandleContext.js.map +1 -1
  237. package/lib/containerRuntime.d.ts +13 -20
  238. package/lib/containerRuntime.d.ts.map +1 -1
  239. package/lib/containerRuntime.js +4 -7
  240. package/lib/containerRuntime.js.map +1 -1
  241. package/lib/dataStore.d.ts +3 -3
  242. package/lib/dataStore.d.ts.map +1 -1
  243. package/lib/dataStore.js.map +1 -1
  244. package/lib/dataStoreContext.d.ts +8 -8
  245. package/lib/dataStoreContext.d.ts.map +1 -1
  246. package/lib/dataStoreContext.js.map +1 -1
  247. package/lib/dataStoreContexts.d.ts +2 -2
  248. package/lib/dataStoreContexts.d.ts.map +1 -1
  249. package/lib/dataStoreContexts.js.map +1 -1
  250. package/lib/dataStoreRegistry.d.ts +1 -1
  251. package/lib/dataStoreRegistry.d.ts.map +1 -1
  252. package/lib/dataStoreRegistry.js.map +1 -1
  253. package/lib/deltaManagerProxies.d.ts +2 -3
  254. package/lib/deltaManagerProxies.d.ts.map +1 -1
  255. package/lib/deltaManagerProxies.js.map +1 -1
  256. package/lib/deltaScheduler.d.ts +2 -2
  257. package/lib/deltaScheduler.d.ts.map +1 -1
  258. package/lib/deltaScheduler.js +1 -1
  259. package/lib/deltaScheduler.js.map +1 -1
  260. package/lib/error.d.ts +1 -1
  261. package/lib/error.d.ts.map +1 -1
  262. package/lib/error.js.map +1 -1
  263. package/lib/gc/garbageCollection.d.ts +4 -4
  264. package/lib/gc/garbageCollection.d.ts.map +1 -1
  265. package/lib/gc/garbageCollection.js.map +1 -1
  266. package/lib/gc/gcConfigs.d.ts +3 -3
  267. package/lib/gc/gcConfigs.d.ts.map +1 -1
  268. package/lib/gc/gcConfigs.js.map +1 -1
  269. package/lib/gc/gcDefinitions.d.ts +10 -11
  270. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  271. package/lib/gc/gcDefinitions.js.map +1 -1
  272. package/lib/gc/gcHelpers.d.ts +4 -4
  273. package/lib/gc/gcHelpers.d.ts.map +1 -1
  274. package/lib/gc/gcHelpers.js.map +1 -1
  275. package/lib/gc/gcReferenceGraphAlgorithm.d.ts +1 -1
  276. package/lib/gc/gcReferenceGraphAlgorithm.d.ts.map +1 -1
  277. package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  278. package/lib/gc/gcSummaryDefinitions.d.ts +1 -1
  279. package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
  280. package/lib/gc/gcSummaryDefinitions.js.map +1 -1
  281. package/lib/gc/gcSummaryStateTracker.d.ts +4 -4
  282. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  283. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  284. package/lib/gc/gcTelemetry.d.ts +6 -6
  285. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  286. package/lib/gc/gcTelemetry.js.map +1 -1
  287. package/lib/gc/index.d.ts +3 -3
  288. package/lib/gc/index.d.ts.map +1 -1
  289. package/lib/gc/index.js.map +1 -1
  290. package/lib/inboundBatchAggregator.d.ts +2 -2
  291. package/lib/inboundBatchAggregator.d.ts.map +1 -1
  292. package/lib/inboundBatchAggregator.js.map +1 -1
  293. package/lib/index.d.ts +7 -7
  294. package/lib/index.d.ts.map +1 -1
  295. package/lib/index.js.map +1 -1
  296. package/lib/legacy.d.ts +2 -1
  297. package/lib/messageTypes.d.ts +7 -8
  298. package/lib/messageTypes.d.ts.map +1 -1
  299. package/lib/messageTypes.js +1 -2
  300. package/lib/messageTypes.js.map +1 -1
  301. package/lib/opLifecycle/batchManager.d.ts +2 -2
  302. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  303. package/lib/opLifecycle/batchManager.js.map +1 -1
  304. package/lib/opLifecycle/definitions.d.ts +1 -1
  305. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  306. package/lib/opLifecycle/definitions.js.map +1 -1
  307. package/lib/opLifecycle/duplicateBatchDetector.d.ts +1 -1
  308. package/lib/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  309. package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
  310. package/lib/opLifecycle/index.d.ts +5 -5
  311. package/lib/opLifecycle/index.d.ts.map +1 -1
  312. package/lib/opLifecycle/index.js.map +1 -1
  313. package/lib/opLifecycle/opCompressor.d.ts +2 -2
  314. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  315. package/lib/opLifecycle/opCompressor.js.map +1 -1
  316. package/lib/opLifecycle/opDecompressor.d.ts +2 -2
  317. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  318. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  319. package/lib/opLifecycle/opGroupingManager.d.ts +3 -3
  320. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  321. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  322. package/lib/opLifecycle/opSplitter.d.ts +4 -4
  323. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  324. package/lib/opLifecycle/opSplitter.js +1 -1
  325. package/lib/opLifecycle/opSplitter.js.map +1 -1
  326. package/lib/opLifecycle/outbox.d.ts +9 -9
  327. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  328. package/lib/opLifecycle/outbox.js.map +1 -1
  329. package/lib/opLifecycle/remoteMessageProcessor.d.ts +4 -4
  330. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  331. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  332. package/lib/opProperties.d.ts +1 -1
  333. package/lib/opProperties.d.ts.map +1 -1
  334. package/lib/opProperties.js.map +1 -1
  335. package/lib/packageVersion.d.ts +1 -1
  336. package/lib/packageVersion.d.ts.map +1 -1
  337. package/lib/packageVersion.js +1 -1
  338. package/lib/packageVersion.js.map +1 -1
  339. package/lib/pendingStateManager.d.ts +3 -3
  340. package/lib/pendingStateManager.d.ts.map +1 -1
  341. package/lib/pendingStateManager.js.map +1 -1
  342. package/lib/storageServiceWithAttachBlobs.d.ts +1 -1
  343. package/lib/storageServiceWithAttachBlobs.d.ts.map +1 -1
  344. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  345. package/lib/summary/documentSchema.d.ts +1 -2
  346. package/lib/summary/documentSchema.d.ts.map +1 -1
  347. package/lib/summary/documentSchema.js.map +1 -1
  348. package/lib/summary/index.d.ts +10 -10
  349. package/lib/summary/index.d.ts.map +1 -1
  350. package/lib/summary/index.js.map +1 -1
  351. package/lib/summary/orderedClientElection.d.ts +4 -4
  352. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  353. package/lib/summary/orderedClientElection.js.map +1 -1
  354. package/lib/summary/summarizerClientElection.d.ts +5 -5
  355. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  356. package/lib/summary/summarizerClientElection.js.map +1 -1
  357. package/lib/summary/summarizerNode/index.d.ts +3 -3
  358. package/lib/summary/summarizerNode/index.d.ts.map +1 -1
  359. package/lib/summary/summarizerNode/index.js.map +1 -1
  360. package/lib/summary/summarizerNode/summarizerNode.d.ts +5 -6
  361. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  362. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  363. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -3
  364. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  365. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  366. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +3 -3
  367. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  368. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  369. package/lib/summary/summarizerTypes.d.ts +25 -44
  370. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  371. package/lib/summary/summarizerTypes.js.map +1 -1
  372. package/lib/summary/summarizerUtils.d.ts +3 -3
  373. package/lib/summary/summarizerUtils.d.ts.map +1 -1
  374. package/lib/summary/summarizerUtils.js.map +1 -1
  375. package/lib/summary/summaryCollection.d.ts +13 -23
  376. package/lib/summary/summaryCollection.d.ts.map +1 -1
  377. package/lib/summary/summaryCollection.js +1 -2
  378. package/lib/summary/summaryCollection.js.map +1 -1
  379. package/lib/summary/summaryDelayLoadedModule/index.d.ts +2 -2
  380. package/lib/summary/summaryDelayLoadedModule/index.d.ts.map +1 -1
  381. package/lib/summary/summaryDelayLoadedModule/index.js.map +1 -1
  382. package/lib/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts +1 -1
  383. package/lib/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts.map +1 -1
  384. package/lib/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.js.map +1 -1
  385. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.d.ts +3 -3
  386. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -1
  387. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -1
  388. package/lib/summary/summaryDelayLoadedModule/summarizer.d.ts +5 -5
  389. package/lib/summary/summaryDelayLoadedModule/summarizer.d.ts.map +1 -1
  390. package/lib/summary/summaryDelayLoadedModule/summarizer.js.map +1 -1
  391. package/lib/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts +3 -4
  392. package/lib/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts.map +1 -1
  393. package/lib/summary/summaryDelayLoadedModule/summarizerHeuristics.js.map +1 -1
  394. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.d.ts +3 -3
  395. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.d.ts.map +1 -1
  396. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
  397. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts +1 -1
  398. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts.map +1 -1
  399. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.js.map +1 -1
  400. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts +5 -10
  401. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts.map +1 -1
  402. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.js.map +1 -1
  403. package/lib/summary/summaryFormat.d.ts +9 -14
  404. package/lib/summary/summaryFormat.d.ts.map +1 -1
  405. package/lib/summary/summaryFormat.js.map +1 -1
  406. package/lib/summary/summaryHelpers.d.ts +1 -2
  407. package/lib/summary/summaryHelpers.d.ts.map +1 -1
  408. package/lib/summary/summaryHelpers.js +1 -2
  409. package/lib/summary/summaryHelpers.js.map +1 -1
  410. package/lib/summary/summaryManager.d.ts +3 -3
  411. package/lib/summary/summaryManager.d.ts.map +1 -1
  412. package/lib/summary/summaryManager.js.map +1 -1
  413. package/lib/tsdoc-metadata.json +1 -1
  414. package/package.json +27 -27
  415. package/src/batchTracker.ts +3 -3
  416. package/src/blobManager/blobManager.ts +165 -174
  417. package/src/blobManager/blobManagerSnapSum.ts +31 -53
  418. package/src/blobManager/index.ts +4 -4
  419. package/src/channelCollection.ts +28 -29
  420. package/src/compressionDefinitions.ts +3 -6
  421. package/src/connectionTelemetry.ts +8 -9
  422. package/src/containerHandleContext.ts +2 -2
  423. package/src/containerRuntime.ts +43 -50
  424. package/src/dataStore.ts +6 -6
  425. package/src/dataStoreContext.ts +33 -33
  426. package/src/dataStoreContexts.ts +3 -3
  427. package/src/dataStoreRegistry.ts +1 -1
  428. package/src/deltaManagerProxies.ts +3 -3
  429. package/src/deltaScheduler.ts +6 -3
  430. package/src/error.ts +1 -1
  431. package/src/gc/garbageCollection.ts +18 -18
  432. package/src/gc/gcConfigs.ts +7 -7
  433. package/src/gc/gcDefinitions.ts +11 -12
  434. package/src/gc/gcHelpers.ts +7 -7
  435. package/src/gc/gcReferenceGraphAlgorithm.ts +1 -1
  436. package/src/gc/gcSummaryDefinitions.ts +1 -1
  437. package/src/gc/gcSummaryStateTracker.ts +5 -5
  438. package/src/gc/gcTelemetry.ts +8 -8
  439. package/src/gc/index.ts +18 -18
  440. package/src/inboundBatchAggregator.ts +4 -4
  441. package/src/index.ts +79 -79
  442. package/src/messageTypes.ts +9 -10
  443. package/src/opLifecycle/batchManager.ts +2 -2
  444. package/src/opLifecycle/definitions.ts +1 -1
  445. package/src/opLifecycle/duplicateBatchDetector.ts +1 -1
  446. package/src/opLifecycle/index.ts +9 -9
  447. package/src/opLifecycle/opCompressor.ts +2 -2
  448. package/src/opLifecycle/opDecompressor.ts +3 -3
  449. package/src/opLifecycle/opGroupingManager.ts +6 -6
  450. package/src/opLifecycle/opSplitter.ts +10 -7
  451. package/src/opLifecycle/outbox.ts +17 -14
  452. package/src/opLifecycle/remoteMessageProcessor.ts +4 -4
  453. package/src/opProperties.ts +1 -1
  454. package/src/packageVersion.ts +1 -1
  455. package/src/pendingStateManager.ts +10 -10
  456. package/src/storageServiceWithAttachBlobs.ts +11 -11
  457. package/src/summary/documentSchema.ts +1 -2
  458. package/src/summary/index.ts +69 -69
  459. package/src/summary/orderedClientElection.ts +12 -4
  460. package/src/summary/summarizerClientElection.ts +5 -5
  461. package/src/summary/summarizerNode/index.ts +3 -3
  462. package/src/summary/summarizerNode/summarizerNode.ts +14 -12
  463. package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -3
  464. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +3 -3
  465. package/src/summary/summarizerTypes.ts +25 -44
  466. package/src/summary/summarizerUtils.ts +3 -3
  467. package/src/summary/summaryCollection.ts +19 -29
  468. package/src/summary/summaryDelayLoadedModule/index.ts +2 -2
  469. package/src/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.ts +1 -1
  470. package/src/summary/summaryDelayLoadedModule/runningSummarizer.ts +4 -4
  471. package/src/summary/summaryDelayLoadedModule/summarizer.ts +8 -8
  472. package/src/summary/summaryDelayLoadedModule/summarizerHeuristics.ts +4 -4
  473. package/src/summary/summaryDelayLoadedModule/summaryGenerator.ts +3 -3
  474. package/src/summary/summaryDelayLoadedModule/summaryResultBuilder.ts +3 -3
  475. package/src/summary/summaryDelayLoadedModule/summaryResultTypes.ts +5 -10
  476. package/src/summary/summaryFormat.ts +9 -14
  477. package/src/summary/summaryHelpers.ts +1 -2
  478. package/src/summary/summaryManager.ts +4 -4
@@ -2,13 +2,13 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { IDeltaManager, ContainerWarning } from "@fluidframework/container-definitions/internal";
5
+ import type { IDeltaManager, ContainerWarning } from "@fluidframework/container-definitions/internal";
6
6
  import type { ISummarizerEvents, SummarizerStopReason } from "@fluidframework/container-runtime-definitions/internal";
7
- import { IEventProvider, ITelemetryBaseProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
- import { ISummaryTree } from "@fluidframework/driver-definitions";
9
- import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
- import { ISummaryStats } from "@fluidframework/runtime-definitions/internal";
11
- import { ITelemetryLoggerExt, ITelemetryLoggerPropertyBag } from "@fluidframework/telemetry-utils/internal";
7
+ import type { IEventProvider, ITelemetryBaseProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
+ import type { ISummaryTree } from "@fluidframework/driver-definitions";
9
+ import type { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
+ import type { ISummaryStats } from "@fluidframework/runtime-definitions/internal";
11
+ import type { ITelemetryLoggerExt, ITelemetryLoggerPropertyBag } from "@fluidframework/telemetry-utils/internal";
12
12
  import type { SummarizeReason } from "./summarizerUtils.js";
13
13
  import type { EnqueueSummarizeResult, ISummarizeResults } from "./summaryDelayLoadedModule/index.js";
14
14
  export declare const summarizerClientType = "summarizer";
@@ -101,8 +101,7 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
101
101
  }
102
102
  /**
103
103
  * Options affecting summarize behavior.
104
- * @legacy
105
- * @alpha
104
+ * @legacy @beta
106
105
  */
107
106
  export interface ISummarizeOptions {
108
107
  /**
@@ -132,8 +131,7 @@ export interface ISubmitSummaryOptions extends ISummarizeOptions {
132
131
  readonly latestSummaryRefSeqNum: number;
133
132
  }
134
133
  /**
135
- * @legacy
136
- * @alpha
134
+ * @legacy @beta
137
135
  */
138
136
  export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
139
137
  /**
@@ -147,8 +145,7 @@ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
147
145
  }
148
146
  /**
149
147
  * Options to use when enqueueing a summarize attempt.
150
- * @legacy
151
- * @alpha
148
+ * @legacy @beta
152
149
  */
153
150
  export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
154
151
  /**
@@ -166,8 +163,7 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
166
163
  /**
167
164
  * In addition to the normal summary tree + stats, this contains additional stats
168
165
  * only relevant at the root of the tree.
169
- * @legacy
170
- * @alpha
166
+ * @legacy @beta
171
167
  */
172
168
  export interface IGeneratedSummaryStats extends ISummaryStats {
173
169
  /**
@@ -197,16 +193,14 @@ export interface IGeneratedSummaryStats extends ISummaryStats {
197
193
  }
198
194
  /**
199
195
  * Type for summarization failures that are retriable.
200
- * @legacy
201
- * @alpha
196
+ * @legacy @beta
202
197
  */
203
198
  export interface IRetriableFailureError extends Error {
204
199
  readonly retryAfterSeconds?: number;
205
200
  }
206
201
  /**
207
202
  * Base results for all submitSummary attempts.
208
- * @legacy
209
- * @alpha
203
+ * @legacy @beta
210
204
  */
211
205
  export interface IBaseSummarizeResult {
212
206
  readonly stage: "base";
@@ -222,8 +216,7 @@ export interface IBaseSummarizeResult {
222
216
  }
223
217
  /**
224
218
  * Results of submitSummary after generating the summary tree.
225
- * @legacy
226
- * @alpha
219
+ * @legacy @beta
227
220
  */
228
221
  export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
229
222
  readonly stage: "generate";
@@ -242,8 +235,7 @@ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "
242
235
  }
243
236
  /**
244
237
  * Results of submitSummary after uploading the tree to storage.
245
- * @legacy
246
- * @alpha
238
+ * @legacy @beta
247
239
  */
248
240
  export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
249
241
  readonly stage: "upload";
@@ -258,8 +250,7 @@ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "
258
250
  }
259
251
  /**
260
252
  * Results of submitSummary after submitting the summarize op.
261
- * @legacy
262
- * @alpha
253
+ * @legacy @beta
263
254
  */
264
255
  export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
265
256
  readonly stage: "submit";
@@ -287,27 +278,23 @@ export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stag
287
278
  * 3. "upload" - the summary was uploaded to storage, and the result contains the server-provided handle
288
279
  *
289
280
  * 4. "submit" - the summarize op was submitted, and the result contains the op client sequence number.
290
- * @legacy
291
- * @alpha
281
+ * @legacy @beta
292
282
  */
293
283
  export type SubmitSummaryResult = IBaseSummarizeResult | IGenerateSummaryTreeResult | IUploadSummaryResult | ISubmitSummaryOpResult;
294
284
  /**
295
285
  * The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.
296
- * @legacy
297
- * @alpha
286
+ * @legacy @beta
298
287
  */
299
288
  export type SummaryStage = SubmitSummaryResult["stage"] | "unknown";
300
289
  /**
301
290
  * The data in summarizer result when submit summary stage fails.
302
- * @legacy
303
- * @alpha
291
+ * @legacy @beta
304
292
  */
305
293
  export interface SubmitSummaryFailureData {
306
294
  stage: SummaryStage;
307
295
  }
308
296
  /**
309
- * @legacy
310
- * @alpha
297
+ * @legacy @beta
311
298
  */
312
299
  export type SummarizeResultPart<TSuccess, TFailure = undefined> = {
313
300
  success: true;
@@ -319,8 +306,7 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> = {
319
306
  error: IRetriableFailureError;
320
307
  };
321
308
  /**
322
- * @legacy
323
- * @alpha
309
+ * @legacy @beta
324
310
  */
325
311
  export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
326
312
  /**
@@ -567,8 +553,7 @@ export interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {
567
553
  summarizerSuccessfulAttempts: () => number;
568
554
  }
569
555
  /**
570
- * @legacy
571
- * @alpha
556
+ * @legacy @beta
572
557
  */
573
558
  export interface ISummaryBaseConfiguration {
574
559
  /**
@@ -588,8 +573,7 @@ export interface ISummaryBaseConfiguration {
588
573
  maxOpsSinceLastSummary: number;
589
574
  }
590
575
  /**
591
- * @legacy
592
- * @alpha
576
+ * @legacy @beta
593
577
  */
594
578
  export interface ISummaryConfigurationHeuristics extends ISummaryBaseConfiguration {
595
579
  state: "enabled";
@@ -650,22 +634,19 @@ export interface ISummaryConfigurationHeuristics extends ISummaryBaseConfigurati
650
634
  nonRuntimeHeuristicThreshold?: number;
651
635
  }
652
636
  /**
653
- * @legacy
654
- * @alpha
637
+ * @legacy @beta
655
638
  */
656
639
  export interface ISummaryConfigurationDisableSummarizer {
657
640
  state: "disabled";
658
641
  }
659
642
  /**
660
- * @legacy
661
- * @alpha
643
+ * @legacy @beta
662
644
  */
663
645
  export interface ISummaryConfigurationDisableHeuristics extends ISummaryBaseConfiguration {
664
646
  state: "disableHeuristics";
665
647
  }
666
648
  /**
667
- * @legacy
668
- * @alpha
649
+ * @legacy @beta
669
650
  */
670
651
  export type ISummaryConfiguration = ISummaryConfigurationDisableSummarizer | ISummaryConfigurationDisableHeuristics | ISummaryConfigurationHeuristics;
671
652
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"summarizerTypes.d.ts","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizerTypes.d.ts","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"summarizerTypes.js","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgCU,QAAA,oBAAoB,GAAG,YAAY,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIDeltaManager,\n\tContainerWarning,\n} from \"@fluidframework/container-definitions/internal\";\nimport type {\n\tISummarizerEvents,\n\tSummarizerStopReason,\n} from \"@fluidframework/container-runtime-definitions/internal\";\nimport {\n\tIEventProvider,\n\tITelemetryBaseProperties,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport { ISummaryTree } from \"@fluidframework/driver-definitions\";\nimport {\n\tIDocumentMessage,\n\tISequencedDocumentMessage,\n} from \"@fluidframework/driver-definitions/internal\";\nimport { ISummaryStats } from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tITelemetryLoggerExt,\n\tITelemetryLoggerPropertyBag,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport type { SummarizeReason } from \"./summarizerUtils.js\";\nimport type {\n\tEnqueueSummarizeResult,\n\tISummarizeResults,\n} from \"./summaryDelayLoadedModule/index.js\";\n\nexport const summarizerClientType = \"summarizer\";\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @param T - cancellation reason type\n * @internal\n */\nexport interface ICancellationToken<T> {\n\t/**\n\t * Tells if this cancellable token is cancelled\n\t */\n\treadonly cancelled: boolean;\n\t/**\n\t * Promise that gets fulfilled when this cancellable token is cancelled\n\t * @returns reason of cancellation\n\t */\n\treadonly waitCancelled: Promise<T>;\n}\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @internal\n */\nexport type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;\n\n/**\n * Data required to update internal tracking state after receiving a Summary Ack.\n * @internal\n */\nexport interface IRefreshSummaryAckOptions {\n\t/**\n\t * Handle from the ack's summary op.\n\t */\n\treadonly proposalHandle: string | undefined;\n\t/**\n\t * Handle from the summary ack just received\n\t */\n\treadonly ackHandle: string;\n\t/**\n\t * Reference sequence number from the ack's summary op\n\t */\n\treadonly summaryRefSeq: number;\n\t/**\n\t * Telemetry logger to which telemetry events will be forwarded.\n\t */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizerInternalsProvider {\n\t/**\n\t * Encapsulates the work to walk the internals of the running container to generate a summary\n\t */\n\tsubmitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;\n\n\t/**\n\t * Callback whenever a new SummaryAck is received, to update internal tracking state\n\t */\n\trefreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizingWarning extends ContainerWarning {\n\treadonly errorType: \"summarizingError\";\n\treadonly logged: boolean;\n}\n\n/**\n * @internal\n */\nexport interface IConnectableRuntime {\n\treadonly disposed: boolean;\n\treadonly connected: boolean;\n\treadonly clientId: string | undefined;\n\tonce(event: \"connected\" | \"disconnected\" | \"dispose\", listener: () => void): this;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizerRuntime extends IConnectableRuntime {\n\treadonly baseLogger: ITelemetryBaseLogger;\n\t/**\n\t * clientId of parent (non-summarizing) container that owns summarizer container\n\t */\n\treadonly summarizerClientId: string | undefined;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\tdisposeFn(): void;\n\tcloseFn(): void;\n\ton(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n\toff(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n}\n\n/**\n * Options affecting summarize behavior.\n * @legacy\n * @alpha\n */\nexport interface ISummarizeOptions {\n\t/**\n\t * True to generate the full tree with no handle reuse optimizations; defaults to false\n\t */\n\treadonly fullTree?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface ISubmitSummaryOptions extends ISummarizeOptions {\n\t/**\n\t * Logger to use for correlated summary events\n\t */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n\t/**\n\t * Tells when summary process should be cancelled\n\t */\n\treadonly cancellationToken: ISummaryCancellationToken;\n\t/**\n\t * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt.\n\t */\n\treadonly finalAttempt?: boolean;\n\t/**\n\t * The sequence number of the latest summary used to validate if summary state is correct before summarizing\n\t */\n\treadonly latestSummaryRefSeqNum: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IOnDemandSummarizeOptions extends ISummarizeOptions {\n\t/**\n\t * Reason for generating summary.\n\t */\n\treadonly reason: string;\n\t/**\n\t * In case of a failure, will attempt to retry based on if the failure is retriable.\n\t */\n\treadonly retryOnFailure?: boolean;\n}\n\n/**\n * Options to use when enqueueing a summarize attempt.\n * @legacy\n * @alpha\n */\nexport interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {\n\t/**\n\t * If specified, The summarize attempt will not occur until after this sequence number.\n\t */\n\treadonly afterSequenceNumber?: number;\n\n\t/**\n\t * True to override the existing enqueued summarize attempt if there is one.\n\t * This will guarantee that this attempt gets enqueued. If override is false,\n\t * than an existing enqueued summarize attempt will block a new one from being\n\t * enqueued. There can only be one enqueued at a time. Defaults to false.\n\t */\n\treadonly override?: boolean;\n}\n\n/**\n * In addition to the normal summary tree + stats, this contains additional stats\n * only relevant at the root of the tree.\n * @legacy\n * @alpha\n */\nexport interface IGeneratedSummaryStats extends ISummaryStats {\n\t/**\n\t * The total number of data stores in the container.\n\t */\n\treadonly dataStoreCount: number;\n\t/**\n\t * The number of data stores that were summarized in this summary.\n\t */\n\treadonly summarizedDataStoreCount: number;\n\t/**\n\t * The number of data stores whose GC reference state was updated in this summary.\n\t */\n\treadonly gcStateUpdatedDataStoreCount?: number;\n\t/**\n\t * The size of the gc blobs in this summary.\n\t */\n\treadonly gcTotalBlobsSize?: number;\n\t/**\n\t * The number of gc blobs in this summary.\n\t */\n\treadonly gcBlobNodeCount?: number;\n\t/**\n\t * The summary number for a container's summary. Incremented on summaries throughout its lifetime.\n\t */\n\treadonly summaryNumber: number;\n}\n\n/**\n * Type for summarization failures that are retriable.\n * @legacy\n * @alpha\n */\nexport interface IRetriableFailureError extends Error {\n\treadonly retryAfterSeconds?: number;\n}\n\n/**\n * Base results for all submitSummary attempts.\n * @legacy\n * @alpha\n */\nexport interface IBaseSummarizeResult {\n\treadonly stage: \"base\";\n\t/**\n\t * Retriable error object related to failed summarize attempt.\n\t */\n\treadonly error: IRetriableFailureError | undefined;\n\t/**\n\t * Reference sequence number as of the generate summary attempt.\n\t */\n\treadonly referenceSequenceNumber: number;\n\treadonly minimumSequenceNumber: number;\n}\n\n/**\n * Results of submitSummary after generating the summary tree.\n * @legacy\n * @alpha\n */\nexport interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, \"stage\"> {\n\treadonly stage: \"generate\";\n\t/**\n\t * Generated summary tree.\n\t */\n\treadonly summaryTree: ISummaryTree;\n\t/**\n\t * Stats for generated summary tree.\n\t */\n\treadonly summaryStats: IGeneratedSummaryStats;\n\t/**\n\t * Time it took to generate the summary tree and stats.\n\t */\n\treadonly generateDuration: number;\n}\n\n/**\n * Results of submitSummary after uploading the tree to storage.\n * @legacy\n * @alpha\n */\nexport interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, \"stage\"> {\n\treadonly stage: \"upload\";\n\t/**\n\t * The handle returned by storage pointing to the uploaded summary tree.\n\t */\n\treadonly handle: string;\n\t/**\n\t * Time it took to upload the summary tree to storage.\n\t */\n\treadonly uploadDuration: number;\n}\n\n/**\n * Results of submitSummary after submitting the summarize op.\n * @legacy\n * @alpha\n */\nexport interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, \"stage\" | \"error\"> {\n\treadonly stage: \"submit\";\n\t/**\n\t * The client sequence number of the summarize op submitted for the summary.\n\t */\n\treadonly clientSequenceNumber: number;\n\t/**\n\t * Time it took to submit the summarize op to the broadcasting service.\n\t */\n\treadonly submitOpDuration: number;\n}\n\n/**\n * Strict type representing result of a submitSummary attempt.\n * The result consists of 4 possible stages, each with its own data.\n * The data is cumulative, so each stage will contain the data from the previous stages.\n * If the final \"submitted\" stage is not reached, the result may contain the error object.\n *\n * Stages:\n *\n * 1. \"base\" - stopped before the summary tree was even generated, and the result only contains the base data\n *\n * 2. \"generate\" - the summary tree was generated, and the result will contain that tree + stats\n *\n * 3. \"upload\" - the summary was uploaded to storage, and the result contains the server-provided handle\n *\n * 4. \"submit\" - the summarize op was submitted, and the result contains the op client sequence number.\n * @legacy\n * @alpha\n */\nexport type SubmitSummaryResult =\n\t| IBaseSummarizeResult\n\t| IGenerateSummaryTreeResult\n\t| IUploadSummaryResult\n\t| ISubmitSummaryOpResult;\n\n/**\n * The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.\n * @legacy\n * @alpha\n */\nexport type SummaryStage = SubmitSummaryResult[\"stage\"] | \"unknown\";\n\n/**\n * The data in summarizer result when submit summary stage fails.\n * @legacy\n * @alpha\n */\nexport interface SubmitSummaryFailureData {\n\tstage: SummaryStage;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport type SummarizeResultPart<TSuccess, TFailure = undefined> =\n\t| {\n\t\t\tsuccess: true;\n\t\t\tdata: TSuccess;\n\t }\n\t| {\n\t\t\tsuccess: false;\n\t\t\tdata: TFailure | undefined;\n\t\t\tmessage: string;\n\t\t\terror: IRetriableFailureError;\n\t };\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummarizer extends IEventProvider<ISummarizerEvents> {\n\t/**\n\t * Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.\n\t */\n\treadonly ISummarizer?: ISummarizer;\n\n\t/*\n\t * Asks summarizer to move to exit.\n\t * Summarizer will finish current processes, which may take a while.\n\t * For example, summarizer may complete last summary before exiting.\n\t */\n\tstop(reason: SummarizerStopReason): void;\n\n\t/* Closes summarizer. Any pending processes (summary in flight) are abandoned. */\n\tclose(): void;\n\n\trun(onBehalfOf: string): Promise<SummarizerStopReason>;\n\n\t/**\n\t * Attempts to generate a summary on demand. If already running, takes no action.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an alreadyRunning promise if a summarize attempt is already in progress,\n\t * which will resolve when the current attempt completes. At that point caller can\n\t * decide to try again or not. Otherwise, it will return an object containing promises\n\t * that resolve as the summarize attempt progresses. They will resolve with success\n\t * false if a failure is encountered.\n\t */\n\tsummarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;\n\t/**\n\t * Enqueue an attempt to summarize after the specified sequence number.\n\t * If afterSequenceNumber is provided, the summarize attempt is \"enqueued\"\n\t * to run once an eligible op comes in with sequenceNumber \\>= afterSequenceNumber.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an object containing an alreadyEnqueued flag to indicate if another\n\t * summarize attempt has already been enqueued. It also may contain an overridden flag\n\t * when alreadyEnqueued is true, that indicates whether this attempt forced the\n\t * previous attempt to abort. If this attempt becomes enqueued, it returns an object\n\t * containing promises that resolve as the summarize attempt progresses. They will\n\t * resolve with success false if a failure is encountered.\n\t */\n\tenqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;\n}\n\n/**\n * Data about an attempt to summarize used for heuristics.\n */\nexport interface ISummarizeAttempt {\n\t/**\n\t * Reference sequence number when summary was generated or attempted\n\t */\n\treadonly refSequenceNumber: number;\n\n\t/**\n\t * Time of summary attempt after it was sent or attempted\n\t */\n\treadonly summaryTime: number;\n\n\t/**\n\t * Sequence number of summary op\n\t */\n\tsummarySequenceNumber?: number;\n}\n\n/**\n * Data relevant for summary heuristics.\n */\nexport interface ISummarizeHeuristicData {\n\t/**\n\t * Latest received op sequence number\n\t */\n\tlastOpSequenceNumber: number;\n\n\t/**\n\t * Most recent summary attempt from this client\n\t */\n\treadonly lastAttempt: ISummarizeAttempt;\n\n\t/**\n\t * Most recent summary that received an ack\n\t */\n\treadonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;\n\n\t/**\n\t * Number of runtime ops since last summary\n\t */\n\tnumRuntimeOps: number;\n\n\t/**\n\t * Number of non-runtime ops since last summary\n\t */\n\tnumNonRuntimeOps: number;\n\n\t/**\n\t * Cumulative size in bytes of all the ops since the last summary\n\t */\n\ttotalOpsSize: number;\n\n\t/**\n\t * Wether or not this instance contains adjusted metrics due to missing op data\n\t */\n\thasMissingOpData: boolean;\n\n\t/**\n\t * Updates lastAttempt and lastSuccessfulAttempt based on the last summary.\n\t * @param lastSummary - last ack summary\n\t */\n\tupdateWithLastSummaryAckInfo(lastSummary: ISummarizeAttempt): void;\n\n\t/**\n\t * Records a summary attempt. If the attempt was successfully sent,\n\t * provide the reference sequence number, otherwise it will be set\n\t * to the last seen op sequence number.\n\t * @param referenceSequenceNumber - reference sequence number of sent summary\n\t */\n\trecordAttempt(referenceSequenceNumber?: number): void;\n\n\t/**\n\t * Mark that the last sent summary attempt has received an ack\n\t */\n\tmarkLastAttemptAsSuccessful(): void;\n\n\topsSinceLastSummary: number;\n}\n\n/**\n * Responsible for running heuristics determining when to summarize.\n */\nexport interface ISummarizeHeuristicRunner {\n\t/**\n\t * Start specific heuristic trackers (ex: idle timer)\n\t */\n\tstart(): void;\n\n\t/**\n\t * Runs the heuristics to determine if it should try to summarize\n\t */\n\trun(): void;\n\n\t/**\n\t * Runs a different heuristic to check if it should summarize before closing\n\t */\n\tshouldRunLastSummary(): boolean;\n\n\t/**\n\t * Disposes of resources\n\t */\n\tdispose(): void;\n}\n\ntype ISummarizeTelemetryRequiredProperties =\n\t/**\n\t * Reason code for attempting to summarize\n\t */\n\t\"summarizeReason\";\n\ntype ISummarizeTelemetryOptionalProperties =\n\t/**\n\t * Number of attempts within the last time window, used for calculating the throttle delay.\n\t */\n\t| \"summaryAttempts\"\n\t/**\n\t * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt\n\t */\n\t| \"finalAttempt\"\n\t| keyof ISummarizeOptions;\n\nexport type ISummarizeTelemetryProperties = Pick<\n\tITelemetryBaseProperties,\n\tISummarizeTelemetryRequiredProperties\n> &\n\tPartial<Pick<ITelemetryBaseProperties, ISummarizeTelemetryOptionalProperties>>;\n\n/**\n * Strategy used to heuristically determine when we should run a summary\n */\nexport interface ISummaryHeuristicStrategy {\n\t/**\n\t * Summarize reason for this summarize heuristic strategy (ex: \"maxTime\")\n\t */\n\tsummarizeReason: Readonly<SummarizeReason>;\n\n\t/**\n\t * Determines if this strategy's summarize criteria been met\n\t * @param configuration - summary configuration we are to check against\n\t * @param heuristicData - heuristic data used to confirm conditions are met\n\t */\n\tshouldRunSummary(\n\t\tconfiguration: ISummaryConfigurationHeuristics,\n\t\theuristicData: ISummarizeHeuristicData,\n\t): boolean;\n}\n\ntype SummaryGeneratorRequiredTelemetryProperties =\n\t/**\n\t * True to generate the full tree with no handle reuse optimizations\n\t */\n\t| \"fullTree\"\n\t/**\n\t * Time since we last attempted to generate a summary\n\t */\n\t| \"timeSinceLastAttempt\"\n\t/**\n\t * Time since we last successfully generated a summary\n\t */\n\t| \"timeSinceLastSummary\";\n\ntype SummaryGeneratorOptionalTelemetryProperties =\n\t/**\n\t * Reference sequence number as of the generate summary attempt.\n\t */\n\t| \"referenceSequenceNumber\"\n\t/**\n\t * minimum sequence number (at the reference sequence number)\n\t */\n\t| \"minimumSequenceNumber\"\n\t/**\n\t * Delta between the current reference sequence number and the reference sequence number of the last attempt\n\t */\n\t| \"opsSinceLastAttempt\"\n\t/**\n\t * Delta between the current reference sequence number and the reference sequence number of the last summary\n\t */\n\t| \"opsSinceLastSummary\"\n\t/**\n\t * Delta in sum of op sizes between the current reference sequence number and the reference\n\t * sequence number of the last summary\n\t */\n\t| \"opsSizesSinceLastSummary\"\n\t/**\n\t * Delta between the number of non-runtime ops since the last summary\n\t */\n\t| \"nonRuntimeOpsSinceLastSummary\"\n\t/**\n\t * Delta between the number of runtime ops since the last summary\n\t */\n\t| \"runtimeOpsSinceLastSummary\"\n\t/**\n\t * Wether or not this instance contains adjusted metrics due to missing op data\n\t */\n\t| \"hasMissingOpData\"\n\t/**\n\t * Time it took to generate the summary tree and stats.\n\t */\n\t| \"generateDuration\"\n\t/**\n\t * The handle returned by storage pointing to the uploaded summary tree.\n\t */\n\t| \"handle\"\n\t/**\n\t * Time it took to upload the summary tree to storage.\n\t */\n\t| \"uploadDuration\"\n\t/**\n\t * The client sequence number of the summarize op submitted for the summary.\n\t */\n\t| \"clientSequenceNumber\"\n\t/**\n\t * Time it took for this summary to be acked after it was generated\n\t */\n\t| \"ackWaitDuration\"\n\t/**\n\t * Reference sequence number of the ack/nack message\n\t */\n\t| \"ackNackSequenceNumber\"\n\t/**\n\t * Actual sequence number of the summary op proposal.\n\t */\n\t| \"summarySequenceNumber\"\n\t/**\n\t * Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying.\n\t */\n\t| \"nackRetryAfter\"\n\t/**\n\t * The stage at which the submit summary method failed at. This can help determine what type of failure we have\n\t */\n\t| \"stage\";\n\nexport type SummaryGeneratorTelemetry = Pick<\n\tITelemetryBaseProperties,\n\tSummaryGeneratorRequiredTelemetryProperties\n> &\n\tPartial<Pick<ITelemetryBaseProperties, SummaryGeneratorOptionalTelemetryProperties>>;\n\nexport interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {\n\t/**\n\t * Number of times the summarizer run.\n\t */\n\tsummarizeCount: () => number;\n\t/**\n\t * Number of successful attempts to summarize.\n\t */\n\tsummarizerSuccessfulAttempts: () => number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummaryBaseConfiguration {\n\t/**\n\t * Delay before first attempt to spawn summarizing container.\n\t */\n\tinitialSummarizerDelayMs: number;\n\n\t/**\n\t * Defines the maximum allowed time to wait for a pending summary ack.\n\t * The maximum amount of time client will wait for a summarize is the minimum of\n\t * maxSummarizeAckWaitTime (currently 3 * 60 * 1000) and maxAckWaitTime.\n\t */\n\tmaxAckWaitTime: number;\n\t/**\n\t * Defines the maximum number of Ops in between Summaries that can be\n\t * allowed before forcibly electing a new summarizer client.\n\t */\n\tmaxOpsSinceLastSummary: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummaryConfigurationHeuristics extends ISummaryBaseConfiguration {\n\tstate: \"enabled\";\n\t/**\n\t * Defines the maximum allowed time, since the last received Ack, before running the summary\n\t * with reason maxTime.\n\t * For example, say we receive ops one by one just before the idle time is triggered.\n\t * In this case, we still want to run a summary since it's been a while since the last summary.\n\t */\n\tmaxTime: number;\n\t/**\n\t * Defines the maximum number of Ops, since the last received Ack, that can be allowed\n\t * before running the summary with reason maxOps.\n\t */\n\tmaxOps: number;\n\t/**\n\t * Defines the minimum number of Ops, since the last received Ack, that can be allowed\n\t * before running the last summary.\n\t */\n\tminOpsForLastSummaryAttempt: number;\n\t/**\n\t * Defines the lower boundary for the allowed time in between summarizations.\n\t * Pairs with maxIdleTime to form a range.\n\t * For example, if we only receive 1 op, we don't want to have the same idle time as say 100 ops.\n\t * Based on the boundaries we set in minIdleTime and maxIdleTime, the idle time will change\n\t * linearly depending on the number of ops we receive.\n\t */\n\tminIdleTime: number;\n\t/**\n\t * Defines the upper boundary for the allowed time in between summarizations.\n\t * Pairs with minIdleTime to form a range.\n\t * For example, if we only receive 1 op, we don't want to have the same idle time as say 100 ops.\n\t * Based on the boundaries we set in minIdleTime and maxIdleTime, the idle time will change\n\t * linearly depending on the number of ops we receive.\n\t */\n\tmaxIdleTime: number;\n\t/**\n\t * Runtime op weight to use in heuristic summarizing.\n\t * This number is a multiplier on the number of runtime ops we process when running summarize heuristics.\n\t * For example: (multiplier) * (number of runtime ops) = weighted number of runtime ops\n\t */\n\truntimeOpWeight: number;\n\t/**\n\t * Non-runtime op weight to use in heuristic summarizing\n\t * This number is a multiplier on the number of non-runtime ops we process when running summarize heuristics.\n\t * For example: (multiplier) * (number of non-runtime ops) = weighted number of non-runtime ops\n\t */\n\tnonRuntimeOpWeight: number;\n\n\t/**\n\t * Number of ops since last summary needed before a non-runtime op can trigger running summary heuristics.\n\t *\n\t * Note: Any runtime ops sent before the threshold is reached will trigger heuristics normally.\n\t * This threshold ONLY applies to non-runtime ops triggering summaries.\n\t *\n\t * For example: Say the threshold is 20. Sending 19 non-runtime ops will not trigger any heuristic checks.\n\t * Sending the 20th non-runtime op will trigger the heuristic checks for summarizing.\n\t */\n\tnonRuntimeHeuristicThreshold?: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummaryConfigurationDisableSummarizer {\n\tstate: \"disabled\";\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummaryConfigurationDisableHeuristics extends ISummaryBaseConfiguration {\n\tstate: \"disableHeuristics\";\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport type ISummaryConfiguration =\n\t| ISummaryConfigurationDisableSummarizer\n\t| ISummaryConfigurationDisableHeuristics\n\t| ISummaryConfigurationHeuristics;\n"]}
1
+ {"version":3,"file":"summarizerTypes.js","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgCU,QAAA,oBAAoB,GAAG,YAAY,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIDeltaManager,\n\tContainerWarning,\n} from \"@fluidframework/container-definitions/internal\";\nimport type {\n\tISummarizerEvents,\n\tSummarizerStopReason,\n} from \"@fluidframework/container-runtime-definitions/internal\";\nimport type {\n\tIEventProvider,\n\tITelemetryBaseProperties,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport type { ISummaryTree } from \"@fluidframework/driver-definitions\";\nimport type {\n\tIDocumentMessage,\n\tISequencedDocumentMessage,\n} from \"@fluidframework/driver-definitions/internal\";\nimport type { ISummaryStats } from \"@fluidframework/runtime-definitions/internal\";\nimport type {\n\tITelemetryLoggerExt,\n\tITelemetryLoggerPropertyBag,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport type { SummarizeReason } from \"./summarizerUtils.js\";\nimport type {\n\tEnqueueSummarizeResult,\n\tISummarizeResults,\n} from \"./summaryDelayLoadedModule/index.js\";\n\nexport const summarizerClientType = \"summarizer\";\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @param T - cancellation reason type\n * @internal\n */\nexport interface ICancellationToken<T> {\n\t/**\n\t * Tells if this cancellable token is cancelled\n\t */\n\treadonly cancelled: boolean;\n\t/**\n\t * Promise that gets fulfilled when this cancellable token is cancelled\n\t * @returns reason of cancellation\n\t */\n\treadonly waitCancelled: Promise<T>;\n}\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @internal\n */\nexport type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;\n\n/**\n * Data required to update internal tracking state after receiving a Summary Ack.\n * @internal\n */\nexport interface IRefreshSummaryAckOptions {\n\t/**\n\t * Handle from the ack's summary op.\n\t */\n\treadonly proposalHandle: string | undefined;\n\t/**\n\t * Handle from the summary ack just received\n\t */\n\treadonly ackHandle: string;\n\t/**\n\t * Reference sequence number from the ack's summary op\n\t */\n\treadonly summaryRefSeq: number;\n\t/**\n\t * Telemetry logger to which telemetry events will be forwarded.\n\t */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizerInternalsProvider {\n\t/**\n\t * Encapsulates the work to walk the internals of the running container to generate a summary\n\t */\n\tsubmitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;\n\n\t/**\n\t * Callback whenever a new SummaryAck is received, to update internal tracking state\n\t */\n\trefreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizingWarning extends ContainerWarning {\n\treadonly errorType: \"summarizingError\";\n\treadonly logged: boolean;\n}\n\n/**\n * @internal\n */\nexport interface IConnectableRuntime {\n\treadonly disposed: boolean;\n\treadonly connected: boolean;\n\treadonly clientId: string | undefined;\n\tonce(event: \"connected\" | \"disconnected\" | \"dispose\", listener: () => void): this;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizerRuntime extends IConnectableRuntime {\n\treadonly baseLogger: ITelemetryBaseLogger;\n\t/**\n\t * clientId of parent (non-summarizing) container that owns summarizer container\n\t */\n\treadonly summarizerClientId: string | undefined;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\tdisposeFn(): void;\n\tcloseFn(): void;\n\ton(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n\toff(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n}\n\n/**\n * Options affecting summarize behavior.\n * @legacy @beta\n */\nexport interface ISummarizeOptions {\n\t/**\n\t * True to generate the full tree with no handle reuse optimizations; defaults to false\n\t */\n\treadonly fullTree?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface ISubmitSummaryOptions extends ISummarizeOptions {\n\t/**\n\t * Logger to use for correlated summary events\n\t */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n\t/**\n\t * Tells when summary process should be cancelled\n\t */\n\treadonly cancellationToken: ISummaryCancellationToken;\n\t/**\n\t * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt.\n\t */\n\treadonly finalAttempt?: boolean;\n\t/**\n\t * The sequence number of the latest summary used to validate if summary state is correct before summarizing\n\t */\n\treadonly latestSummaryRefSeqNum: number;\n}\n\n/**\n * @legacy @beta\n */\nexport interface IOnDemandSummarizeOptions extends ISummarizeOptions {\n\t/**\n\t * Reason for generating summary.\n\t */\n\treadonly reason: string;\n\t/**\n\t * In case of a failure, will attempt to retry based on if the failure is retriable.\n\t */\n\treadonly retryOnFailure?: boolean;\n}\n\n/**\n * Options to use when enqueueing a summarize attempt.\n * @legacy @beta\n */\nexport interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {\n\t/**\n\t * If specified, The summarize attempt will not occur until after this sequence number.\n\t */\n\treadonly afterSequenceNumber?: number;\n\n\t/**\n\t * True to override the existing enqueued summarize attempt if there is one.\n\t * This will guarantee that this attempt gets enqueued. If override is false,\n\t * than an existing enqueued summarize attempt will block a new one from being\n\t * enqueued. There can only be one enqueued at a time. Defaults to false.\n\t */\n\treadonly override?: boolean;\n}\n\n/**\n * In addition to the normal summary tree + stats, this contains additional stats\n * only relevant at the root of the tree.\n * @legacy @beta\n */\nexport interface IGeneratedSummaryStats extends ISummaryStats {\n\t/**\n\t * The total number of data stores in the container.\n\t */\n\treadonly dataStoreCount: number;\n\t/**\n\t * The number of data stores that were summarized in this summary.\n\t */\n\treadonly summarizedDataStoreCount: number;\n\t/**\n\t * The number of data stores whose GC reference state was updated in this summary.\n\t */\n\treadonly gcStateUpdatedDataStoreCount?: number;\n\t/**\n\t * The size of the gc blobs in this summary.\n\t */\n\treadonly gcTotalBlobsSize?: number;\n\t/**\n\t * The number of gc blobs in this summary.\n\t */\n\treadonly gcBlobNodeCount?: number;\n\t/**\n\t * The summary number for a container's summary. Incremented on summaries throughout its lifetime.\n\t */\n\treadonly summaryNumber: number;\n}\n\n/**\n * Type for summarization failures that are retriable.\n * @legacy @beta\n */\nexport interface IRetriableFailureError extends Error {\n\treadonly retryAfterSeconds?: number;\n}\n\n/**\n * Base results for all submitSummary attempts.\n * @legacy @beta\n */\nexport interface IBaseSummarizeResult {\n\treadonly stage: \"base\";\n\t/**\n\t * Retriable error object related to failed summarize attempt.\n\t */\n\treadonly error: IRetriableFailureError | undefined;\n\t/**\n\t * Reference sequence number as of the generate summary attempt.\n\t */\n\treadonly referenceSequenceNumber: number;\n\treadonly minimumSequenceNumber: number;\n}\n\n/**\n * Results of submitSummary after generating the summary tree.\n * @legacy @beta\n */\nexport interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, \"stage\"> {\n\treadonly stage: \"generate\";\n\t/**\n\t * Generated summary tree.\n\t */\n\treadonly summaryTree: ISummaryTree;\n\t/**\n\t * Stats for generated summary tree.\n\t */\n\treadonly summaryStats: IGeneratedSummaryStats;\n\t/**\n\t * Time it took to generate the summary tree and stats.\n\t */\n\treadonly generateDuration: number;\n}\n\n/**\n * Results of submitSummary after uploading the tree to storage.\n * @legacy @beta\n */\nexport interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, \"stage\"> {\n\treadonly stage: \"upload\";\n\t/**\n\t * The handle returned by storage pointing to the uploaded summary tree.\n\t */\n\treadonly handle: string;\n\t/**\n\t * Time it took to upload the summary tree to storage.\n\t */\n\treadonly uploadDuration: number;\n}\n\n/**\n * Results of submitSummary after submitting the summarize op.\n * @legacy @beta\n */\nexport interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, \"stage\" | \"error\"> {\n\treadonly stage: \"submit\";\n\t/**\n\t * The client sequence number of the summarize op submitted for the summary.\n\t */\n\treadonly clientSequenceNumber: number;\n\t/**\n\t * Time it took to submit the summarize op to the broadcasting service.\n\t */\n\treadonly submitOpDuration: number;\n}\n\n/**\n * Strict type representing result of a submitSummary attempt.\n * The result consists of 4 possible stages, each with its own data.\n * The data is cumulative, so each stage will contain the data from the previous stages.\n * If the final \"submitted\" stage is not reached, the result may contain the error object.\n *\n * Stages:\n *\n * 1. \"base\" - stopped before the summary tree was even generated, and the result only contains the base data\n *\n * 2. \"generate\" - the summary tree was generated, and the result will contain that tree + stats\n *\n * 3. \"upload\" - the summary was uploaded to storage, and the result contains the server-provided handle\n *\n * 4. \"submit\" - the summarize op was submitted, and the result contains the op client sequence number.\n * @legacy @beta\n */\nexport type SubmitSummaryResult =\n\t| IBaseSummarizeResult\n\t| IGenerateSummaryTreeResult\n\t| IUploadSummaryResult\n\t| ISubmitSummaryOpResult;\n\n/**\n * The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.\n * @legacy @beta\n */\nexport type SummaryStage = SubmitSummaryResult[\"stage\"] | \"unknown\";\n\n/**\n * The data in summarizer result when submit summary stage fails.\n * @legacy @beta\n */\nexport interface SubmitSummaryFailureData {\n\tstage: SummaryStage;\n}\n\n/**\n * @legacy @beta\n */\nexport type SummarizeResultPart<TSuccess, TFailure = undefined> =\n\t| {\n\t\t\tsuccess: true;\n\t\t\tdata: TSuccess;\n\t }\n\t| {\n\t\t\tsuccess: false;\n\t\t\tdata: TFailure | undefined;\n\t\t\tmessage: string;\n\t\t\terror: IRetriableFailureError;\n\t };\n\n/**\n * @legacy @beta\n */\nexport interface ISummarizer extends IEventProvider<ISummarizerEvents> {\n\t/**\n\t * Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.\n\t */\n\treadonly ISummarizer?: ISummarizer;\n\n\t/*\n\t * Asks summarizer to move to exit.\n\t * Summarizer will finish current processes, which may take a while.\n\t * For example, summarizer may complete last summary before exiting.\n\t */\n\tstop(reason: SummarizerStopReason): void;\n\n\t/* Closes summarizer. Any pending processes (summary in flight) are abandoned. */\n\tclose(): void;\n\n\trun(onBehalfOf: string): Promise<SummarizerStopReason>;\n\n\t/**\n\t * Attempts to generate a summary on demand. If already running, takes no action.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an alreadyRunning promise if a summarize attempt is already in progress,\n\t * which will resolve when the current attempt completes. At that point caller can\n\t * decide to try again or not. Otherwise, it will return an object containing promises\n\t * that resolve as the summarize attempt progresses. They will resolve with success\n\t * false if a failure is encountered.\n\t */\n\tsummarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;\n\t/**\n\t * Enqueue an attempt to summarize after the specified sequence number.\n\t * If afterSequenceNumber is provided, the summarize attempt is \"enqueued\"\n\t * to run once an eligible op comes in with sequenceNumber \\>= afterSequenceNumber.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an object containing an alreadyEnqueued flag to indicate if another\n\t * summarize attempt has already been enqueued. It also may contain an overridden flag\n\t * when alreadyEnqueued is true, that indicates whether this attempt forced the\n\t * previous attempt to abort. If this attempt becomes enqueued, it returns an object\n\t * containing promises that resolve as the summarize attempt progresses. They will\n\t * resolve with success false if a failure is encountered.\n\t */\n\tenqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;\n}\n\n/**\n * Data about an attempt to summarize used for heuristics.\n */\nexport interface ISummarizeAttempt {\n\t/**\n\t * Reference sequence number when summary was generated or attempted\n\t */\n\treadonly refSequenceNumber: number;\n\n\t/**\n\t * Time of summary attempt after it was sent or attempted\n\t */\n\treadonly summaryTime: number;\n\n\t/**\n\t * Sequence number of summary op\n\t */\n\tsummarySequenceNumber?: number;\n}\n\n/**\n * Data relevant for summary heuristics.\n */\nexport interface ISummarizeHeuristicData {\n\t/**\n\t * Latest received op sequence number\n\t */\n\tlastOpSequenceNumber: number;\n\n\t/**\n\t * Most recent summary attempt from this client\n\t */\n\treadonly lastAttempt: ISummarizeAttempt;\n\n\t/**\n\t * Most recent summary that received an ack\n\t */\n\treadonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;\n\n\t/**\n\t * Number of runtime ops since last summary\n\t */\n\tnumRuntimeOps: number;\n\n\t/**\n\t * Number of non-runtime ops since last summary\n\t */\n\tnumNonRuntimeOps: number;\n\n\t/**\n\t * Cumulative size in bytes of all the ops since the last summary\n\t */\n\ttotalOpsSize: number;\n\n\t/**\n\t * Wether or not this instance contains adjusted metrics due to missing op data\n\t */\n\thasMissingOpData: boolean;\n\n\t/**\n\t * Updates lastAttempt and lastSuccessfulAttempt based on the last summary.\n\t * @param lastSummary - last ack summary\n\t */\n\tupdateWithLastSummaryAckInfo(lastSummary: ISummarizeAttempt): void;\n\n\t/**\n\t * Records a summary attempt. If the attempt was successfully sent,\n\t * provide the reference sequence number, otherwise it will be set\n\t * to the last seen op sequence number.\n\t * @param referenceSequenceNumber - reference sequence number of sent summary\n\t */\n\trecordAttempt(referenceSequenceNumber?: number): void;\n\n\t/**\n\t * Mark that the last sent summary attempt has received an ack\n\t */\n\tmarkLastAttemptAsSuccessful(): void;\n\n\topsSinceLastSummary: number;\n}\n\n/**\n * Responsible for running heuristics determining when to summarize.\n */\nexport interface ISummarizeHeuristicRunner {\n\t/**\n\t * Start specific heuristic trackers (ex: idle timer)\n\t */\n\tstart(): void;\n\n\t/**\n\t * Runs the heuristics to determine if it should try to summarize\n\t */\n\trun(): void;\n\n\t/**\n\t * Runs a different heuristic to check if it should summarize before closing\n\t */\n\tshouldRunLastSummary(): boolean;\n\n\t/**\n\t * Disposes of resources\n\t */\n\tdispose(): void;\n}\n\ntype ISummarizeTelemetryRequiredProperties =\n\t/**\n\t * Reason code for attempting to summarize\n\t */\n\t\"summarizeReason\";\n\ntype ISummarizeTelemetryOptionalProperties =\n\t/**\n\t * Number of attempts within the last time window, used for calculating the throttle delay.\n\t */\n\t| \"summaryAttempts\"\n\t/**\n\t * Summarization may be attempted multiple times. This tells whether this is the final summarization attempt\n\t */\n\t| \"finalAttempt\"\n\t| keyof ISummarizeOptions;\n\nexport type ISummarizeTelemetryProperties = Pick<\n\tITelemetryBaseProperties,\n\tISummarizeTelemetryRequiredProperties\n> &\n\tPartial<Pick<ITelemetryBaseProperties, ISummarizeTelemetryOptionalProperties>>;\n\n/**\n * Strategy used to heuristically determine when we should run a summary\n */\nexport interface ISummaryHeuristicStrategy {\n\t/**\n\t * Summarize reason for this summarize heuristic strategy (ex: \"maxTime\")\n\t */\n\tsummarizeReason: Readonly<SummarizeReason>;\n\n\t/**\n\t * Determines if this strategy's summarize criteria been met\n\t * @param configuration - summary configuration we are to check against\n\t * @param heuristicData - heuristic data used to confirm conditions are met\n\t */\n\tshouldRunSummary(\n\t\tconfiguration: ISummaryConfigurationHeuristics,\n\t\theuristicData: ISummarizeHeuristicData,\n\t): boolean;\n}\n\ntype SummaryGeneratorRequiredTelemetryProperties =\n\t/**\n\t * True to generate the full tree with no handle reuse optimizations\n\t */\n\t| \"fullTree\"\n\t/**\n\t * Time since we last attempted to generate a summary\n\t */\n\t| \"timeSinceLastAttempt\"\n\t/**\n\t * Time since we last successfully generated a summary\n\t */\n\t| \"timeSinceLastSummary\";\n\ntype SummaryGeneratorOptionalTelemetryProperties =\n\t/**\n\t * Reference sequence number as of the generate summary attempt.\n\t */\n\t| \"referenceSequenceNumber\"\n\t/**\n\t * minimum sequence number (at the reference sequence number)\n\t */\n\t| \"minimumSequenceNumber\"\n\t/**\n\t * Delta between the current reference sequence number and the reference sequence number of the last attempt\n\t */\n\t| \"opsSinceLastAttempt\"\n\t/**\n\t * Delta between the current reference sequence number and the reference sequence number of the last summary\n\t */\n\t| \"opsSinceLastSummary\"\n\t/**\n\t * Delta in sum of op sizes between the current reference sequence number and the reference\n\t * sequence number of the last summary\n\t */\n\t| \"opsSizesSinceLastSummary\"\n\t/**\n\t * Delta between the number of non-runtime ops since the last summary\n\t */\n\t| \"nonRuntimeOpsSinceLastSummary\"\n\t/**\n\t * Delta between the number of runtime ops since the last summary\n\t */\n\t| \"runtimeOpsSinceLastSummary\"\n\t/**\n\t * Wether or not this instance contains adjusted metrics due to missing op data\n\t */\n\t| \"hasMissingOpData\"\n\t/**\n\t * Time it took to generate the summary tree and stats.\n\t */\n\t| \"generateDuration\"\n\t/**\n\t * The handle returned by storage pointing to the uploaded summary tree.\n\t */\n\t| \"handle\"\n\t/**\n\t * Time it took to upload the summary tree to storage.\n\t */\n\t| \"uploadDuration\"\n\t/**\n\t * The client sequence number of the summarize op submitted for the summary.\n\t */\n\t| \"clientSequenceNumber\"\n\t/**\n\t * Time it took for this summary to be acked after it was generated\n\t */\n\t| \"ackWaitDuration\"\n\t/**\n\t * Reference sequence number of the ack/nack message\n\t */\n\t| \"ackNackSequenceNumber\"\n\t/**\n\t * Actual sequence number of the summary op proposal.\n\t */\n\t| \"summarySequenceNumber\"\n\t/**\n\t * Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying.\n\t */\n\t| \"nackRetryAfter\"\n\t/**\n\t * The stage at which the submit summary method failed at. This can help determine what type of failure we have\n\t */\n\t| \"stage\";\n\nexport type SummaryGeneratorTelemetry = Pick<\n\tITelemetryBaseProperties,\n\tSummaryGeneratorRequiredTelemetryProperties\n> &\n\tPartial<Pick<ITelemetryBaseProperties, SummaryGeneratorOptionalTelemetryProperties>>;\n\nexport interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {\n\t/**\n\t * Number of times the summarizer run.\n\t */\n\tsummarizeCount: () => number;\n\t/**\n\t * Number of successful attempts to summarize.\n\t */\n\tsummarizerSuccessfulAttempts: () => number;\n}\n\n/**\n * @legacy @beta\n */\nexport interface ISummaryBaseConfiguration {\n\t/**\n\t * Delay before first attempt to spawn summarizing container.\n\t */\n\tinitialSummarizerDelayMs: number;\n\n\t/**\n\t * Defines the maximum allowed time to wait for a pending summary ack.\n\t * The maximum amount of time client will wait for a summarize is the minimum of\n\t * maxSummarizeAckWaitTime (currently 3 * 60 * 1000) and maxAckWaitTime.\n\t */\n\tmaxAckWaitTime: number;\n\t/**\n\t * Defines the maximum number of Ops in between Summaries that can be\n\t * allowed before forcibly electing a new summarizer client.\n\t */\n\tmaxOpsSinceLastSummary: number;\n}\n\n/**\n * @legacy @beta\n */\nexport interface ISummaryConfigurationHeuristics extends ISummaryBaseConfiguration {\n\tstate: \"enabled\";\n\t/**\n\t * Defines the maximum allowed time, since the last received Ack, before running the summary\n\t * with reason maxTime.\n\t * For example, say we receive ops one by one just before the idle time is triggered.\n\t * In this case, we still want to run a summary since it's been a while since the last summary.\n\t */\n\tmaxTime: number;\n\t/**\n\t * Defines the maximum number of Ops, since the last received Ack, that can be allowed\n\t * before running the summary with reason maxOps.\n\t */\n\tmaxOps: number;\n\t/**\n\t * Defines the minimum number of Ops, since the last received Ack, that can be allowed\n\t * before running the last summary.\n\t */\n\tminOpsForLastSummaryAttempt: number;\n\t/**\n\t * Defines the lower boundary for the allowed time in between summarizations.\n\t * Pairs with maxIdleTime to form a range.\n\t * For example, if we only receive 1 op, we don't want to have the same idle time as say 100 ops.\n\t * Based on the boundaries we set in minIdleTime and maxIdleTime, the idle time will change\n\t * linearly depending on the number of ops we receive.\n\t */\n\tminIdleTime: number;\n\t/**\n\t * Defines the upper boundary for the allowed time in between summarizations.\n\t * Pairs with minIdleTime to form a range.\n\t * For example, if we only receive 1 op, we don't want to have the same idle time as say 100 ops.\n\t * Based on the boundaries we set in minIdleTime and maxIdleTime, the idle time will change\n\t * linearly depending on the number of ops we receive.\n\t */\n\tmaxIdleTime: number;\n\t/**\n\t * Runtime op weight to use in heuristic summarizing.\n\t * This number is a multiplier on the number of runtime ops we process when running summarize heuristics.\n\t * For example: (multiplier) * (number of runtime ops) = weighted number of runtime ops\n\t */\n\truntimeOpWeight: number;\n\t/**\n\t * Non-runtime op weight to use in heuristic summarizing\n\t * This number is a multiplier on the number of non-runtime ops we process when running summarize heuristics.\n\t * For example: (multiplier) * (number of non-runtime ops) = weighted number of non-runtime ops\n\t */\n\tnonRuntimeOpWeight: number;\n\n\t/**\n\t * Number of ops since last summary needed before a non-runtime op can trigger running summary heuristics.\n\t *\n\t * Note: Any runtime ops sent before the threshold is reached will trigger heuristics normally.\n\t * This threshold ONLY applies to non-runtime ops triggering summaries.\n\t *\n\t * For example: Say the threshold is 20. Sending 19 non-runtime ops will not trigger any heuristic checks.\n\t * Sending the 20th non-runtime op will trigger the heuristic checks for summarizing.\n\t */\n\tnonRuntimeHeuristicThreshold?: number;\n}\n\n/**\n * @legacy @beta\n */\nexport interface ISummaryConfigurationDisableSummarizer {\n\tstate: \"disabled\";\n}\n\n/**\n * @legacy @beta\n */\nexport interface ISummaryConfigurationDisableHeuristics extends ISummaryBaseConfiguration {\n\tstate: \"disableHeuristics\";\n}\n\n/**\n * @legacy @beta\n */\nexport type ISummaryConfiguration =\n\t| ISummaryConfigurationDisableSummarizer\n\t| ISummaryConfigurationDisableHeuristics\n\t| ISummaryConfigurationHeuristics;\n"]}
@@ -3,10 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import type { SummarizerStopReason } from "@fluidframework/container-runtime-definitions/internal";
6
- import { ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
7
- import { IPromiseTimerResult } from "@fluidframework/core-utils/internal";
6
+ import type { ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
7
+ import type { IPromiseTimerResult } from "@fluidframework/core-utils/internal";
8
8
  import { LoggingError } from "@fluidframework/telemetry-utils/internal";
9
- import { ISummaryCancellationToken, type IRetriableFailureError } from "./summarizerTypes.js";
9
+ import type { ISummaryCancellationToken, IRetriableFailureError } from "./summarizerTypes.js";
10
10
  export type raceTimerResult<T> = {
11
11
  result: "done";
12
12
  value: T;
@@ -1 +1 @@
1
- {"version":3,"file":"summarizerUtils.d.ts","sourceRoot":"","sources":["../../src/summary/summarizerUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,EAAE,yBAAyB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9F,MAAM,MAAM,eAAe,CAAC,CAAC,IAC1B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3B;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAEnC,iBAAiB,CAAC,EAAE,yBAAyB,GAC3C,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAErF;AAED,MAAM,MAAM,eAAe;AAC1B;;;;;GAKG;AACD,MAAM;AACR;;;;GAIG;GACD,SAAS;AACX;;;;;;GAMG;GACD,QAAQ;AACV;;;;;;GAMG;GACD,aAAa;AACf;;GAEG;GACD,YAAY,MAAM,EAAE;AACtB;;GAEG;GACD,WAAW,MAAM,EAAE,CAAC;AAEvB,QAAA,MAAM,eAAe;IACpB;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;;CAIM,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,eAAe,CAAC;AAG9D,eAAO,MAAM,cAAc,cAAe,kBAAkB,KAAG,MACjB,CAAC;AAE/C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAa,YAAW,sBAAsB;aAGvE,iBAAiB,CAAC;gBADlC,OAAO,EAAE,MAAM,EACC,iBAAiB,CAAC,oBAAQ,EAC1C,KAAK,CAAC,EAAE,wBAAwB;CAIjC"}
1
+ {"version":3,"file":"summarizerUtils.d.ts","sourceRoot":"","sources":["../../src/summary/summarizerUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9F,MAAM,MAAM,eAAe,CAAC,CAAC,IAC1B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3B;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAEnC,iBAAiB,CAAC,EAAE,yBAAyB,GAC3C,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAErF;AAED,MAAM,MAAM,eAAe;AAC1B;;;;;GAKG;AACD,MAAM;AACR;;;;GAIG;GACD,SAAS;AACX;;;;;;GAMG;GACD,QAAQ;AACV;;;;;;GAMG;GACD,aAAa;AACf;;GAEG;GACD,YAAY,MAAM,EAAE;AACtB;;GAEG;GACD,WAAW,MAAM,EAAE,CAAC;AAEvB,QAAA,MAAM,eAAe;IACpB;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;;CAIM,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,eAAe,CAAC;AAG9D,eAAO,MAAM,cAAc,cAAe,kBAAkB,KAAG,MACjB,CAAC;AAE/C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAa,YAAW,sBAAsB;aAGvE,iBAAiB,CAAC;gBADlC,OAAO,EAAE,MAAM,EACC,iBAAiB,CAAC,oBAAQ,EAC1C,KAAK,CAAC,EAAE,wBAAwB;CAIjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"summarizerUtils.js","sourceRoot":"","sources":["../../src/summary/summarizerUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uEAAwE;AASxE;;GAEG;AACI,KAAK,UAAU,SAAS,CAC9B,OAAmB,EACnB,KAAmC,EAEnC,iBAA6C;IAE7C,MAAM,QAAQ,GAAkC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAU,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAU,CAAC;KAC9D,CAAC;IACF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CACZ,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAU,CAAC,CAC9E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAhBD,8BAgBC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,UAAgC;IAC3E,OAAO,UAAU,KAAK,oBAAoB,CAAC;AAC5C,CAAC;AAFD,kEAEC;AAyCD,MAAM,eAAe,GAAG;IACvB;;;;OAIG;IACH,oBAAoB,EAAE,0DAA0D;IAChF;;;OAGG;IACH,oBAAoB,EAAE,kDAAkD;IACxE;;;;OAIG;IACH,qBAAqB,EAAE,qDAAqD;IAC5E;;;OAGG;IACH,WAAW,EAAE,4CAA4C;IAEzD,UAAU,EAAE,+DAA+D;CAClE,CAAC;AAIX,kDAAkD;AAC3C,MAAM,cAAc,GAAG,CAAC,SAA6B,EAAU,EAAE,CACvE,GAAG,SAAS,KAAK,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;AADlC,QAAA,cAAc,kBACoB;AAE/C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,uBAAY;IACtD,YACC,OAAe,EACC,iBAA0B,EAC1C,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAHN,sBAAiB,GAAjB,iBAAiB,CAAS;IAI3C,CAAC;CACD;AARD,sDAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SummarizerStopReason } from \"@fluidframework/container-runtime-definitions/internal\";\nimport { ITelemetryBaseProperties } from \"@fluidframework/core-interfaces\";\nimport { IPromiseTimerResult } from \"@fluidframework/core-utils/internal\";\nimport { LoggingError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport { ISummaryCancellationToken, type IRetriableFailureError } from \"./summarizerTypes.js\";\n\nexport type raceTimerResult<T> =\n\t| { result: \"done\"; value: T }\n\t| { result: IPromiseTimerResult[\"timerResult\"] }\n\t| { result: \"cancelled\" };\n\n/**\n * Wait for a promise or PromiseTimer to elapse.\n */\nexport async function raceTimer<T>(\n\tpromise: Promise<T>,\n\ttimer: Promise<IPromiseTimerResult>,\n\n\tcancellationToken?: ISummaryCancellationToken,\n): Promise<raceTimerResult<T>> {\n\tconst promises: Promise<raceTimerResult<T>>[] = [\n\t\tpromise.then((value) => ({ result: \"done\", value }) as const),\n\t\ttimer.then(({ timerResult: result }) => ({ result }) as const),\n\t];\n\tif (cancellationToken !== undefined) {\n\t\tpromises.push(\n\t\t\tcancellationToken.waitCancelled.then(() => ({ result: \"cancelled\" }) as const),\n\t\t);\n\t}\n\treturn Promise.race(promises);\n}\n\n/**\n * Should we try to run a last summary for the given stop reason?\n * Currently only allows \"parentNotConnected\"\n * @param stopReason - SummarizerStopReason\n * @returns `true` if the stop reason can run a last summary, otherwise `false`.\n */\nexport function stopReasonCanRunLastSummary(stopReason: SummarizerStopReason): boolean {\n\treturn stopReason === \"parentNotConnected\";\n}\n\nexport type SummarizeReason =\n\t/**\n\t * Attempt to summarize after idle timeout has elapsed.\n\t * Idle timer restarts whenever an op is received. So this\n\t * triggers only after some amount of time has passed with\n\t * no ops being received.\n\t */\n\t| \"idle\"\n\t/**\n\t * Attempt to summarize after a maximum time since last\n\t * successful summary has passed. This measures time since\n\t * last summary ack op was processed.\n\t */\n\t| \"maxTime\"\n\t/**\n\t * Attempt to summarize after a maximum number of ops have\n\t * passed since the last successful summary. This compares\n\t * op sequence numbers with the reference sequence number\n\t * of the summarize op corresponding to the last summary\n\t * ack op.\n\t */\n\t| \"maxOps\"\n\t/**\n\t * Special case to attempt to summarize one last time before the\n\t * summarizer client closes itself. This is to prevent cases where\n\t * the summarizer client never gets a chance to summarize, because\n\t * there are too many outstanding ops and/or parent client cannot\n\t * stay connected long enough for summarizer client to catch up.\n\t */\n\t| \"lastSummary\"\n\t/**\n\t * On-demand summary requested with specified reason.\n\t */\n\t| `onDemand;${string}`\n\t/**\n\t * Enqueue summarize attempt with specified reason.\n\t */\n\t| `enqueue;${string}`;\n\nconst summarizeErrors = {\n\t/**\n\t * Error encountered while generating the summary tree, uploading\n\t * it to storage, or submitting the op. It could be a result of\n\t * the client becoming disconnected while generating or an actual error.\n\t */\n\tsubmitSummaryFailure: \"Error while generating, uploading, or submitting summary\",\n\t/**\n\t * The summaryAckWaitTimeout time has elapsed before receiving the summarize op\n\t * sent by this summarize attempt. It is expected to be broadcast quickly.\n\t */\n\tsummaryOpWaitTimeout: \"Timeout while waiting for summarize op broadcast\",\n\t/**\n\t * The summaryAckWaitTimeout time has elapsed before receiving either a\n\t * summaryAck or summaryNack op from the server in response to this\n\t * summarize attempt. It is expected that the server should respond.\n\t */\n\tsummaryAckWaitTimeout: \"Timeout while waiting for summaryAck/summaryNack op\",\n\t/**\n\t * The server responded with a summaryNack op, thus rejecting this\n\t * summarize attempt.\n\t */\n\tsummaryNack: \"Server rejected summary via summaryNack op\",\n\n\tdisconnect: \"Summary cancelled due to summarizer or main client disconnect\",\n} as const;\n\nexport type SummarizeErrorCode = keyof typeof summarizeErrors;\n\n// Helper functions to report failures and return.\nexport const getFailMessage = (errorCode: SummarizeErrorCode): string =>\n\t`${errorCode}: ${summarizeErrors[errorCode]}`;\n\n/**\n * Errors type for errors hit during summary that may be retriable.\n */\nexport class RetriableSummaryError extends LoggingError implements IRetriableFailureError {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic readonly retryAfterSeconds?: number,\n\t\tprops?: ITelemetryBaseProperties,\n\t) {\n\t\tsuper(message, props);\n\t}\n}\n"]}
1
+ {"version":3,"file":"summarizerUtils.js","sourceRoot":"","sources":["../../src/summary/summarizerUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uEAAwE;AASxE;;GAEG;AACI,KAAK,UAAU,SAAS,CAC9B,OAAmB,EACnB,KAAmC,EAEnC,iBAA6C;IAE7C,MAAM,QAAQ,GAAkC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAU,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAU,CAAC;KAC9D,CAAC;IACF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CACZ,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAU,CAAC,CAC9E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAhBD,8BAgBC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,UAAgC;IAC3E,OAAO,UAAU,KAAK,oBAAoB,CAAC;AAC5C,CAAC;AAFD,kEAEC;AAyCD,MAAM,eAAe,GAAG;IACvB;;;;OAIG;IACH,oBAAoB,EAAE,0DAA0D;IAChF;;;OAGG;IACH,oBAAoB,EAAE,kDAAkD;IACxE;;;;OAIG;IACH,qBAAqB,EAAE,qDAAqD;IAC5E;;;OAGG;IACH,WAAW,EAAE,4CAA4C;IAEzD,UAAU,EAAE,+DAA+D;CAClE,CAAC;AAIX,kDAAkD;AAC3C,MAAM,cAAc,GAAG,CAAC,SAA6B,EAAU,EAAE,CACvE,GAAG,SAAS,KAAK,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;AADlC,QAAA,cAAc,kBACoB;AAE/C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,uBAAY;IACtD,YACC,OAAe,EACC,iBAA0B,EAC1C,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAHN,sBAAiB,GAAjB,iBAAiB,CAAS;IAI3C,CAAC;CACD;AARD,sDAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SummarizerStopReason } from \"@fluidframework/container-runtime-definitions/internal\";\nimport type { ITelemetryBaseProperties } from \"@fluidframework/core-interfaces\";\nimport type { IPromiseTimerResult } from \"@fluidframework/core-utils/internal\";\nimport { LoggingError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport type { ISummaryCancellationToken, IRetriableFailureError } from \"./summarizerTypes.js\";\n\nexport type raceTimerResult<T> =\n\t| { result: \"done\"; value: T }\n\t| { result: IPromiseTimerResult[\"timerResult\"] }\n\t| { result: \"cancelled\" };\n\n/**\n * Wait for a promise or PromiseTimer to elapse.\n */\nexport async function raceTimer<T>(\n\tpromise: Promise<T>,\n\ttimer: Promise<IPromiseTimerResult>,\n\n\tcancellationToken?: ISummaryCancellationToken,\n): Promise<raceTimerResult<T>> {\n\tconst promises: Promise<raceTimerResult<T>>[] = [\n\t\tpromise.then((value) => ({ result: \"done\", value }) as const),\n\t\ttimer.then(({ timerResult: result }) => ({ result }) as const),\n\t];\n\tif (cancellationToken !== undefined) {\n\t\tpromises.push(\n\t\t\tcancellationToken.waitCancelled.then(() => ({ result: \"cancelled\" }) as const),\n\t\t);\n\t}\n\treturn Promise.race(promises);\n}\n\n/**\n * Should we try to run a last summary for the given stop reason?\n * Currently only allows \"parentNotConnected\"\n * @param stopReason - SummarizerStopReason\n * @returns `true` if the stop reason can run a last summary, otherwise `false`.\n */\nexport function stopReasonCanRunLastSummary(stopReason: SummarizerStopReason): boolean {\n\treturn stopReason === \"parentNotConnected\";\n}\n\nexport type SummarizeReason =\n\t/**\n\t * Attempt to summarize after idle timeout has elapsed.\n\t * Idle timer restarts whenever an op is received. So this\n\t * triggers only after some amount of time has passed with\n\t * no ops being received.\n\t */\n\t| \"idle\"\n\t/**\n\t * Attempt to summarize after a maximum time since last\n\t * successful summary has passed. This measures time since\n\t * last summary ack op was processed.\n\t */\n\t| \"maxTime\"\n\t/**\n\t * Attempt to summarize after a maximum number of ops have\n\t * passed since the last successful summary. This compares\n\t * op sequence numbers with the reference sequence number\n\t * of the summarize op corresponding to the last summary\n\t * ack op.\n\t */\n\t| \"maxOps\"\n\t/**\n\t * Special case to attempt to summarize one last time before the\n\t * summarizer client closes itself. This is to prevent cases where\n\t * the summarizer client never gets a chance to summarize, because\n\t * there are too many outstanding ops and/or parent client cannot\n\t * stay connected long enough for summarizer client to catch up.\n\t */\n\t| \"lastSummary\"\n\t/**\n\t * On-demand summary requested with specified reason.\n\t */\n\t| `onDemand;${string}`\n\t/**\n\t * Enqueue summarize attempt with specified reason.\n\t */\n\t| `enqueue;${string}`;\n\nconst summarizeErrors = {\n\t/**\n\t * Error encountered while generating the summary tree, uploading\n\t * it to storage, or submitting the op. It could be a result of\n\t * the client becoming disconnected while generating or an actual error.\n\t */\n\tsubmitSummaryFailure: \"Error while generating, uploading, or submitting summary\",\n\t/**\n\t * The summaryAckWaitTimeout time has elapsed before receiving the summarize op\n\t * sent by this summarize attempt. It is expected to be broadcast quickly.\n\t */\n\tsummaryOpWaitTimeout: \"Timeout while waiting for summarize op broadcast\",\n\t/**\n\t * The summaryAckWaitTimeout time has elapsed before receiving either a\n\t * summaryAck or summaryNack op from the server in response to this\n\t * summarize attempt. It is expected that the server should respond.\n\t */\n\tsummaryAckWaitTimeout: \"Timeout while waiting for summaryAck/summaryNack op\",\n\t/**\n\t * The server responded with a summaryNack op, thus rejecting this\n\t * summarize attempt.\n\t */\n\tsummaryNack: \"Server rejected summary via summaryNack op\",\n\n\tdisconnect: \"Summary cancelled due to summarizer or main client disconnect\",\n} as const;\n\nexport type SummarizeErrorCode = keyof typeof summarizeErrors;\n\n// Helper functions to report failures and return.\nexport const getFailMessage = (errorCode: SummarizeErrorCode): string =>\n\t`${errorCode}: ${summarizeErrors[errorCode]}`;\n\n/**\n * Errors type for errors hit during summary that may be retriable.\n */\nexport class RetriableSummaryError extends LoggingError implements IRetriableFailureError {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic readonly retryAfterSeconds?: number,\n\t\tprops?: ITelemetryBaseProperties,\n\t) {\n\t\tsuper(message, props);\n\t}\n}\n"]}
@@ -3,13 +3,12 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
- import { IDeltaManager } from "@fluidframework/container-definitions/internal";
7
- import { IDisposable, IEvent, type ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
- import { IDocumentMessage, ISummaryAck, ISummaryContent, ISummaryNack, MessageType, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
6
+ import type { IDeltaManager } from "@fluidframework/container-definitions/internal";
7
+ import type { IDisposable, IEvent, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
+ import { type IDocumentMessage, type ISummaryAck, type ISummaryContent, type ISummaryNack, MessageType, type ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
9
9
  /**
10
10
  * Interface for summary op messages with typed contents.
11
- * @legacy
12
- * @alpha
11
+ * @legacy @beta
13
12
  */
14
13
  export interface ISummaryOpMessage extends ISequencedDocumentMessage {
15
14
  type: MessageType.Summarize;
@@ -17,8 +16,7 @@ export interface ISummaryOpMessage extends ISequencedDocumentMessage {
17
16
  }
18
17
  /**
19
18
  * Interface for summary ack messages with typed contents.
20
- * @legacy
21
- * @alpha
19
+ * @legacy @beta
22
20
  */
23
21
  export interface ISummaryAckMessage extends ISequencedDocumentMessage {
24
22
  type: MessageType.SummaryAck;
@@ -26,8 +24,7 @@ export interface ISummaryAckMessage extends ISequencedDocumentMessage {
26
24
  }
27
25
  /**
28
26
  * Interface for summary nack messages with typed contents.
29
- * @legacy
30
- * @alpha
27
+ * @legacy @beta
31
28
  */
32
29
  export interface ISummaryNackMessage extends ISequencedDocumentMessage {
33
30
  type: MessageType.SummaryNack;
@@ -36,8 +33,7 @@ export interface ISummaryNackMessage extends ISequencedDocumentMessage {
36
33
  /**
37
34
  * A single summary which can be tracked as it goes through its life cycle.
38
35
  * The life cycle is: Local to Broadcast to Acked/Nacked.
39
- * @legacy
40
- * @alpha
36
+ * @legacy @beta
41
37
  */
42
38
  export interface ISummary {
43
39
  readonly clientId: string;
@@ -47,8 +43,7 @@ export interface ISummary {
47
43
  }
48
44
  /**
49
45
  * A single summary which has already been acked by the server.
50
- * @legacy
51
- * @alpha
46
+ * @legacy @beta
52
47
  */
53
48
  export interface IAckedSummary {
54
49
  readonly summaryOp: ISummaryOpMessage;
@@ -56,26 +51,22 @@ export interface IAckedSummary {
56
51
  }
57
52
  /**
58
53
  * Watches summaries created by a specific client.
59
- * @legacy
60
- * @alpha
54
+ * @legacy @beta
61
55
  */
62
56
  export interface IClientSummaryWatcher extends IDisposable {
63
57
  watchSummary(clientSequenceNumber: number): ISummary;
64
58
  waitFlushed(): Promise<IAckedSummary | undefined>;
65
59
  }
66
60
  /**
67
- * @legacy
68
- * @alpha
61
+ * @legacy @beta
69
62
  */
70
63
  export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
71
64
  /**
72
- * @legacy
73
- * @alpha
65
+ * @legacy @beta
74
66
  */
75
67
  export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
76
68
  /**
77
- * @legacy
78
- * @alpha
69
+ * @legacy @beta
79
70
  */
80
71
  export interface ISummaryCollectionOpEvents extends IEvent {
81
72
  (event: OpActionEventName, listener: OpActionEventListener): any;
@@ -84,8 +75,7 @@ export interface ISummaryCollectionOpEvents extends IEvent {
84
75
  * Data structure that looks at the op stream to track summaries as they
85
76
  * are broadcast, acked and nacked.
86
77
  * It provides functionality for watching specific summaries.
87
- * @legacy
88
- * @alpha
78
+ * @legacy @beta
89
79
  */
90
80
  export declare class SummaryCollection extends TypedEventEmitter<ISummaryCollectionOpEvents> {
91
81
  private readonly deltaManager;
@@ -1 +1 @@
1
- {"version":3,"file":"summaryCollection.d.ts","sourceRoot":"","sources":["../../src/summary/summaryCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summaryCollection.d.ts","sourceRoot":"","sources":["../../src/summary/summaryCollection.ts"],"names":[],"mappings":"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"}
@@ -124,8 +124,7 @@ class ClientSummaryWatcher {
124
124
  * Data structure that looks at the op stream to track summaries as they
125
125
  * are broadcast, acked and nacked.
126
126
  * It provides functionality for watching specific summaries.
127
- * @legacy
128
- * @alpha
127
+ * @legacy @beta
129
128
  */
130
129
  class SummaryCollection extends client_utils_1.TypedEventEmitter {
131
130
  get latestAck() {