@fluidframework/container-runtime 2.0.0-dev-rc.2.0.0.246488 → 2.0.0-dev-rc.3.0.0.253463

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 (544) hide show
  1. package/api-report/container-runtime.api.md +109 -55
  2. package/dist/batchTracker.d.ts +1 -1
  3. package/dist/batchTracker.d.ts.map +1 -1
  4. package/dist/batchTracker.js +4 -4
  5. package/dist/batchTracker.js.map +1 -1
  6. package/dist/blobManager.d.ts +33 -25
  7. package/dist/blobManager.d.ts.map +1 -1
  8. package/dist/blobManager.js +82 -100
  9. package/dist/blobManager.js.map +1 -1
  10. package/dist/channelCollection.d.ts +7 -6
  11. package/dist/channelCollection.d.ts.map +1 -1
  12. package/dist/channelCollection.js +110 -77
  13. package/dist/channelCollection.js.map +1 -1
  14. package/dist/connectionTelemetry.d.ts +3 -3
  15. package/dist/connectionTelemetry.d.ts.map +1 -1
  16. package/dist/connectionTelemetry.js +17 -17
  17. package/dist/connectionTelemetry.js.map +1 -1
  18. package/dist/container-runtime-alpha.d.ts +263 -41
  19. package/dist/container-runtime-beta.d.ts +44 -30
  20. package/dist/container-runtime-public.d.ts +44 -30
  21. package/dist/container-runtime-untrimmed.d.ts +265 -56
  22. package/dist/containerHandleContext.d.ts.map +1 -1
  23. package/dist/containerHandleContext.js +2 -2
  24. package/dist/containerHandleContext.js.map +1 -1
  25. package/dist/containerRuntime.d.ts +40 -30
  26. package/dist/containerRuntime.d.ts.map +1 -1
  27. package/dist/containerRuntime.js +376 -255
  28. package/dist/containerRuntime.js.map +1 -1
  29. package/dist/dataStore.d.ts +1 -1
  30. package/dist/dataStore.d.ts.map +1 -1
  31. package/dist/dataStore.js +7 -7
  32. package/dist/dataStore.js.map +1 -1
  33. package/dist/dataStoreContext.d.ts +9 -9
  34. package/dist/dataStoreContext.d.ts.map +1 -1
  35. package/dist/dataStoreContext.js +74 -74
  36. package/dist/dataStoreContext.js.map +1 -1
  37. package/dist/dataStoreContexts.d.ts.map +1 -1
  38. package/dist/dataStoreContexts.js +11 -11
  39. package/dist/dataStoreContexts.js.map +1 -1
  40. package/dist/dataStoreRegistry.d.ts +1 -1
  41. package/dist/dataStoreRegistry.d.ts.map +1 -1
  42. package/dist/dataStoreRegistry.js +2 -2
  43. package/dist/dataStoreRegistry.js.map +1 -1
  44. package/dist/deltaManagerSummarizerProxy.d.ts +1 -1
  45. package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
  46. package/dist/deltaManagerSummarizerProxy.js.map +1 -1
  47. package/dist/deltaScheduler.d.ts +1 -1
  48. package/dist/deltaScheduler.d.ts.map +1 -1
  49. package/dist/deltaScheduler.js +6 -6
  50. package/dist/deltaScheduler.js.map +1 -1
  51. package/dist/error.d.ts +1 -1
  52. package/dist/error.d.ts.map +1 -1
  53. package/dist/error.js +4 -4
  54. package/dist/error.js.map +1 -1
  55. package/dist/gc/garbageCollection.d.ts +3 -2
  56. package/dist/gc/garbageCollection.d.ts.map +1 -1
  57. package/dist/gc/garbageCollection.js +21 -21
  58. package/dist/gc/garbageCollection.js.map +1 -1
  59. package/dist/gc/gcConfigs.d.ts +2 -2
  60. package/dist/gc/gcConfigs.d.ts.map +1 -1
  61. package/dist/gc/gcConfigs.js +4 -5
  62. package/dist/gc/gcConfigs.js.map +1 -1
  63. package/dist/gc/gcDefinitions.d.ts +4 -3
  64. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  65. package/dist/gc/gcDefinitions.js.map +1 -1
  66. package/dist/gc/gcHelpers.d.ts +5 -1
  67. package/dist/gc/gcHelpers.d.ts.map +1 -1
  68. package/dist/gc/gcHelpers.js +21 -12
  69. package/dist/gc/gcHelpers.js.map +1 -1
  70. package/dist/gc/gcSummaryStateTracker.d.ts +2 -2
  71. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  72. package/dist/gc/gcSummaryStateTracker.js +11 -11
  73. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  74. package/dist/gc/gcTelemetry.d.ts +2 -1
  75. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  76. package/dist/gc/gcTelemetry.js +11 -9
  77. package/dist/gc/gcTelemetry.js.map +1 -1
  78. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  79. package/dist/gc/gcUnreferencedStateTracker.js +6 -6
  80. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  81. package/dist/gc/index.d.ts +1 -1
  82. package/dist/gc/index.d.ts.map +1 -1
  83. package/dist/gc/index.js +2 -1
  84. package/dist/gc/index.js.map +1 -1
  85. package/dist/index.d.ts +2 -2
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -2
  88. package/dist/index.js.map +1 -1
  89. package/dist/messageTypes.d.ts +11 -5
  90. package/dist/messageTypes.d.ts.map +1 -1
  91. package/dist/messageTypes.js +4 -0
  92. package/dist/messageTypes.js.map +1 -1
  93. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  94. package/dist/opLifecycle/batchManager.js.map +1 -1
  95. package/dist/opLifecycle/definitions.d.ts +2 -20
  96. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  97. package/dist/opLifecycle/definitions.js.map +1 -1
  98. package/dist/opLifecycle/index.d.ts +3 -3
  99. package/dist/opLifecycle/index.d.ts.map +1 -1
  100. package/dist/opLifecycle/index.js +3 -1
  101. package/dist/opLifecycle/index.js.map +1 -1
  102. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  103. package/dist/opLifecycle/opCompressor.js +5 -6
  104. package/dist/opLifecycle/opCompressor.js.map +1 -1
  105. package/dist/opLifecycle/opDecompressor.d.ts +15 -4
  106. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  107. package/dist/opLifecycle/opDecompressor.js +62 -63
  108. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  109. package/dist/opLifecycle/opGroupingManager.d.ts +2 -1
  110. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  111. package/dist/opLifecycle/opGroupingManager.js +14 -16
  112. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  113. package/dist/opLifecycle/opSplitter.d.ts +12 -4
  114. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  115. package/dist/opLifecycle/opSplitter.js +63 -53
  116. package/dist/opLifecycle/opSplitter.js.map +1 -1
  117. package/dist/opLifecycle/outbox.d.ts +2 -1
  118. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  119. package/dist/opLifecycle/outbox.js +19 -24
  120. package/dist/opLifecycle/outbox.js.map +1 -1
  121. package/dist/opLifecycle/remoteMessageProcessor.d.ts +8 -0
  122. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  123. package/dist/opLifecycle/remoteMessageProcessor.js +36 -35
  124. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  125. package/dist/packageVersion.d.ts +1 -1
  126. package/dist/packageVersion.js +1 -1
  127. package/dist/packageVersion.js.map +1 -1
  128. package/dist/pendingStateManager.d.ts +1 -1
  129. package/dist/pendingStateManager.d.ts.map +1 -1
  130. package/dist/pendingStateManager.js +18 -18
  131. package/dist/pendingStateManager.js.map +1 -1
  132. package/dist/scheduleManager.d.ts +1 -1
  133. package/dist/scheduleManager.d.ts.map +1 -1
  134. package/dist/scheduleManager.js +24 -24
  135. package/dist/scheduleManager.js.map +1 -1
  136. package/dist/storageServiceWithAttachBlobs.d.ts +2 -2
  137. package/dist/storageServiceWithAttachBlobs.d.ts.map +1 -1
  138. package/dist/storageServiceWithAttachBlobs.js +2 -2
  139. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  140. package/dist/summary/documentSchema.d.ts +209 -0
  141. package/dist/summary/documentSchema.d.ts.map +1 -0
  142. package/dist/summary/documentSchema.js +382 -0
  143. package/dist/summary/documentSchema.js.map +1 -0
  144. package/dist/summary/index.d.ts +2 -1
  145. package/dist/summary/index.d.ts.map +1 -1
  146. package/dist/summary/index.js +4 -1
  147. package/dist/summary/index.js.map +1 -1
  148. package/dist/summary/orderedClientElection.d.ts +2 -2
  149. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  150. package/dist/summary/orderedClientElection.js +8 -7
  151. package/dist/summary/orderedClientElection.js.map +1 -1
  152. package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -1
  153. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  154. package/dist/summary/runWhileConnectedCoordinator.js +3 -3
  155. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  156. package/dist/summary/runningSummarizer.d.ts +3 -3
  157. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  158. package/dist/summary/runningSummarizer.js +16 -16
  159. package/dist/summary/runningSummarizer.js.map +1 -1
  160. package/dist/summary/summarizer.d.ts +3 -2
  161. package/dist/summary/summarizer.d.ts.map +1 -1
  162. package/dist/summary/summarizer.js +13 -13
  163. package/dist/summary/summarizer.js.map +1 -1
  164. package/dist/summary/summarizerClientElection.d.ts +2 -2
  165. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  166. package/dist/summary/summarizerClientElection.js.map +1 -1
  167. package/dist/summary/summarizerHeuristics.d.ts +1 -1
  168. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  169. package/dist/summary/summarizerHeuristics.js +2 -2
  170. package/dist/summary/summarizerHeuristics.js.map +1 -1
  171. package/dist/summary/summarizerNode/summarizerNode.d.ts +3 -2
  172. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  173. package/dist/summary/summarizerNode/summarizerNode.js +28 -28
  174. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  175. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  176. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  177. package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -3
  178. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  179. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
  180. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  181. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +14 -14
  182. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  183. package/dist/summary/summarizerTypes.d.ts +5 -3
  184. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  185. package/dist/summary/summarizerTypes.js.map +1 -1
  186. package/dist/summary/summaryCollection.d.ts +2 -2
  187. package/dist/summary/summaryCollection.d.ts.map +1 -1
  188. package/dist/summary/summaryCollection.js +7 -7
  189. package/dist/summary/summaryCollection.js.map +1 -1
  190. package/dist/summary/summaryFormat.d.ts +6 -17
  191. package/dist/summary/summaryFormat.d.ts.map +1 -1
  192. package/dist/summary/summaryFormat.js +8 -8
  193. package/dist/summary/summaryFormat.js.map +1 -1
  194. package/dist/summary/summaryGenerator.d.ts +4 -3
  195. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  196. package/dist/summary/summaryGenerator.js +17 -17
  197. package/dist/summary/summaryGenerator.js.map +1 -1
  198. package/dist/summary/summaryManager.d.ts +1 -1
  199. package/dist/summary/summaryManager.d.ts.map +1 -1
  200. package/dist/summary/summaryManager.js +15 -14
  201. package/dist/summary/summaryManager.js.map +1 -1
  202. package/lib/batchTracker.d.ts +1 -1
  203. package/lib/batchTracker.d.ts.map +1 -1
  204. package/lib/batchTracker.js +2 -2
  205. package/lib/batchTracker.js.map +1 -1
  206. package/lib/blobManager.d.ts +33 -25
  207. package/lib/blobManager.d.ts.map +1 -1
  208. package/lib/blobManager.js +48 -66
  209. package/lib/blobManager.js.map +1 -1
  210. package/lib/channelCollection.d.ts +7 -6
  211. package/lib/channelCollection.d.ts.map +1 -1
  212. package/lib/channelCollection.js +47 -14
  213. package/lib/channelCollection.js.map +1 -1
  214. package/lib/connectionTelemetry.d.ts +3 -3
  215. package/lib/connectionTelemetry.d.ts.map +1 -1
  216. package/lib/connectionTelemetry.js +3 -3
  217. package/lib/connectionTelemetry.js.map +1 -1
  218. package/lib/container-runtime-alpha.d.ts +263 -41
  219. package/lib/container-runtime-beta.d.ts +44 -30
  220. package/lib/container-runtime-public.d.ts +44 -30
  221. package/lib/container-runtime-untrimmed.d.ts +265 -56
  222. package/lib/containerHandleContext.d.ts.map +1 -1
  223. package/lib/containerHandleContext.js +1 -1
  224. package/lib/containerHandleContext.js.map +1 -1
  225. package/lib/containerRuntime.d.ts +40 -30
  226. package/lib/containerRuntime.d.ts.map +1 -1
  227. package/lib/containerRuntime.js +224 -101
  228. package/lib/containerRuntime.js.map +1 -1
  229. package/lib/dataStore.d.ts +1 -1
  230. package/lib/dataStore.d.ts.map +1 -1
  231. package/lib/dataStore.js +2 -2
  232. package/lib/dataStore.js.map +1 -1
  233. package/lib/dataStoreContext.d.ts +9 -9
  234. package/lib/dataStoreContext.d.ts.map +1 -1
  235. package/lib/dataStoreContext.js +8 -8
  236. package/lib/dataStoreContext.js.map +1 -1
  237. package/lib/dataStoreContexts.d.ts.map +1 -1
  238. package/lib/dataStoreContexts.js +2 -2
  239. package/lib/dataStoreContexts.js.map +1 -1
  240. package/lib/dataStoreRegistry.d.ts +1 -1
  241. package/lib/dataStoreRegistry.d.ts.map +1 -1
  242. package/lib/dataStoreRegistry.js +1 -1
  243. package/lib/dataStoreRegistry.js.map +1 -1
  244. package/lib/deltaManagerSummarizerProxy.d.ts +1 -1
  245. package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
  246. package/lib/deltaManagerSummarizerProxy.js.map +1 -1
  247. package/lib/deltaScheduler.d.ts +1 -1
  248. package/lib/deltaScheduler.d.ts.map +1 -1
  249. package/lib/deltaScheduler.js +1 -1
  250. package/lib/deltaScheduler.js.map +1 -1
  251. package/lib/error.d.ts +1 -1
  252. package/lib/error.d.ts.map +1 -1
  253. package/lib/error.js +2 -2
  254. package/lib/error.js.map +1 -1
  255. package/lib/gc/garbageCollection.d.ts +3 -2
  256. package/lib/gc/garbageCollection.d.ts.map +1 -1
  257. package/lib/gc/garbageCollection.js +6 -6
  258. package/lib/gc/garbageCollection.js.map +1 -1
  259. package/lib/gc/gcConfigs.d.ts +2 -2
  260. package/lib/gc/gcConfigs.d.ts.map +1 -1
  261. package/lib/gc/gcConfigs.js +4 -5
  262. package/lib/gc/gcConfigs.js.map +1 -1
  263. package/lib/gc/gcDefinitions.d.ts +4 -3
  264. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  265. package/lib/gc/gcDefinitions.js.map +1 -1
  266. package/lib/gc/gcHelpers.d.ts +5 -1
  267. package/lib/gc/gcHelpers.d.ts.map +1 -1
  268. package/lib/gc/gcHelpers.js +10 -2
  269. package/lib/gc/gcHelpers.js.map +1 -1
  270. package/lib/gc/gcSummaryStateTracker.d.ts +2 -2
  271. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  272. package/lib/gc/gcSummaryStateTracker.js +2 -2
  273. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  274. package/lib/gc/gcTelemetry.d.ts +2 -1
  275. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  276. package/lib/gc/gcTelemetry.js +4 -2
  277. package/lib/gc/gcTelemetry.js.map +1 -1
  278. package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  279. package/lib/gc/gcUnreferencedStateTracker.js +2 -2
  280. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  281. package/lib/gc/index.d.ts +1 -1
  282. package/lib/gc/index.d.ts.map +1 -1
  283. package/lib/gc/index.js +1 -1
  284. package/lib/gc/index.js.map +1 -1
  285. package/lib/index.d.ts +2 -2
  286. package/lib/index.d.ts.map +1 -1
  287. package/lib/index.js +2 -2
  288. package/lib/index.js.map +1 -1
  289. package/lib/messageTypes.d.ts +11 -5
  290. package/lib/messageTypes.d.ts.map +1 -1
  291. package/lib/messageTypes.js +4 -0
  292. package/lib/messageTypes.js.map +1 -1
  293. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  294. package/lib/opLifecycle/batchManager.js.map +1 -1
  295. package/lib/opLifecycle/definitions.d.ts +2 -20
  296. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  297. package/lib/opLifecycle/definitions.js.map +1 -1
  298. package/lib/opLifecycle/index.d.ts +3 -3
  299. package/lib/opLifecycle/index.d.ts.map +1 -1
  300. package/lib/opLifecycle/index.js +2 -2
  301. package/lib/opLifecycle/index.js.map +1 -1
  302. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  303. package/lib/opLifecycle/opCompressor.js +2 -3
  304. package/lib/opLifecycle/opCompressor.js.map +1 -1
  305. package/lib/opLifecycle/opDecompressor.d.ts +15 -4
  306. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  307. package/lib/opLifecycle/opDecompressor.js +61 -62
  308. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  309. package/lib/opLifecycle/opGroupingManager.d.ts +2 -1
  310. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  311. package/lib/opLifecycle/opGroupingManager.js +9 -12
  312. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  313. package/lib/opLifecycle/opSplitter.d.ts +12 -4
  314. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  315. package/lib/opLifecycle/opSplitter.js +47 -38
  316. package/lib/opLifecycle/opSplitter.js.map +1 -1
  317. package/lib/opLifecycle/outbox.d.ts +2 -1
  318. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  319. package/lib/opLifecycle/outbox.js +8 -13
  320. package/lib/opLifecycle/outbox.js.map +1 -1
  321. package/lib/opLifecycle/remoteMessageProcessor.d.ts +8 -0
  322. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  323. package/lib/opLifecycle/remoteMessageProcessor.js +36 -35
  324. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  325. package/lib/packageVersion.d.ts +1 -1
  326. package/lib/packageVersion.js +1 -1
  327. package/lib/packageVersion.js.map +1 -1
  328. package/lib/pendingStateManager.d.ts +1 -1
  329. package/lib/pendingStateManager.d.ts.map +1 -1
  330. package/lib/pendingStateManager.js +2 -2
  331. package/lib/pendingStateManager.js.map +1 -1
  332. package/lib/scheduleManager.d.ts +1 -1
  333. package/lib/scheduleManager.d.ts.map +1 -1
  334. package/lib/scheduleManager.js +3 -3
  335. package/lib/scheduleManager.js.map +1 -1
  336. package/lib/storageServiceWithAttachBlobs.d.ts +2 -2
  337. package/lib/storageServiceWithAttachBlobs.d.ts.map +1 -1
  338. package/lib/storageServiceWithAttachBlobs.js +1 -1
  339. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  340. package/lib/summary/documentSchema.d.ts +209 -0
  341. package/lib/summary/documentSchema.d.ts.map +1 -0
  342. package/lib/summary/documentSchema.js +378 -0
  343. package/lib/summary/documentSchema.js.map +1 -0
  344. package/lib/summary/index.d.ts +2 -1
  345. package/lib/summary/index.d.ts.map +1 -1
  346. package/lib/summary/index.js +1 -0
  347. package/lib/summary/index.js.map +1 -1
  348. package/lib/summary/orderedClientElection.d.ts +2 -2
  349. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  350. package/lib/summary/orderedClientElection.js +3 -2
  351. package/lib/summary/orderedClientElection.js.map +1 -1
  352. package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -1
  353. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  354. package/lib/summary/runWhileConnectedCoordinator.js +1 -1
  355. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  356. package/lib/summary/runningSummarizer.d.ts +3 -3
  357. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  358. package/lib/summary/runningSummarizer.js +3 -3
  359. package/lib/summary/runningSummarizer.js.map +1 -1
  360. package/lib/summary/summarizer.d.ts +3 -2
  361. package/lib/summary/summarizer.d.ts.map +1 -1
  362. package/lib/summary/summarizer.js +3 -3
  363. package/lib/summary/summarizer.js.map +1 -1
  364. package/lib/summary/summarizerClientElection.d.ts +2 -2
  365. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  366. package/lib/summary/summarizerClientElection.js.map +1 -1
  367. package/lib/summary/summarizerHeuristics.d.ts +1 -1
  368. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  369. package/lib/summary/summarizerHeuristics.js +1 -1
  370. package/lib/summary/summarizerHeuristics.js.map +1 -1
  371. package/lib/summary/summarizerNode/summarizerNode.d.ts +3 -2
  372. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  373. package/lib/summary/summarizerNode/summarizerNode.js +5 -5
  374. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  375. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  376. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  377. package/lib/summary/summarizerNode/summarizerNodeUtils.js +1 -1
  378. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  379. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
  380. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  381. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +3 -3
  382. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  383. package/lib/summary/summarizerTypes.d.ts +5 -3
  384. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  385. package/lib/summary/summarizerTypes.js.map +1 -1
  386. package/lib/summary/summaryCollection.d.ts +2 -2
  387. package/lib/summary/summaryCollection.d.ts.map +1 -1
  388. package/lib/summary/summaryCollection.js +1 -1
  389. package/lib/summary/summaryCollection.js.map +1 -1
  390. package/lib/summary/summaryFormat.d.ts +6 -17
  391. package/lib/summary/summaryFormat.d.ts.map +1 -1
  392. package/lib/summary/summaryFormat.js +3 -3
  393. package/lib/summary/summaryFormat.js.map +1 -1
  394. package/lib/summary/summaryGenerator.d.ts +4 -3
  395. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  396. package/lib/summary/summaryGenerator.js +4 -4
  397. package/lib/summary/summaryGenerator.js.map +1 -1
  398. package/lib/summary/summaryManager.d.ts +1 -1
  399. package/lib/summary/summaryManager.d.ts.map +1 -1
  400. package/lib/summary/summaryManager.js +9 -8
  401. package/lib/summary/summaryManager.js.map +1 -1
  402. package/lib/tsdoc-metadata.json +11 -0
  403. package/package.json +34 -32
  404. package/src/batchTracker.ts +4 -3
  405. package/src/blobManager.ts +100 -69
  406. package/src/channelCollection.ts +86 -43
  407. package/src/connectionTelemetry.ts +12 -12
  408. package/src/containerHandleContext.ts +3 -2
  409. package/src/containerRuntime.ts +419 -232
  410. package/src/dataStore.ts +5 -3
  411. package/src/dataStoreContext.ts +32 -29
  412. package/src/dataStoreContexts.ts +4 -2
  413. package/src/dataStoreRegistry.ts +2 -2
  414. package/src/deltaManagerSummarizerProxy.ts +1 -1
  415. package/src/deltaScheduler.ts +2 -1
  416. package/src/error.ts +2 -2
  417. package/src/gc/garbageCollection.ts +19 -18
  418. package/src/gc/gcConfigs.ts +15 -18
  419. package/src/gc/gcDefinitions.ts +6 -6
  420. package/src/gc/gcHelpers.ts +22 -5
  421. package/src/gc/gcSummaryStateTracker.ts +7 -5
  422. package/src/gc/gcTelemetry.ts +13 -7
  423. package/src/gc/gcUnreferencedStateTracker.ts +3 -2
  424. package/src/gc/index.ts +1 -0
  425. package/src/index.ts +8 -1
  426. package/src/messageTypes.ts +20 -6
  427. package/src/opLifecycle/README.md +89 -0
  428. package/src/opLifecycle/batchManager.ts +1 -0
  429. package/src/opLifecycle/definitions.ts +3 -21
  430. package/src/opLifecycle/index.ts +3 -9
  431. package/src/opLifecycle/opCompressor.ts +6 -5
  432. package/src/opLifecycle/opDecompressor.ts +84 -100
  433. package/src/opLifecycle/opGroupingManager.ts +12 -14
  434. package/src/opLifecycle/opSplitter.ts +76 -48
  435. package/src/opLifecycle/outbox.ts +17 -32
  436. package/src/opLifecycle/remoteMessageProcessor.ts +43 -59
  437. package/src/packageVersion.ts +1 -1
  438. package/src/pendingStateManager.ts +6 -6
  439. package/src/scheduleManager.ts +9 -8
  440. package/src/storageServiceWithAttachBlobs.ts +2 -2
  441. package/src/summary/documentSchema.ts +612 -0
  442. package/src/summary/index.ts +10 -1
  443. package/src/summary/orderedClientElection.ts +6 -7
  444. package/src/summary/runWhileConnectedCoordinator.ts +3 -2
  445. package/src/summary/runningSummarizer.ts +22 -20
  446. package/src/summary/summarizer.ts +17 -15
  447. package/src/summary/summarizerClientElection.ts +3 -2
  448. package/src/summary/summarizerHeuristics.ts +4 -2
  449. package/src/summary/summarizerNode/summarizerNode.ts +20 -18
  450. package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -2
  451. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +16 -8
  452. package/src/summary/summarizerTypes.ts +7 -3
  453. package/src/summary/summaryCollection.ts +3 -3
  454. package/src/summary/summaryFormat.ts +14 -26
  455. package/src/summary/summaryGenerator.ts +12 -15
  456. package/src/summary/summaryManager.ts +16 -13
  457. package/lib/test/batchTracker.spec.js +0 -88
  458. package/lib/test/batchTracker.spec.js.map +0 -1
  459. package/lib/test/blobManager.spec.js +0 -835
  460. package/lib/test/blobManager.spec.js.map +0 -1
  461. package/lib/test/channelCollection.spec.js +0 -138
  462. package/lib/test/channelCollection.spec.js.map +0 -1
  463. package/lib/test/containerRuntime.spec.js +0 -1748
  464. package/lib/test/containerRuntime.spec.js.map +0 -1
  465. package/lib/test/dataStoreContext.spec.js +0 -771
  466. package/lib/test/dataStoreContext.spec.js.map +0 -1
  467. package/lib/test/dataStoreCreation.spec.js +0 -303
  468. package/lib/test/dataStoreCreation.spec.js.map +0 -1
  469. package/lib/test/dataStoreRegistry.spec.js +0 -26
  470. package/lib/test/dataStoreRegistry.spec.js.map +0 -1
  471. package/lib/test/fuzz/fuzzUtils.js +0 -66
  472. package/lib/test/fuzz/fuzzUtils.js.map +0 -1
  473. package/lib/test/fuzz/summarizer.fuzz.spec.js +0 -31
  474. package/lib/test/fuzz/summarizer.fuzz.spec.js.map +0 -1
  475. package/lib/test/fuzz/summarizerFuzzMocks.js +0 -162
  476. package/lib/test/fuzz/summarizerFuzzMocks.js.map +0 -1
  477. package/lib/test/fuzz/summarizerFuzzSuite.js +0 -106
  478. package/lib/test/fuzz/summarizerFuzzSuite.js.map +0 -1
  479. package/lib/test/gc/garbageCollection.spec.js +0 -1464
  480. package/lib/test/gc/garbageCollection.spec.js.map +0 -1
  481. package/lib/test/gc/gcConfigs.spec.js +0 -689
  482. package/lib/test/gc/gcConfigs.spec.js.map +0 -1
  483. package/lib/test/gc/gcHelpers.spec.js +0 -110
  484. package/lib/test/gc/gcHelpers.spec.js.map +0 -1
  485. package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js +0 -68
  486. package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js.map +0 -1
  487. package/lib/test/gc/gcStats.spec.js +0 -390
  488. package/lib/test/gc/gcStats.spec.js.map +0 -1
  489. package/lib/test/gc/gcSummaryStateTracker.spec.js +0 -228
  490. package/lib/test/gc/gcSummaryStateTracker.spec.js.map +0 -1
  491. package/lib/test/gc/gcTelemetry.spec.js +0 -530
  492. package/lib/test/gc/gcTelemetry.spec.js.map +0 -1
  493. package/lib/test/gc/gcUnitTestHelpers.js +0 -29
  494. package/lib/test/gc/gcUnitTestHelpers.js.map +0 -1
  495. package/lib/test/gc/gcUnreferencedStateTracker.spec.js +0 -192
  496. package/lib/test/gc/gcUnreferencedStateTracker.spec.js.map +0 -1
  497. package/lib/test/getPendingBlobs.spec.js +0 -193
  498. package/lib/test/getPendingBlobs.spec.js.map +0 -1
  499. package/lib/test/hardwareStats.spec.js +0 -93
  500. package/lib/test/hardwareStats.spec.js.map +0 -1
  501. package/lib/test/index.js +0 -6
  502. package/lib/test/index.js.map +0 -1
  503. package/lib/test/opLifecycle/OpGroupingManager.spec.js +0 -225
  504. package/lib/test/opLifecycle/OpGroupingManager.spec.js.map +0 -1
  505. package/lib/test/opLifecycle/batchManager.spec.js +0 -189
  506. package/lib/test/opLifecycle/batchManager.spec.js.map +0 -1
  507. package/lib/test/opLifecycle/opCompressor.spec.js +0 -74
  508. package/lib/test/opLifecycle/opCompressor.spec.js.map +0 -1
  509. package/lib/test/opLifecycle/opDecompressor.spec.js +0 -218
  510. package/lib/test/opLifecycle/opDecompressor.spec.js.map +0 -1
  511. package/lib/test/opLifecycle/opSplitter.spec.js +0 -272
  512. package/lib/test/opLifecycle/opSplitter.spec.js.map +0 -1
  513. package/lib/test/opLifecycle/outbox.spec.js +0 -675
  514. package/lib/test/opLifecycle/outbox.spec.js.map +0 -1
  515. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js +0 -196
  516. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js.map +0 -1
  517. package/lib/test/pendingStateManager.spec.js +0 -329
  518. package/lib/test/pendingStateManager.spec.js.map +0 -1
  519. package/lib/test/scheduleManager.spec.js +0 -270
  520. package/lib/test/scheduleManager.spec.js.map +0 -1
  521. package/lib/test/summarizerNode.spec.js +0 -326
  522. package/lib/test/summarizerNode.spec.js.map +0 -1
  523. package/lib/test/summarizerNodeWithGc.spec.js +0 -318
  524. package/lib/test/summarizerNodeWithGc.spec.js.map +0 -1
  525. package/lib/test/summary/orderedClientElection.spec.js +0 -535
  526. package/lib/test/summary/orderedClientElection.spec.js.map +0 -1
  527. package/lib/test/summary/runningSummarizer.spec.js +0 -1349
  528. package/lib/test/summary/runningSummarizer.spec.js.map +0 -1
  529. package/lib/test/summary/summarizer.spec.js +0 -29
  530. package/lib/test/summary/summarizer.spec.js.map +0 -1
  531. package/lib/test/summary/summarizerClientElection.spec.js +0 -436
  532. package/lib/test/summary/summarizerClientElection.spec.js.map +0 -1
  533. package/lib/test/summary/summarizerHeuristics.spec.js +0 -289
  534. package/lib/test/summary/summarizerHeuristics.spec.js.map +0 -1
  535. package/lib/test/summary/summaryCollection.spec.js +0 -200
  536. package/lib/test/summary/summaryCollection.spec.js.map +0 -1
  537. package/lib/test/summary/summaryManager.spec.js +0 -430
  538. package/lib/test/summary/summaryManager.spec.js.map +0 -1
  539. package/lib/test/summary/testQuorumClients.js +0 -34
  540. package/lib/test/summary/testQuorumClients.js.map +0 -1
  541. package/lib/test/throttler.spec.js +0 -175
  542. package/lib/test/throttler.spec.js.map +0 -1
  543. package/lib/test/types/validateContainerRuntimePrevious.generated.js +0 -180
  544. package/lib/test/types/validateContainerRuntimePrevious.generated.js.map +0 -1
package/src/dataStore.ts CHANGED
@@ -3,15 +3,17 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLoggerExt, TelemetryDataTag, UsageError } from "@fluidframework/telemetry-utils";
7
- import { assert, unreachableCase } from "@fluidframework/core-utils";
8
6
  import { AttachState } from "@fluidframework/container-definitions";
9
7
  import { FluidObject, IFluidHandle } from "@fluidframework/core-interfaces";
8
+ import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
10
9
  import {
11
10
  AliasResult,
12
11
  IDataStore,
13
12
  IFluidDataStoreChannel,
14
- } from "@fluidframework/runtime-definitions";
13
+ } from "@fluidframework/runtime-definitions/internal";
14
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
15
+ import { TelemetryDataTag, UsageError } from "@fluidframework/telemetry-utils/internal";
16
+
15
17
  import { ChannelCollection } from "./channelCollection.js";
16
18
  import { ContainerMessageType } from "./messageTypes.js";
17
19
 
@@ -3,21 +3,21 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
7
+ import { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
6
8
  import {
7
- IDisposable,
8
9
  FluidObject,
10
+ IDisposable,
11
+ IFluidHandle,
9
12
  IRequest,
10
13
  IResponse,
11
- IFluidHandle,
12
14
  ITelemetryBaseProperties,
15
+ IEvent,
13
16
  } from "@fluidframework/core-interfaces";
14
- import { IAudience, IDeltaManager, AttachState } from "@fluidframework/container-definitions";
15
- import { TypedEventEmitter } from "@fluid-internal/client-utils";
16
- import { assert, LazyPromise, unreachableCase } from "@fluidframework/core-utils";
17
- import { IDocumentStorageService } from "@fluidframework/driver-definitions";
18
- import { BlobTreeEntry, readAndParse } from "@fluidframework/driver-utils";
17
+ import { assert, LazyPromise, unreachableCase } from "@fluidframework/core-utils/internal";
18
+ import { IDocumentStorageService } from "@fluidframework/driver-definitions/internal";
19
+ import { BlobTreeEntry, readAndParse } from "@fluidframework/driver-utils/internal";
19
20
  import type { IIdCompressor } from "@fluidframework/id-compressor";
20
- import { IEvent } from "@fluidframework/core-interfaces";
21
21
  import {
22
22
  IClientDetails,
23
23
  IDocumentMessage,
@@ -27,52 +27,55 @@ import {
27
27
  ITreeEntry,
28
28
  } from "@fluidframework/protocol-definitions";
29
29
  import {
30
- channelsTreeName,
30
+ IGarbageCollectionData,
31
+ IInboundSignalMessage,
32
+ ISummaryTreeWithStats,
33
+ ITelemetryContext,
34
+ } from "@fluidframework/runtime-definitions";
35
+ import {
31
36
  CreateChildSummarizerNodeFn,
32
37
  CreateChildSummarizerNodeParam,
33
38
  FluidDataStoreRegistryEntry,
39
+ IContainerRuntimeBase,
40
+ IDataStore,
34
41
  IFluidDataStoreChannel,
35
42
  IFluidDataStoreContext,
36
- IFluidParentContext,
37
- IContainerRuntimeBase,
38
43
  IFluidDataStoreContextDetached,
39
44
  IFluidDataStoreRegistry,
40
- IGarbageCollectionData,
45
+ IFluidParentContext,
41
46
  IGarbageCollectionDetailsBase,
42
- IInboundSignalMessage,
43
47
  IProvideFluidDataStoreFactory,
44
48
  ISummarizeInternalResult,
45
49
  ISummarizeResult,
46
50
  ISummarizerNodeWithGC,
47
51
  SummarizeInternalFn,
48
- ITelemetryContext,
49
- ISummaryTreeWithStats,
50
- IDataStore,
52
+ channelsTreeName,
51
53
  gcDataBlobKey,
52
- } from "@fluidframework/runtime-definitions";
53
- import { addBlobToSummary } from "@fluidframework/runtime-utils";
54
+ } from "@fluidframework/runtime-definitions/internal";
55
+ import { addBlobToSummary } from "@fluidframework/runtime-utils/internal";
54
56
  import {
55
- createChildMonitoringContext,
56
57
  DataCorruptionError,
57
58
  DataProcessingError,
58
- extractSafePropertiesFromMessage,
59
- generateStack,
60
59
  LoggingError,
61
60
  MonitoringContext,
62
- tagCodeArtifacts,
63
61
  ThresholdCounter,
64
- } from "@fluidframework/telemetry-utils";
62
+ createChildMonitoringContext,
63
+ extractSafePropertiesFromMessage,
64
+ generateStack,
65
+ tagCodeArtifacts,
66
+ } from "@fluidframework/telemetry-utils/internal";
67
+
68
+ import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc/index.js";
65
69
  import {
66
- dataStoreAttributesBlobName,
67
- hasIsolatedChannels,
68
- wrapSummaryInChannelsTree,
69
70
  ReadFluidDataStoreAttributes,
70
71
  WriteFluidDataStoreAttributes,
72
+ dataStoreAttributesBlobName,
71
73
  getAttributesFormatVersion,
72
74
  getFluidDataStoreAttributes,
75
+ hasIsolatedChannels,
73
76
  summarizerClientType,
77
+ wrapSummaryInChannelsTree,
74
78
  } from "./summary/index.js";
75
- import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc/index.js";
76
79
 
77
80
  function createAttributes(
78
81
  pkg: readonly string[],
@@ -799,10 +802,10 @@ export abstract class FluidDataStoreContext
799
802
  /**
800
803
  * Submits the signal to be sent to other clients.
801
804
  * @param type - Type of the signal.
802
- * @param content - Content of the signal.
805
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
803
806
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
804
807
  */
805
- public submitSignal(type: string, content: any, targetClientId?: string) {
808
+ public submitSignal(type: string, content: unknown, targetClientId?: string) {
806
809
  this.verifyNotClosed("submitSignal");
807
810
 
808
811
  assert(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
@@ -3,9 +3,11 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { assert, Deferred, Lazy } from "@fluidframework/core-utils";
7
6
  import { IDisposable, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
- import { createChildLogger, ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
7
+ import { assert, Deferred, Lazy } from "@fluidframework/core-utils/internal";
8
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
9
+ import { createChildLogger } from "@fluidframework/telemetry-utils/internal";
10
+
9
11
  import { FluidDataStoreContext, LocalFluidDataStoreContext } from "./dataStoreContext.js";
10
12
 
11
13
  /** @internal */
@@ -3,12 +3,12 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { UsageError } from "@fluidframework/telemetry-utils";
7
6
  import {
8
7
  FluidDataStoreRegistryEntry,
9
8
  IFluidDataStoreRegistry,
10
9
  NamedFluidDataStoreRegistryEntries,
11
- } from "@fluidframework/runtime-definitions";
10
+ } from "@fluidframework/runtime-definitions/internal";
11
+ import { UsageError } from "@fluidframework/telemetry-utils/internal";
12
12
 
13
13
  /**
14
14
  * @internal
@@ -139,7 +139,7 @@ export class DeltaManagerSummarizerProxy
139
139
  this.deltaManager.off("readonly", this.onReadonly);
140
140
  }
141
141
 
142
- public submitSignal(content: any, targetClientId?: string): void {
142
+ public submitSignal(content: string, targetClientId?: string): void {
143
143
  return this.deltaManager.submitSignal(content, targetClientId);
144
144
  }
145
145
 
@@ -3,10 +3,11 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLoggerExt, formatTick } from "@fluidframework/telemetry-utils";
7
6
  import { performance } from "@fluid-internal/client-utils";
8
7
  import { IDeltaManager } from "@fluidframework/container-definitions";
9
8
  import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
9
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
10
+ import { formatTick } from "@fluidframework/telemetry-utils/internal";
10
11
 
11
12
  /**
12
13
  * DeltaScheduler is responsible for the scheduling of inbound delta queue in cases where there
package/src/error.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ContainerErrorTypes } from "@fluidframework/container-definitions";
7
- import { IFluidErrorBase, LoggingError } from "@fluidframework/telemetry-utils";
6
+ import { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
7
+ import { IFluidErrorBase, LoggingError } from "@fluidframework/telemetry-utils/internal";
8
8
 
9
9
  /**
10
10
  * Error indicating that a client's session has reached its time limit and is closed.
@@ -3,25 +3,25 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { assert, LazyPromise, Timer } from "@fluidframework/core-utils";
7
6
  import { IRequest } from "@fluidframework/core-interfaces";
7
+ import { assert, LazyPromise, Timer } from "@fluidframework/core-utils/internal";
8
+ import { IGarbageCollectionData, ITelemetryContext } from "@fluidframework/runtime-definitions";
8
9
  import {
9
- gcTreeKey,
10
- IGarbageCollectionData,
11
10
  IGarbageCollectionDetailsBase,
12
11
  ISummarizeResult,
13
- ITelemetryContext,
14
- } from "@fluidframework/runtime-definitions";
15
- import { createResponseError, responseToException } from "@fluidframework/runtime-utils";
12
+ gcTreeKey,
13
+ } from "@fluidframework/runtime-definitions/internal";
14
+ import { createResponseError, responseToException } from "@fluidframework/runtime-utils/internal";
15
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
16
16
  import {
17
- createChildLogger,
18
- createChildMonitoringContext,
19
17
  DataProcessingError,
20
- ITelemetryLoggerExt,
21
18
  MonitoringContext,
22
19
  PerformanceEvent,
20
+ createChildLogger,
21
+ createChildMonitoringContext,
23
22
  tagCodeArtifacts,
24
- } from "@fluidframework/telemetry-utils";
23
+ } from "@fluidframework/telemetry-utils/internal";
24
+
25
25
  import { BlobManager } from "../blobManager.js";
26
26
  import {
27
27
  InactiveResponseHeaderKey,
@@ -31,21 +31,22 @@ import {
31
31
  import { ClientSessionExpiredError } from "../error.js";
32
32
  import { ContainerMessageType, ContainerRuntimeGCMessage } from "../messageTypes.js";
33
33
  import { IRefreshSummaryResult } from "../summary/index.js";
34
+
34
35
  import { generateGCConfigs } from "./gcConfigs.js";
35
36
  import {
36
37
  GCNodeType,
37
- IGarbageCollector,
38
- IGarbageCollectorCreateParams,
39
- IGarbageCollectionRuntime,
38
+ GarbageCollectionMessage,
39
+ GarbageCollectionMessageType,
40
+ IGCMetadata,
40
41
  IGCResult,
41
42
  IGCStats,
42
- UnreferencedState,
43
- IGCMetadata,
43
+ IGarbageCollectionRuntime,
44
+ IGarbageCollector,
44
45
  IGarbageCollectorConfigs,
46
+ IGarbageCollectorCreateParams,
45
47
  IMarkPhaseStats,
46
48
  ISweepPhaseStats,
47
- GarbageCollectionMessage,
48
- GarbageCollectionMessageType,
49
+ UnreferencedState,
49
50
  disableAutoRecoveryKey,
50
51
  } from "./gcDefinitions.js";
51
52
  import {
@@ -57,11 +58,11 @@ import {
57
58
  import { runGarbageCollection } from "./gcReferenceGraphAlgorithm.js";
58
59
  import { IGarbageCollectionSnapshotData, IGarbageCollectionState } from "./gcSummaryDefinitions.js";
59
60
  import { GCSummaryStateTracker } from "./gcSummaryStateTracker.js";
61
+ import { GCTelemetryTracker } from "./gcTelemetry.js";
60
62
  import {
61
63
  UnreferencedStateTracker,
62
64
  UnreferencedStateTrackerMap,
63
65
  } from "./gcUnreferencedStateTracker.js";
64
- import { GCTelemetryTracker } from "./gcTelemetry.js";
65
66
 
66
67
  /**
67
68
  * The garbage collector for the container runtime. It consolidates the garbage collection functionality and maintains
@@ -7,35 +7,34 @@ import {
7
7
  MonitoringContext,
8
8
  UsageError,
9
9
  validatePrecondition,
10
- } from "@fluidframework/telemetry-utils";
10
+ } from "@fluidframework/telemetry-utils/internal";
11
+
11
12
  import { IContainerRuntimeMetadata } from "../summary/index.js";
13
+
12
14
  import {
13
- nextGCVersion,
15
+ GCFeatureMatrix,
16
+ GCVersion,
17
+ IGCMetadata_Deprecated,
18
+ IGCRuntimeOptions,
19
+ IGarbageCollectorConfigs,
14
20
  defaultInactiveTimeoutMs,
15
21
  defaultSessionExpiryDurationMs,
22
+ defaultSweepGracePeriodMs,
23
+ disableDatastoreSweepKey,
16
24
  disableTombstoneKey,
17
- GCFeatureMatrix,
25
+ gcDisableDataStoreSweepOptionName,
26
+ gcDisableThrowOnTombstoneLoadOptionName,
27
+ gcGenerationOptionName,
18
28
  gcTestModeKey,
19
- GCVersion,
20
- gcVersionUpgradeToV4Key,
21
- IGarbageCollectorConfigs,
22
- IGCRuntimeOptions,
23
29
  maxSnapshotCacheExpiryMs,
24
30
  oneDayMs,
25
31
  runGCKey,
26
32
  runSessionExpiryKey,
27
33
  runSweepKey,
28
- stableGCVersion,
29
34
  throwOnTombstoneLoadOverrideKey,
30
35
  throwOnTombstoneUsageKey,
31
- gcDisableThrowOnTombstoneLoadOptionName,
32
- defaultSweepGracePeriodMs,
33
- gcGenerationOptionName,
34
- IGCMetadata_Deprecated,
35
- disableDatastoreSweepKey,
36
- gcDisableDataStoreSweepOptionName,
37
36
  } from "./gcDefinitions.js";
38
- import { getGCVersion, shouldAllowGcSweep } from "./gcHelpers.js";
37
+ import { getGCVersion, getGCVersionInEffect, shouldAllowGcSweep } from "./gcHelpers.js";
39
38
 
40
39
  /**
41
40
  * Generates configurations for the Garbage Collector that it uses to determine what to run and how.
@@ -113,9 +112,7 @@ export function generateGCConfigs(
113
112
  createParams.gcOptions[gcGenerationOptionName] /* currentGeneration */,
114
113
  );
115
114
 
116
- // If version upgrade is not enabled, fall back to the stable GC version.
117
- const gcVersionInEffect =
118
- mc.config.getBoolean(gcVersionUpgradeToV4Key) === true ? nextGCVersion : stableGCVersion;
115
+ const gcVersionInEffect = getGCVersionInEffect(mc.config);
119
116
 
120
117
  // The GC version is up-to-date if the GC version in effect is at least equal to the GC version in base snapshot.
121
118
  // If it is not up-to-date, there is a newer version of GC out there which is more reliable than this. So, GC
@@ -6,21 +6,21 @@
6
6
  import { ICriticalContainerError } from "@fluidframework/container-definitions";
7
7
  import { IRequest } from "@fluidframework/core-interfaces";
8
8
  import { ISnapshotTree } from "@fluidframework/protocol-definitions";
9
+ import { IGarbageCollectionData, ITelemetryContext } from "@fluidframework/runtime-definitions";
9
10
  import {
10
- IGarbageCollectionData,
11
11
  IGarbageCollectionDetailsBase,
12
12
  ISummarizeResult,
13
- ITelemetryContext,
14
- } from "@fluidframework/runtime-definitions";
15
- import { ReadAndParseBlob } from "@fluidframework/runtime-utils";
13
+ } from "@fluidframework/runtime-definitions/internal";
14
+ import { ReadAndParseBlob } from "@fluidframework/runtime-utils/internal";
16
15
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
16
+
17
+ import { RuntimeHeaderData } from "../containerRuntime.js";
18
+ import { ContainerRuntimeGCMessage } from "../messageTypes.js";
17
19
  import {
18
20
  IContainerRuntimeMetadata,
19
21
  ICreateContainerMetadata,
20
22
  IRefreshSummaryResult,
21
23
  } from "../summary/index.js";
22
- import { RuntimeHeaderData } from "../containerRuntime.js";
23
- import { ContainerRuntimeGCMessage } from "../messageTypes.js";
24
24
 
25
25
  /**
26
26
  * @alpha
@@ -3,16 +3,25 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { assert } from "@fluidframework/core-utils";
6
+ import { assert } from "@fluidframework/core-utils/internal";
7
7
  import { ISnapshotTree } from "@fluidframework/protocol-definitions";
8
+ import { IGarbageCollectionData } from "@fluidframework/runtime-definitions";
8
9
  import {
10
+ IGarbageCollectionDetailsBase,
9
11
  gcBlobPrefix,
10
12
  gcDeletedBlobKey,
11
13
  gcTombstoneBlobKey,
12
- IGarbageCollectionData,
13
- IGarbageCollectionDetailsBase,
14
- } from "@fluidframework/runtime-definitions";
15
- import { GCFeatureMatrix, GCVersion, IGCMetadata } from "./gcDefinitions.js";
14
+ } from "@fluidframework/runtime-definitions/internal";
15
+ import type { IConfigProvider } from "@fluidframework/telemetry-utils/internal";
16
+
17
+ import {
18
+ GCFeatureMatrix,
19
+ GCVersion,
20
+ IGCMetadata,
21
+ gcVersionUpgradeToV4Key,
22
+ nextGCVersion,
23
+ stableGCVersion,
24
+ } from "./gcDefinitions.js";
16
25
  import {
17
26
  IGarbageCollectionNodeData,
18
27
  IGarbageCollectionSnapshotData,
@@ -27,6 +36,14 @@ export function getGCVersion(metadata?: IGCMetadata): GCVersion {
27
36
  return metadata.gcFeature ?? 0;
28
37
  }
29
38
 
39
+ /** Indicates what GC version is in effect for new GC data being written in this session */
40
+ export function getGCVersionInEffect(configProvider: IConfigProvider): number {
41
+ // If version upgrade is not enabled, fall back to the stable GC version.
42
+ return configProvider.getBoolean(gcVersionUpgradeToV4Key) === true
43
+ ? nextGCVersion
44
+ : stableGCVersion;
45
+ }
46
+
30
47
  /**
31
48
  * Indicates whether Sweep is allowed for this document based on the persisted GC Feature Matrix and current gcGeneration.
32
49
  * This applies to the entire Sweep Phase the same - both Tombstone Enforcement (i.e. should loading a Tombstone fail?) and Deletion.
@@ -4,17 +4,19 @@
4
4
  */
5
5
 
6
6
  import { SummaryType } from "@fluidframework/protocol-definitions";
7
+ import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
7
8
  import {
9
+ ISummarizeResult,
8
10
  gcBlobPrefix,
9
11
  gcDeletedBlobKey,
10
12
  gcTombstoneBlobKey,
11
13
  gcTreeKey,
12
- ISummarizeResult,
13
- ISummaryTreeWithStats,
14
- } from "@fluidframework/runtime-definitions";
15
- import { mergeStats, SummaryTreeBuilder } from "@fluidframework/runtime-utils";
14
+ } from "@fluidframework/runtime-definitions/internal";
15
+ import { SummaryTreeBuilder, mergeStats } from "@fluidframework/runtime-utils/internal";
16
+
16
17
  import { IRefreshSummaryResult } from "../summary/index.js";
17
- import { GCVersion, IGarbageCollectorConfigs, IGCStats } from "./gcDefinitions.js";
18
+
19
+ import { GCVersion, IGCStats, IGarbageCollectorConfigs } from "./gcDefinitions.js";
18
20
  import { generateSortedGCState } from "./gcHelpers.js";
19
21
  import { IGarbageCollectionSnapshotData, IGarbageCollectionState } from "./gcSummaryDefinitions.js";
20
22
 
@@ -5,24 +5,29 @@
5
5
 
6
6
  import { IGarbageCollectionData } from "@fluidframework/runtime-definitions";
7
7
  import {
8
- generateStack,
8
+ type ITelemetryGenericEventExt,
9
9
  ITelemetryLoggerExt,
10
+ } from "@fluidframework/telemetry-utils";
11
+ import {
10
12
  MonitoringContext,
13
+ generateStack,
11
14
  tagCodeArtifacts,
12
- type ITelemetryGenericEventExt,
13
- } from "@fluidframework/telemetry-utils";
15
+ } from "@fluidframework/telemetry-utils/internal";
16
+
14
17
  import { RuntimeHeaderData } from "../containerRuntime.js";
15
18
  import { ICreateContainerMetadata } from "../summary/index.js";
19
+
16
20
  import {
21
+ GCFeatureMatrix,
17
22
  GCNodeType,
18
- UnreferencedState,
19
23
  IGarbageCollectorConfigs,
24
+ UnreferencedState,
20
25
  disableTombstoneKey,
21
- throwOnTombstoneUsageKey,
22
- throwOnTombstoneLoadOverrideKey,
23
26
  runSweepKey,
24
- GCFeatureMatrix,
27
+ throwOnTombstoneLoadOverrideKey,
28
+ throwOnTombstoneUsageKey,
25
29
  } from "./gcDefinitions.js";
30
+ import { getGCVersionInEffect } from "./gcHelpers.js";
26
31
  import { UnreferencedStateTracker } from "./gcUnreferencedStateTracker.js";
27
32
 
28
33
  type NodeUsageType = "Changed" | "Loaded" | "Revived";
@@ -429,6 +434,7 @@ export function sendGCUnexpectedUsageEvent(
429
434
  event.sweepFlags = JSON.stringify({
430
435
  EnableSweepFlag: mc.config.getBoolean(runSweepKey),
431
436
  });
437
+ event.gcVersion = getGCVersionInEffect(mc.config);
432
438
 
433
439
  mc.logger.sendTelemetryEvent(event, error);
434
440
  }
@@ -3,8 +3,9 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { assert, Timer } from "@fluidframework/core-utils";
7
- import { validatePrecondition } from "@fluidframework/telemetry-utils";
6
+ import { assert, Timer } from "@fluidframework/core-utils/internal";
7
+ import { validatePrecondition } from "@fluidframework/telemetry-utils/internal";
8
+
8
9
  import { UnreferencedState } from "./gcDefinitions.js";
9
10
 
10
11
  /** A wrapper around common-utils Timer that requires the timeout when calling start/restart */
package/src/gc/index.ts CHANGED
@@ -45,6 +45,7 @@ export {
45
45
  export {
46
46
  cloneGCData,
47
47
  concatGarbageCollectionStates,
48
+ getGCVersionInEffect,
48
49
  trimLeadingAndTrailingSlashes,
49
50
  unpackChildNodesGCDetails,
50
51
  } from "./gcHelpers.js";
package/src/index.ts CHANGED
@@ -11,7 +11,6 @@ export {
11
11
  ISummaryConfigurationDisableHeuristics,
12
12
  IContainerRuntimeOptions,
13
13
  isRuntimeMessage,
14
- RuntimeMessage,
15
14
  agentSchedulerId,
16
15
  ContainerRuntime,
17
16
  TombstoneResponseHeaderKey,
@@ -21,6 +20,7 @@ export {
21
20
  ICompressionRuntimeOptions,
22
21
  CompressionAlgorithms,
23
22
  RuntimeHeaderData,
23
+ disabledCompressionConfig,
24
24
  } from "./containerRuntime.js";
25
25
  export {
26
26
  ContainerMessageType,
@@ -98,6 +98,13 @@ export {
98
98
  IRetriableFailureResult,
99
99
  ISummarizeEventProps,
100
100
  IdCompressorMode,
101
+ IDocumentSchema,
102
+ DocumentSchemaValueType,
103
+ IDocumentSchemaCurrent,
104
+ currentDocumentVersionSchema,
105
+ DocumentsSchemaController,
106
+ IDocumentSchemaChangeMessage,
107
+ IDocumentSchemaFeatures,
101
108
  } from "./summary/index.js";
102
109
  export { IChunkedOp, unpackRuntimeMessage } from "./opLifecycle/index.js";
103
110
  export { ChannelCollection } from "./channelCollection.js";
@@ -3,16 +3,18 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import type { IdCreationRange } from "@fluidframework/id-compressor/internal";
6
7
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
7
8
  import {
9
+ IAttachMessage,
8
10
  IEnvelope,
9
11
  InboundAttachMessage,
10
- IAttachMessage,
11
- } from "@fluidframework/runtime-definitions";
12
- import type { IdCreationRange } from "@fluidframework/id-compressor";
12
+ } from "@fluidframework/runtime-definitions/internal";
13
+
13
14
  import { IDataStoreAliasMessage } from "./dataStore.js";
14
15
  import { GarbageCollectionMessage } from "./gc/index.js";
15
16
  import { IChunkedOp } from "./opLifecycle/index.js";
17
+ import { IDocumentSchemaChangeMessage } from "./summary/index.js";
16
18
 
17
19
  /**
18
20
  * @alpha
@@ -43,6 +45,11 @@ export enum ContainerMessageType {
43
45
  */
44
46
  IdAllocation = "idAllocation",
45
47
 
48
+ /**
49
+ * An op that changes document schema
50
+ */
51
+ DocumentSchemaChange = "schema",
52
+
46
53
  /**
47
54
  * Garbage collection specific op. This is sent by the summarizer client when GC runs. It's used to synchronize GC
48
55
  * state across all clients.
@@ -131,6 +138,10 @@ export type ContainerRuntimeGCMessage = TypedContainerRuntimeMessage<
131
138
  ContainerMessageType.GC,
132
139
  GarbageCollectionMessage
133
140
  >;
141
+ export type ContainerRuntimeDocumentSchemaMessage = TypedContainerRuntimeMessage<
142
+ ContainerMessageType.DocumentSchemaChange,
143
+ IDocumentSchemaChangeMessage
144
+ >;
134
145
 
135
146
  /**
136
147
  * Represents an unrecognized TypedContainerRuntimeMessage, e.g. a message from a future version of the container runtime.
@@ -161,7 +172,8 @@ export type InboundContainerRuntimeMessage =
161
172
  | ContainerRuntimeIdAllocationMessage
162
173
  | ContainerRuntimeGCMessage
163
174
  // Inbound messages may include unknown types from other clients, so we include that as a special case here
164
- | UnknownContainerRuntimeMessage;
175
+ | UnknownContainerRuntimeMessage
176
+ | ContainerRuntimeDocumentSchemaMessage;
165
177
 
166
178
  /** A {@link TypedContainerRuntimeMessage} that has been generated by the container runtime but is not yet being sent to the server. */
167
179
  export type LocalContainerRuntimeMessage =
@@ -174,7 +186,8 @@ export type LocalContainerRuntimeMessage =
174
186
  | ContainerRuntimeIdAllocationMessage
175
187
  | ContainerRuntimeGCMessage
176
188
  // In rare cases (e.g. related to stashed ops) we could have a local message of an unknown type
177
- | UnknownContainerRuntimeMessage;
189
+ | UnknownContainerRuntimeMessage
190
+ | ContainerRuntimeDocumentSchemaMessage;
178
191
 
179
192
  /** A {@link TypedContainerRuntimeMessage} that is being sent to the server from the container runtime. */
180
193
  export type OutboundContainerRuntimeMessage =
@@ -185,7 +198,8 @@ export type OutboundContainerRuntimeMessage =
185
198
  | ContainerRuntimeRejoinMessage
186
199
  | ContainerRuntimeAliasMessage
187
200
  | ContainerRuntimeIdAllocationMessage
188
- | ContainerRuntimeGCMessage;
201
+ | ContainerRuntimeGCMessage
202
+ | ContainerRuntimeDocumentSchemaMessage;
189
203
 
190
204
  /**
191
205
  * An unpacked ISequencedDocumentMessage with the inner TypedContainerRuntimeMessage type/contents/etc