@fluidframework/container-runtime 1.4.0-115997 → 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 -6
  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 -257
  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 -34
  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 -6
  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 -36
  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 +174 -73
  481. package/prettier.config.cjs +8 -0
  482. package/src/batchTracker.ts +60 -55
  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 -616
  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
@@ -0,0 +1,863 @@
1
+ ## API Report File for "@fluidframework/container-runtime"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { assertIsStableId } from '@fluidframework/id-compressor';
8
+ import { AttachState } from '@fluidframework/container-definitions';
9
+ import { ContainerWarning } from '@fluidframework/container-definitions';
10
+ import { FluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions';
11
+ import { FluidObject } from '@fluidframework/core-interfaces';
12
+ import { FlushMode } from '@fluidframework/runtime-definitions';
13
+ import { generateStableId } from '@fluidframework/id-compressor';
14
+ import { IAudience } from '@fluidframework/container-definitions';
15
+ import { IClientDetails } from '@fluidframework/protocol-definitions';
16
+ import { IContainerContext } from '@fluidframework/container-definitions';
17
+ import { IContainerRuntime } from '@fluidframework/container-runtime-definitions';
18
+ import { IContainerRuntimeEvents } from '@fluidframework/container-runtime-definitions';
19
+ import { ICriticalContainerError } from '@fluidframework/container-definitions';
20
+ import { IDataStore } from '@fluidframework/runtime-definitions';
21
+ import { IDeltaManager } from '@fluidframework/container-definitions';
22
+ import { IDisposable } from '@fluidframework/core-interfaces';
23
+ import { IDocumentMessage } from '@fluidframework/protocol-definitions';
24
+ import { IDocumentStorageService } from '@fluidframework/driver-definitions';
25
+ import { IEvent } from '@fluidframework/core-interfaces';
26
+ import { IEventProvider } from '@fluidframework/core-interfaces';
27
+ import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions';
28
+ import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
29
+ import { IFluidHandle } from '@fluidframework/core-interfaces';
30
+ import { IFluidHandleContext } from '@fluidframework/core-interfaces';
31
+ import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
32
+ import { IGetPendingLocalStateProps } from '@fluidframework/container-definitions';
33
+ import type { IIdCompressor } from '@fluidframework/id-compressor';
34
+ import type { IIdCompressorCore } from '@fluidframework/id-compressor';
35
+ import { ILoaderOptions } from '@fluidframework/container-definitions';
36
+ import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
37
+ import { IQuorumClients } from '@fluidframework/protocol-definitions';
38
+ import { IRequest } from '@fluidframework/core-interfaces';
39
+ import { IResponse } from '@fluidframework/core-interfaces';
40
+ import { IRuntime } from '@fluidframework/container-definitions';
41
+ import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
42
+ import { ISignalMessage } from '@fluidframework/protocol-definitions';
43
+ import { isStableId } from '@fluidframework/id-compressor';
44
+ import { ISummaryAck } from '@fluidframework/protocol-definitions';
45
+ import { ISummaryContent } from '@fluidframework/protocol-definitions';
46
+ import { ISummaryNack } from '@fluidframework/protocol-definitions';
47
+ import { ISummaryStats } from '@fluidframework/runtime-definitions';
48
+ import { ISummaryTree } from '@fluidframework/protocol-definitions';
49
+ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
50
+ import { ITelemetryContext } from '@fluidframework/runtime-definitions';
51
+ import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
52
+ import { MessageType } from '@fluidframework/protocol-definitions';
53
+ import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions';
54
+ import { TypedEventEmitter } from '@fluid-internal/client-utils';
55
+
56
+ // @internal
57
+ export const agentSchedulerId = "_scheduler";
58
+
59
+ // @internal
60
+ export const AllowInactiveRequestHeaderKey = "allowInactive";
61
+
62
+ // @alpha
63
+ export const AllowTombstoneRequestHeaderKey = "allowTombstone";
64
+
65
+ export { assertIsStableId }
66
+
67
+ // @internal
68
+ export type CompatModeBehavior =
69
+ /** Ignore the op. It won't be persisted if this client summarizes */
70
+ "Ignore"
71
+ /** Fail processing immediately. (The container will close) */
72
+ | "FailToProcess";
73
+
74
+ // @alpha
75
+ export enum CompressionAlgorithms {
76
+ // (undocumented)
77
+ lz4 = "lz4"
78
+ }
79
+
80
+ // @alpha (undocumented)
81
+ export enum ContainerMessageType {
82
+ // (undocumented)
83
+ Alias = "alias",
84
+ // (undocumented)
85
+ Attach = "attach",
86
+ // (undocumented)
87
+ BlobAttach = "blobAttach",
88
+ // (undocumented)
89
+ ChunkedOp = "chunkedOp",
90
+ // (undocumented)
91
+ FluidDataStoreOp = "component",
92
+ GC = "GC",
93
+ IdAllocation = "idAllocation",
94
+ // (undocumented)
95
+ Rejoin = "rejoin"
96
+ }
97
+
98
+ // @alpha
99
+ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents & ISummarizerEvents> implements IContainerRuntime, IRuntime, ISummarizerRuntime, ISummarizerInternalsProvider, IProvideFluidHandleContext {
100
+ protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<Required<IContainerRuntimeOptions>>, containerScope: FluidObject, logger: ITelemetryLoggerExt, existing: boolean, blobManagerSnapshot: IBlobManagerLoadInfo, _storage: IDocumentStorageService, idCompressor: (IIdCompressor & IIdCompressorCore) | undefined, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>) | undefined, summaryConfiguration?: ISummaryConfiguration);
101
+ // (undocumented)
102
+ protected addContainerStateToSummary(summaryTree: ISummaryTreeWithStats, fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext): void;
103
+ addedGCOutboundReference(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;
104
+ // (undocumented)
105
+ get attachState(): AttachState;
106
+ // (undocumented)
107
+ readonly clientDetails: IClientDetails;
108
+ // (undocumented)
109
+ get clientId(): string | undefined;
110
+ // (undocumented)
111
+ readonly closeFn: (error?: ICriticalContainerError) => void;
112
+ collectGarbage(options: {
113
+ logger?: ITelemetryLoggerExt;
114
+ runSweep?: boolean;
115
+ fullGC?: boolean;
116
+ }, telemetryContext?: ITelemetryContext): Promise<IGCStats | undefined>;
117
+ // (undocumented)
118
+ get connected(): boolean;
119
+ // (undocumented)
120
+ createDataStore(pkg: string | string[]): Promise<IDataStore>;
121
+ // @deprecated (undocumented)
122
+ _createDataStoreWithProps(pkg: string | string[], props?: any, id?: string): Promise<IDataStore>;
123
+ // (undocumented)
124
+ createDetachedDataStore(pkg: Readonly<string[]>): IFluidDataStoreContextDetached;
125
+ // (undocumented)
126
+ createDetachedRootDataStore(pkg: Readonly<string[]>, rootDataStoreId: string): IFluidDataStoreContextDetached;
127
+ createSummary(blobRedirectTable?: Map<string, string>, telemetryContext?: ITelemetryContext): ISummaryTree;
128
+ deleteSweepReadyNodes(sweepReadyRoutes: readonly string[]): readonly string[];
129
+ // @deprecated (undocumented)
130
+ deleteUnusedNodes(unusedRoutes: readonly string[]): string[];
131
+ readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
132
+ // (undocumented)
133
+ dispose(error?: Error): void;
134
+ // (undocumented)
135
+ get disposed(): boolean;
136
+ // (undocumented)
137
+ readonly disposeFn: (error?: ICriticalContainerError) => void;
138
+ // (undocumented)
139
+ enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
140
+ ensureNoDataModelChanges<T>(callback: () => T): T;
141
+ // (undocumented)
142
+ get flushMode(): FlushMode;
143
+ get gcThrowOnTombstoneUsage(): boolean;
144
+ get gcTombstoneEnforcementAllowed(): boolean;
145
+ // (undocumented)
146
+ readonly getAbsoluteUrl: (relativeUrl: string) => Promise<string | undefined>;
147
+ getAliasedDataStoreEntryPoint(alias: string): Promise<IFluidHandle<FluidObject> | undefined>;
148
+ // (undocumented)
149
+ getAudience(): IAudience;
150
+ getCurrentReferenceTimestampMs(): number | undefined;
151
+ // (undocumented)
152
+ getEntryPoint(): Promise<FluidObject>;
153
+ getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
154
+ getGCNodePackagePath(nodePath: string): Promise<readonly string[] | undefined>;
155
+ getNodeType(nodePath: string): GCNodeType;
156
+ // (undocumented)
157
+ getPendingLocalState(props?: IGetPendingLocalStateProps): Promise<unknown>;
158
+ // (undocumented)
159
+ getQuorum(): IQuorumClients;
160
+ // (undocumented)
161
+ idCompressor: (IIdCompressor & IIdCompressorCore) | undefined;
162
+ // (undocumented)
163
+ get IFluidDataStoreRegistry(): IFluidDataStoreRegistry;
164
+ // (undocumented)
165
+ get IFluidHandleContext(): IFluidHandleContext;
166
+ get isDirty(): boolean;
167
+ static loadRuntime(params: {
168
+ context: IContainerContext;
169
+ registryEntries: NamedFluidDataStoreRegistryEntries;
170
+ existing: boolean;
171
+ runtimeOptions?: IContainerRuntimeOptions;
172
+ containerScope?: FluidObject;
173
+ containerRuntimeCtor?: typeof ContainerRuntime;
174
+ requestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>;
175
+ provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>;
176
+ }): Promise<ContainerRuntime>;
177
+ // (undocumented)
178
+ readonly logger: ITelemetryLoggerExt;
179
+ // (undocumented)
180
+ notifyOpReplay(message: ISequencedDocumentMessage): Promise<void>;
181
+ // (undocumented)
182
+ readonly options: ILoaderOptions;
183
+ // (undocumented)
184
+ orderSequentially<T>(callback: () => T): T;
185
+ // (undocumented)
186
+ process(messageArg: ISequencedDocumentMessage, local: boolean): void;
187
+ // (undocumented)
188
+ processSignal(message: ISignalMessage, local: boolean): void;
189
+ refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
190
+ resolveHandle(request: IRequest): Promise<IResponse>;
191
+ // (undocumented)
192
+ get scope(): FluidObject;
193
+ // (undocumented)
194
+ setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
195
+ // (undocumented)
196
+ setConnectionState(connected: boolean, clientId?: string): void;
197
+ // (undocumented)
198
+ get storage(): IDocumentStorageService;
199
+ // (undocumented)
200
+ submitDataStoreAliasOp(contents: any, localOpMetadata: unknown): void;
201
+ // (undocumented)
202
+ submitDataStoreOp(id: string, contents: any, localOpMetadata?: unknown): void;
203
+ submitDataStoreSignal(address: string, type: string, content: any, targetClientId?: string): void;
204
+ submitSignal(type: string, content: any, targetClientId?: string): void;
205
+ submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
206
+ summarize(options: {
207
+ fullTree?: boolean;
208
+ trackState?: boolean;
209
+ summaryLogger?: ITelemetryLoggerExt;
210
+ runGC?: boolean;
211
+ fullGC?: boolean;
212
+ runSweep?: boolean;
213
+ }): Promise<ISummaryTreeWithStats>;
214
+ // (undocumented)
215
+ summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;
216
+ get summarizerClientId(): string | undefined;
217
+ updateStateBeforeGC(): Promise<void>;
218
+ updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
219
+ updateUnusedRoutes(unusedRoutes: readonly string[]): void;
220
+ updateUsedRoutes(usedRoutes: readonly string[]): void;
221
+ // (undocumented)
222
+ uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
223
+ }
224
+
225
+ // @internal @deprecated
226
+ export interface ContainerRuntimeMessage {
227
+ compatDetails?: IContainerRuntimeMessageCompatDetails;
228
+ contents: any;
229
+ type: ContainerMessageType;
230
+ }
231
+
232
+ // @alpha (undocumented)
233
+ export const DefaultSummaryConfiguration: ISummaryConfiguration;
234
+
235
+ // @alpha (undocumented)
236
+ export type EnqueueSummarizeResult = (ISummarizeResults & {
237
+ readonly alreadyEnqueued?: undefined;
238
+ }) | (ISummarizeResults & {
239
+ readonly alreadyEnqueued: true;
240
+ readonly overridden: true;
241
+ }) | {
242
+ readonly alreadyEnqueued: true;
243
+ readonly overridden?: undefined;
244
+ };
245
+
246
+ // @internal (undocumented)
247
+ export class FluidDataStoreRegistry implements IFluidDataStoreRegistry {
248
+ constructor(namedEntries: NamedFluidDataStoreRegistryEntries);
249
+ // (undocumented)
250
+ get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
251
+ // (undocumented)
252
+ get IFluidDataStoreRegistry(): this;
253
+ }
254
+
255
+ // @alpha (undocumented)
256
+ export type GCFeatureMatrix = {
257
+ gcGeneration?: number;
258
+ tombstoneGeneration?: undefined;
259
+ } | {
260
+ tombstoneGeneration: number;
261
+ };
262
+
263
+ // @alpha
264
+ export const GCNodeType: {
265
+ DataStore: string;
266
+ SubDataStore: string;
267
+ Blob: string;
268
+ Other: string;
269
+ };
270
+
271
+ // @alpha (undocumented)
272
+ export type GCNodeType = (typeof GCNodeType)[keyof typeof GCNodeType];
273
+
274
+ // @alpha (undocumented)
275
+ export type GCVersion = number;
276
+
277
+ export { generateStableId }
278
+
279
+ // @alpha
280
+ export interface IAckedSummary {
281
+ // (undocumented)
282
+ readonly summaryAck: ISummaryAckMessage;
283
+ // (undocumented)
284
+ readonly summaryOp: ISummaryOpMessage;
285
+ }
286
+
287
+ // @alpha (undocumented)
288
+ export interface IAckSummaryResult {
289
+ // (undocumented)
290
+ readonly ackNackDuration: number;
291
+ // (undocumented)
292
+ readonly summaryAckOp: ISummaryAckMessage;
293
+ }
294
+
295
+ // @alpha
296
+ export interface IBaseSummarizeResult {
297
+ readonly error: any;
298
+ // (undocumented)
299
+ readonly minimumSequenceNumber: number;
300
+ readonly referenceSequenceNumber: number;
301
+ // (undocumented)
302
+ readonly stage: "base";
303
+ }
304
+
305
+ // @alpha
306
+ export interface IBlobManagerLoadInfo {
307
+ // (undocumented)
308
+ ids?: string[];
309
+ // (undocumented)
310
+ redirectTable?: [string, string][];
311
+ }
312
+
313
+ // @alpha (undocumented)
314
+ export interface IBroadcastSummaryResult {
315
+ // (undocumented)
316
+ readonly broadcastDuration: number;
317
+ // (undocumented)
318
+ readonly summarizeOp: ISummaryOpMessage;
319
+ }
320
+
321
+ // @alpha
322
+ export interface ICancellableSummarizerController extends ISummaryCancellationToken {
323
+ // (undocumented)
324
+ stop(reason: SummarizerStopReason): void;
325
+ }
326
+
327
+ // @alpha
328
+ export interface ICancellationToken<T> {
329
+ readonly cancelled: boolean;
330
+ readonly waitCancelled: Promise<T>;
331
+ }
332
+
333
+ // @internal (undocumented)
334
+ export interface IChunkedOp {
335
+ // (undocumented)
336
+ chunkId: number;
337
+ // (undocumented)
338
+ contents: string;
339
+ // (undocumented)
340
+ originalCompression?: string;
341
+ // (undocumented)
342
+ originalMetadata?: Record<string, unknown>;
343
+ // (undocumented)
344
+ originalType: MessageType | ContainerMessageType;
345
+ // (undocumented)
346
+ totalChunks: number;
347
+ }
348
+
349
+ // @alpha
350
+ export interface IClientSummaryWatcher extends IDisposable {
351
+ // (undocumented)
352
+ waitFlushed(): Promise<IAckedSummary | undefined>;
353
+ // (undocumented)
354
+ watchSummary(clientSequenceNumber: number): ISummary;
355
+ }
356
+
357
+ // @alpha
358
+ export interface ICompressionRuntimeOptions {
359
+ readonly compressionAlgorithm: CompressionAlgorithms;
360
+ readonly minimumBatchSizeInBytes: number;
361
+ }
362
+
363
+ // @alpha (undocumented)
364
+ export interface IConnectableRuntime {
365
+ // (undocumented)
366
+ readonly clientId: string | undefined;
367
+ // (undocumented)
368
+ readonly connected: boolean;
369
+ // (undocumented)
370
+ readonly disposed: boolean;
371
+ // (undocumented)
372
+ once(event: "connected" | "disconnected" | "dispose", listener: () => void): this;
373
+ }
374
+
375
+ // @internal
376
+ export interface IContainerRuntimeMessageCompatDetails {
377
+ behavior: CompatModeBehavior;
378
+ }
379
+
380
+ // @alpha (undocumented)
381
+ export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGCMetadata {
382
+ readonly disableIsolatedChannels?: true;
383
+ readonly idCompressorEnabled?: boolean;
384
+ readonly message: ISummaryMetadataMessage | undefined;
385
+ // (undocumented)
386
+ readonly summaryFormatVersion: 1;
387
+ readonly summaryNumber?: number;
388
+ readonly telemetryDocumentId?: string;
389
+ }
390
+
391
+ // @alpha
392
+ export interface IContainerRuntimeOptions {
393
+ readonly chunkSizeInBytes?: number;
394
+ readonly compressionOptions?: ICompressionRuntimeOptions;
395
+ readonly enableGroupedBatching?: boolean;
396
+ readonly enableOpReentryCheck?: boolean;
397
+ readonly enableRuntimeIdCompressor?: boolean;
398
+ readonly flushMode?: FlushMode;
399
+ // (undocumented)
400
+ readonly gcOptions?: IGCRuntimeOptions;
401
+ readonly loadSequenceNumberVerification?: "close" | "log" | "bypass";
402
+ readonly maxBatchSizeInBytes?: number;
403
+ // (undocumented)
404
+ readonly summaryOptions?: ISummaryRuntimeOptions;
405
+ }
406
+
407
+ // @alpha (undocumented)
408
+ export interface ICreateContainerMetadata {
409
+ createContainerRuntimeVersion?: string;
410
+ createContainerTimestamp?: number;
411
+ }
412
+
413
+ // @alpha
414
+ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
415
+ readonly afterSequenceNumber?: number;
416
+ readonly override?: boolean;
417
+ }
418
+
419
+ // @alpha (undocumented)
420
+ export interface IGCMetadata {
421
+ readonly gcFeature?: GCVersion;
422
+ readonly gcFeatureMatrix?: GCFeatureMatrix;
423
+ readonly sessionExpiryTimeoutMs?: number;
424
+ // @deprecated
425
+ readonly sweepEnabled?: boolean;
426
+ readonly sweepTimeoutMs?: number;
427
+ }
428
+
429
+ // @alpha (undocumented)
430
+ export interface IGCRuntimeOptions {
431
+ [key: string]: any;
432
+ disableGC?: boolean;
433
+ enableGCSweep?: true;
434
+ gcAllowed?: boolean;
435
+ runFullGC?: boolean;
436
+ sessionExpiryTimeoutMs?: number;
437
+ sweepGracePeriodMs?: number;
438
+ }
439
+
440
+ // @alpha
441
+ export interface IGCStats extends IMarkPhaseStats, ISweepPhaseStats {
442
+ }
443
+
444
+ // @alpha
445
+ export interface IGeneratedSummaryStats extends ISummaryStats {
446
+ readonly dataStoreCount: number;
447
+ readonly gcBlobNodeCount?: number;
448
+ readonly gcStateUpdatedDataStoreCount?: number;
449
+ readonly gcTotalBlobsSize?: number;
450
+ readonly summarizedDataStoreCount: number;
451
+ readonly summaryNumber: number;
452
+ }
453
+
454
+ // @alpha
455
+ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
456
+ readonly forcedFullTree: boolean;
457
+ readonly generateDuration: number;
458
+ // (undocumented)
459
+ readonly stage: "generate";
460
+ readonly summaryStats: IGeneratedSummaryStats;
461
+ readonly summaryTree: ISummaryTree;
462
+ }
463
+
464
+ // @alpha
465
+ export interface IMarkPhaseStats {
466
+ attachmentBlobCount: number;
467
+ dataStoreCount: number;
468
+ nodeCount: number;
469
+ unrefAttachmentBlobCount: number;
470
+ unrefDataStoreCount: number;
471
+ unrefNodeCount: number;
472
+ updatedAttachmentBlobCount: number;
473
+ updatedDataStoreCount: number;
474
+ updatedNodeCount: number;
475
+ }
476
+
477
+ // @alpha (undocumented)
478
+ export interface INackSummaryResult extends IRetriableFailureResult {
479
+ // (undocumented)
480
+ readonly ackNackDuration: number;
481
+ // (undocumented)
482
+ readonly summaryNackOp: ISummaryNackMessage;
483
+ }
484
+
485
+ // @alpha
486
+ export const InactiveResponseHeaderKey = "isInactive";
487
+
488
+ // @alpha (undocumented)
489
+ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
490
+ readonly reason: string;
491
+ }
492
+
493
+ // @alpha
494
+ export interface IRefreshSummaryAckOptions {
495
+ readonly ackHandle: string;
496
+ readonly proposalHandle: string | undefined;
497
+ readonly summaryLogger: ITelemetryLoggerExt;
498
+ readonly summaryRefSeq: number;
499
+ }
500
+
501
+ // @alpha
502
+ export interface IRetriableFailureResult {
503
+ // (undocumented)
504
+ readonly retryAfterSeconds?: number;
505
+ }
506
+
507
+ // @alpha
508
+ export interface ISerializedElection {
509
+ readonly electedClientId: string | undefined;
510
+ readonly electedParentId: string | undefined;
511
+ readonly electionSequenceNumber: number;
512
+ }
513
+
514
+ // @internal @deprecated (undocumented)
515
+ export function isRuntimeMessage(message: ISequencedDocumentMessage): boolean;
516
+
517
+ export { isStableId }
518
+
519
+ // @alpha
520
+ export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
521
+ readonly clientSequenceNumber: number;
522
+ // (undocumented)
523
+ readonly stage: "submit";
524
+ readonly submitOpDuration: number;
525
+ }
526
+
527
+ // @alpha (undocumented)
528
+ export interface ISubmitSummaryOptions extends ISummarizeOptions {
529
+ readonly cancellationToken: ISummaryCancellationToken;
530
+ readonly finalAttempt?: boolean;
531
+ readonly summaryLogger: ITelemetryLoggerExt;
532
+ }
533
+
534
+ // @alpha (undocumented)
535
+ export interface ISummarizeEventProps {
536
+ // (undocumented)
537
+ currentAttempt: number;
538
+ // (undocumented)
539
+ error?: any;
540
+ // (undocumented)
541
+ maxAttempts: number;
542
+ // (undocumented)
543
+ result: "success" | "failure" | "canceled";
544
+ }
545
+
546
+ // @alpha
547
+ export interface ISummarizeOptions {
548
+ readonly fullTree?: boolean;
549
+ // @deprecated
550
+ readonly refreshLatestAck?: boolean;
551
+ }
552
+
553
+ // @alpha (undocumented)
554
+ export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
555
+ // (undocumented)
556
+ close(): void;
557
+ enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
558
+ readonly ISummarizer?: ISummarizer;
559
+ // (undocumented)
560
+ run(onBehalfOf: string, disableHeuristics?: boolean): Promise<SummarizerStopReason>;
561
+ // (undocumented)
562
+ stop(reason: SummarizerStopReason): void;
563
+ summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;
564
+ }
565
+
566
+ // @alpha (undocumented)
567
+ export interface ISummarizeResults {
568
+ readonly receivedSummaryAckOrNack: Promise<SummarizeResultPart<IAckSummaryResult, INackSummaryResult>>;
569
+ readonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;
570
+ readonly summarySubmitted: Promise<SummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>>;
571
+ }
572
+
573
+ // @alpha (undocumented)
574
+ export interface ISummarizerEvents extends IEvent {
575
+ // (undocumented)
576
+ (event: "summarize", listener: (props: ISummarizeEventProps) => void): any;
577
+ }
578
+
579
+ // @alpha (undocumented)
580
+ export interface ISummarizerInternalsProvider {
581
+ refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
582
+ submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
583
+ }
584
+
585
+ // @alpha (undocumented)
586
+ export interface ISummarizerRuntime extends IConnectableRuntime {
587
+ // (undocumented)
588
+ closeFn(): void;
589
+ // (undocumented)
590
+ readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
591
+ // (undocumented)
592
+ disposeFn(): void;
593
+ // (undocumented)
594
+ readonly logger: ITelemetryLoggerExt;
595
+ // (undocumented)
596
+ off(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
597
+ // (undocumented)
598
+ on(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
599
+ readonly summarizerClientId: string | undefined;
600
+ }
601
+
602
+ // @internal (undocumented)
603
+ export interface ISummarizingWarning extends ContainerWarning {
604
+ // (undocumented)
605
+ readonly errorType: "summarizingError";
606
+ // (undocumented)
607
+ readonly logged: boolean;
608
+ }
609
+
610
+ // @alpha
611
+ export interface ISummary {
612
+ // (undocumented)
613
+ readonly clientId: string;
614
+ // (undocumented)
615
+ readonly clientSequenceNumber: number;
616
+ // (undocumented)
617
+ waitAckNack(): Promise<ISummaryAckMessage | ISummaryNackMessage>;
618
+ // (undocumented)
619
+ waitBroadcast(): Promise<ISummaryOpMessage>;
620
+ }
621
+
622
+ // @alpha
623
+ export interface ISummaryAckMessage extends ISequencedDocumentMessage {
624
+ // (undocumented)
625
+ contents: ISummaryAck;
626
+ // (undocumented)
627
+ type: MessageType.SummaryAck;
628
+ }
629
+
630
+ // @alpha (undocumented)
631
+ export interface ISummaryBaseConfiguration {
632
+ initialSummarizerDelayMs: number;
633
+ maxAckWaitTime: number;
634
+ maxOpsSinceLastSummary: number;
635
+ }
636
+
637
+ // @alpha
638
+ export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
639
+
640
+ // @alpha (undocumented)
641
+ export interface ISummaryCollectionOpEvents extends IEvent {
642
+ // (undocumented)
643
+ (event: OpActionEventName, listener: OpActionEventListener): any;
644
+ }
645
+
646
+ // @alpha (undocumented)
647
+ export type ISummaryConfiguration = ISummaryConfigurationDisableSummarizer | ISummaryConfigurationDisableHeuristics | ISummaryConfigurationHeuristics;
648
+
649
+ // @alpha (undocumented)
650
+ export interface ISummaryConfigurationDisableHeuristics extends ISummaryBaseConfiguration {
651
+ // (undocumented)
652
+ state: "disableHeuristics";
653
+ }
654
+
655
+ // @alpha (undocumented)
656
+ export interface ISummaryConfigurationDisableSummarizer {
657
+ // (undocumented)
658
+ state: "disabled";
659
+ }
660
+
661
+ // @alpha (undocumented)
662
+ export interface ISummaryConfigurationHeuristics extends ISummaryBaseConfiguration {
663
+ maxIdleTime: number;
664
+ maxOps: number;
665
+ maxTime: number;
666
+ minIdleTime: number;
667
+ minOpsForLastSummaryAttempt: number;
668
+ nonRuntimeHeuristicThreshold?: number;
669
+ nonRuntimeOpWeight: number;
670
+ runtimeOpWeight: number;
671
+ // (undocumented)
672
+ state: "enabled";
673
+ }
674
+
675
+ // @alpha
676
+ export type ISummaryMetadataMessage = Pick<ISequencedDocumentMessage, "clientId" | "clientSequenceNumber" | "minimumSequenceNumber" | "referenceSequenceNumber" | "sequenceNumber" | "timestamp" | "type">;
677
+
678
+ // @alpha
679
+ export interface ISummaryNackMessage extends ISequencedDocumentMessage {
680
+ // (undocumented)
681
+ contents: ISummaryNack;
682
+ // (undocumented)
683
+ type: MessageType.SummaryNack;
684
+ }
685
+
686
+ // @alpha
687
+ export interface ISummaryOpMessage extends ISequencedDocumentMessage {
688
+ // (undocumented)
689
+ contents: ISummaryContent;
690
+ // (undocumented)
691
+ type: MessageType.Summarize;
692
+ }
693
+
694
+ // @alpha (undocumented)
695
+ export interface ISummaryRuntimeOptions {
696
+ // @deprecated
697
+ initialSummarizerDelayMs?: number;
698
+ summaryConfigOverrides?: ISummaryConfiguration;
699
+ }
700
+
701
+ // @alpha
702
+ export interface ISweepPhaseStats {
703
+ deletedAttachmentBlobCount: number;
704
+ deletedDataStoreCount: number;
705
+ deletedNodeCount: number;
706
+ lifetimeAttachmentBlobCount: number;
707
+ lifetimeDataStoreCount: number;
708
+ lifetimeNodeCount: number;
709
+ }
710
+
711
+ // @alpha
712
+ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
713
+ readonly handle: string;
714
+ // (undocumented)
715
+ readonly stage: "upload";
716
+ readonly uploadDuration: number;
717
+ }
718
+
719
+ // @internal
720
+ export const neverCancelledSummaryToken: ISummaryCancellationToken;
721
+
722
+ // @alpha (undocumented)
723
+ export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
724
+
725
+ // @alpha (undocumented)
726
+ export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
727
+
728
+ // @internal
729
+ export interface RecentlyAddedContainerRuntimeMessageDetails {
730
+ compatDetails: IContainerRuntimeMessageCompatDetails;
731
+ }
732
+
733
+ // @internal
734
+ export enum RuntimeHeaders {
735
+ viaHandle = "viaHandle",
736
+ wait = "wait"
737
+ }
738
+
739
+ // @internal @deprecated (undocumented)
740
+ export enum RuntimeMessage {
741
+ // (undocumented)
742
+ Alias = "alias",
743
+ // (undocumented)
744
+ Attach = "attach",
745
+ // (undocumented)
746
+ BlobAttach = "blobAttach",
747
+ // (undocumented)
748
+ ChunkedOp = "chunkedOp",
749
+ // (undocumented)
750
+ FluidDataStoreOp = "component",
751
+ // (undocumented)
752
+ Operation = "op",
753
+ // (undocumented)
754
+ Rejoin = "rejoin"
755
+ }
756
+
757
+ // @alpha
758
+ export interface SubmitSummaryFailureData extends IRetriableFailureResult {
759
+ // (undocumented)
760
+ stage: SummaryStage;
761
+ }
762
+
763
+ // @alpha
764
+ export type SubmitSummaryResult = IBaseSummarizeResult | IGenerateSummaryTreeResult | IUploadSummaryResult | ISubmitSummaryOpResult;
765
+
766
+ // @alpha
767
+ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
768
+ constructor(
769
+ runtime: ISummarizerRuntime, configurationGetter: () => ISummaryConfiguration,
770
+ internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
771
+ // (undocumented)
772
+ close(): void;
773
+ dispose(): void;
774
+ // (undocumented)
775
+ enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
776
+ // (undocumented)
777
+ get ISummarizer(): this;
778
+ // (undocumented)
779
+ recordSummaryAttempt?(summaryRefSeqNum?: number): void;
780
+ // (undocumented)
781
+ run(onBehalfOf: string): Promise<SummarizerStopReason>;
782
+ stop(reason: SummarizerStopReason): void;
783
+ static stopReasonCanRunLastSummary(stopReason: SummarizerStopReason): boolean;
784
+ // (undocumented)
785
+ summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;
786
+ // (undocumented)
787
+ readonly summaryCollection: SummaryCollection;
788
+ }
789
+
790
+ // @alpha (undocumented)
791
+ export type SummarizeResultPart<TSuccess, TFailure = undefined> = {
792
+ success: true;
793
+ data: TSuccess;
794
+ } | {
795
+ success: false;
796
+ data: TFailure | undefined;
797
+ message: string;
798
+ error: any;
799
+ };
800
+
801
+ // @alpha (undocumented)
802
+ export type SummarizerStopReason =
803
+ /** Summarizer client failed to summarize in all 3 consecutive attempts. */
804
+ "failToSummarize"
805
+ /** Parent client reported that it is no longer connected. */
806
+ | "parentNotConnected"
807
+ /**
808
+ * Parent client reported that it is no longer elected the summarizer.
809
+ * This is the normal flow; a disconnect will always trigger the parent
810
+ * client to no longer be elected as responsible for summaries. Then it
811
+ * tries to stop its spawned summarizer client.
812
+ */
813
+ | "notElectedParent"
814
+ /**
815
+ * We are not already running the summarizer and we are not the current elected client id.
816
+ */
817
+ | "notElectedClient"
818
+ /** Summarizer client was disconnected */
819
+ | "summarizerClientDisconnected"
820
+ /** running summarizer threw an exception */
821
+ | "summarizerException"
822
+ /**
823
+ * The previous summary state on the summarizer is not the most recently acked summary. this also happens when the
824
+ * first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack
825
+ */
826
+ | "latestSummaryStateStale";
827
+
828
+ // @alpha
829
+ export class SummaryCollection extends TypedEventEmitter<ISummaryCollectionOpEvents> {
830
+ constructor(deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>, logger: ITelemetryLoggerExt);
831
+ // (undocumented)
832
+ addOpListener(listener: () => void): void;
833
+ createWatcher(clientId: string): IClientSummaryWatcher;
834
+ // (undocumented)
835
+ emit(event: OpActionEventName, ...args: Parameters<OpActionEventListener>): boolean;
836
+ // (undocumented)
837
+ get latestAck(): IAckedSummary | undefined;
838
+ // (undocumented)
839
+ get opsSinceLastAck(): number;
840
+ // (undocumented)
841
+ removeOpListener(listener: () => void): void;
842
+ // (undocumented)
843
+ removeWatcher(clientId: string): void;
844
+ // (undocumented)
845
+ setPendingAckTimerTimeoutCallback(maxAckWaitTime: number, timeoutCallback: () => void): void;
846
+ // (undocumented)
847
+ unsetPendingAckTimerTimeoutCallback(): void;
848
+ waitFlushed(): Promise<IAckedSummary | undefined>;
849
+ waitSummaryAck(referenceSequenceNumber: number): Promise<IAckedSummary>;
850
+ }
851
+
852
+ // @alpha
853
+ export type SummaryStage = SubmitSummaryResult["stage"] | "unknown";
854
+
855
+ // @alpha
856
+ export const TombstoneResponseHeaderKey = "isTombstoned";
857
+
858
+ // @internal
859
+ export function unpackRuntimeMessage(message: ISequencedDocumentMessage): boolean;
860
+
861
+ // (No @packageDocumentation comment for this package)
862
+
863
+ ```