@fluidframework/container-runtime 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.224419

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 (703) hide show
  1. package/.eslintrc.js +19 -29
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +427 -0
  4. package/README.md +69 -0
  5. package/api-extractor-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/container-runtime.api.md +863 -0
  8. package/dist/{batchTracker.js → batchTracker.cjs} +9 -8
  9. package/dist/batchTracker.cjs.map +1 -0
  10. package/dist/batchTracker.d.ts +6 -5
  11. package/dist/batchTracker.d.ts.map +1 -1
  12. package/dist/blobManager.cjs +704 -0
  13. package/dist/blobManager.cjs.map +1 -0
  14. package/dist/blobManager.d.ts +135 -39
  15. package/dist/blobManager.d.ts.map +1 -1
  16. package/dist/connectionTelemetry.cjs +230 -0
  17. package/dist/connectionTelemetry.cjs.map +1 -0
  18. package/dist/connectionTelemetry.d.ts +2 -2
  19. package/dist/connectionTelemetry.d.ts.map +1 -1
  20. package/dist/container-runtime-alpha.d.ts +1677 -0
  21. package/dist/container-runtime-beta.d.ts +250 -0
  22. package/dist/container-runtime-public.d.ts +250 -0
  23. package/dist/container-runtime-untrimmed.d.ts +1792 -0
  24. package/dist/{containerHandleContext.js → containerHandleContext.cjs} +4 -2
  25. package/dist/containerHandleContext.cjs.map +1 -0
  26. package/dist/containerHandleContext.d.ts.map +1 -1
  27. package/dist/containerRuntime.cjs +2531 -0
  28. package/dist/containerRuntime.cjs.map +1 -0
  29. package/dist/containerRuntime.d.ts +454 -256
  30. package/dist/containerRuntime.d.ts.map +1 -1
  31. package/dist/{dataStore.js → dataStore.cjs} +54 -45
  32. package/dist/dataStore.cjs.map +1 -0
  33. package/dist/dataStore.d.ts +2 -2
  34. package/dist/dataStore.d.ts.map +1 -1
  35. package/dist/{dataStoreContext.js → dataStoreContext.cjs} +343 -247
  36. package/dist/dataStoreContext.cjs.map +1 -0
  37. package/dist/dataStoreContext.d.ts +73 -41
  38. package/dist/dataStoreContext.d.ts.map +1 -1
  39. package/dist/{dataStoreContexts.js → dataStoreContexts.cjs} +19 -15
  40. package/dist/dataStoreContexts.cjs.map +1 -0
  41. package/dist/dataStoreContexts.d.ts +1 -1
  42. package/dist/dataStoreContexts.d.ts.map +1 -1
  43. package/dist/{dataStoreRegistry.js → dataStoreRegistry.cjs} +9 -4
  44. package/dist/dataStoreRegistry.cjs.map +1 -0
  45. package/dist/dataStoreRegistry.d.ts +3 -0
  46. package/dist/dataStoreRegistry.d.ts.map +1 -1
  47. package/dist/{dataStores.js → dataStores.cjs} +273 -124
  48. package/dist/dataStores.cjs.map +1 -0
  49. package/dist/dataStores.d.ts +53 -23
  50. package/dist/dataStores.d.ts.map +1 -1
  51. package/dist/deltaManagerProxyBase.cjs +77 -0
  52. package/dist/deltaManagerProxyBase.cjs.map +1 -0
  53. package/dist/deltaManagerProxyBase.d.ts +35 -0
  54. package/dist/deltaManagerProxyBase.d.ts.map +1 -0
  55. package/dist/deltaManagerSummarizerProxy.cjs +42 -0
  56. package/dist/deltaManagerSummarizerProxy.cjs.map +1 -0
  57. package/dist/deltaManagerSummarizerProxy.d.ts +19 -0
  58. package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -0
  59. package/dist/{deltaScheduler.js → deltaScheduler.cjs} +25 -18
  60. package/dist/deltaScheduler.cjs.map +1 -0
  61. package/dist/deltaScheduler.d.ts +8 -6
  62. package/dist/deltaScheduler.d.ts.map +1 -1
  63. package/dist/error.cjs +21 -0
  64. package/dist/error.cjs.map +1 -0
  65. package/dist/error.d.ts +14 -0
  66. package/dist/error.d.ts.map +1 -0
  67. package/dist/gc/garbageCollection.cjs +861 -0
  68. package/dist/gc/garbageCollection.cjs.map +1 -0
  69. package/dist/gc/garbageCollection.d.ts +224 -0
  70. package/dist/gc/garbageCollection.d.ts.map +1 -0
  71. package/dist/gc/gcConfigs.cjs +153 -0
  72. package/dist/gc/gcConfigs.cjs.map +1 -0
  73. package/dist/gc/gcConfigs.d.ts +23 -0
  74. package/dist/gc/gcConfigs.d.ts.map +1 -0
  75. package/dist/gc/gcDefinitions.cjs +96 -0
  76. package/dist/gc/gcDefinitions.cjs.map +1 -0
  77. package/dist/gc/gcDefinitions.d.ts +437 -0
  78. package/dist/gc/gcDefinitions.d.ts.map +1 -0
  79. package/dist/gc/gcHelpers.cjs +235 -0
  80. package/dist/gc/gcHelpers.cjs.map +1 -0
  81. package/dist/gc/gcHelpers.d.ts +71 -0
  82. package/dist/gc/gcHelpers.d.ts.map +1 -0
  83. package/dist/gc/gcReferenceGraphAlgorithm.cjs +49 -0
  84. package/dist/gc/gcReferenceGraphAlgorithm.cjs.map +1 -0
  85. package/dist/gc/gcReferenceGraphAlgorithm.d.ts +16 -0
  86. package/dist/gc/gcReferenceGraphAlgorithm.d.ts.map +1 -0
  87. package/dist/{summarizerTypes.js → gc/gcSummaryDefinitions.cjs} +1 -6
  88. package/dist/gc/gcSummaryDefinitions.cjs.map +1 -0
  89. package/dist/gc/gcSummaryDefinitions.d.ts +52 -0
  90. package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -0
  91. package/dist/gc/gcSummaryStateTracker.cjs +213 -0
  92. package/dist/gc/gcSummaryStateTracker.cjs.map +1 -0
  93. package/dist/gc/gcSummaryStateTracker.d.ts +94 -0
  94. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -0
  95. package/dist/gc/gcTelemetry.cjs +298 -0
  96. package/dist/gc/gcTelemetry.cjs.map +1 -0
  97. package/dist/gc/gcTelemetry.d.ts +92 -0
  98. package/dist/gc/gcTelemetry.d.ts.map +1 -0
  99. package/dist/gc/gcUnreferencedStateTracker.cjs +118 -0
  100. package/dist/gc/gcUnreferencedStateTracker.cjs.map +1 -0
  101. package/dist/gc/gcUnreferencedStateTracker.d.ts +40 -0
  102. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -0
  103. package/dist/gc/index.cjs +44 -0
  104. package/dist/gc/index.cjs.map +1 -0
  105. package/dist/gc/index.d.ts +13 -0
  106. package/dist/gc/index.d.ts.map +1 -0
  107. package/dist/index.cjs +47 -0
  108. package/dist/index.cjs.map +1 -0
  109. package/dist/index.d.ts +19 -8
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/messageTypes.cjs +37 -0
  112. package/dist/messageTypes.cjs.map +1 -0
  113. package/dist/messageTypes.d.ts +142 -0
  114. package/dist/messageTypes.d.ts.map +1 -0
  115. package/dist/metadata.cjs +7 -0
  116. package/dist/metadata.cjs.map +1 -0
  117. package/dist/metadata.d.ts +24 -0
  118. package/dist/metadata.d.ts.map +1 -0
  119. package/dist/opLifecycle/batchManager.cjs +139 -0
  120. package/dist/opLifecycle/batchManager.cjs.map +1 -0
  121. package/dist/opLifecycle/batchManager.d.ts +48 -0
  122. package/dist/opLifecycle/batchManager.d.ts.map +1 -0
  123. package/dist/opLifecycle/definitions.cjs +7 -0
  124. package/dist/opLifecycle/definitions.cjs.map +1 -0
  125. package/dist/opLifecycle/definitions.d.ts +83 -0
  126. package/dist/opLifecycle/definitions.d.ts.map +1 -0
  127. package/dist/opLifecycle/index.cjs +26 -0
  128. package/dist/opLifecycle/index.cjs.map +1 -0
  129. package/dist/opLifecycle/index.d.ts +13 -0
  130. package/dist/opLifecycle/index.d.ts.map +1 -0
  131. package/dist/opLifecycle/opCompressor.cjs +84 -0
  132. package/dist/opLifecycle/opCompressor.cjs.map +1 -0
  133. package/dist/opLifecycle/opCompressor.d.ts +18 -0
  134. package/dist/opLifecycle/opCompressor.d.ts.map +1 -0
  135. package/dist/opLifecycle/opDecompressor.cjs +132 -0
  136. package/dist/opLifecycle/opDecompressor.cjs.map +1 -0
  137. package/dist/opLifecycle/opDecompressor.d.ts +25 -0
  138. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -0
  139. package/dist/opLifecycle/opGroupingManager.cjs +95 -0
  140. package/dist/opLifecycle/opGroupingManager.cjs.map +1 -0
  141. package/dist/opLifecycle/opGroupingManager.d.ts +22 -0
  142. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -0
  143. package/dist/opLifecycle/opSplitter.cjs +202 -0
  144. package/dist/opLifecycle/opSplitter.cjs.map +1 -0
  145. package/dist/opLifecycle/opSplitter.d.ts +61 -0
  146. package/dist/opLifecycle/opSplitter.d.ts.map +1 -0
  147. package/dist/opLifecycle/outbox.cjs +323 -0
  148. package/dist/opLifecycle/outbox.cjs.map +1 -0
  149. package/dist/opLifecycle/outbox.d.ts +104 -0
  150. package/dist/opLifecycle/outbox.d.ts.map +1 -0
  151. package/dist/opLifecycle/remoteMessageProcessor.cjs +136 -0
  152. package/dist/opLifecycle/remoteMessageProcessor.cjs.map +1 -0
  153. package/dist/opLifecycle/remoteMessageProcessor.d.ts +47 -0
  154. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -0
  155. package/dist/opProperties.cjs +17 -0
  156. package/dist/opProperties.cjs.map +1 -0
  157. package/dist/opProperties.d.ts +7 -0
  158. package/dist/opProperties.d.ts.map +1 -0
  159. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  160. package/dist/packageVersion.cjs.map +1 -0
  161. package/dist/packageVersion.d.ts +1 -1
  162. package/dist/packageVersion.d.ts.map +1 -1
  163. package/dist/pendingStateManager.cjs +282 -0
  164. package/dist/pendingStateManager.cjs.map +1 -0
  165. package/dist/pendingStateManager.d.ts +32 -69
  166. package/dist/pendingStateManager.d.ts.map +1 -1
  167. package/dist/scheduleManager.cjs +258 -0
  168. package/dist/scheduleManager.cjs.map +1 -0
  169. package/dist/scheduleManager.d.ts +31 -0
  170. package/dist/scheduleManager.d.ts.map +1 -0
  171. package/dist/storageServiceWithAttachBlobs.cjs +32 -0
  172. package/dist/storageServiceWithAttachBlobs.cjs.map +1 -0
  173. package/dist/storageServiceWithAttachBlobs.d.ts +17 -0
  174. package/dist/storageServiceWithAttachBlobs.d.ts.map +1 -0
  175. package/dist/summary/index.cjs +51 -0
  176. package/dist/summary/index.cjs.map +1 -0
  177. package/dist/summary/index.d.ts +17 -0
  178. package/dist/summary/index.d.ts.map +1 -0
  179. package/dist/{orderedClientElection.js → summary/orderedClientElection.cjs} +100 -84
  180. package/dist/summary/orderedClientElection.cjs.map +1 -0
  181. package/{lib → dist/summary}/orderedClientElection.d.ts +41 -18
  182. package/dist/summary/orderedClientElection.d.ts.map +1 -0
  183. package/dist/{runWhileConnectedCoordinator.js → summary/runWhileConnectedCoordinator.cjs} +12 -10
  184. package/dist/summary/runWhileConnectedCoordinator.cjs.map +1 -0
  185. package/{lib → dist/summary}/runWhileConnectedCoordinator.d.ts +8 -2
  186. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -0
  187. package/dist/summary/runningSummarizer.cjs +679 -0
  188. package/dist/summary/runningSummarizer.cjs.map +1 -0
  189. package/dist/summary/runningSummarizer.d.ts +128 -0
  190. package/dist/summary/runningSummarizer.d.ts.map +1 -0
  191. package/dist/summary/summarizer.cjs +263 -0
  192. package/dist/summary/summarizer.cjs.map +1 -0
  193. package/dist/{summarizer.d.ts → summary/summarizer.d.ts} +18 -33
  194. package/dist/summary/summarizer.d.ts.map +1 -0
  195. package/dist/{summarizerClientElection.js → summary/summarizerClientElection.cjs} +15 -46
  196. package/dist/summary/summarizerClientElection.cjs.map +1 -0
  197. package/{lib → dist/summary}/summarizerClientElection.d.ts +4 -4
  198. package/dist/summary/summarizerClientElection.d.ts.map +1 -0
  199. package/dist/summary/summarizerHeuristics.cjs +156 -0
  200. package/dist/summary/summarizerHeuristics.cjs.map +1 -0
  201. package/{lib → dist/summary}/summarizerHeuristics.d.ts +28 -6
  202. package/dist/summary/summarizerHeuristics.d.ts.map +1 -0
  203. package/dist/summary/summarizerNode/index.cjs +12 -0
  204. package/dist/summary/summarizerNode/index.cjs.map +1 -0
  205. package/dist/summary/summarizerNode/index.d.ts +8 -0
  206. package/dist/summary/summarizerNode/index.d.ts.map +1 -0
  207. package/dist/summary/summarizerNode/summarizerNode.cjs +526 -0
  208. package/dist/summary/summarizerNode/summarizerNode.cjs.map +1 -0
  209. package/dist/summary/summarizerNode/summarizerNode.d.ts +167 -0
  210. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -0
  211. package/dist/summary/summarizerNode/summarizerNodeUtils.cjs +130 -0
  212. package/dist/summary/summarizerNode/summarizerNodeUtils.cjs.map +1 -0
  213. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +121 -0
  214. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -0
  215. package/dist/summary/summarizerNode/summarizerNodeWithGc.cjs +375 -0
  216. package/dist/summary/summarizerNode/summarizerNodeWithGc.cjs.map +1 -0
  217. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +153 -0
  218. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -0
  219. package/dist/summary/summarizerTypes.cjs +7 -0
  220. package/dist/summary/summarizerTypes.cjs.map +1 -0
  221. package/{lib → dist/summary}/summarizerTypes.d.ts +233 -83
  222. package/dist/summary/summarizerTypes.d.ts.map +1 -0
  223. package/dist/{summaryCollection.js → summary/summaryCollection.cjs} +80 -49
  224. package/dist/summary/summaryCollection.cjs.map +1 -0
  225. package/dist/{summaryCollection.d.ts → summary/summaryCollection.d.ts} +23 -5
  226. package/dist/summary/summaryCollection.d.ts.map +1 -0
  227. package/dist/{summaryFormat.js → summary/summaryFormat.cjs} +29 -26
  228. package/dist/summary/summaryFormat.cjs.map +1 -0
  229. package/{lib → dist/summary}/summaryFormat.d.ts +25 -30
  230. package/dist/summary/summaryFormat.d.ts.map +1 -0
  231. package/dist/{summaryGenerator.js → summary/summaryGenerator.cjs} +162 -74
  232. package/dist/summary/summaryGenerator.cjs.map +1 -0
  233. package/dist/{summaryGenerator.d.ts → summary/summaryGenerator.d.ts} +53 -11
  234. package/dist/summary/summaryGenerator.d.ts.map +1 -0
  235. package/dist/{summaryManager.js → summary/summaryManager.cjs} +98 -55
  236. package/dist/summary/summaryManager.cjs.map +1 -0
  237. package/{lib → dist/summary}/summaryManager.d.ts +13 -11
  238. package/dist/summary/summaryManager.d.ts.map +1 -0
  239. package/dist/{throttler.js → throttler.cjs} +21 -21
  240. package/dist/throttler.cjs.map +1 -0
  241. package/dist/throttler.d.ts +2 -2
  242. package/dist/throttler.d.ts.map +1 -1
  243. package/dist/tsdoc-metadata.json +11 -0
  244. package/lib/{batchTracker.d.ts → batchTracker.d.mts} +6 -5
  245. package/lib/batchTracker.d.mts.map +1 -0
  246. package/lib/{batchTracker.js → batchTracker.mjs} +9 -8
  247. package/lib/batchTracker.mjs.map +1 -0
  248. package/lib/blobManager.d.mts +191 -0
  249. package/lib/blobManager.d.mts.map +1 -0
  250. package/lib/blobManager.mjs +699 -0
  251. package/lib/blobManager.mjs.map +1 -0
  252. package/lib/{connectionTelemetry.d.ts → connectionTelemetry.d.mts} +2 -2
  253. package/lib/connectionTelemetry.d.mts.map +1 -0
  254. package/lib/connectionTelemetry.mjs +226 -0
  255. package/lib/connectionTelemetry.mjs.map +1 -0
  256. package/lib/container-runtime-alpha.d.mts +1677 -0
  257. package/lib/container-runtime-beta.d.mts +250 -0
  258. package/lib/container-runtime-public.d.mts +250 -0
  259. package/lib/container-runtime-untrimmed.d.mts +1792 -0
  260. package/lib/{containerHandleContext.d.ts → containerHandleContext.d.mts} +1 -1
  261. package/lib/containerHandleContext.d.mts.map +1 -0
  262. package/lib/{containerHandleContext.js → containerHandleContext.mjs} +4 -2
  263. package/lib/containerHandleContext.mjs.map +1 -0
  264. package/lib/containerRuntime.d.mts +809 -0
  265. package/lib/containerRuntime.d.mts.map +1 -0
  266. package/lib/containerRuntime.mjs +2526 -0
  267. package/lib/containerRuntime.mjs.map +1 -0
  268. package/lib/{dataStore.d.ts → dataStore.d.mts} +4 -4
  269. package/lib/dataStore.d.mts.map +1 -0
  270. package/lib/{dataStore.js → dataStore.mjs} +52 -43
  271. package/lib/dataStore.mjs.map +1 -0
  272. package/lib/{dataStoreContext.d.ts → dataStoreContext.d.mts} +74 -42
  273. package/lib/dataStoreContext.d.mts.map +1 -0
  274. package/lib/{dataStoreContext.js → dataStoreContext.mjs} +309 -213
  275. package/lib/dataStoreContext.mjs.map +1 -0
  276. package/lib/{dataStoreContexts.d.ts → dataStoreContexts.d.mts} +2 -2
  277. package/lib/dataStoreContexts.d.mts.map +1 -0
  278. package/lib/{dataStoreContexts.js → dataStoreContexts.mjs} +12 -8
  279. package/lib/dataStoreContexts.mjs.map +1 -0
  280. package/lib/{dataStoreRegistry.d.ts → dataStoreRegistry.d.mts} +3 -0
  281. package/lib/dataStoreRegistry.d.mts.map +1 -0
  282. package/lib/{dataStoreRegistry.js → dataStoreRegistry.mjs} +7 -6
  283. package/lib/dataStoreRegistry.mjs.map +1 -0
  284. package/lib/{dataStores.d.ts → dataStores.d.mts} +56 -26
  285. package/lib/dataStores.d.mts.map +1 -0
  286. package/lib/{dataStores.js → dataStores.mjs} +254 -105
  287. package/lib/dataStores.mjs.map +1 -0
  288. package/lib/deltaManagerProxyBase.d.mts +35 -0
  289. package/lib/deltaManagerProxyBase.d.mts.map +1 -0
  290. package/lib/deltaManagerProxyBase.mjs +73 -0
  291. package/lib/deltaManagerProxyBase.mjs.map +1 -0
  292. package/lib/deltaManagerSummarizerProxy.d.mts +19 -0
  293. package/lib/deltaManagerSummarizerProxy.d.mts.map +1 -0
  294. package/lib/deltaManagerSummarizerProxy.mjs +38 -0
  295. package/lib/deltaManagerSummarizerProxy.mjs.map +1 -0
  296. package/lib/{deltaScheduler.d.ts → deltaScheduler.d.mts} +8 -6
  297. package/lib/deltaScheduler.d.mts.map +1 -0
  298. package/lib/{deltaScheduler.js → deltaScheduler.mjs} +22 -15
  299. package/lib/deltaScheduler.mjs.map +1 -0
  300. package/lib/error.d.mts +14 -0
  301. package/lib/error.d.mts.map +1 -0
  302. package/lib/error.mjs +17 -0
  303. package/lib/error.mjs.map +1 -0
  304. package/lib/gc/garbageCollection.d.mts +224 -0
  305. package/lib/gc/garbageCollection.d.mts.map +1 -0
  306. package/lib/gc/garbageCollection.mjs +857 -0
  307. package/lib/gc/garbageCollection.mjs.map +1 -0
  308. package/lib/gc/gcConfigs.d.mts +23 -0
  309. package/lib/gc/gcConfigs.d.mts.map +1 -0
  310. package/lib/gc/gcConfigs.mjs +149 -0
  311. package/lib/gc/gcConfigs.mjs.map +1 -0
  312. package/lib/gc/gcDefinitions.d.mts +437 -0
  313. package/lib/gc/gcDefinitions.d.mts.map +1 -0
  314. package/lib/gc/gcDefinitions.mjs +93 -0
  315. package/lib/gc/gcDefinitions.mjs.map +1 -0
  316. package/lib/gc/gcHelpers.d.mts +71 -0
  317. package/lib/gc/gcHelpers.d.mts.map +1 -0
  318. package/lib/gc/gcHelpers.mjs +222 -0
  319. package/lib/gc/gcHelpers.mjs.map +1 -0
  320. package/lib/gc/gcReferenceGraphAlgorithm.d.mts +16 -0
  321. package/lib/gc/gcReferenceGraphAlgorithm.d.mts.map +1 -0
  322. package/lib/gc/gcReferenceGraphAlgorithm.mjs +45 -0
  323. package/lib/gc/gcReferenceGraphAlgorithm.mjs.map +1 -0
  324. package/lib/gc/gcSummaryDefinitions.d.mts +52 -0
  325. package/lib/gc/gcSummaryDefinitions.d.mts.map +1 -0
  326. package/lib/gc/gcSummaryDefinitions.mjs +6 -0
  327. package/lib/gc/gcSummaryDefinitions.mjs.map +1 -0
  328. package/lib/gc/gcSummaryStateTracker.d.mts +94 -0
  329. package/lib/gc/gcSummaryStateTracker.d.mts.map +1 -0
  330. package/lib/gc/gcSummaryStateTracker.mjs +209 -0
  331. package/lib/gc/gcSummaryStateTracker.mjs.map +1 -0
  332. package/lib/gc/gcTelemetry.d.mts +92 -0
  333. package/lib/gc/gcTelemetry.d.mts.map +1 -0
  334. package/lib/gc/gcTelemetry.mjs +293 -0
  335. package/lib/gc/gcTelemetry.mjs.map +1 -0
  336. package/lib/gc/gcUnreferencedStateTracker.d.mts +40 -0
  337. package/lib/gc/gcUnreferencedStateTracker.d.mts.map +1 -0
  338. package/lib/gc/gcUnreferencedStateTracker.mjs +114 -0
  339. package/lib/gc/gcUnreferencedStateTracker.mjs.map +1 -0
  340. package/lib/gc/index.d.mts +13 -0
  341. package/lib/gc/index.d.mts.map +1 -0
  342. package/lib/gc/index.mjs +12 -0
  343. package/lib/gc/index.mjs.map +1 -0
  344. package/lib/index.d.mts +25 -0
  345. package/lib/index.d.mts.map +1 -0
  346. package/lib/index.mjs +24 -0
  347. package/lib/index.mjs.map +1 -0
  348. package/lib/messageTypes.d.mts +142 -0
  349. package/lib/messageTypes.d.mts.map +1 -0
  350. package/lib/messageTypes.mjs +34 -0
  351. package/lib/messageTypes.mjs.map +1 -0
  352. package/lib/metadata.d.mts +24 -0
  353. package/lib/metadata.d.mts.map +1 -0
  354. package/lib/metadata.mjs +6 -0
  355. package/lib/metadata.mjs.map +1 -0
  356. package/lib/opLifecycle/batchManager.d.mts +48 -0
  357. package/lib/opLifecycle/batchManager.d.mts.map +1 -0
  358. package/lib/opLifecycle/batchManager.mjs +133 -0
  359. package/lib/opLifecycle/batchManager.mjs.map +1 -0
  360. package/lib/opLifecycle/definitions.d.mts +83 -0
  361. package/lib/opLifecycle/definitions.d.mts.map +1 -0
  362. package/lib/opLifecycle/definitions.mjs +6 -0
  363. package/lib/opLifecycle/definitions.mjs.map +1 -0
  364. package/lib/opLifecycle/index.d.mts +13 -0
  365. package/lib/opLifecycle/index.d.mts.map +1 -0
  366. package/lib/opLifecycle/index.mjs +12 -0
  367. package/lib/opLifecycle/index.mjs.map +1 -0
  368. package/lib/opLifecycle/opCompressor.d.mts +18 -0
  369. package/lib/opLifecycle/opCompressor.d.mts.map +1 -0
  370. package/lib/opLifecycle/opCompressor.mjs +80 -0
  371. package/lib/opLifecycle/opCompressor.mjs.map +1 -0
  372. package/lib/opLifecycle/opDecompressor.d.mts +25 -0
  373. package/lib/opLifecycle/opDecompressor.d.mts.map +1 -0
  374. package/lib/opLifecycle/opDecompressor.mjs +128 -0
  375. package/lib/opLifecycle/opDecompressor.mjs.map +1 -0
  376. package/lib/opLifecycle/opGroupingManager.d.mts +22 -0
  377. package/lib/opLifecycle/opGroupingManager.d.mts.map +1 -0
  378. package/lib/opLifecycle/opGroupingManager.mjs +91 -0
  379. package/lib/opLifecycle/opGroupingManager.mjs.map +1 -0
  380. package/lib/opLifecycle/opSplitter.d.mts +61 -0
  381. package/lib/opLifecycle/opSplitter.d.mts.map +1 -0
  382. package/lib/opLifecycle/opSplitter.mjs +197 -0
  383. package/lib/opLifecycle/opSplitter.mjs.map +1 -0
  384. package/lib/opLifecycle/outbox.d.mts +104 -0
  385. package/lib/opLifecycle/outbox.d.mts.map +1 -0
  386. package/lib/opLifecycle/outbox.mjs +318 -0
  387. package/lib/opLifecycle/outbox.mjs.map +1 -0
  388. package/lib/opLifecycle/remoteMessageProcessor.d.mts +47 -0
  389. package/lib/opLifecycle/remoteMessageProcessor.d.mts.map +1 -0
  390. package/lib/opLifecycle/remoteMessageProcessor.mjs +131 -0
  391. package/lib/opLifecycle/remoteMessageProcessor.mjs.map +1 -0
  392. package/lib/opProperties.d.mts +7 -0
  393. package/lib/opProperties.d.mts.map +1 -0
  394. package/lib/opProperties.mjs +13 -0
  395. package/lib/opProperties.mjs.map +1 -0
  396. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  397. package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
  398. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  399. package/lib/packageVersion.mjs.map +1 -0
  400. package/lib/{pendingStateManager.d.ts → pendingStateManager.d.mts} +32 -69
  401. package/lib/pendingStateManager.d.mts.map +1 -0
  402. package/lib/pendingStateManager.mjs +275 -0
  403. package/lib/pendingStateManager.mjs.map +1 -0
  404. package/lib/scheduleManager.d.mts +27 -0
  405. package/lib/scheduleManager.d.mts.map +1 -0
  406. package/lib/scheduleManager.mjs +254 -0
  407. package/lib/scheduleManager.mjs.map +1 -0
  408. package/lib/storageServiceWithAttachBlobs.d.mts +17 -0
  409. package/lib/storageServiceWithAttachBlobs.d.mts.map +1 -0
  410. package/lib/storageServiceWithAttachBlobs.mjs +28 -0
  411. package/lib/storageServiceWithAttachBlobs.mjs.map +1 -0
  412. package/lib/summary/index.d.mts +17 -0
  413. package/lib/summary/index.d.mts.map +1 -0
  414. package/lib/summary/index.mjs +16 -0
  415. package/lib/summary/index.mjs.map +1 -0
  416. package/{dist/orderedClientElection.d.ts → lib/summary/orderedClientElection.d.mts} +41 -22
  417. package/lib/summary/orderedClientElection.d.mts.map +1 -0
  418. package/lib/{orderedClientElection.js → summary/orderedClientElection.mjs} +95 -79
  419. package/lib/summary/orderedClientElection.mjs.map +1 -0
  420. package/{dist/runWhileConnectedCoordinator.d.ts → lib/summary/runWhileConnectedCoordinator.d.mts} +9 -3
  421. package/lib/summary/runWhileConnectedCoordinator.d.mts.map +1 -0
  422. package/lib/{runWhileConnectedCoordinator.js → summary/runWhileConnectedCoordinator.mjs} +12 -10
  423. package/lib/summary/runWhileConnectedCoordinator.mjs.map +1 -0
  424. package/lib/summary/runningSummarizer.d.mts +128 -0
  425. package/lib/summary/runningSummarizer.d.mts.map +1 -0
  426. package/lib/summary/runningSummarizer.mjs +675 -0
  427. package/lib/summary/runningSummarizer.mjs.map +1 -0
  428. package/lib/{summarizer.d.ts → summary/summarizer.d.mts} +20 -35
  429. package/lib/summary/summarizer.d.mts.map +1 -0
  430. package/lib/summary/summarizer.mjs +257 -0
  431. package/lib/summary/summarizer.mjs.map +1 -0
  432. package/{dist/summarizerClientElection.d.ts → lib/summary/summarizerClientElection.d.mts} +6 -6
  433. package/lib/summary/summarizerClientElection.d.mts.map +1 -0
  434. package/lib/{summarizerClientElection.js → summary/summarizerClientElection.mjs} +14 -45
  435. package/lib/summary/summarizerClientElection.mjs.map +1 -0
  436. package/{dist/summarizerHeuristics.d.ts → lib/summary/summarizerHeuristics.d.mts} +29 -7
  437. package/lib/summary/summarizerHeuristics.d.mts.map +1 -0
  438. package/lib/summary/summarizerHeuristics.mjs +151 -0
  439. package/lib/summary/summarizerHeuristics.mjs.map +1 -0
  440. package/lib/summary/summarizerNode/index.d.mts +8 -0
  441. package/lib/summary/summarizerNode/index.d.mts.map +1 -0
  442. package/lib/summary/summarizerNode/index.mjs +7 -0
  443. package/lib/summary/summarizerNode/index.mjs.map +1 -0
  444. package/lib/summary/summarizerNode/summarizerNode.d.mts +167 -0
  445. package/lib/summary/summarizerNode/summarizerNode.d.mts.map +1 -0
  446. package/lib/summary/summarizerNode/summarizerNode.mjs +521 -0
  447. package/lib/summary/summarizerNode/summarizerNode.mjs.map +1 -0
  448. package/lib/summary/summarizerNode/summarizerNodeUtils.d.mts +121 -0
  449. package/lib/summary/summarizerNode/summarizerNodeUtils.d.mts.map +1 -0
  450. package/lib/summary/summarizerNode/summarizerNodeUtils.mjs +123 -0
  451. package/lib/summary/summarizerNode/summarizerNodeUtils.mjs.map +1 -0
  452. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.mts +153 -0
  453. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.mts.map +1 -0
  454. package/lib/summary/summarizerNode/summarizerNodeWithGc.mjs +370 -0
  455. package/lib/summary/summarizerNode/summarizerNodeWithGc.mjs.map +1 -0
  456. package/{dist/summarizerTypes.d.ts → lib/summary/summarizerTypes.d.mts} +234 -84
  457. package/lib/summary/summarizerTypes.d.mts.map +1 -0
  458. package/lib/summary/summarizerTypes.mjs +6 -0
  459. package/lib/summary/summarizerTypes.mjs.map +1 -0
  460. package/lib/{summaryCollection.d.ts → summary/summaryCollection.d.mts} +23 -5
  461. package/lib/summary/summaryCollection.d.mts.map +1 -0
  462. package/lib/{summaryCollection.js → summary/summaryCollection.mjs} +76 -45
  463. package/lib/summary/summaryCollection.mjs.map +1 -0
  464. package/{dist/summaryFormat.d.ts → lib/summary/summaryFormat.d.mts} +25 -30
  465. package/lib/summary/summaryFormat.d.mts.map +1 -0
  466. package/lib/{summaryFormat.js → summary/summaryFormat.mjs} +30 -26
  467. package/lib/summary/summaryFormat.mjs.map +1 -0
  468. package/lib/summary/summaryGenerator.d.mts +127 -0
  469. package/lib/summary/summaryGenerator.d.mts.map +1 -0
  470. package/lib/{summaryGenerator.js → summary/summaryGenerator.mjs} +153 -67
  471. package/lib/summary/summaryGenerator.mjs.map +1 -0
  472. package/{dist/summaryManager.d.ts → lib/summary/summaryManager.d.mts} +15 -13
  473. package/lib/summary/summaryManager.d.mts.map +1 -0
  474. package/lib/{summaryManager.js → summary/summaryManager.mjs} +94 -51
  475. package/lib/summary/summaryManager.mjs.map +1 -0
  476. package/lib/{throttler.d.ts → throttler.d.mts} +2 -2
  477. package/lib/throttler.d.mts.map +1 -0
  478. package/lib/{throttler.js → throttler.mjs} +21 -21
  479. package/lib/throttler.mjs.map +1 -0
  480. package/package.json +173 -72
  481. package/prettier.config.cjs +8 -0
  482. package/src/batchTracker.ts +59 -54
  483. package/src/blobManager.ts +937 -294
  484. package/src/connectionTelemetry.ts +342 -252
  485. package/src/containerHandleContext.ts +27 -29
  486. package/src/containerRuntime.ts +3879 -3143
  487. package/src/dataStore.ts +170 -140
  488. package/src/dataStoreContext.ts +1166 -986
  489. package/src/dataStoreContexts.ts +176 -163
  490. package/src/dataStoreRegistry.ts +29 -21
  491. package/src/dataStores.ts +921 -678
  492. package/src/deltaManagerProxyBase.ts +111 -0
  493. package/src/deltaManagerSummarizerProxy.ts +49 -0
  494. package/src/deltaScheduler.ts +161 -156
  495. package/src/error.ts +21 -0
  496. package/src/gc/garbageCollection.md +106 -0
  497. package/src/gc/garbageCollection.ts +1153 -0
  498. package/src/gc/gcConfigs.ts +216 -0
  499. package/src/gc/gcDefinitions.ts +502 -0
  500. package/src/gc/gcHelpers.ts +284 -0
  501. package/src/gc/gcReferenceGraphAlgorithm.ts +52 -0
  502. package/src/gc/gcSummaryDefinitions.ts +54 -0
  503. package/src/gc/gcSummaryStateTracker.ts +299 -0
  504. package/src/gc/gcTelemetry.ts +423 -0
  505. package/src/gc/gcUnreferencedStateTracker.ts +153 -0
  506. package/src/gc/index.ts +59 -0
  507. package/src/index.ts +101 -74
  508. package/src/messageTypes.ts +238 -0
  509. package/src/metadata.ts +26 -0
  510. package/src/opLifecycle/README.md +321 -0
  511. package/src/opLifecycle/batchManager.ts +179 -0
  512. package/src/opLifecycle/definitions.ts +89 -0
  513. package/src/opLifecycle/index.ts +19 -0
  514. package/src/opLifecycle/opCompressor.ts +99 -0
  515. package/src/opLifecycle/opDecompressor.ts +190 -0
  516. package/src/opLifecycle/opGroupingManager.ts +133 -0
  517. package/src/opLifecycle/opSplitter.ts +279 -0
  518. package/src/opLifecycle/outbox.ts +471 -0
  519. package/src/opLifecycle/remoteMessageProcessor.ts +175 -0
  520. package/src/opProperties.ts +21 -0
  521. package/src/packageVersion.ts +1 -1
  522. package/src/pendingStateManager.ts +396 -465
  523. package/src/scheduleManager.ts +358 -0
  524. package/src/storageServiceWithAttachBlobs.ts +38 -0
  525. package/src/summary/index.ts +109 -0
  526. package/src/summary/orderedClientElection.ts +571 -0
  527. package/src/summary/runWhileConnectedCoordinator.ts +117 -0
  528. package/src/summary/runningSummarizer.ts +920 -0
  529. package/src/summary/summarizer.ts +352 -0
  530. package/src/summary/summarizerClientElection.ts +140 -0
  531. package/src/summary/summarizerHeuristics.ts +227 -0
  532. package/src/summary/summarizerNode/index.ts +12 -0
  533. package/src/summary/summarizerNode/summarizerNode.ts +725 -0
  534. package/src/summary/summarizerNode/summarizerNodeUtils.ts +206 -0
  535. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +571 -0
  536. package/src/summary/summarizerTypes.ts +631 -0
  537. package/src/summary/summaryCollection.ts +474 -0
  538. package/src/summary/summaryFormat.ts +249 -0
  539. package/src/summary/summaryGenerator.ts +539 -0
  540. package/src/summary/summaryManager.ts +452 -0
  541. package/src/throttler.ts +131 -122
  542. package/tsc-multi.test.json +4 -0
  543. package/tsconfig.json +11 -13
  544. package/dist/batchTracker.js.map +0 -1
  545. package/dist/blobManager.js +0 -249
  546. package/dist/blobManager.js.map +0 -1
  547. package/dist/connectionTelemetry.js +0 -178
  548. package/dist/connectionTelemetry.js.map +0 -1
  549. package/dist/containerHandleContext.js.map +0 -1
  550. package/dist/containerRuntime.js +0 -2174
  551. package/dist/containerRuntime.js.map +0 -1
  552. package/dist/dataStore.js.map +0 -1
  553. package/dist/dataStoreContext.js.map +0 -1
  554. package/dist/dataStoreContexts.js.map +0 -1
  555. package/dist/dataStoreRegistry.js.map +0 -1
  556. package/dist/dataStores.js.map +0 -1
  557. package/dist/deltaScheduler.js.map +0 -1
  558. package/dist/garbageCollection.d.ts +0 -319
  559. package/dist/garbageCollection.d.ts.map +0 -1
  560. package/dist/garbageCollection.js +0 -993
  561. package/dist/garbageCollection.js.map +0 -1
  562. package/dist/index.js +0 -33
  563. package/dist/index.js.map +0 -1
  564. package/dist/opTelemetry.d.ts +0 -22
  565. package/dist/opTelemetry.d.ts.map +0 -1
  566. package/dist/opTelemetry.js +0 -60
  567. package/dist/opTelemetry.js.map +0 -1
  568. package/dist/orderedClientElection.d.ts.map +0 -1
  569. package/dist/orderedClientElection.js.map +0 -1
  570. package/dist/packageVersion.js.map +0 -1
  571. package/dist/pendingStateManager.js +0 -346
  572. package/dist/pendingStateManager.js.map +0 -1
  573. package/dist/runWhileConnectedCoordinator.d.ts.map +0 -1
  574. package/dist/runWhileConnectedCoordinator.js.map +0 -1
  575. package/dist/runningSummarizer.d.ts +0 -93
  576. package/dist/runningSummarizer.d.ts.map +0 -1
  577. package/dist/runningSummarizer.js +0 -384
  578. package/dist/runningSummarizer.js.map +0 -1
  579. package/dist/serializedSnapshotStorage.d.ts +0 -58
  580. package/dist/serializedSnapshotStorage.d.ts.map +0 -1
  581. package/dist/serializedSnapshotStorage.js +0 -108
  582. package/dist/serializedSnapshotStorage.js.map +0 -1
  583. package/dist/summarizer.d.ts.map +0 -1
  584. package/dist/summarizer.js +0 -348
  585. package/dist/summarizer.js.map +0 -1
  586. package/dist/summarizerClientElection.d.ts.map +0 -1
  587. package/dist/summarizerClientElection.js.map +0 -1
  588. package/dist/summarizerHandle.d.ts +0 -12
  589. package/dist/summarizerHandle.d.ts.map +0 -1
  590. package/dist/summarizerHandle.js +0 -22
  591. package/dist/summarizerHandle.js.map +0 -1
  592. package/dist/summarizerHeuristics.d.ts.map +0 -1
  593. package/dist/summarizerHeuristics.js +0 -84
  594. package/dist/summarizerHeuristics.js.map +0 -1
  595. package/dist/summarizerTypes.d.ts.map +0 -1
  596. package/dist/summarizerTypes.js.map +0 -1
  597. package/dist/summaryCollection.d.ts.map +0 -1
  598. package/dist/summaryCollection.js.map +0 -1
  599. package/dist/summaryFormat.d.ts.map +0 -1
  600. package/dist/summaryFormat.js.map +0 -1
  601. package/dist/summaryGenerator.d.ts.map +0 -1
  602. package/dist/summaryGenerator.js.map +0 -1
  603. package/dist/summaryManager.d.ts.map +0 -1
  604. package/dist/summaryManager.js.map +0 -1
  605. package/dist/throttler.js.map +0 -1
  606. package/garbageCollection.md +0 -41
  607. package/lib/batchTracker.d.ts.map +0 -1
  608. package/lib/batchTracker.js.map +0 -1
  609. package/lib/blobManager.d.ts +0 -95
  610. package/lib/blobManager.d.ts.map +0 -1
  611. package/lib/blobManager.js +0 -244
  612. package/lib/blobManager.js.map +0 -1
  613. package/lib/connectionTelemetry.d.ts.map +0 -1
  614. package/lib/connectionTelemetry.js +0 -174
  615. package/lib/connectionTelemetry.js.map +0 -1
  616. package/lib/containerHandleContext.d.ts.map +0 -1
  617. package/lib/containerHandleContext.js.map +0 -1
  618. package/lib/containerRuntime.d.ts +0 -615
  619. package/lib/containerRuntime.d.ts.map +0 -1
  620. package/lib/containerRuntime.js +0 -2166
  621. package/lib/containerRuntime.js.map +0 -1
  622. package/lib/dataStore.d.ts.map +0 -1
  623. package/lib/dataStore.js.map +0 -1
  624. package/lib/dataStoreContext.d.ts.map +0 -1
  625. package/lib/dataStoreContext.js.map +0 -1
  626. package/lib/dataStoreContexts.d.ts.map +0 -1
  627. package/lib/dataStoreContexts.js.map +0 -1
  628. package/lib/dataStoreRegistry.d.ts.map +0 -1
  629. package/lib/dataStoreRegistry.js.map +0 -1
  630. package/lib/dataStores.d.ts.map +0 -1
  631. package/lib/dataStores.js.map +0 -1
  632. package/lib/deltaScheduler.d.ts.map +0 -1
  633. package/lib/deltaScheduler.js.map +0 -1
  634. package/lib/garbageCollection.d.ts +0 -319
  635. package/lib/garbageCollection.d.ts.map +0 -1
  636. package/lib/garbageCollection.js +0 -989
  637. package/lib/garbageCollection.js.map +0 -1
  638. package/lib/index.d.ts +0 -14
  639. package/lib/index.d.ts.map +0 -1
  640. package/lib/index.js +0 -13
  641. package/lib/index.js.map +0 -1
  642. package/lib/opTelemetry.d.ts +0 -22
  643. package/lib/opTelemetry.d.ts.map +0 -1
  644. package/lib/opTelemetry.js +0 -56
  645. package/lib/opTelemetry.js.map +0 -1
  646. package/lib/orderedClientElection.d.ts.map +0 -1
  647. package/lib/orderedClientElection.js.map +0 -1
  648. package/lib/packageVersion.js.map +0 -1
  649. package/lib/pendingStateManager.d.ts.map +0 -1
  650. package/lib/pendingStateManager.js +0 -339
  651. package/lib/pendingStateManager.js.map +0 -1
  652. package/lib/runWhileConnectedCoordinator.d.ts.map +0 -1
  653. package/lib/runWhileConnectedCoordinator.js.map +0 -1
  654. package/lib/runningSummarizer.d.ts +0 -93
  655. package/lib/runningSummarizer.d.ts.map +0 -1
  656. package/lib/runningSummarizer.js +0 -380
  657. package/lib/runningSummarizer.js.map +0 -1
  658. package/lib/serializedSnapshotStorage.d.ts +0 -58
  659. package/lib/serializedSnapshotStorage.d.ts.map +0 -1
  660. package/lib/serializedSnapshotStorage.js +0 -104
  661. package/lib/serializedSnapshotStorage.js.map +0 -1
  662. package/lib/summarizer.d.ts.map +0 -1
  663. package/lib/summarizer.js +0 -342
  664. package/lib/summarizer.js.map +0 -1
  665. package/lib/summarizerClientElection.d.ts.map +0 -1
  666. package/lib/summarizerClientElection.js.map +0 -1
  667. package/lib/summarizerHandle.d.ts +0 -12
  668. package/lib/summarizerHandle.d.ts.map +0 -1
  669. package/lib/summarizerHandle.js +0 -18
  670. package/lib/summarizerHandle.js.map +0 -1
  671. package/lib/summarizerHeuristics.d.ts.map +0 -1
  672. package/lib/summarizerHeuristics.js +0 -79
  673. package/lib/summarizerHeuristics.js.map +0 -1
  674. package/lib/summarizerTypes.d.ts.map +0 -1
  675. package/lib/summarizerTypes.js +0 -9
  676. package/lib/summarizerTypes.js.map +0 -1
  677. package/lib/summaryCollection.d.ts.map +0 -1
  678. package/lib/summaryCollection.js.map +0 -1
  679. package/lib/summaryFormat.d.ts.map +0 -1
  680. package/lib/summaryFormat.js.map +0 -1
  681. package/lib/summaryGenerator.d.ts +0 -85
  682. package/lib/summaryGenerator.d.ts.map +0 -1
  683. package/lib/summaryGenerator.js.map +0 -1
  684. package/lib/summaryManager.d.ts.map +0 -1
  685. package/lib/summaryManager.js.map +0 -1
  686. package/lib/throttler.d.ts.map +0 -1
  687. package/lib/throttler.js.map +0 -1
  688. package/src/garbageCollection.ts +0 -1434
  689. package/src/opTelemetry.ts +0 -71
  690. package/src/orderedClientElection.ts +0 -511
  691. package/src/runWhileConnectedCoordinator.ts +0 -106
  692. package/src/runningSummarizer.ts +0 -550
  693. package/src/serializedSnapshotStorage.ts +0 -146
  694. package/src/summarizer.ts +0 -438
  695. package/src/summarizerClientElection.ts +0 -161
  696. package/src/summarizerHandle.ts +0 -21
  697. package/src/summarizerHeuristics.ts +0 -108
  698. package/src/summarizerTypes.ts +0 -462
  699. package/src/summaryCollection.ts +0 -406
  700. package/src/summaryFormat.ts +0 -239
  701. package/src/summaryGenerator.ts +0 -427
  702. package/src/summaryManager.ts +0 -368
  703. package/tsconfig.esnext.json +0 -7
@@ -1,146 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- import { assert, bufferToString, stringToBuffer } from "@fluidframework/common-utils";
7
- import { IDocumentStorageService, ISummaryContext } from "@fluidframework/driver-definitions";
8
- import {
9
- ICreateBlobResponse,
10
- ISnapshotTree,
11
- ISummaryHandle,
12
- ISummaryTree,
13
- IVersion,
14
- } from "@fluidframework/protocol-definitions";
15
- import { ISnapshotTreeWithBlobContents } from "@fluidframework/container-definitions";
16
-
17
- /**
18
- * Serialized blobs from a snapshot. Used to load offline.
19
- */
20
- export interface ISerializedBaseSnapshotBlobs {
21
- [id: string]: string;
22
- }
23
-
24
- /**
25
- * A storage wrapper that can serialize blobs from a snapshot tree and then use them to rehydrate.
26
- * Used in offline load/attached dehydration to save snapshot blobs that are still needed but may have been deleted.
27
- */
28
- export class SerializedSnapshotStorage implements IDocumentStorageService {
29
- constructor(
30
- private readonly storageGetter: () => IDocumentStorageService,
31
- private readonly blobs: ISerializedBaseSnapshotBlobs,
32
- ) { }
33
-
34
- public static async serializeTree(
35
- snapshot: ISnapshotTree,
36
- storage: IDocumentStorageService,
37
- ): Promise<ISerializedBaseSnapshotBlobs> {
38
- const blobs = {};
39
- await this.serializeTreeCore(snapshot, blobs, storage);
40
- return blobs;
41
- }
42
-
43
- private static async serializeTreeCore(
44
- tree: ISnapshotTree,
45
- blobs: ISerializedBaseSnapshotBlobs,
46
- storage: IDocumentStorageService,
47
- ) {
48
- const treePs: Promise<any>[] = [];
49
- for (const subTree of Object.values(tree.trees)) {
50
- treePs.push(this.serializeTreeCore(subTree, blobs, storage));
51
- }
52
- for (const id of Object.values(tree.blobs)) {
53
- const blob = await storage.readBlob(id);
54
- // ArrayBufferLike will not survive JSON.stringify()
55
- blobs[id] = bufferToString(blob, "utf8");
56
- }
57
- return Promise.all(treePs);
58
- }
59
-
60
- public static serializeTreeWithBlobContents(
61
- snapshot: ISnapshotTreeWithBlobContents,
62
- ): ISerializedBaseSnapshotBlobs {
63
- const blobs = {};
64
- this.serializeTreeWithBlobContentsCore(snapshot, blobs);
65
- return blobs;
66
- }
67
-
68
- private static serializeTreeWithBlobContentsCore(
69
- tree: ISnapshotTreeWithBlobContents,
70
- blobs: ISerializedBaseSnapshotBlobs,
71
- ) {
72
- for (const subTree of Object.values(tree.trees)) {
73
- this.serializeTreeWithBlobContentsCore(subTree, blobs);
74
- }
75
- for (const id of Object.values(tree.blobs)) {
76
- const blob = tree.blobsContents[id];
77
- assert(!!blob, 0x2ec /* "Blob must be present in blobsContents" */);
78
- // ArrayBufferLike will not survive JSON.stringify()
79
- blobs[id] = bufferToString(blob, "utf8");
80
- }
81
- }
82
-
83
- private _storage?: IDocumentStorageService;
84
- private get storage(): IDocumentStorageService {
85
- // avoid calling it until we need it since it will be undefined if we're not connected
86
- // and we shouldn't need it in this case anyway
87
- if (this._storage) {
88
- return this._storage;
89
- }
90
- this._storage = this.storageGetter();
91
- return this._storage;
92
- }
93
-
94
- public get repositoryUrl(): string { return this.storage.repositoryUrl; }
95
-
96
- /**
97
- * Reads the object with the given ID, returns content in arrayBufferLike
98
- */
99
- public async readBlob(id: string): Promise<ArrayBufferLike> {
100
- if (this.blobs[id] !== undefined) {
101
- return stringToBuffer(this.blobs[id], "utf8");
102
- }
103
- return this.storage.readBlob(id);
104
- }
105
-
106
- /**
107
- * Returns the snapshot tree.
108
- */
109
- // eslint-disable-next-line @rushstack/no-new-null
110
- public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
111
- return this.storage.getSnapshotTree(version);
112
- }
113
-
114
- /**
115
- * Retrieves all versions of the document starting at the specified versionId - or null if from the head
116
- */
117
- // eslint-disable-next-line @rushstack/no-new-null
118
- public async getVersions(versionId: string | null, count: number): Promise<IVersion[]> {
119
- return this.storage.getVersions(versionId, count);
120
- }
121
-
122
- /**
123
- * Creates a blob out of the given buffer
124
- */
125
- public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
126
- return this.storage.createBlob(file);
127
- }
128
-
129
- /**
130
- * Uploads a summary tree to storage using the given context for reference of previous summary handle.
131
- * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are
132
- * referencing from the previously acked summary.
133
- * Returns the uploaded summary handle.
134
- */
135
- public async uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string> {
136
- return this.storage.uploadSummaryWithContext(summary, context);
137
- }
138
-
139
- /**
140
- * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the
141
- * server has deleted it this call may result in a broken promise.
142
- */
143
- public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
144
- return this.storage.downloadSummary(handle);
145
- }
146
- }
package/src/summarizer.ts DELETED
@@ -1,438 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- import { EventEmitter } from "events";
7
- import { Deferred } from "@fluidframework/common-utils";
8
- import { ITelemetryLogger } from "@fluidframework/common-definitions";
9
- import { ILoader, LoaderHeader } from "@fluidframework/container-definitions";
10
- import { UsageError } from "@fluidframework/container-utils";
11
- import { DriverErrorType, DriverHeader } from "@fluidframework/driver-definitions";
12
- import { requestFluidObject } from "@fluidframework/runtime-utils";
13
- import {
14
- ChildLogger,
15
- IFluidErrorBase,
16
- isFluidError,
17
- LoggingError,
18
- wrapErrorAndLog,
19
- } from "@fluidframework/telemetry-utils";
20
- import {
21
- FluidObject,
22
- IFluidHandleContext,
23
- IFluidHandle,
24
- IRequest,
25
- } from "@fluidframework/core-interfaces";
26
- import {
27
- ISequencedDocumentMessage,
28
- } from "@fluidframework/protocol-definitions";
29
- import { ISummaryConfiguration } from "./containerRuntime";
30
- import { ICancellableSummarizerController } from "./runWhileConnectedCoordinator";
31
- import { summarizerClientType } from "./summarizerClientElection";
32
- import { IAckedSummary, SummaryCollection } from "./summaryCollection";
33
- import { SummarizerHandle } from "./summarizerHandle";
34
- import { RunningSummarizer } from "./runningSummarizer";
35
- import {
36
- ISummarizer,
37
- ISummarizerInternalsProvider,
38
- ISummarizerRuntime,
39
- ISummarizingWarning,
40
- SummarizerStopReason,
41
- } from "./summarizerTypes";
42
- import { SummarizeHeuristicData } from "./summarizerHeuristics";
43
- import { SummarizeResultBuilder } from "./summaryGenerator";
44
- import { IConnectableRuntime } from ".";
45
-
46
- const summarizingError = "summarizingError";
47
-
48
- export class SummarizingWarning extends LoggingError implements ISummarizingWarning, IFluidErrorBase {
49
- readonly errorType = summarizingError;
50
- readonly canRetry = true;
51
-
52
- constructor(
53
- errorMessage: string,
54
- readonly logged: boolean = false,
55
- ) {
56
- super(errorMessage);
57
- }
58
-
59
- static wrap(error: any, logged: boolean = false, logger: ITelemetryLogger) {
60
- const newErrorFn = (errMsg: string) => new SummarizingWarning(errMsg, logged);
61
- return wrapErrorAndLog<SummarizingWarning>(error, newErrorFn, logger);
62
- }
63
- }
64
-
65
- export const createSummarizingWarning =
66
- (errorMessage: string, logged: boolean) => new SummarizingWarning(errorMessage, logged);
67
-
68
- /**
69
- * Summarizer is responsible for coordinating when to generate and send summaries.
70
- * It is the main entry point for summary work.
71
- * It is created only by summarizing container (i.e. one with clientType === "summarizer")
72
- */
73
- export class Summarizer extends EventEmitter implements ISummarizer {
74
- public get IFluidLoadable() { return this; }
75
- public get ISummarizer() { return this; }
76
-
77
- private readonly logger: ITelemetryLogger;
78
- private runningSummarizer?: RunningSummarizer;
79
- private systemOpListener?: (op: ISequencedDocumentMessage) => void;
80
- private opListener?: (error: any, op: ISequencedDocumentMessage) => void;
81
- private _disposed: boolean = false;
82
- private starting: boolean = false;
83
-
84
- private readonly innerHandle: IFluidHandle<this>;
85
-
86
- public get handle(): IFluidHandle<this> { return this.innerHandle; }
87
- private readonly stopDeferred = new Deferred<SummarizerStopReason>();
88
-
89
- constructor(
90
- url: string,
91
- /** Reference to runtime that created this object.
92
- * i.e. runtime with clientType === "summarizer"
93
- */
94
- private readonly runtime: ISummarizerRuntime,
95
- private readonly configurationGetter: () => ISummaryConfiguration,
96
- /** Represents an object that can generate summary.
97
- * In practical terms, it's same runtime (this.runtime) with clientType === "summarizer".
98
- */
99
- private readonly internalsProvider: ISummarizerInternalsProvider,
100
- handleContext: IFluidHandleContext,
101
- public readonly summaryCollection: SummaryCollection,
102
- private readonly runCoordinatorCreateFn:
103
- (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>,
104
- ) {
105
- super();
106
- this.logger = ChildLogger.create(this.runtime.logger, "Summarizer");
107
- this.innerHandle = new SummarizerHandle(this, url, handleContext);
108
- }
109
-
110
- /**
111
- * Creates a Summarizer and its underlying client.
112
- * Note that different implementations of ILoader will handle the URL differently.
113
- * ILoader provided by a ContainerRuntime is a RelativeLoader, which will treat URL's
114
- * starting with "/" as relative to the Container. The general ILoader
115
- * interface will expect an absolute URL and will not handle "/".
116
- * @param loader - the loader that resolves the request
117
- * @param url - the URL used to resolve the container
118
- */
119
- public static async create(
120
- loader: ILoader,
121
- url: string): Promise<ISummarizer> {
122
- const request: IRequest = {
123
- headers: {
124
- [LoaderHeader.cache]: false,
125
- [LoaderHeader.clientDetails]: {
126
- capabilities: { interactive: false },
127
- type: summarizerClientType,
128
- },
129
- [DriverHeader.summarizingClient]: true,
130
- [LoaderHeader.reconnect]: false,
131
- },
132
- url,
133
- };
134
-
135
- const resolvedContainer = await loader.resolve(request);
136
- const fluidObject =
137
- await requestFluidObject<FluidObject<ISummarizer>>(resolvedContainer, { url: "_summarizer" });
138
- if (fluidObject.ISummarizer === undefined) {
139
- throw new UsageError("Fluid object does not implement ISummarizer");
140
- }
141
- return fluidObject.ISummarizer;
142
- }
143
-
144
- public async run(onBehalfOf: string): Promise<SummarizerStopReason> {
145
- try {
146
- return await this.runCore(onBehalfOf);
147
- } catch (error) {
148
- this.stop("summarizerException");
149
- throw SummarizingWarning.wrap(error, false /* logged */, this.logger);
150
- } finally {
151
- this.close();
152
- }
153
- }
154
-
155
- /**
156
- * Stops the summarizer from running. This will complete
157
- * the run promise, and also close the container.
158
- * @param reason - reason code for stopping
159
- */
160
- public stop(reason: SummarizerStopReason) {
161
- this.stopDeferred.resolve(reason);
162
- }
163
-
164
- public close() {
165
- // This will result in "summarizerClientDisconnected" stop reason recorded in telemetry,
166
- // unless stop() was called earlier
167
- this.dispose();
168
- this.runtime.closeFn();
169
- }
170
-
171
- private async runCore(onBehalfOf: string): Promise<SummarizerStopReason> {
172
- const runCoordinator: ICancellableSummarizerController = await this.runCoordinatorCreateFn(this.runtime);
173
-
174
- // Wait for either external signal to cancel, or loss of connectivity.
175
- const stopP = Promise.race([runCoordinator.waitCancelled, this.stopDeferred.promise]);
176
- void stopP.then((reason) => {
177
- this.logger.sendTelemetryEvent({
178
- eventName: "StoppingSummarizer",
179
- onBehalfOf,
180
- reason,
181
- });
182
- });
183
-
184
- if (runCoordinator.cancelled) {
185
- return runCoordinator.waitCancelled;
186
- }
187
-
188
- const runningSummarizer = await this.start(onBehalfOf, runCoordinator);
189
-
190
- // Wait for either external signal to cancel, or loss of connectivity.
191
- const stopReason = await stopP;
192
-
193
- // There are two possible approaches here:
194
- // 1. Propagate cancellation from this.stopDeferred to runCoordinator. This will ensure that we move to the exit
195
- // faster, including breaking out of the RunningSummarizer.trySummarize() faster.
196
- // We could create new coordinator and pass it to waitStop() -> trySummarizeOnce("lastSummary") flow.
197
- // The con of this approach is that we might cancel active summary, and lastSummary will fail because it
198
- // did not wait for ack/nack from previous summary. Plus we disregard any 429 kind of info from service
199
- // that way (i.e. trySummarize() loop might have been waiting for 5 min because storage told us so).
200
- // In general, it's more wasted resources.
201
- // 2. We can not do it and make waitStop() do last summary only if there was no active summary. This ensures
202
- // that client behaves properly (from server POV) and we do not waste resources. But, it may mean we wait
203
- // substantially longer for trySummarize() retries to play out and thus this summary loop may run into
204
- // conflict with new summarizer client starting on different client.
205
- // As of now, #2 is implemented. It's more forward looking, as issue #7279 suggests changing design for new
206
- // summarizer client to not be created until current summarizer fully moves to exit, and that would reduce
207
- // cons of #2 substantially.
208
-
209
- // Cleanup after running
210
- await runningSummarizer.waitStop(
211
- !runCoordinator.cancelled && Summarizer.stopReasonCanRunLastSummary(stopReason));
212
-
213
- // Propagate reason and ensure that if someone is waiting for cancellation token, they are moving to exit
214
- runCoordinator.stop(stopReason);
215
-
216
- return stopReason;
217
- }
218
-
219
- /**
220
- * Should we try to run a last summary for the given stop reason?
221
- * Currently only allows "parentNotConnected"
222
- * @param stopReason - SummarizerStopReason
223
- * @returns - true if the stop reason can run a last summary
224
- */
225
- public static stopReasonCanRunLastSummary(stopReason: SummarizerStopReason): boolean {
226
- return stopReason === "parentNotConnected";
227
- }
228
-
229
- /**
230
- * Put the summarizer in a started state, including creating and initializing the RunningSummarizer.
231
- * The start request can come either from the SummaryManager (in the auto-summarize case) or from the user
232
- * (in the on-demand case).
233
- * @param onBehalfOf - ID of the client that requested that the summarizer start
234
- * @param runCoordinator - cancellation token
235
- * @param newConfig - Summary configuration to override the existing config when invoking the RunningSummarizer.
236
- * @returns - Promise that is fulfilled when the RunningSummarizer is ready
237
- */
238
- private async start(
239
- onBehalfOf: string,
240
- runCoordinator: ICancellableSummarizerController): Promise<RunningSummarizer> {
241
- if (this.runningSummarizer) {
242
- if (this.runningSummarizer.disposed) {
243
- throw new UsageError("Starting a disposed summarizer");
244
- }
245
- return this.runningSummarizer;
246
- }
247
- if (this.starting) {
248
- throw new UsageError("Attempting to start a summarizer that is already starting");
249
- }
250
- this.starting = true;
251
- // Initialize values and first ack (time is not exact)
252
- this.logger.sendTelemetryEvent({
253
- eventName: "RunningSummarizer",
254
- onBehalfOf,
255
- initSummarySeqNumber: this.runtime.deltaManager.initialSequenceNumber,
256
- config: JSON.stringify(this.configurationGetter()),
257
- });
258
-
259
- // Summarizing container ID (with clientType === "summarizer")
260
- const clientId = this.runtime.clientId;
261
- if (clientId === undefined) {
262
- throw new UsageError("clientId should be defined if connected.");
263
- }
264
-
265
- const runningSummarizer = await RunningSummarizer.start(
266
- this.logger,
267
- this.summaryCollection.createWatcher(clientId),
268
- this.configurationGetter(),
269
- async (...args) => this.internalsProvider.submitSummary(...args), // submitSummaryCallback
270
- new SummarizeHeuristicData(
271
- this.runtime.deltaManager.lastSequenceNumber,
272
- { /** summary attempt baseline for heuristics */
273
- refSequenceNumber: this.runtime.deltaManager.initialSequenceNumber,
274
- summaryTime: Date.now(),
275
- } as const,
276
- ),
277
- (errorMessage: string) => {
278
- if (!this._disposed) {
279
- this.logger.sendErrorEvent({ eventName: "summarizingError" },
280
- createSummarizingWarning(errorMessage, true));
281
- }
282
- },
283
- this.summaryCollection,
284
- runCoordinator /* cancellationToken */,
285
- (reason) => runCoordinator.stop(reason), /* stopSummarizerCallback */
286
- );
287
- this.runningSummarizer = runningSummarizer;
288
- this.starting = false;
289
-
290
- // Handle summary acks
291
- // Note: no exceptions are thrown from handleSummaryAcks handler as it handles all exceptions
292
- this.handleSummaryAcks().catch((error) => {
293
- this.logger.sendErrorEvent({ eventName: "HandleSummaryAckFatalError" }, error);
294
- });
295
-
296
- // Listen for ops
297
- this.systemOpListener = (op: ISequencedDocumentMessage) => runningSummarizer.handleSystemOp(op);
298
- this.runtime.deltaManager.inbound.on("op", this.systemOpListener);
299
-
300
- this.opListener = (error: any, op: ISequencedDocumentMessage) => runningSummarizer.handleOp(error, op);
301
- this.runtime.on("batchEnd", this.opListener);
302
-
303
- return runningSummarizer;
304
- }
305
-
306
- /**
307
- * Disposes of resources after running. This cleanup will
308
- * clear any outstanding timers and reset some of the state
309
- * properties.
310
- * Called by ContainerRuntime when it is disposed, as well as at the end the run().
311
- */
312
- public dispose() {
313
- // Given that the call can come from own ContainerRuntime, ensure that we stop all the processes.
314
- this.stop("summarizerClientDisconnected");
315
-
316
- this._disposed = true;
317
- if (this.runningSummarizer) {
318
- this.runningSummarizer.dispose();
319
- this.runningSummarizer = undefined;
320
- }
321
- if (this.systemOpListener) {
322
- this.runtime.deltaManager.inbound.off("op", this.systemOpListener);
323
- }
324
- if (this.opListener) {
325
- this.runtime.removeListener("batchEnd", this.opListener);
326
- }
327
- }
328
-
329
- public readonly summarizeOnDemand: ISummarizer["summarizeOnDemand"] = (...args) => {
330
- try {
331
- if (this._disposed || this.runningSummarizer?.disposed) {
332
- throw new UsageError("Summarizer is already disposed.");
333
- }
334
- if (this.runtime.summarizerClientId !== undefined &&
335
- this.runtime.summarizerClientId !== this.runtime.clientId) {
336
- // If there is an elected summarizer, and it's not this one, don't allow on-demand summary.
337
- // This is to prevent the on-demand summary and heuristic-based summary from stepping on
338
- // each other.
339
- throw new UsageError("On-demand summary attempted while an elected summarizer is present");
340
- }
341
- const builder = new SummarizeResultBuilder();
342
- if (this.runningSummarizer) {
343
- // Summarizer is already running. Go ahead and start.
344
- return this.runningSummarizer.summarizeOnDemand(builder, ...args);
345
- }
346
-
347
- // Summarizer isn't running, so we need to start it, which is an async operation.
348
- // Manage the promise related to creating the cancellation token here.
349
- // The promises related to starting, summarizing,
350
- // and submitting are communicated to the caller through the results builder.
351
- const coordinatorCreateP = this.runCoordinatorCreateFn(this.runtime);
352
-
353
- coordinatorCreateP.then((runCoordinator) => {
354
- // Successully created the cancellation token. Start the summarizer.
355
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
356
- const startP = this.start(this.runtime.clientId!, runCoordinator);
357
- startP.then(async (runningSummarizer) => {
358
- // Successfully started the summarizer. Run it.
359
- runningSummarizer.summarizeOnDemand(builder, ...args);
360
- // Wait for a command to stop or loss of connectivity before tearing down the summarizer and client.
361
- const stopReason = await Promise.race([this.stopDeferred.promise, runCoordinator.waitCancelled]);
362
- await runningSummarizer.waitStop(false);
363
- runCoordinator.stop(stopReason);
364
- this.close();
365
- }).catch((reason) => {
366
- builder.fail("Failed to start summarizer", reason);
367
- });
368
- }).catch((reason) => {
369
- builder.fail("Failed to create cancellation token", reason);
370
- });
371
-
372
- return builder.build();
373
- } catch (error) {
374
- throw SummarizingWarning.wrap(error, false /* logged */, this.logger);
375
- }
376
- };
377
-
378
- public readonly enqueueSummarize: ISummarizer["enqueueSummarize"] = (...args) => {
379
- if (this._disposed || this.runningSummarizer === undefined || this.runningSummarizer.disposed) {
380
- throw new UsageError("Summarizer is not running or already disposed.");
381
- }
382
- return this.runningSummarizer.enqueueSummarize(...args);
383
- };
384
-
385
- private async handleSummaryAcks() {
386
- let refSequenceNumber = this.runtime.deltaManager.initialSequenceNumber;
387
- let ack: IAckedSummary | undefined;
388
- while (this.runningSummarizer) {
389
- const summaryLogger = this.runningSummarizer.tryGetCorrelatedLogger(refSequenceNumber) ?? this.logger;
390
- try {
391
- // Initialize ack with undefined if exception happens inside of waitSummaryAck on second iteration,
392
- // we record undefined, not previous handles.
393
- ack = undefined;
394
- ack = await this.summaryCollection.waitSummaryAck(refSequenceNumber);
395
- refSequenceNumber = ack.summaryOp.referenceSequenceNumber;
396
- const summaryOpHandle = ack.summaryOp.contents.handle;
397
- const summaryAckHandle = ack.summaryAck.contents.handle;
398
- // Make sure we block any summarizer from being executed/enqueued while
399
- // executing the refreshLatestSummaryAck.
400
- // https://dev.azure.com/fluidframework/internal/_workitems/edit/779
401
- await this.runningSummarizer.lockedRefreshSummaryAckAction(async () =>
402
- this.internalsProvider.refreshLatestSummaryAck(
403
- summaryOpHandle,
404
- summaryAckHandle,
405
- refSequenceNumber,
406
- summaryLogger,
407
- ).catch(async (error) => {
408
- // If the error is 404, so maybe the fetched version no longer exists on server. We just
409
- // ignore this error in that case, as that means we will have another summaryAck for the
410
- // latest version with which we will refresh the state. However in case of single commit
411
- // summary, we might me missing a summary ack, so in that case we are still fine as the
412
- // code in `submitSummary` function in container runtime, will refresh the latest state
413
- // by calling `refreshLatestSummaryAckFromServer` and we will be fine.
414
- if (isFluidError(error)
415
- && error.errorType === DriverErrorType.fileNotFoundOrAccessDeniedError) {
416
- summaryLogger.sendTelemetryEvent({
417
- eventName: "HandleSummaryAckErrorIgnored",
418
- referenceSequenceNumber: refSequenceNumber,
419
- proposalHandle: summaryOpHandle,
420
- ackHandle: summaryAckHandle,
421
- }, error);
422
- } else {
423
- throw error;
424
- }
425
- }),
426
- );
427
- } catch (error) {
428
- summaryLogger.sendErrorEvent({
429
- eventName: "HandleSummaryAckError",
430
- referenceSequenceNumber: refSequenceNumber,
431
- handle: ack?.summaryOp?.contents?.handle,
432
- ackHandle: ack?.summaryAck?.contents?.handle,
433
- }, error);
434
- }
435
- refSequenceNumber++;
436
- }
437
- }
438
- }