@fluidframework/container-runtime 2.0.0-dev.6.4.0.192049 → 2.0.0-dev.7.2.0.204906

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 (345) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/api-extractor.json +1 -1
  3. package/api-report/container-runtime.api.md +866 -0
  4. package/dist/blobManager.d.ts +4 -6
  5. package/dist/blobManager.d.ts.map +1 -1
  6. package/dist/blobManager.js +56 -78
  7. package/dist/blobManager.js.map +1 -1
  8. package/dist/connectionTelemetry.d.ts.map +1 -1
  9. package/dist/connectionTelemetry.js +75 -42
  10. package/dist/connectionTelemetry.js.map +1 -1
  11. package/dist/container-runtime-alpha.d.ts +1744 -0
  12. package/dist/container-runtime-beta.d.ts +1744 -0
  13. package/dist/container-runtime-public.d.ts +1744 -0
  14. package/dist/container-runtime-untrimmed.d.ts +1805 -0
  15. package/dist/containerHandleContext.js +3 -3
  16. package/dist/containerHandleContext.js.map +1 -1
  17. package/dist/containerRuntime.d.ts +94 -102
  18. package/dist/containerRuntime.d.ts.map +1 -1
  19. package/dist/containerRuntime.js +478 -454
  20. package/dist/containerRuntime.js.map +1 -1
  21. package/dist/dataStore.js +11 -11
  22. package/dist/dataStore.js.map +1 -1
  23. package/dist/dataStoreContext.d.ts +2 -4
  24. package/dist/dataStoreContext.d.ts.map +1 -1
  25. package/dist/dataStoreContext.js +56 -59
  26. package/dist/dataStoreContext.js.map +1 -1
  27. package/dist/dataStoreRegistry.d.ts +3 -0
  28. package/dist/dataStoreRegistry.d.ts.map +1 -1
  29. package/dist/dataStoreRegistry.js +6 -3
  30. package/dist/dataStoreRegistry.js.map +1 -1
  31. package/dist/dataStores.d.ts +0 -2
  32. package/dist/dataStores.d.ts.map +1 -1
  33. package/dist/dataStores.js +3 -8
  34. package/dist/dataStores.js.map +1 -1
  35. package/dist/deltaManagerProxyBase.js +4 -4
  36. package/dist/deltaManagerProxyBase.js.map +1 -1
  37. package/dist/deltaManagerSummarizerProxy.js +6 -6
  38. package/dist/deltaManagerSummarizerProxy.js.map +1 -1
  39. package/dist/deltaScheduler.js.map +1 -1
  40. package/dist/error.d.ts.map +1 -1
  41. package/dist/error.js.map +1 -1
  42. package/dist/gc/garbageCollection.d.ts +6 -0
  43. package/dist/gc/garbageCollection.d.ts.map +1 -1
  44. package/dist/gc/garbageCollection.js +36 -25
  45. package/dist/gc/garbageCollection.js.map +1 -1
  46. package/dist/gc/gcConfigs.d.ts +1 -0
  47. package/dist/gc/gcConfigs.d.ts.map +1 -1
  48. package/dist/gc/gcConfigs.js +13 -3
  49. package/dist/gc/gcConfigs.js.map +1 -1
  50. package/dist/gc/gcDefinitions.d.ts +48 -28
  51. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  52. package/dist/gc/gcDefinitions.js +10 -7
  53. package/dist/gc/gcDefinitions.js.map +1 -1
  54. package/dist/gc/gcSummaryDefinitions.d.ts +1 -1
  55. package/dist/gc/gcSummaryDefinitions.js.map +1 -1
  56. package/dist/gc/gcTelemetry.d.ts +3 -4
  57. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  58. package/dist/gc/gcTelemetry.js +7 -8
  59. package/dist/gc/gcTelemetry.js.map +1 -1
  60. package/dist/gc/gcUnreferencedStateTracker.js +3 -3
  61. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  62. package/dist/gc/index.d.ts +2 -2
  63. package/dist/gc/index.d.ts.map +1 -1
  64. package/dist/gc/index.js +3 -7
  65. package/dist/gc/index.js.map +1 -1
  66. package/dist/id-compressor/appendOnlySortedMap.js.map +1 -1
  67. package/dist/id-compressor/idCompressor.js.map +1 -1
  68. package/dist/id-compressor/identifiers.d.ts +3 -3
  69. package/dist/id-compressor/identifiers.d.ts.map +1 -1
  70. package/dist/id-compressor/utilities.d.ts +3 -0
  71. package/dist/id-compressor/utilities.d.ts.map +1 -1
  72. package/dist/id-compressor/utilities.js +3 -0
  73. package/dist/id-compressor/utilities.js.map +1 -1
  74. package/dist/index.d.ts +5 -3
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +6 -2
  77. package/dist/index.js.map +1 -1
  78. package/dist/messageTypes.d.ts +137 -0
  79. package/dist/messageTypes.d.ts.map +1 -0
  80. package/dist/messageTypes.js +32 -0
  81. package/dist/messageTypes.js.map +1 -0
  82. package/dist/opLifecycle/batchManager.js +6 -6
  83. package/dist/opLifecycle/batchManager.js.map +1 -1
  84. package/dist/opLifecycle/definitions.d.ts +7 -3
  85. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  86. package/dist/opLifecycle/definitions.js.map +1 -1
  87. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  88. package/dist/opLifecycle/opDecompressor.js +0 -4
  89. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  90. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  91. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  92. package/dist/opLifecycle/opSplitter.js +3 -3
  93. package/dist/opLifecycle/opSplitter.js.map +1 -1
  94. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  95. package/dist/opLifecycle/outbox.js +7 -2
  96. package/dist/opLifecycle/outbox.js.map +1 -1
  97. package/dist/opLifecycle/remoteMessageProcessor.d.ts +17 -3
  98. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  99. package/dist/opLifecycle/remoteMessageProcessor.js +38 -25
  100. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  101. package/dist/packageVersion.d.ts +1 -1
  102. package/dist/packageVersion.js +1 -1
  103. package/dist/packageVersion.js.map +1 -1
  104. package/dist/pendingStateManager.d.ts +4 -20
  105. package/dist/pendingStateManager.d.ts.map +1 -1
  106. package/dist/pendingStateManager.js +36 -46
  107. package/dist/pendingStateManager.js.map +1 -1
  108. package/dist/scheduleManager.js +6 -2
  109. package/dist/scheduleManager.js.map +1 -1
  110. package/dist/summary/orderedClientElection.d.ts +7 -4
  111. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  112. package/dist/summary/orderedClientElection.js +54 -54
  113. package/dist/summary/orderedClientElection.js.map +1 -1
  114. package/dist/summary/runWhileConnectedCoordinator.d.ts +5 -0
  115. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  116. package/dist/summary/runWhileConnectedCoordinator.js +7 -6
  117. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  118. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  119. package/dist/summary/runningSummarizer.js +40 -38
  120. package/dist/summary/runningSummarizer.js.map +1 -1
  121. package/dist/summary/summarizer.d.ts +2 -0
  122. package/dist/summary/summarizer.d.ts.map +1 -1
  123. package/dist/summary/summarizer.js +18 -8
  124. package/dist/summary/summarizer.js.map +1 -1
  125. package/dist/summary/summarizerClientElection.js +6 -6
  126. package/dist/summary/summarizerClientElection.js.map +1 -1
  127. package/dist/summary/summarizerHeuristics.js +9 -9
  128. package/dist/summary/summarizerHeuristics.js.map +1 -1
  129. package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -1
  130. package/dist/summary/summarizerNode/summarizerNode.js +8 -8
  131. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  132. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
  133. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  134. package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -3
  135. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  136. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  137. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  138. package/dist/summary/summarizerTypes.d.ts +107 -22
  139. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  140. package/dist/summary/summarizerTypes.js.map +1 -1
  141. package/dist/summary/summaryCollection.d.ts +18 -2
  142. package/dist/summary/summaryCollection.d.ts.map +1 -1
  143. package/dist/summary/summaryCollection.js +23 -21
  144. package/dist/summary/summaryCollection.js.map +1 -1
  145. package/dist/summary/summaryFormat.d.ts +15 -6
  146. package/dist/summary/summaryFormat.d.ts.map +1 -1
  147. package/dist/summary/summaryFormat.js.map +1 -1
  148. package/dist/summary/summaryGenerator.d.ts +3 -3
  149. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  150. package/dist/summary/summaryGenerator.js.map +1 -1
  151. package/dist/summary/summaryManager.d.ts +2 -2
  152. package/dist/summary/summaryManager.d.ts.map +1 -1
  153. package/dist/summary/summaryManager.js +10 -10
  154. package/dist/summary/summaryManager.js.map +1 -1
  155. package/dist/throttler.js +16 -16
  156. package/dist/throttler.js.map +1 -1
  157. package/dist/tsdoc-metadata.json +1 -1
  158. package/lib/blobManager.d.ts +4 -6
  159. package/lib/blobManager.d.ts.map +1 -1
  160. package/lib/blobManager.js +58 -80
  161. package/lib/blobManager.js.map +1 -1
  162. package/lib/connectionTelemetry.d.ts.map +1 -1
  163. package/lib/connectionTelemetry.js +76 -43
  164. package/lib/connectionTelemetry.js.map +1 -1
  165. package/lib/containerHandleContext.js +3 -3
  166. package/lib/containerHandleContext.js.map +1 -1
  167. package/lib/containerRuntime.d.ts +94 -102
  168. package/lib/containerRuntime.d.ts.map +1 -1
  169. package/lib/containerRuntime.js +437 -418
  170. package/lib/containerRuntime.js.map +1 -1
  171. package/lib/dataStore.js +11 -11
  172. package/lib/dataStore.js.map +1 -1
  173. package/lib/dataStoreContext.d.ts +2 -4
  174. package/lib/dataStoreContext.d.ts.map +1 -1
  175. package/lib/dataStoreContext.js +57 -60
  176. package/lib/dataStoreContext.js.map +1 -1
  177. package/lib/dataStoreRegistry.d.ts +3 -0
  178. package/lib/dataStoreRegistry.d.ts.map +1 -1
  179. package/lib/dataStoreRegistry.js +6 -3
  180. package/lib/dataStoreRegistry.js.map +1 -1
  181. package/lib/dataStores.d.ts +0 -2
  182. package/lib/dataStores.d.ts.map +1 -1
  183. package/lib/dataStores.js +4 -9
  184. package/lib/dataStores.js.map +1 -1
  185. package/lib/deltaManagerProxyBase.js +4 -4
  186. package/lib/deltaManagerProxyBase.js.map +1 -1
  187. package/lib/deltaManagerSummarizerProxy.js +6 -6
  188. package/lib/deltaManagerSummarizerProxy.js.map +1 -1
  189. package/lib/deltaScheduler.js.map +1 -1
  190. package/lib/error.d.ts.map +1 -1
  191. package/lib/error.js.map +1 -1
  192. package/lib/gc/garbageCollection.d.ts +6 -0
  193. package/lib/gc/garbageCollection.d.ts.map +1 -1
  194. package/lib/gc/garbageCollection.js +36 -25
  195. package/lib/gc/garbageCollection.js.map +1 -1
  196. package/lib/gc/gcConfigs.d.ts +1 -0
  197. package/lib/gc/gcConfigs.d.ts.map +1 -1
  198. package/lib/gc/gcConfigs.js +15 -5
  199. package/lib/gc/gcConfigs.js.map +1 -1
  200. package/lib/gc/gcDefinitions.d.ts +48 -28
  201. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  202. package/lib/gc/gcDefinitions.js +9 -6
  203. package/lib/gc/gcDefinitions.js.map +1 -1
  204. package/lib/gc/gcSummaryDefinitions.d.ts +1 -1
  205. package/lib/gc/gcSummaryDefinitions.js.map +1 -1
  206. package/lib/gc/gcTelemetry.d.ts +3 -4
  207. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  208. package/lib/gc/gcTelemetry.js +7 -8
  209. package/lib/gc/gcTelemetry.js.map +1 -1
  210. package/lib/gc/gcUnreferencedStateTracker.js +3 -3
  211. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  212. package/lib/gc/index.d.ts +2 -2
  213. package/lib/gc/index.d.ts.map +1 -1
  214. package/lib/gc/index.js +2 -2
  215. package/lib/gc/index.js.map +1 -1
  216. package/lib/id-compressor/appendOnlySortedMap.js.map +1 -1
  217. package/lib/id-compressor/idCompressor.js.map +1 -1
  218. package/lib/id-compressor/identifiers.d.ts +3 -3
  219. package/lib/id-compressor/identifiers.d.ts.map +1 -1
  220. package/lib/id-compressor/utilities.d.ts +3 -0
  221. package/lib/id-compressor/utilities.d.ts.map +1 -1
  222. package/lib/id-compressor/utilities.js +3 -0
  223. package/lib/id-compressor/utilities.js.map +1 -1
  224. package/lib/index.d.ts +5 -3
  225. package/lib/index.d.ts.map +1 -1
  226. package/lib/index.js +3 -1
  227. package/lib/index.js.map +1 -1
  228. package/lib/messageTypes.d.ts +137 -0
  229. package/lib/messageTypes.d.ts.map +1 -0
  230. package/lib/messageTypes.js +29 -0
  231. package/lib/messageTypes.js.map +1 -0
  232. package/lib/opLifecycle/batchManager.js +6 -6
  233. package/lib/opLifecycle/batchManager.js.map +1 -1
  234. package/lib/opLifecycle/definitions.d.ts +7 -3
  235. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  236. package/lib/opLifecycle/definitions.js.map +1 -1
  237. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  238. package/lib/opLifecycle/opDecompressor.js +0 -4
  239. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  240. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  241. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  242. package/lib/opLifecycle/opSplitter.js +1 -1
  243. package/lib/opLifecycle/opSplitter.js.map +1 -1
  244. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  245. package/lib/opLifecycle/outbox.js +7 -2
  246. package/lib/opLifecycle/outbox.js.map +1 -1
  247. package/lib/opLifecycle/remoteMessageProcessor.d.ts +17 -3
  248. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  249. package/lib/opLifecycle/remoteMessageProcessor.js +37 -24
  250. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  251. package/lib/packageVersion.d.ts +1 -1
  252. package/lib/packageVersion.js +1 -1
  253. package/lib/packageVersion.js.map +1 -1
  254. package/lib/pendingStateManager.d.ts +4 -20
  255. package/lib/pendingStateManager.d.ts.map +1 -1
  256. package/lib/pendingStateManager.js +35 -45
  257. package/lib/pendingStateManager.js.map +1 -1
  258. package/lib/scheduleManager.js +6 -2
  259. package/lib/scheduleManager.js.map +1 -1
  260. package/lib/summary/orderedClientElection.d.ts +7 -4
  261. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  262. package/lib/summary/orderedClientElection.js +54 -54
  263. package/lib/summary/orderedClientElection.js.map +1 -1
  264. package/lib/summary/runWhileConnectedCoordinator.d.ts +5 -0
  265. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  266. package/lib/summary/runWhileConnectedCoordinator.js +7 -6
  267. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  268. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  269. package/lib/summary/runningSummarizer.js +40 -38
  270. package/lib/summary/runningSummarizer.js.map +1 -1
  271. package/lib/summary/summarizer.d.ts +2 -0
  272. package/lib/summary/summarizer.d.ts.map +1 -1
  273. package/lib/summary/summarizer.js +19 -9
  274. package/lib/summary/summarizer.js.map +1 -1
  275. package/lib/summary/summarizerClientElection.js +6 -6
  276. package/lib/summary/summarizerClientElection.js.map +1 -1
  277. package/lib/summary/summarizerHeuristics.js +9 -9
  278. package/lib/summary/summarizerHeuristics.js.map +1 -1
  279. package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -1
  280. package/lib/summary/summarizerNode/summarizerNode.js +8 -8
  281. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  282. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
  283. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  284. package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -3
  285. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  286. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  287. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  288. package/lib/summary/summarizerTypes.d.ts +107 -22
  289. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  290. package/lib/summary/summarizerTypes.js.map +1 -1
  291. package/lib/summary/summaryCollection.d.ts +18 -2
  292. package/lib/summary/summaryCollection.d.ts.map +1 -1
  293. package/lib/summary/summaryCollection.js +23 -21
  294. package/lib/summary/summaryCollection.js.map +1 -1
  295. package/lib/summary/summaryFormat.d.ts +15 -6
  296. package/lib/summary/summaryFormat.d.ts.map +1 -1
  297. package/lib/summary/summaryFormat.js.map +1 -1
  298. package/lib/summary/summaryGenerator.d.ts +3 -3
  299. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  300. package/lib/summary/summaryGenerator.js.map +1 -1
  301. package/lib/summary/summaryManager.d.ts +2 -2
  302. package/lib/summary/summaryManager.d.ts.map +1 -1
  303. package/lib/summary/summaryManager.js +9 -9
  304. package/lib/summary/summaryManager.js.map +1 -1
  305. package/lib/throttler.js +16 -16
  306. package/lib/throttler.js.map +1 -1
  307. package/package.json +32 -29
  308. package/src/blobManager.ts +67 -92
  309. package/src/connectionTelemetry.ts +97 -52
  310. package/src/containerRuntime.ts +351 -351
  311. package/src/dataStore.ts +3 -3
  312. package/src/dataStoreContext.ts +9 -13
  313. package/src/dataStoreRegistry.ts +3 -0
  314. package/src/dataStores.ts +5 -17
  315. package/src/error.ts +4 -1
  316. package/src/gc/garbageCollection.ts +25 -12
  317. package/src/gc/gcConfigs.ts +25 -7
  318. package/src/gc/gcDefinitions.ts +49 -29
  319. package/src/gc/gcSummaryDefinitions.ts +1 -1
  320. package/src/gc/gcTelemetry.ts +8 -8
  321. package/src/gc/index.ts +2 -6
  322. package/src/id-compressor/utilities.ts +3 -0
  323. package/src/index.ts +21 -5
  324. package/src/messageTypes.ts +228 -0
  325. package/src/opLifecycle/README.md +93 -68
  326. package/src/opLifecycle/definitions.ts +5 -1
  327. package/src/opLifecycle/opDecompressor.ts +0 -8
  328. package/src/opLifecycle/opGroupingManager.ts +2 -4
  329. package/src/opLifecycle/opSplitter.ts +2 -2
  330. package/src/opLifecycle/outbox.ts +3 -0
  331. package/src/opLifecycle/remoteMessageProcessor.ts +54 -33
  332. package/src/packageVersion.ts +1 -1
  333. package/src/pendingStateManager.ts +31 -52
  334. package/src/scheduleManager.ts +2 -0
  335. package/src/summary/orderedClientElection.ts +4 -1
  336. package/src/summary/runWhileConnectedCoordinator.ts +5 -1
  337. package/src/summary/runningSummarizer.ts +3 -1
  338. package/src/summary/summarizer.ts +21 -7
  339. package/src/summary/summarizerNode/summarizerNode.ts +1 -1
  340. package/src/summary/summarizerTypes.ts +96 -11
  341. package/src/summary/summaryCollection.ts +19 -1
  342. package/src/summary/summaryFormat.ts +11 -1
  343. package/src/summary/summaryGenerator.ts +3 -3
  344. package/src/summary/summaryManager.ts +2 -2
  345. package/src/gc/gcEarlyAdoption.md +0 -145
@@ -0,0 +1,866 @@
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 { AttachState } from '@fluidframework/container-definitions';
8
+ import { ContainerWarning } from '@fluidframework/container-definitions';
9
+ import { FluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions';
10
+ import { FluidObject } from '@fluidframework/core-interfaces';
11
+ import { FlushMode } from '@fluidframework/runtime-definitions';
12
+ import { IAudience } from '@fluidframework/container-definitions';
13
+ import { IClientDetails } from '@fluidframework/protocol-definitions';
14
+ import { IContainerContext } from '@fluidframework/container-definitions';
15
+ import { IContainerRuntime } from '@fluidframework/container-runtime-definitions';
16
+ import { IContainerRuntimeEvents } from '@fluidframework/container-runtime-definitions';
17
+ import { ICriticalContainerError } from '@fluidframework/container-definitions';
18
+ import { IDataStore } from '@fluidframework/runtime-definitions';
19
+ import { IDeltaManager } from '@fluidframework/container-definitions';
20
+ import { IDisposable } from '@fluidframework/core-interfaces';
21
+ import { IDocumentMessage } from '@fluidframework/protocol-definitions';
22
+ import { IDocumentStorageService } from '@fluidframework/driver-definitions';
23
+ import { IEvent } from '@fluidframework/core-interfaces';
24
+ import { IEventProvider } from '@fluidframework/core-interfaces';
25
+ import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions';
26
+ import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
27
+ import { IFluidHandle } from '@fluidframework/core-interfaces';
28
+ import { IFluidHandleContext } from '@fluidframework/core-interfaces';
29
+ import { IFluidRouter } from '@fluidframework/core-interfaces';
30
+ import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
31
+ import { IIdCompressor } from '@fluidframework/runtime-definitions';
32
+ import { IIdCompressorCore } from '@fluidframework/runtime-definitions';
33
+ import { ILoader } from '@fluidframework/container-definitions';
34
+ import { ILoaderOptions } from '@fluidframework/container-definitions';
35
+ import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
36
+ import { IQuorumClients } from '@fluidframework/protocol-definitions';
37
+ import { IRequest } from '@fluidframework/core-interfaces';
38
+ import { IResponse } from '@fluidframework/core-interfaces';
39
+ import { IRuntime } from '@fluidframework/container-definitions';
40
+ import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
41
+ import { ISignalMessage } from '@fluidframework/protocol-definitions';
42
+ import { ISummaryAck } from '@fluidframework/protocol-definitions';
43
+ import { ISummaryContent } from '@fluidframework/protocol-definitions';
44
+ import { ISummaryNack } from '@fluidframework/protocol-definitions';
45
+ import { ISummaryStats } from '@fluidframework/runtime-definitions';
46
+ import { ISummaryTree } from '@fluidframework/protocol-definitions';
47
+ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
48
+ import { ITelemetryContext } from '@fluidframework/runtime-definitions';
49
+ import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
50
+ import { MessageType } from '@fluidframework/protocol-definitions';
51
+ import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions';
52
+ import { StableId } from '@fluidframework/runtime-definitions';
53
+ import { TypedEventEmitter } from '@fluid-internal/client-utils';
54
+
55
+ // @public
56
+ export const agentSchedulerId = "_scheduler";
57
+
58
+ // @public
59
+ export const AllowInactiveRequestHeaderKey = "allowInactive";
60
+
61
+ // @public
62
+ export const AllowTombstoneRequestHeaderKey = "allowTombstone";
63
+
64
+ // @public
65
+ export function assertIsStableId(stableId: string): StableId;
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
+ // @public
75
+ export enum CompressionAlgorithms {
76
+ // (undocumented)
77
+ lz4 = "lz4"
78
+ }
79
+
80
+ // @public (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
+ IdAllocation = "idAllocation",
93
+ // (undocumented)
94
+ Rejoin = "rejoin"
95
+ }
96
+
97
+ // @public
98
+ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents & ISummarizerEvents> implements IContainerRuntime, IRuntime, ISummarizerRuntime, ISummarizerInternalsProvider, IProvideFluidHandleContext {
99
+ // @internal
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
+ // @internal @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: string[]): string[];
129
+ // @deprecated (undocumented)
130
+ deleteUnusedNodes(unusedRoutes: 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 gcThrowOnTombstoneLoad(): boolean;
144
+ get gcThrowOnTombstoneUsage(): boolean;
145
+ get gcTombstoneEnforcementAllowed(): boolean;
146
+ // (undocumented)
147
+ readonly getAbsoluteUrl: (relativeUrl: string) => Promise<string | undefined>;
148
+ getAliasedDataStoreEntryPoint(alias: string): Promise<IFluidHandle<FluidObject> | undefined>;
149
+ // (undocumented)
150
+ getAudience(): IAudience;
151
+ getCurrentReferenceTimestampMs(): number | undefined;
152
+ // (undocumented)
153
+ getEntryPoint(): Promise<FluidObject>;
154
+ getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
155
+ getGCNodePackagePath(nodePath: string): Promise<readonly string[] | undefined>;
156
+ getNodeType(nodePath: string): GCNodeType;
157
+ // (undocumented)
158
+ getPendingLocalState(props?: {
159
+ notifyImminentClosure: boolean;
160
+ }): Promise<unknown>;
161
+ // (undocumented)
162
+ getQuorum(): IQuorumClients;
163
+ // @deprecated
164
+ getRootDataStore(id: string, wait?: boolean): Promise<IFluidRouter>;
165
+ // (undocumented)
166
+ idCompressor: (IIdCompressor & IIdCompressorCore) | undefined;
167
+ // (undocumented)
168
+ get IFluidDataStoreRegistry(): IFluidDataStoreRegistry;
169
+ // (undocumented)
170
+ get IFluidHandleContext(): IFluidHandleContext;
171
+ // @deprecated (undocumented)
172
+ get IFluidRouter(): this;
173
+ get isDirty(): boolean;
174
+ // @deprecated (undocumented)
175
+ static load(context: IContainerContext, registryEntries: NamedFluidDataStoreRegistryEntries, requestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>, runtimeOptions?: IContainerRuntimeOptions, containerScope?: FluidObject, existing?: boolean, containerRuntimeCtor?: typeof ContainerRuntime): Promise<ContainerRuntime>;
176
+ static loadRuntime(params: {
177
+ context: IContainerContext;
178
+ registryEntries: NamedFluidDataStoreRegistryEntries;
179
+ existing: boolean;
180
+ runtimeOptions?: IContainerRuntimeOptions;
181
+ containerScope?: FluidObject;
182
+ containerRuntimeCtor?: typeof ContainerRuntime;
183
+ requestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>;
184
+ provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>;
185
+ }): Promise<ContainerRuntime>;
186
+ // (undocumented)
187
+ readonly logger: ITelemetryLoggerExt;
188
+ // (undocumented)
189
+ notifyAttaching(): void;
190
+ // (undocumented)
191
+ notifyOpReplay(message: ISequencedDocumentMessage): Promise<void>;
192
+ // (undocumented)
193
+ readonly options: ILoaderOptions;
194
+ // (undocumented)
195
+ orderSequentially<T>(callback: () => T): T;
196
+ // (undocumented)
197
+ process(messageArg: ISequencedDocumentMessage, local: boolean): void;
198
+ // (undocumented)
199
+ processSignal(message: ISignalMessage, local: boolean): void;
200
+ refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
201
+ // @deprecated
202
+ request(request: IRequest): Promise<IResponse>;
203
+ resolveHandle(request: IRequest): Promise<IResponse>;
204
+ // (undocumented)
205
+ get scope(): FluidObject;
206
+ // (undocumented)
207
+ setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
208
+ // (undocumented)
209
+ setConnectionState(connected: boolean, clientId?: string): void;
210
+ // (undocumented)
211
+ get storage(): IDocumentStorageService;
212
+ // (undocumented)
213
+ submitDataStoreAliasOp(contents: any, localOpMetadata: unknown): void;
214
+ // (undocumented)
215
+ submitDataStoreOp(id: string, contents: any, localOpMetadata?: unknown): void;
216
+ // (undocumented)
217
+ submitDataStoreSignal(address: string, type: string, content: any): void;
218
+ submitSignal(type: string, content: any): void;
219
+ submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
220
+ summarize(options: {
221
+ fullTree?: boolean;
222
+ trackState?: boolean;
223
+ summaryLogger?: ITelemetryLoggerExt;
224
+ runGC?: boolean;
225
+ fullGC?: boolean;
226
+ runSweep?: boolean;
227
+ }): Promise<ISummaryTreeWithStats>;
228
+ // (undocumented)
229
+ summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;
230
+ get summarizerClientId(): string | undefined;
231
+ updateStateBeforeGC(): Promise<void>;
232
+ updateTombstonedRoutes(tombstonedRoutes: string[]): void;
233
+ updateUnusedRoutes(unusedRoutes: string[]): void;
234
+ updateUsedRoutes(usedRoutes: string[]): void;
235
+ // (undocumented)
236
+ uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
237
+ }
238
+
239
+ // @internal @deprecated
240
+ export interface ContainerRuntimeMessage {
241
+ compatDetails?: IContainerRuntimeMessageCompatDetails;
242
+ contents: any;
243
+ type: ContainerMessageType;
244
+ }
245
+
246
+ // @public (undocumented)
247
+ export const DefaultSummaryConfiguration: ISummaryConfiguration;
248
+
249
+ // @public (undocumented)
250
+ export type EnqueueSummarizeResult = (ISummarizeResults & {
251
+ readonly alreadyEnqueued?: undefined;
252
+ }) | (ISummarizeResults & {
253
+ readonly alreadyEnqueued: true;
254
+ readonly overridden: true;
255
+ }) | {
256
+ readonly alreadyEnqueued: true;
257
+ readonly overridden?: undefined;
258
+ };
259
+
260
+ // @public (undocumented)
261
+ export class FluidDataStoreRegistry implements IFluidDataStoreRegistry {
262
+ constructor(namedEntries: NamedFluidDataStoreRegistryEntries);
263
+ // (undocumented)
264
+ get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
265
+ // (undocumented)
266
+ get IFluidDataStoreRegistry(): this;
267
+ }
268
+
269
+ // @public (undocumented)
270
+ export interface GCFeatureMatrix {
271
+ sweepGeneration?: number;
272
+ tombstoneGeneration?: number;
273
+ }
274
+
275
+ // @public
276
+ export const GCNodeType: {
277
+ DataStore: string;
278
+ SubDataStore: string;
279
+ Blob: string;
280
+ Other: string;
281
+ };
282
+
283
+ // @public (undocumented)
284
+ export type GCNodeType = (typeof GCNodeType)[keyof typeof GCNodeType];
285
+
286
+ // @public (undocumented)
287
+ export type GCVersion = number;
288
+
289
+ // @public
290
+ export function generateStableId(): StableId;
291
+
292
+ // @public
293
+ export interface IAckedSummary {
294
+ // (undocumented)
295
+ readonly summaryAck: ISummaryAckMessage;
296
+ // (undocumented)
297
+ readonly summaryOp: ISummaryOpMessage;
298
+ }
299
+
300
+ // @public (undocumented)
301
+ export interface IAckSummaryResult {
302
+ // (undocumented)
303
+ readonly ackNackDuration: number;
304
+ // (undocumented)
305
+ readonly summaryAckOp: ISummaryAckMessage;
306
+ }
307
+
308
+ // @public
309
+ export interface IBaseSummarizeResult {
310
+ readonly error: any;
311
+ // (undocumented)
312
+ readonly minimumSequenceNumber: number;
313
+ readonly referenceSequenceNumber: number;
314
+ // (undocumented)
315
+ readonly stage: "base";
316
+ }
317
+
318
+ // @public
319
+ export interface IBlobManagerLoadInfo {
320
+ // (undocumented)
321
+ ids?: string[];
322
+ // (undocumented)
323
+ redirectTable?: [string, string][];
324
+ }
325
+
326
+ // @public (undocumented)
327
+ export interface IBroadcastSummaryResult {
328
+ // (undocumented)
329
+ readonly broadcastDuration: number;
330
+ // (undocumented)
331
+ readonly summarizeOp: ISummaryOpMessage;
332
+ }
333
+
334
+ // @public
335
+ export interface ICancellableSummarizerController extends ISummaryCancellationToken {
336
+ // (undocumented)
337
+ stop(reason: SummarizerStopReason): void;
338
+ }
339
+
340
+ // @public
341
+ export interface ICancellationToken<T> {
342
+ readonly cancelled: boolean;
343
+ readonly waitCancelled: Promise<T>;
344
+ }
345
+
346
+ // @public (undocumented)
347
+ export interface IChunkedOp {
348
+ // (undocumented)
349
+ chunkId: number;
350
+ // (undocumented)
351
+ contents: string;
352
+ // (undocumented)
353
+ originalCompression?: string;
354
+ // (undocumented)
355
+ originalMetadata?: Record<string, unknown>;
356
+ // (undocumented)
357
+ originalType: MessageType | ContainerMessageType;
358
+ // (undocumented)
359
+ totalChunks: number;
360
+ }
361
+
362
+ // @public
363
+ export interface IClientSummaryWatcher extends IDisposable {
364
+ // (undocumented)
365
+ waitFlushed(): Promise<IAckedSummary | undefined>;
366
+ // (undocumented)
367
+ watchSummary(clientSequenceNumber: number): ISummary;
368
+ }
369
+
370
+ // @public
371
+ export interface ICompressionRuntimeOptions {
372
+ readonly compressionAlgorithm: CompressionAlgorithms;
373
+ readonly minimumBatchSizeInBytes: number;
374
+ }
375
+
376
+ // @public (undocumented)
377
+ export interface IConnectableRuntime {
378
+ // (undocumented)
379
+ readonly clientId: string | undefined;
380
+ // (undocumented)
381
+ readonly connected: boolean;
382
+ // (undocumented)
383
+ readonly disposed: boolean;
384
+ // (undocumented)
385
+ once(event: "connected" | "disconnected" | "dispose", listener: () => void): this;
386
+ }
387
+
388
+ // @internal
389
+ export interface IContainerRuntimeMessageCompatDetails {
390
+ behavior: CompatModeBehavior;
391
+ }
392
+
393
+ // @public (undocumented)
394
+ export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGCMetadata {
395
+ readonly disableIsolatedChannels?: true;
396
+ readonly idCompressorEnabled?: boolean;
397
+ readonly message: ISummaryMetadataMessage | undefined;
398
+ // (undocumented)
399
+ readonly summaryFormatVersion: 1;
400
+ readonly summaryNumber?: number;
401
+ readonly telemetryDocumentId?: string;
402
+ }
403
+
404
+ // @public
405
+ export interface IContainerRuntimeOptions {
406
+ readonly chunkSizeInBytes?: number;
407
+ readonly compressionOptions?: ICompressionRuntimeOptions;
408
+ readonly enableGroupedBatching?: boolean;
409
+ readonly enableOpReentryCheck?: boolean;
410
+ readonly enableRuntimeIdCompressor?: boolean;
411
+ readonly flushMode?: FlushMode;
412
+ // (undocumented)
413
+ readonly gcOptions?: IGCRuntimeOptions;
414
+ readonly loadSequenceNumberVerification?: "close" | "log" | "bypass";
415
+ readonly maxBatchSizeInBytes?: number;
416
+ // (undocumented)
417
+ readonly summaryOptions?: ISummaryRuntimeOptions;
418
+ }
419
+
420
+ // @public (undocumented)
421
+ export interface ICreateContainerMetadata {
422
+ createContainerRuntimeVersion?: string;
423
+ createContainerTimestamp?: number;
424
+ }
425
+
426
+ // @public
427
+ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
428
+ readonly afterSequenceNumber?: number;
429
+ readonly override?: boolean;
430
+ }
431
+
432
+ // @public (undocumented)
433
+ export interface IGCMetadata {
434
+ readonly gcFeature?: GCVersion;
435
+ readonly gcFeatureMatrix?: GCFeatureMatrix;
436
+ readonly sessionExpiryTimeoutMs?: number;
437
+ // @deprecated
438
+ readonly sweepEnabled?: boolean;
439
+ readonly sweepTimeoutMs?: number;
440
+ }
441
+
442
+ // @public (undocumented)
443
+ export interface IGCRuntimeOptions {
444
+ [key: string]: any;
445
+ disableGC?: boolean;
446
+ gcAllowed?: boolean;
447
+ runFullGC?: boolean;
448
+ sessionExpiryTimeoutMs?: number;
449
+ }
450
+
451
+ // @public
452
+ export interface IGCStats {
453
+ attachmentBlobCount: number;
454
+ dataStoreCount: number;
455
+ nodeCount: number;
456
+ unrefAttachmentBlobCount: number;
457
+ unrefDataStoreCount: number;
458
+ unrefNodeCount: number;
459
+ updatedAttachmentBlobCount: number;
460
+ updatedDataStoreCount: number;
461
+ updatedNodeCount: number;
462
+ }
463
+
464
+ // @public
465
+ export interface IGeneratedSummaryStats extends ISummaryStats {
466
+ readonly dataStoreCount: number;
467
+ readonly gcBlobNodeCount?: number;
468
+ readonly gcStateUpdatedDataStoreCount?: number;
469
+ readonly gcTotalBlobsSize?: number;
470
+ readonly summarizedDataStoreCount: number;
471
+ readonly summaryNumber: number;
472
+ }
473
+
474
+ // @public
475
+ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
476
+ readonly forcedFullTree: boolean;
477
+ readonly generateDuration: number;
478
+ // (undocumented)
479
+ readonly stage: "generate";
480
+ readonly summaryStats: IGeneratedSummaryStats;
481
+ readonly summaryTree: ISummaryTree;
482
+ }
483
+
484
+ // @public (undocumented)
485
+ export interface INackSummaryResult extends IRetriableFailureResult {
486
+ // (undocumented)
487
+ readonly ackNackDuration: number;
488
+ // (undocumented)
489
+ readonly summaryNackOp: ISummaryNackMessage;
490
+ }
491
+
492
+ // @public
493
+ export const InactiveResponseHeaderKey = "isInactive";
494
+
495
+ // @public (undocumented)
496
+ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
497
+ readonly reason: string;
498
+ }
499
+
500
+ // @public
501
+ export interface IRefreshSummaryAckOptions {
502
+ readonly ackHandle: string;
503
+ readonly proposalHandle: string | undefined;
504
+ readonly summaryLogger: ITelemetryLoggerExt;
505
+ readonly summaryRefSeq: number;
506
+ }
507
+
508
+ // @public
509
+ export interface IRetriableFailureResult {
510
+ // (undocumented)
511
+ readonly retryAfterSeconds?: number;
512
+ }
513
+
514
+ // @public
515
+ export interface ISerializedElection {
516
+ readonly electedClientId: string | undefined;
517
+ readonly electedParentId: string | undefined;
518
+ readonly electionSequenceNumber: number;
519
+ }
520
+
521
+ // @public @deprecated (undocumented)
522
+ export function isRuntimeMessage(message: ISequencedDocumentMessage): boolean;
523
+
524
+ // @public
525
+ export function isStableId(str: string): str is StableId;
526
+
527
+ // @public
528
+ export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
529
+ readonly clientSequenceNumber: number;
530
+ // (undocumented)
531
+ readonly stage: "submit";
532
+ readonly submitOpDuration: number;
533
+ }
534
+
535
+ // @public (undocumented)
536
+ export interface ISubmitSummaryOptions extends ISummarizeOptions {
537
+ readonly cancellationToken: ISummaryCancellationToken;
538
+ readonly finalAttempt?: boolean;
539
+ readonly summaryLogger: ITelemetryLoggerExt;
540
+ }
541
+
542
+ // @public (undocumented)
543
+ export interface ISummarizeEventProps {
544
+ // (undocumented)
545
+ currentAttempt: number;
546
+ // (undocumented)
547
+ error?: any;
548
+ // (undocumented)
549
+ maxAttempts: number;
550
+ // (undocumented)
551
+ result: "success" | "failure" | "canceled";
552
+ }
553
+
554
+ // @public
555
+ export interface ISummarizeOptions {
556
+ readonly fullTree?: boolean;
557
+ // @deprecated
558
+ readonly refreshLatestAck?: boolean;
559
+ }
560
+
561
+ // @public (undocumented)
562
+ export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
563
+ // (undocumented)
564
+ close(): void;
565
+ enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
566
+ readonly ISummarizer?: ISummarizer;
567
+ // (undocumented)
568
+ run(onBehalfOf: string, disableHeuristics?: boolean): Promise<SummarizerStopReason>;
569
+ // (undocumented)
570
+ stop(reason: SummarizerStopReason): void;
571
+ summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;
572
+ }
573
+
574
+ // @public (undocumented)
575
+ export interface ISummarizeResults {
576
+ readonly receivedSummaryAckOrNack: Promise<SummarizeResultPart<IAckSummaryResult, INackSummaryResult>>;
577
+ readonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;
578
+ readonly summarySubmitted: Promise<SummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>>;
579
+ }
580
+
581
+ // @public (undocumented)
582
+ export interface ISummarizerEvents extends IEvent {
583
+ // (undocumented)
584
+ (event: "summarize", listener: (props: ISummarizeEventProps) => void): any;
585
+ }
586
+
587
+ // @public (undocumented)
588
+ export interface ISummarizerInternalsProvider {
589
+ refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
590
+ submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
591
+ }
592
+
593
+ // @public (undocumented)
594
+ export interface ISummarizerRuntime extends IConnectableRuntime {
595
+ // (undocumented)
596
+ closeFn(): void;
597
+ // (undocumented)
598
+ readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
599
+ // (undocumented)
600
+ disposeFn(): void;
601
+ // (undocumented)
602
+ readonly logger: ITelemetryLoggerExt;
603
+ // (undocumented)
604
+ off(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
605
+ // (undocumented)
606
+ on(event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): this;
607
+ readonly summarizerClientId: string | undefined;
608
+ }
609
+
610
+ // @public (undocumented)
611
+ export interface ISummarizingWarning extends ContainerWarning {
612
+ // (undocumented)
613
+ readonly errorType: "summarizingError";
614
+ // (undocumented)
615
+ readonly logged: boolean;
616
+ }
617
+
618
+ // @public
619
+ export interface ISummary {
620
+ // (undocumented)
621
+ readonly clientId: string;
622
+ // (undocumented)
623
+ readonly clientSequenceNumber: number;
624
+ // (undocumented)
625
+ waitAckNack(): Promise<ISummaryAckMessage | ISummaryNackMessage>;
626
+ // (undocumented)
627
+ waitBroadcast(): Promise<ISummaryOpMessage>;
628
+ }
629
+
630
+ // @public
631
+ export interface ISummaryAckMessage extends ISequencedDocumentMessage {
632
+ // (undocumented)
633
+ contents: ISummaryAck;
634
+ // (undocumented)
635
+ type: MessageType.SummaryAck;
636
+ }
637
+
638
+ // @public (undocumented)
639
+ export interface ISummaryBaseConfiguration {
640
+ initialSummarizerDelayMs: number;
641
+ maxAckWaitTime: number;
642
+ maxOpsSinceLastSummary: number;
643
+ }
644
+
645
+ // @public
646
+ export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
647
+
648
+ // @public (undocumented)
649
+ export interface ISummaryCollectionOpEvents extends IEvent {
650
+ // (undocumented)
651
+ (event: OpActionEventName, listener: OpActionEventListener): any;
652
+ }
653
+
654
+ // @public (undocumented)
655
+ export type ISummaryConfiguration = ISummaryConfigurationDisableSummarizer | ISummaryConfigurationDisableHeuristics | ISummaryConfigurationHeuristics;
656
+
657
+ // @public (undocumented)
658
+ export interface ISummaryConfigurationDisableHeuristics extends ISummaryBaseConfiguration {
659
+ // (undocumented)
660
+ state: "disableHeuristics";
661
+ }
662
+
663
+ // @public (undocumented)
664
+ export interface ISummaryConfigurationDisableSummarizer {
665
+ // (undocumented)
666
+ state: "disabled";
667
+ }
668
+
669
+ // @public (undocumented)
670
+ export interface ISummaryConfigurationHeuristics extends ISummaryBaseConfiguration {
671
+ maxIdleTime: number;
672
+ maxOps: number;
673
+ maxTime: number;
674
+ minIdleTime: number;
675
+ minOpsForLastSummaryAttempt: number;
676
+ nonRuntimeHeuristicThreshold?: number;
677
+ nonRuntimeOpWeight: number;
678
+ runtimeOpWeight: number;
679
+ // (undocumented)
680
+ state: "enabled";
681
+ }
682
+
683
+ // @public
684
+ export type ISummaryMetadataMessage = Pick<ISequencedDocumentMessage, "clientId" | "clientSequenceNumber" | "minimumSequenceNumber" | "referenceSequenceNumber" | "sequenceNumber" | "timestamp" | "type">;
685
+
686
+ // @public
687
+ export interface ISummaryNackMessage extends ISequencedDocumentMessage {
688
+ // (undocumented)
689
+ contents: ISummaryNack;
690
+ // (undocumented)
691
+ type: MessageType.SummaryNack;
692
+ }
693
+
694
+ // @public
695
+ export interface ISummaryOpMessage extends ISequencedDocumentMessage {
696
+ // (undocumented)
697
+ contents: ISummaryContent;
698
+ // (undocumented)
699
+ type: MessageType.Summarize;
700
+ }
701
+
702
+ // @public (undocumented)
703
+ export interface ISummaryRuntimeOptions {
704
+ // @deprecated
705
+ initialSummarizerDelayMs?: number;
706
+ summaryConfigOverrides?: ISummaryConfiguration;
707
+ }
708
+
709
+ // @public
710
+ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
711
+ readonly handle: string;
712
+ // (undocumented)
713
+ readonly stage: "upload";
714
+ readonly uploadDuration: number;
715
+ }
716
+
717
+ // @public
718
+ export const neverCancelledSummaryToken: ISummaryCancellationToken;
719
+
720
+ // @public (undocumented)
721
+ export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
722
+
723
+ // @public (undocumented)
724
+ export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
725
+
726
+ // @internal
727
+ export interface RecentlyAddedContainerRuntimeMessageDetails {
728
+ compatDetails: IContainerRuntimeMessageCompatDetails;
729
+ }
730
+
731
+ // @public
732
+ export enum RuntimeHeaders {
733
+ viaHandle = "viaHandle",
734
+ wait = "wait"
735
+ }
736
+
737
+ // @public @deprecated (undocumented)
738
+ export enum RuntimeMessage {
739
+ // (undocumented)
740
+ Alias = "alias",
741
+ // (undocumented)
742
+ Attach = "attach",
743
+ // (undocumented)
744
+ BlobAttach = "blobAttach",
745
+ // (undocumented)
746
+ ChunkedOp = "chunkedOp",
747
+ // (undocumented)
748
+ FluidDataStoreOp = "component",
749
+ // (undocumented)
750
+ Operation = "op",
751
+ // (undocumented)
752
+ Rejoin = "rejoin"
753
+ }
754
+
755
+ // @public
756
+ export interface SubmitSummaryFailureData extends IRetriableFailureResult {
757
+ // (undocumented)
758
+ stage: SummaryStage;
759
+ }
760
+
761
+ // @public
762
+ export type SubmitSummaryResult = IBaseSummarizeResult | IGenerateSummaryTreeResult | IUploadSummaryResult | ISubmitSummaryOpResult;
763
+
764
+ // @public
765
+ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
766
+ constructor(
767
+ runtime: ISummarizerRuntime, configurationGetter: () => ISummaryConfiguration,
768
+ internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
769
+ // (undocumented)
770
+ close(): void;
771
+ // @deprecated
772
+ static create(loader: ILoader, url: string): Promise<ISummarizer>;
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
+ // @public (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
+ // @public (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
+ // @public
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
+ // @public
853
+ export type SummaryStage = SubmitSummaryResult["stage"] | "unknown";
854
+
855
+ // @internal
856
+ export function TEST_requestSummarizer(loader: ILoader, url: string): Promise<ISummarizer>;
857
+
858
+ // @public
859
+ export const TombstoneResponseHeaderKey = "isTombstoned";
860
+
861
+ // @internal
862
+ export function unpackRuntimeMessage(message: ISequencedDocumentMessage): boolean;
863
+
864
+ // (No @packageDocumentation comment for this package)
865
+
866
+ ```