@fluidframework/container-runtime 2.0.0-dev-rc.5.0.0.268409 → 2.0.0-dev-rc.5.0.0.270401

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 (305) hide show
  1. package/api-report/container-runtime.alpha.api.md +3 -8
  2. package/api-report/container-runtime.beta.api.md +2 -2
  3. package/api-report/container-runtime.public.api.md +2 -2
  4. package/container-runtime.test-files.tar +0 -0
  5. package/dist/batchTracker.js +5 -1
  6. package/dist/batchTracker.js.map +1 -1
  7. package/dist/blobManager.d.ts +1 -18
  8. package/dist/blobManager.d.ts.map +1 -1
  9. package/dist/blobManager.js +39 -48
  10. package/dist/blobManager.js.map +1 -1
  11. package/dist/channelCollection.d.ts +2 -11
  12. package/dist/channelCollection.d.ts.map +1 -1
  13. package/dist/channelCollection.js +33 -48
  14. package/dist/channelCollection.js.map +1 -1
  15. package/dist/connectionTelemetry.d.ts +1 -2
  16. package/dist/connectionTelemetry.d.ts.map +1 -1
  17. package/dist/connectionTelemetry.js +32 -14
  18. package/dist/connectionTelemetry.js.map +1 -1
  19. package/dist/containerHandleContext.js +4 -0
  20. package/dist/containerHandleContext.js.map +1 -1
  21. package/dist/containerRuntime.d.ts +7 -18
  22. package/dist/containerRuntime.d.ts.map +1 -1
  23. package/dist/containerRuntime.js +145 -43
  24. package/dist/containerRuntime.js.map +1 -1
  25. package/dist/dataStore.js +9 -1
  26. package/dist/dataStore.js.map +1 -1
  27. package/dist/dataStoreContext.d.ts +2 -16
  28. package/dist/dataStoreContext.d.ts.map +1 -1
  29. package/dist/dataStoreContext.js +142 -120
  30. package/dist/dataStoreContext.js.map +1 -1
  31. package/dist/dataStoreContexts.js +29 -28
  32. package/dist/dataStoreContexts.js.map +1 -1
  33. package/dist/dataStoreRegistry.js +1 -0
  34. package/dist/dataStoreRegistry.js.map +1 -1
  35. package/dist/deltaManagerProxies.d.ts +4 -4
  36. package/dist/deltaManagerProxies.d.ts.map +1 -1
  37. package/dist/deltaManagerProxies.js +33 -28
  38. package/dist/deltaManagerProxies.js.map +1 -1
  39. package/dist/deltaScheduler.d.ts +1 -2
  40. package/dist/deltaScheduler.d.ts.map +1 -1
  41. package/dist/deltaScheduler.js +13 -9
  42. package/dist/deltaScheduler.js.map +1 -1
  43. package/dist/error.js +2 -1
  44. package/dist/error.js.map +1 -1
  45. package/dist/gc/garbageCollection.d.ts.map +1 -1
  46. package/dist/gc/garbageCollection.js +37 -17
  47. package/dist/gc/garbageCollection.js.map +1 -1
  48. package/dist/gc/gcDefinitions.d.ts +0 -4
  49. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  50. package/dist/gc/gcDefinitions.js +1 -3
  51. package/dist/gc/gcDefinitions.js.map +1 -1
  52. package/dist/gc/gcSummaryStateTracker.js +19 -14
  53. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  54. package/dist/gc/gcTelemetry.js +12 -5
  55. package/dist/gc/gcTelemetry.js.map +1 -1
  56. package/dist/gc/gcUnreferencedStateTracker.js +12 -1
  57. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  58. package/dist/gc/index.d.ts +1 -1
  59. package/dist/gc/index.d.ts.map +1 -1
  60. package/dist/gc/index.js +1 -2
  61. package/dist/gc/index.js.map +1 -1
  62. package/dist/messageTypes.d.ts +1 -1
  63. package/dist/messageTypes.d.ts.map +1 -1
  64. package/dist/messageTypes.js.map +1 -1
  65. package/dist/opLifecycle/batchManager.js +5 -3
  66. package/dist/opLifecycle/batchManager.js.map +1 -1
  67. package/dist/opLifecycle/opCompressor.js +1 -0
  68. package/dist/opLifecycle/opCompressor.js.map +1 -1
  69. package/dist/opLifecycle/opDecompressor.d.ts +1 -1
  70. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  71. package/dist/opLifecycle/opDecompressor.js +6 -4
  72. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  73. package/dist/opLifecycle/opGroupingManager.d.ts +1 -1
  74. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  75. package/dist/opLifecycle/opGroupingManager.js +3 -1
  76. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  77. package/dist/opLifecycle/opSplitter.d.ts +1 -1
  78. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  79. package/dist/opLifecycle/opSplitter.js +6 -0
  80. package/dist/opLifecycle/opSplitter.js.map +1 -1
  81. package/dist/opLifecycle/outbox.js +15 -10
  82. package/dist/opLifecycle/outbox.js.map +1 -1
  83. package/dist/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  84. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  85. package/dist/opLifecycle/remoteMessageProcessor.js +3 -0
  86. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  87. package/dist/opProperties.d.ts +1 -1
  88. package/dist/opProperties.d.ts.map +1 -1
  89. package/dist/opProperties.js.map +1 -1
  90. package/dist/packageVersion.d.ts +1 -1
  91. package/dist/packageVersion.js +1 -1
  92. package/dist/packageVersion.js.map +1 -1
  93. package/dist/pendingStateManager.d.ts.map +1 -1
  94. package/dist/pendingStateManager.js +34 -18
  95. package/dist/pendingStateManager.js.map +1 -1
  96. package/dist/scheduleManager.d.ts +1 -2
  97. package/dist/scheduleManager.d.ts.map +1 -1
  98. package/dist/scheduleManager.js +15 -4
  99. package/dist/scheduleManager.js.map +1 -1
  100. package/dist/storageServiceWithAttachBlobs.js +1 -0
  101. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  102. package/dist/summary/documentSchema.js +17 -1
  103. package/dist/summary/documentSchema.js.map +1 -1
  104. package/dist/summary/orderedClientElection.js +19 -11
  105. package/dist/summary/orderedClientElection.js.map +1 -1
  106. package/dist/summary/runWhileConnectedCoordinator.js +4 -2
  107. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  108. package/dist/summary/runningSummarizer.d.ts +1 -1
  109. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  110. package/dist/summary/runningSummarizer.js +56 -38
  111. package/dist/summary/runningSummarizer.js.map +1 -1
  112. package/dist/summary/summarizer.js +17 -8
  113. package/dist/summary/summarizer.js.map +1 -1
  114. package/dist/summary/summarizerClientElection.js +18 -7
  115. package/dist/summary/summarizerClientElection.js.map +1 -1
  116. package/dist/summary/summarizerHeuristics.js +30 -25
  117. package/dist/summary/summarizerHeuristics.js.map +1 -1
  118. package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -2
  119. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  120. package/dist/summary/summarizerNode/summarizerNode.js +12 -3
  121. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  122. package/dist/summary/summarizerNode/summarizerNodeUtils.js +2 -0
  123. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  124. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +20 -6
  125. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  126. package/dist/summary/summarizerTypes.d.ts +2 -2
  127. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  128. package/dist/summary/summarizerTypes.js.map +1 -1
  129. package/dist/summary/summaryCollection.d.ts +1 -2
  130. package/dist/summary/summaryCollection.d.ts.map +1 -1
  131. package/dist/summary/summaryCollection.js +23 -11
  132. package/dist/summary/summaryCollection.js.map +1 -1
  133. package/dist/summary/summaryFormat.d.ts +1 -2
  134. package/dist/summary/summaryFormat.d.ts.map +1 -1
  135. package/dist/summary/summaryFormat.js.map +1 -1
  136. package/dist/summary/summaryGenerator.js +12 -5
  137. package/dist/summary/summaryGenerator.js.map +1 -1
  138. package/dist/summary/summaryManager.js +58 -48
  139. package/dist/summary/summaryManager.js.map +1 -1
  140. package/dist/throttler.js +4 -1
  141. package/dist/throttler.js.map +1 -1
  142. package/lib/batchTracker.js +5 -1
  143. package/lib/batchTracker.js.map +1 -1
  144. package/lib/blobManager.d.ts +1 -18
  145. package/lib/blobManager.d.ts.map +1 -1
  146. package/lib/blobManager.js +39 -48
  147. package/lib/blobManager.js.map +1 -1
  148. package/lib/channelCollection.d.ts +2 -11
  149. package/lib/channelCollection.d.ts.map +1 -1
  150. package/lib/channelCollection.js +34 -49
  151. package/lib/channelCollection.js.map +1 -1
  152. package/lib/connectionTelemetry.d.ts +1 -2
  153. package/lib/connectionTelemetry.d.ts.map +1 -1
  154. package/lib/connectionTelemetry.js +33 -15
  155. package/lib/connectionTelemetry.js.map +1 -1
  156. package/lib/containerHandleContext.js +4 -0
  157. package/lib/containerHandleContext.js.map +1 -1
  158. package/lib/containerRuntime.d.ts +7 -18
  159. package/lib/containerRuntime.d.ts.map +1 -1
  160. package/lib/containerRuntime.js +145 -43
  161. package/lib/containerRuntime.js.map +1 -1
  162. package/lib/dataStore.js +9 -1
  163. package/lib/dataStore.js.map +1 -1
  164. package/lib/dataStoreContext.d.ts +2 -16
  165. package/lib/dataStoreContext.d.ts.map +1 -1
  166. package/lib/dataStoreContext.js +144 -122
  167. package/lib/dataStoreContext.js.map +1 -1
  168. package/lib/dataStoreContexts.js +29 -28
  169. package/lib/dataStoreContexts.js.map +1 -1
  170. package/lib/dataStoreRegistry.js +1 -0
  171. package/lib/dataStoreRegistry.js.map +1 -1
  172. package/lib/deltaManagerProxies.d.ts +4 -4
  173. package/lib/deltaManagerProxies.d.ts.map +1 -1
  174. package/lib/deltaManagerProxies.js +33 -28
  175. package/lib/deltaManagerProxies.js.map +1 -1
  176. package/lib/deltaScheduler.d.ts +1 -2
  177. package/lib/deltaScheduler.d.ts.map +1 -1
  178. package/lib/deltaScheduler.js +13 -9
  179. package/lib/deltaScheduler.js.map +1 -1
  180. package/lib/error.js +2 -1
  181. package/lib/error.js.map +1 -1
  182. package/lib/gc/garbageCollection.d.ts.map +1 -1
  183. package/lib/gc/garbageCollection.js +37 -17
  184. package/lib/gc/garbageCollection.js.map +1 -1
  185. package/lib/gc/gcDefinitions.d.ts +0 -4
  186. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  187. package/lib/gc/gcDefinitions.js +0 -2
  188. package/lib/gc/gcDefinitions.js.map +1 -1
  189. package/lib/gc/gcSummaryStateTracker.js +19 -14
  190. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  191. package/lib/gc/gcTelemetry.js +12 -5
  192. package/lib/gc/gcTelemetry.js.map +1 -1
  193. package/lib/gc/gcUnreferencedStateTracker.js +12 -1
  194. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  195. package/lib/gc/index.d.ts +1 -1
  196. package/lib/gc/index.d.ts.map +1 -1
  197. package/lib/gc/index.js +1 -1
  198. package/lib/gc/index.js.map +1 -1
  199. package/lib/messageTypes.d.ts +1 -1
  200. package/lib/messageTypes.d.ts.map +1 -1
  201. package/lib/messageTypes.js.map +1 -1
  202. package/lib/opLifecycle/batchManager.js +5 -3
  203. package/lib/opLifecycle/batchManager.js.map +1 -1
  204. package/lib/opLifecycle/opCompressor.js +1 -0
  205. package/lib/opLifecycle/opCompressor.js.map +1 -1
  206. package/lib/opLifecycle/opDecompressor.d.ts +1 -1
  207. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  208. package/lib/opLifecycle/opDecompressor.js +6 -4
  209. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  210. package/lib/opLifecycle/opGroupingManager.d.ts +1 -1
  211. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  212. package/lib/opLifecycle/opGroupingManager.js +3 -1
  213. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  214. package/lib/opLifecycle/opSplitter.d.ts +1 -1
  215. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  216. package/lib/opLifecycle/opSplitter.js +6 -0
  217. package/lib/opLifecycle/opSplitter.js.map +1 -1
  218. package/lib/opLifecycle/outbox.js +15 -10
  219. package/lib/opLifecycle/outbox.js.map +1 -1
  220. package/lib/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  221. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  222. package/lib/opLifecycle/remoteMessageProcessor.js +4 -1
  223. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  224. package/lib/opProperties.d.ts +1 -1
  225. package/lib/opProperties.d.ts.map +1 -1
  226. package/lib/opProperties.js.map +1 -1
  227. package/lib/packageVersion.d.ts +1 -1
  228. package/lib/packageVersion.js +1 -1
  229. package/lib/packageVersion.js.map +1 -1
  230. package/lib/pendingStateManager.d.ts.map +1 -1
  231. package/lib/pendingStateManager.js +34 -18
  232. package/lib/pendingStateManager.js.map +1 -1
  233. package/lib/scheduleManager.d.ts +1 -2
  234. package/lib/scheduleManager.d.ts.map +1 -1
  235. package/lib/scheduleManager.js +15 -4
  236. package/lib/scheduleManager.js.map +1 -1
  237. package/lib/storageServiceWithAttachBlobs.js +1 -0
  238. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  239. package/lib/summary/documentSchema.js +17 -1
  240. package/lib/summary/documentSchema.js.map +1 -1
  241. package/lib/summary/orderedClientElection.js +19 -11
  242. package/lib/summary/orderedClientElection.js.map +1 -1
  243. package/lib/summary/runWhileConnectedCoordinator.js +4 -2
  244. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  245. package/lib/summary/runningSummarizer.d.ts +1 -1
  246. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  247. package/lib/summary/runningSummarizer.js +57 -39
  248. package/lib/summary/runningSummarizer.js.map +1 -1
  249. package/lib/summary/summarizer.js +17 -8
  250. package/lib/summary/summarizer.js.map +1 -1
  251. package/lib/summary/summarizerClientElection.js +18 -7
  252. package/lib/summary/summarizerClientElection.js.map +1 -1
  253. package/lib/summary/summarizerHeuristics.js +30 -25
  254. package/lib/summary/summarizerHeuristics.js.map +1 -1
  255. package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -2
  256. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  257. package/lib/summary/summarizerNode/summarizerNode.js +12 -3
  258. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  259. package/lib/summary/summarizerNode/summarizerNodeUtils.js +2 -0
  260. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  261. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +20 -6
  262. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  263. package/lib/summary/summarizerTypes.d.ts +2 -2
  264. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  265. package/lib/summary/summarizerTypes.js.map +1 -1
  266. package/lib/summary/summaryCollection.d.ts +1 -2
  267. package/lib/summary/summaryCollection.d.ts.map +1 -1
  268. package/lib/summary/summaryCollection.js +23 -11
  269. package/lib/summary/summaryCollection.js.map +1 -1
  270. package/lib/summary/summaryFormat.d.ts +1 -2
  271. package/lib/summary/summaryFormat.d.ts.map +1 -1
  272. package/lib/summary/summaryFormat.js.map +1 -1
  273. package/lib/summary/summaryGenerator.js +12 -5
  274. package/lib/summary/summaryGenerator.js.map +1 -1
  275. package/lib/summary/summaryManager.js +58 -48
  276. package/lib/summary/summaryManager.js.map +1 -1
  277. package/lib/throttler.js +4 -1
  278. package/lib/throttler.js.map +1 -1
  279. package/package.json +17 -17
  280. package/src/batchTracker.ts +1 -1
  281. package/src/blobManager.ts +1 -39
  282. package/src/channelCollection.ts +19 -72
  283. package/src/connectionTelemetry.ts +5 -2
  284. package/src/containerRuntime.ts +9 -32
  285. package/src/dataStoreContext.ts +4 -38
  286. package/src/deltaManagerProxies.ts +3 -5
  287. package/src/deltaScheduler.ts +4 -2
  288. package/src/gc/garbageCollection.ts +0 -2
  289. package/src/gc/gcDefinitions.ts +0 -4
  290. package/src/gc/index.ts +0 -1
  291. package/src/messageTypes.ts +1 -1
  292. package/src/opLifecycle/opDecompressor.ts +1 -1
  293. package/src/opLifecycle/opGroupingManager.ts +1 -1
  294. package/src/opLifecycle/opSplitter.ts +1 -1
  295. package/src/opLifecycle/remoteMessageProcessor.ts +4 -2
  296. package/src/opProperties.ts +4 -2
  297. package/src/packageVersion.ts +1 -1
  298. package/src/pendingStateManager.ts +16 -5
  299. package/src/scheduleManager.ts +4 -2
  300. package/src/summary/runningSummarizer.ts +5 -2
  301. package/src/summary/summarizerNode/summarizerNode.ts +5 -2
  302. package/src/summary/summarizerTypes.ts +5 -2
  303. package/src/summary/summaryCollection.ts +1 -1
  304. package/src/summary/summaryFormat.ts +2 -1
  305. package/tsconfig.json +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-runtime",
3
- "version": "2.0.0-dev-rc.5.0.0.268409",
3
+ "version": "2.0.0-dev-rc.5.0.0.270401",
4
4
  "description": "Fluid container runtime",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -127,18 +127,18 @@
127
127
  "temp-directory": "nyc/.nyc_output"
128
128
  },
129
129
  "dependencies": {
130
- "@fluid-internal/client-utils": "2.0.0-dev-rc.5.0.0.268409",
131
- "@fluidframework/container-definitions": "2.0.0-dev-rc.5.0.0.268409",
132
- "@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.5.0.0.268409",
133
- "@fluidframework/core-interfaces": "2.0.0-dev-rc.5.0.0.268409",
134
- "@fluidframework/core-utils": "2.0.0-dev-rc.5.0.0.268409",
135
- "@fluidframework/datastore": "2.0.0-dev-rc.5.0.0.268409",
136
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.5.0.0.268409",
137
- "@fluidframework/driver-utils": "2.0.0-dev-rc.5.0.0.268409",
138
- "@fluidframework/id-compressor": "2.0.0-dev-rc.5.0.0.268409",
139
- "@fluidframework/runtime-definitions": "2.0.0-dev-rc.5.0.0.268409",
140
- "@fluidframework/runtime-utils": "2.0.0-dev-rc.5.0.0.268409",
141
- "@fluidframework/telemetry-utils": "2.0.0-dev-rc.5.0.0.268409",
130
+ "@fluid-internal/client-utils": "2.0.0-dev-rc.5.0.0.270401",
131
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.5.0.0.270401",
132
+ "@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.5.0.0.270401",
133
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.5.0.0.270401",
134
+ "@fluidframework/core-utils": "2.0.0-dev-rc.5.0.0.270401",
135
+ "@fluidframework/datastore": "2.0.0-dev-rc.5.0.0.270401",
136
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.5.0.0.270401",
137
+ "@fluidframework/driver-utils": "2.0.0-dev-rc.5.0.0.270401",
138
+ "@fluidframework/id-compressor": "2.0.0-dev-rc.5.0.0.270401",
139
+ "@fluidframework/runtime-definitions": "2.0.0-dev-rc.5.0.0.270401",
140
+ "@fluidframework/runtime-utils": "2.0.0-dev-rc.5.0.0.270401",
141
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.5.0.0.270401",
142
142
  "@tylerbu/sorted-btree-es6": "^1.8.0",
143
143
  "double-ended-queue": "^2.1.0-0",
144
144
  "lz4js": "^0.2.0",
@@ -147,16 +147,16 @@
147
147
  "devDependencies": {
148
148
  "@arethetypeswrong/cli": "^0.15.2",
149
149
  "@biomejs/biome": "^1.7.3",
150
- "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.5.0.0.268409",
151
- "@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.5.0.0.268409",
152
- "@fluid-private/test-pairwise-generator": "2.0.0-dev-rc.5.0.0.268409",
150
+ "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.5.0.0.270401",
151
+ "@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.5.0.0.270401",
152
+ "@fluid-private/test-pairwise-generator": "2.0.0-dev-rc.5.0.0.270401",
153
153
  "@fluid-tools/benchmark": "^0.48.0",
154
154
  "@fluid-tools/build-cli": "^0.39.0-264124",
155
155
  "@fluidframework/build-common": "^2.0.3",
156
156
  "@fluidframework/build-tools": "^0.39.0-264124",
157
157
  "@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.0.0-rc.4.0.0",
158
158
  "@fluidframework/eslint-config-fluid": "^5.3.0",
159
- "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.5.0.0.268409",
159
+ "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.5.0.0.270401",
160
160
  "@microsoft/api-extractor": "^7.45.1",
161
161
  "@types/double-ended-queue": "^2.1.0",
162
162
  "@types/mocha": "^9.1.1",
@@ -7,7 +7,7 @@ import type { EventEmitter } from "@fluid-internal/client-utils";
7
7
  import { performance } from "@fluid-internal/client-utils";
8
8
  import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
9
9
  import { assert } from "@fluidframework/core-utils/internal";
10
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
10
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
11
11
  import { ITelemetryLoggerExt, createChildLogger } from "@fluidframework/telemetry-utils/internal";
12
12
 
13
13
  export class BatchTracker {
@@ -14,11 +14,11 @@ import {
14
14
  type IFluidHandleInternal,
15
15
  } from "@fluidframework/core-interfaces/internal";
16
16
  import { assert, Deferred } from "@fluidframework/core-utils/internal";
17
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
18
17
  import {
19
18
  IDocumentStorageService,
20
19
  ICreateBlobResponse,
21
20
  ISnapshotTree,
21
+ ISequencedDocumentMessage,
22
22
  } from "@fluidframework/driver-definitions/internal";
23
23
  import { canRetryOnError, runWithRetry } from "@fluidframework/driver-utils/internal";
24
24
  import {
@@ -166,14 +166,6 @@ export class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
166
166
  */
167
167
  private readonly opsInFlight: Map<string, string[]> = new Map();
168
168
 
169
- /**
170
- * This stores IDs of tombstoned blobs.
171
- *
172
- * A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
173
- * Tombstoned objects are eventually deleted by GC.
174
- */
175
- private readonly tombstonedBlobs: Set<string> = new Set();
176
-
177
169
  private readonly sendBlobAttachOp: (localId: string, storageId?: string) => void;
178
170
  private stopAttaching: boolean = false;
179
171
 
@@ -827,36 +819,6 @@ export class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
827
819
  }
828
820
  }
829
821
 
830
- /**
831
- * This is called to update blobs whose routes are tombstones.
832
- *
833
- * A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
834
- * Tombstoned objects are eventually deleted by GC.
835
- *
836
- * @param tombstonedRoutes - The routes of blob nodes that are tombstones.
837
- */
838
- public updateTombstonedRoutes(tombstonedRoutes: readonly string[]) {
839
- const tombstonedBlobsSet: Set<string> = new Set();
840
- // The routes or blob node paths are in the same format as returned in getGCData -
841
- // `/<BlobManager.basePath>/<blobId>`.
842
- for (const route of tombstonedRoutes) {
843
- const blobId = getBlobIdFromGCNodePath(route);
844
- tombstonedBlobsSet.add(blobId);
845
- }
846
-
847
- // Remove blobs from the tombstone list that were tombstoned but aren't anymore as per the tombstoneRoutes.
848
- for (const blobId of this.tombstonedBlobs) {
849
- if (!tombstonedBlobsSet.has(blobId)) {
850
- this.tombstonedBlobs.delete(blobId);
851
- }
852
- }
853
-
854
- // Mark blobs that are now tombstoned by adding them to the tombstone list.
855
- for (const blobId of tombstonedBlobsSet) {
856
- this.tombstonedBlobs.add(blobId);
857
- }
858
- }
859
-
860
822
  /**
861
823
  * Verifies that the blob with given id is not deleted, i.e., it has not been garbage collected. If the blob is GC'd,
862
824
  * log an error and throw if necessary.
@@ -14,9 +14,11 @@ import {
14
14
  import type { IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
15
15
  import { assert, Lazy, LazyPromise } from "@fluidframework/core-utils/internal";
16
16
  import { FluidObjectHandle } from "@fluidframework/datastore/internal";
17
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
18
17
  import type { ISnapshot } from "@fluidframework/driver-definitions/internal";
19
- import { ISnapshotTree } from "@fluidframework/driver-definitions/internal";
18
+ import {
19
+ ISnapshotTree,
20
+ ISequencedDocumentMessage,
21
+ } from "@fluidframework/driver-definitions/internal";
20
22
  import {
21
23
  buildSnapshotTree,
22
24
  getSnapshotTree,
@@ -88,12 +90,7 @@ import {
88
90
  } from "./dataStoreContext.js";
89
91
  import { DataStoreContexts } from "./dataStoreContexts.js";
90
92
  import { FluidDataStoreRegistry } from "./dataStoreRegistry.js";
91
- import {
92
- GCNodeType,
93
- detectOutboundRoutesViaDDSKey,
94
- IGCNodeUpdatedProps,
95
- urlToGCNodePath,
96
- } from "./gc/index.js";
93
+ import { GCNodeType, IGCNodeUpdatedProps, urlToGCNodePath } from "./gc/index.js";
97
94
  import { ContainerMessageType, LocalContainerRuntimeMessage } from "./messageTypes.js";
98
95
  import { StorageServiceWithAttachBlobs } from "./storageServiceWithAttachBlobs.js";
99
96
  import {
@@ -188,8 +185,8 @@ export function wrapContext(context: IFluidParentContext): IFluidParentContext {
188
185
  uploadBlob: async (...args) => {
189
186
  return context.uploadBlob(...args);
190
187
  },
191
- addedGCOutboundReference: (...args) => {
192
- return context.addedGCOutboundReference?.(...args);
188
+ addedGCOutboundRoute: (...args) => {
189
+ return context.addedGCOutboundRoute(...args);
193
190
  },
194
191
  getCreateChildSummarizerNodeFn: (...args) => {
195
192
  return context.getCreateChildSummarizerNodeFn?.(...args);
@@ -268,12 +265,6 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
268
265
  readonly referencedDataStoreCount: number;
269
266
  };
270
267
 
271
- // Stores the ids of new data stores between two GC runs. This is used to notify the garbage collector of new
272
- // root data stores that are added.
273
- private dataStoresSinceLastGC: string[] = [];
274
- // The handle to the container runtime. This is used mainly for GC purposes to represent outbound reference from
275
- // the container runtime to other nodes.
276
- private readonly containerRuntimeHandle: IFluidHandleInternal;
277
268
  private readonly pendingAliasMap: Map<string, Promise<AliasResult>> = new Map<
278
269
  string,
279
270
  Promise<AliasResult>
@@ -293,11 +284,6 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
293
284
  ) {
294
285
  this.mc = createChildMonitoringContext({ logger: baseLogger });
295
286
  this.contexts = new DataStoreContexts(baseLogger);
296
- this.containerRuntimeHandle = new FluidObjectHandle(
297
- this.parentContext,
298
- "/",
299
- this.parentContext.IFluidHandleContext,
300
- );
301
287
  this.entryPoint = new FluidObjectHandle<FluidObject>(
302
288
  new LazyPromise(async () => provideEntryPoint(this)),
303
289
  "",
@@ -401,16 +387,11 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
401
387
  private processAttachMessage(message: ISequencedDocumentMessage, local: boolean) {
402
388
  const attachMessage = message.contents as InboundAttachMessage;
403
389
 
404
- this.dataStoresSinceLastGC.push(attachMessage.id);
405
-
406
390
  // We need to process the GC Data for both local and remote attach messages
407
391
  const foundGCData = processAttachMessageGCData(attachMessage.snapshot, (nodeId, toPath) => {
408
392
  // nodeId is the relative path under the node being attached. Always starts with "/", but no trailing "/" after an id
409
393
  const fromPath = `/${attachMessage.id}${nodeId === "/" ? "" : nodeId}`;
410
- this.parentContext.addedGCOutboundReference?.(
411
- { absolutePath: fromPath },
412
- { absolutePath: toPath },
413
- );
394
+ this.parentContext.addedGCOutboundRoute(fromPath, toPath);
414
395
  });
415
396
 
416
397
  // Only log once per container to avoid noise/cost.
@@ -531,12 +512,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
531
512
  return false;
532
513
  }
533
514
 
534
- const handle = new FluidObjectHandle(
535
- context,
536
- internalId,
537
- this.parentContext.IFluidHandleContext,
538
- );
539
- this.parentContext.addedGCOutboundReference?.(this.containerRuntimeHandle, handle);
515
+ this.parentContext.addedGCOutboundRoute("/", `/${internalId}`);
540
516
 
541
517
  this.aliasMap.set(alias, context.id);
542
518
  this.aliasedDataStores.add(context.id);
@@ -816,7 +792,6 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
816
792
  message: ISequencedDocumentMessage,
817
793
  local: boolean,
818
794
  localMessageMetadata: unknown,
819
- addedOutboundReference?: (fromNodePath: string, toNodePath: string) => void,
820
795
  ) {
821
796
  switch (message.type) {
822
797
  case ContainerMessageType.Attach:
@@ -836,19 +811,13 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
836
811
 
837
812
  this.processChannelOp(envelope.address, transformed, local, localMessageMetadata);
838
813
 
839
- // By default, we use the new behavior of detecting outbound routes here.
840
- // If this setting is true, then DataStoreContext would be notifying GC instead.
841
- if (
842
- this.mc.config.getBoolean(detectOutboundRoutesViaDDSKey) !== true &&
843
- addedOutboundReference !== undefined
844
- ) {
845
- // Notify GC of any outbound references that were added by this op.
846
- detectOutboundReferences(
847
- envelope.address,
848
- transformed.contents,
849
- addedOutboundReference,
850
- );
851
- }
814
+ // Notify GC of any outbound references that were added by this op.
815
+ detectOutboundReferences(
816
+ envelope.address,
817
+ transformed.contents,
818
+ (fromPath: string, toPath: string) =>
819
+ this.parentContext.addedGCOutboundRoute(fromPath, toPath),
820
+ );
852
821
  break;
853
822
  }
854
823
  default:
@@ -989,9 +958,9 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
989
958
  : dataStoreNodePath;
990
959
 
991
960
  // Log the package details asynchronously since getInitialSnapshotDetails is async
992
- const recentelyDeletedContext = this.contexts.getRecentlyDeletedContext(id);
993
- if (recentelyDeletedContext !== undefined) {
994
- recentelyDeletedContext
961
+ const recentlyDeletedContext = this.contexts.getRecentlyDeletedContext(id);
962
+ if (recentlyDeletedContext !== undefined) {
963
+ recentlyDeletedContext
995
964
  .getInitialSnapshotDetails()
996
965
  .then((details) => {
997
966
  return details.pkg.join("/");
@@ -1179,28 +1148,6 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1179
1148
  return builder.getSummaryTree();
1180
1149
  }
1181
1150
 
1182
- /**
1183
- * Before GC runs, called by the garbage collector to update any pending GC state.
1184
- * The garbage collector needs to know all outbound references that are added. Since root data stores are not
1185
- * explicitly marked as referenced, notify GC of new root data stores that were added since the last GC run.
1186
- */
1187
- public async updateStateBeforeGC(): Promise<void> {
1188
- for (const id of this.dataStoresSinceLastGC) {
1189
- const context = this.contexts.get(id);
1190
- assert(context !== undefined, 0x2b6 /* Missing data store context */);
1191
- if (await context.isRoot()) {
1192
- // A root data store is basically a reference from the container runtime to the data store.
1193
- const handle = new FluidObjectHandle(
1194
- context,
1195
- id,
1196
- this.parentContext.IFluidHandleContext,
1197
- );
1198
- this.parentContext.addedGCOutboundReference?.(this.containerRuntimeHandle, handle);
1199
- }
1200
- }
1201
- this.dataStoresSinceLastGC = [];
1202
- }
1203
-
1204
1151
  /**
1205
1152
  * Generates data used for garbage collection. It does the following:
1206
1153
  *
@@ -8,8 +8,11 @@ import { IDeltaManager } from "@fluidframework/container-definitions/internal";
8
8
  import { IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions/internal";
9
9
  import { IEventProvider } from "@fluidframework/core-interfaces";
10
10
  import { assert } from "@fluidframework/core-utils/internal";
11
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
12
- import { IDocumentMessage, MessageType } from "@fluidframework/driver-definitions/internal";
11
+ import {
12
+ IDocumentMessage,
13
+ MessageType,
14
+ ISequencedDocumentMessage,
15
+ } from "@fluidframework/driver-definitions/internal";
13
16
  import { isRuntimeMessage } from "@fluidframework/driver-utils/internal";
14
17
  import {
15
18
  IEventSampler,
@@ -47,8 +47,6 @@ import {
47
47
  import {
48
48
  IClientDetails,
49
49
  IQuorumClients,
50
- ISequencedDocumentMessage,
51
- ISignalMessage,
52
50
  ISummaryTree,
53
51
  SummaryType,
54
52
  } from "@fluidframework/driver-definitions";
@@ -61,6 +59,8 @@ import {
61
59
  ISnapshotTree,
62
60
  ISummaryContent,
63
61
  MessageType,
62
+ ISequencedDocumentMessage,
63
+ ISignalMessage,
64
64
  } from "@fluidframework/driver-definitions/internal";
65
65
  import { readAndParse } from "@fluidframework/driver-utils/internal";
66
66
  import type { IIdCompressor } from "@fluidframework/id-compressor";
@@ -2685,12 +2685,7 @@ export class ContainerRuntime
2685
2685
  case ContainerMessageType.Attach:
2686
2686
  case ContainerMessageType.Alias:
2687
2687
  case ContainerMessageType.FluidDataStoreOp:
2688
- this.channelCollection.process(
2689
- messageWithContext.message,
2690
- local,
2691
- localOpMetadata,
2692
- (from, to) => this.garbageCollector.addedOutboundReference(from, to),
2693
- );
2688
+ this.channelCollection.process(messageWithContext.message, local, localOpMetadata);
2694
2689
  break;
2695
2690
  case ContainerMessageType.BlobAttach:
2696
2691
  this.blobManager.processBlobAttachOp(messageWithContext.message, local);
@@ -3252,16 +3247,6 @@ export class ContainerRuntime
3252
3247
  }
3253
3248
  }
3254
3249
 
3255
- /**
3256
- * Before GC runs, called by the garbage collector to update any pending GC state. This is mainly used to notify
3257
- * the garbage collector of references detected since the last GC run. Most references are notified immediately
3258
- * but there can be some for which async operation is required (such as detecting new root data stores).
3259
- * @see IGarbageCollectionRuntime.updateStateBeforeGC
3260
- */
3261
- public async updateStateBeforeGC() {
3262
- return this.channelCollection.updateStateBeforeGC();
3263
- }
3264
-
3265
3250
  private async getGCDataInternal(fullGC?: boolean): Promise<IGarbageCollectionData> {
3266
3251
  return this.channelCollection.getGCData(fullGC);
3267
3252
  }
@@ -3318,9 +3303,7 @@ export class ContainerRuntime
3318
3303
  * @param tombstonedRoutes - Data store and attachment blob routes that are tombstones in this Container.
3319
3304
  */
3320
3305
  public updateTombstonedRoutes(tombstonedRoutes: readonly string[]) {
3321
- const { blobManagerRoutes, dataStoreRoutes } =
3322
- this.getDataStoreAndBlobManagerRoutes(tombstonedRoutes);
3323
- this.blobManager.updateTombstonedRoutes(blobManagerRoutes);
3306
+ const { dataStoreRoutes } = this.getDataStoreAndBlobManagerRoutes(tombstonedRoutes);
3324
3307
  this.channelCollection.updateTombstonedRoutes(dataStoreRoutes);
3325
3308
  }
3326
3309
 
@@ -3415,19 +3398,13 @@ export class ContainerRuntime
3415
3398
  }
3416
3399
 
3417
3400
  /**
3418
- * Called when a new outbound reference is added to another node. This is used by garbage collection to identify
3401
+ * Called when a new outbound route is added to another node. This is used by garbage collection to identify
3419
3402
  * all references added in the system.
3420
- * @param srcHandle - The handle of the node that added the reference.
3421
- * @param outboundHandle - The handle of the outbound node that is referenced.
3403
+ * @param fromPath - The absolute path of the node that added the reference.
3404
+ * @param toPath - The absolute path of the outbound node that is referenced.
3422
3405
  */
3423
- public addedGCOutboundReference(
3424
- srcHandle: { absolutePath: string },
3425
- outboundHandle: { absolutePath: string },
3426
- ) {
3427
- this.garbageCollector.addedOutboundReference(
3428
- srcHandle.absolutePath,
3429
- outboundHandle.absolutePath,
3430
- );
3406
+ public addedGCOutboundRoute(fromPath: string, toPath: string) {
3407
+ this.garbageCollector.addedOutboundReference(fromPath, toPath);
3431
3408
  }
3432
3409
 
3433
3410
  /**
@@ -16,17 +16,14 @@ import {
16
16
  } from "@fluidframework/core-interfaces";
17
17
  import { type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
18
18
  import { assert, LazyPromise, unreachableCase } from "@fluidframework/core-utils/internal";
19
- import {
20
- IClientDetails,
21
- IQuorumClients,
22
- ISequencedDocumentMessage,
23
- } from "@fluidframework/driver-definitions";
19
+ import { IClientDetails, IQuorumClients } from "@fluidframework/driver-definitions";
24
20
  import {
25
21
  IDocumentStorageService,
26
22
  type ISnapshot,
27
23
  IDocumentMessage,
28
24
  ISnapshotTree,
29
25
  ITreeEntry,
26
+ ISequencedDocumentMessage,
30
27
  } from "@fluidframework/driver-definitions/internal";
31
28
  import {
32
29
  BlobTreeEntry,
@@ -61,7 +58,6 @@ import {
61
58
  import {
62
59
  addBlobToSummary,
63
60
  isSnapshotFetchRequiredForLoadingGroupId,
64
- toFluidHandleInternal,
65
61
  } from "@fluidframework/runtime-utils/internal";
66
62
  import {
67
63
  DataCorruptionError,
@@ -75,7 +71,7 @@ import {
75
71
  tagCodeArtifacts,
76
72
  } from "@fluidframework/telemetry-utils/internal";
77
73
 
78
- import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc/index.js";
74
+ import { sendGCUnexpectedUsageEvent } from "./gc/index.js";
79
75
  import {
80
76
  // eslint-disable-next-line import/no-deprecated
81
77
  ReadFluidDataStoreAttributes,
@@ -723,33 +719,6 @@ export abstract class FluidDataStoreContext
723
719
  }
724
720
 
725
721
  /**
726
- * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.
727
- * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0
728
- *
729
- * Similar capability is exposed with from/to string paths instead of handles via @see addedGCOutboundRoute
730
- *
731
- * Called when a new outbound reference is added to another node. This is used by garbage collection to identify
732
- * all references added in the system.
733
- * @param srcHandle - The handle of the node that added the reference.
734
- * @param outboundHandle - The handle of the outbound node that is referenced.
735
- */
736
- public addedGCOutboundReference(
737
- srcHandle: IFluidHandleInternal,
738
- outboundHandle: IFluidHandleInternal,
739
- ): void {
740
- // By default, skip this call since the ContainerRuntime will detect the outbound route directly.
741
- if (this.mc.config.getBoolean(detectOutboundRoutesViaDDSKey) === true) {
742
- // Note: The ContainerRuntime code will check this same setting to avoid double counting.
743
- this.parentContext.addedGCOutboundReference?.(
744
- toFluidHandleInternal(srcHandle),
745
- toFluidHandleInternal(outboundHandle),
746
- );
747
- }
748
- }
749
-
750
- /**
751
- * (Same as @see addedGCOutboundReference, but with string paths instead of handles)
752
- *
753
722
  * Called when a new outbound reference is added to another node. This is used by garbage collection to identify
754
723
  * all references added in the system.
755
724
  *
@@ -757,10 +726,7 @@ export abstract class FluidDataStoreContext
757
726
  * @param toPath - The absolute path of the outbound node that is referenced.
758
727
  */
759
728
  public addedGCOutboundRoute(fromPath: string, toPath: string) {
760
- this.parentContext.addedGCOutboundReference?.(
761
- { absolutePath: fromPath },
762
- { absolutePath: toPath },
763
- );
729
+ this.parentContext.addedGCOutboundRoute(fromPath, toPath);
764
730
  }
765
731
 
766
732
  /**
@@ -13,15 +13,13 @@ import type {
13
13
  ReadOnlyInfo,
14
14
  } from "@fluidframework/container-definitions/internal";
15
15
  import type { IErrorBase } from "@fluidframework/core-interfaces";
16
- import {
17
- IClientDetails,
18
- ISequencedDocumentMessage,
19
- ISignalMessage,
20
- } from "@fluidframework/driver-definitions";
16
+ import { IClientDetails } from "@fluidframework/driver-definitions";
21
17
  import type { IAnyDriverError } from "@fluidframework/driver-definitions/internal";
22
18
  import {
23
19
  IClientConfiguration,
24
20
  IDocumentMessage,
21
+ ISequencedDocumentMessage,
22
+ ISignalMessage,
25
23
  } from "@fluidframework/driver-definitions/internal";
26
24
 
27
25
  import type { PendingStateManager } from "./pendingStateManager.js";
@@ -5,8 +5,10 @@
5
5
 
6
6
  import { performance } from "@fluid-internal/client-utils";
7
7
  import { IDeltaManager } from "@fluidframework/container-definitions/internal";
8
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
9
- import { IDocumentMessage } from "@fluidframework/driver-definitions/internal";
8
+ import {
9
+ IDocumentMessage,
10
+ ISequencedDocumentMessage,
11
+ } from "@fluidframework/driver-definitions/internal";
10
12
  import { ITelemetryLoggerExt, formatTick } from "@fluidframework/telemetry-utils/internal";
11
13
 
12
14
  /**
@@ -517,8 +517,6 @@ export class GarbageCollector implements IGarbageCollector {
517
517
  /** Pre-GC steps */
518
518
  // Ensure that state has been initialized from the base snapshot data.
519
519
  await this.initializeGCStateFromBaseSnapshotP;
520
- // Let the runtime update its pending state before GC runs.
521
- await this.runtime.updateStateBeforeGC();
522
520
 
523
521
  /** GC step */
524
522
  const gcStats = await this.runGC(fullGC, currentReferenceTimestampMs, logger);
@@ -77,8 +77,6 @@ export const throwOnTombstoneUsageKey = "Fluid.GarbageCollection.ThrowOnTombston
77
77
  export const gcVersionUpgradeToV4Key = "Fluid.GarbageCollection.GCVersionUpgradeToV4";
78
78
  /** Config key to disable GC sweep for datastores. They'll merely be Tombstoned. */
79
79
  export const disableDatastoreSweepKey = "Fluid.GarbageCollection.DisableDataStoreSweep";
80
- /** Config key to revert new paradigm of detecting outbound routes in ContainerRuntime layer (use true) */
81
- export const detectOutboundRoutesViaDDSKey = "Fluid.GarbageCollection.DetectOutboundRoutesViaDDS";
82
80
  /** Config key to disable auto-recovery mechanism that protects Tombstones that are loaded from being swept (use true) */
83
81
  export const disableAutoRecoveryKey = "Fluid.GarbageCollection.DisableAutoRecovery";
84
82
 
@@ -300,8 +298,6 @@ export type GarbageCollectionMessage = ISweepMessage | ITombstoneLoadedMessage;
300
298
  * Defines the APIs for the runtime object to be passed to the garbage collector.
301
299
  */
302
300
  export interface IGarbageCollectionRuntime {
303
- /** Before GC runs, called to notify the runtime to update any pending GC state. */
304
- updateStateBeforeGC(): Promise<void>;
305
301
  /** Returns the garbage collection data of the runtime. */
306
302
  getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
307
303
  /** After GC has run, called to notify the runtime of routes that are used in it. */
package/src/gc/index.ts CHANGED
@@ -35,7 +35,6 @@ export {
35
35
  stableGCVersion,
36
36
  disableAutoRecoveryKey,
37
37
  disableDatastoreSweepKey,
38
- detectOutboundRoutesViaDDSKey,
39
38
  UnreferencedState,
40
39
  throwOnTombstoneLoadOverrideKey,
41
40
  GarbageCollectionMessage,
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
6
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
7
7
  import type { IdCreationRange } from "@fluidframework/id-compressor/internal";
8
8
  import {
9
9
  IAttachMessage,
@@ -6,7 +6,7 @@
6
6
  import { IsoBuffer, Uint8ArrayToString } from "@fluid-internal/client-utils";
7
7
  import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
8
  import { assert } from "@fluidframework/core-utils/internal";
9
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
9
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
10
  import { createChildLogger } from "@fluidframework/telemetry-utils/internal";
11
11
  import { decompress } from "lz4js";
12
12
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
7
  import { assert } from "@fluidframework/core-utils/internal";
8
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
8
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
9
9
  import { createChildLogger } from "@fluidframework/telemetry-utils/internal";
10
10
 
11
11
  import { IBatch, type BatchMessage } from "./definitions.js";
@@ -6,7 +6,7 @@
6
6
  import { IBatchMessage } from "@fluidframework/container-definitions/internal";
7
7
  import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
8
8
  import { assert } from "@fluidframework/core-utils/internal";
9
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
9
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
10
  import {
11
11
  DataCorruptionError,
12
12
  createChildLogger,
@@ -3,8 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
7
- import { MessageType } from "@fluidframework/driver-definitions/internal";
6
+ import {
7
+ MessageType,
8
+ ISequencedDocumentMessage,
9
+ } from "@fluidframework/driver-definitions/internal";
8
10
 
9
11
  import {
10
12
  ContainerMessageType,
@@ -3,8 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
7
- import { ISequencedDocumentSystemMessage } from "@fluidframework/driver-definitions/internal";
6
+ import {
7
+ ISequencedDocumentSystemMessage,
8
+ ISequencedDocumentMessage,
9
+ } from "@fluidframework/driver-definitions/internal";
8
10
 
9
11
  export const opSize = (op: ISequencedDocumentMessage): number => {
10
12
  // Some messages may already have string contents,
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/container-runtime";
9
- export const pkgVersion = "2.0.0-dev-rc.5.0.0.268409";
9
+ export const pkgVersion = "2.0.0-dev-rc.5.0.0.270401";