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

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 (456) hide show
  1. package/api-report/container-runtime.api.md +78 -25
  2. package/dist/batchTracker.d.ts +1 -1
  3. package/dist/batchTracker.d.ts.map +1 -1
  4. package/dist/batchTracker.js +2 -2
  5. package/dist/batchTracker.js.map +1 -1
  6. package/dist/blobManager.d.ts +3 -3
  7. package/dist/blobManager.d.ts.map +1 -1
  8. package/dist/blobManager.js +3 -3
  9. package/dist/blobManager.js.map +1 -1
  10. package/dist/channelCollection.d.ts +5 -5
  11. package/dist/channelCollection.d.ts.map +1 -1
  12. package/dist/channelCollection.js +44 -11
  13. package/dist/channelCollection.js.map +1 -1
  14. package/dist/connectionTelemetry.d.ts +2 -2
  15. package/dist/connectionTelemetry.d.ts.map +1 -1
  16. package/dist/connectionTelemetry.js +3 -3
  17. package/dist/connectionTelemetry.js.map +1 -1
  18. package/dist/container-runtime-alpha.d.ts +205 -11
  19. package/dist/container-runtime-beta.d.ts +16 -2
  20. package/dist/container-runtime-public.d.ts +16 -2
  21. package/dist/container-runtime-untrimmed.d.ts +205 -24
  22. package/dist/containerHandleContext.d.ts.map +1 -1
  23. package/dist/containerHandleContext.js.map +1 -1
  24. package/dist/containerRuntime.d.ts +32 -26
  25. package/dist/containerRuntime.d.ts.map +1 -1
  26. package/dist/containerRuntime.js +213 -119
  27. package/dist/containerRuntime.js.map +1 -1
  28. package/dist/dataStore.d.ts +1 -1
  29. package/dist/dataStore.d.ts.map +1 -1
  30. package/dist/dataStore.js +2 -2
  31. package/dist/dataStore.js.map +1 -1
  32. package/dist/dataStoreContext.d.ts +4 -4
  33. package/dist/dataStoreContext.d.ts.map +1 -1
  34. package/dist/dataStoreContext.js +18 -18
  35. package/dist/dataStoreContext.js.map +1 -1
  36. package/dist/dataStoreContexts.d.ts.map +1 -1
  37. package/dist/dataStoreContexts.js.map +1 -1
  38. package/dist/dataStoreRegistry.d.ts.map +1 -1
  39. package/dist/dataStoreRegistry.js.map +1 -1
  40. package/dist/deltaScheduler.d.ts +1 -1
  41. package/dist/deltaScheduler.d.ts.map +1 -1
  42. package/dist/deltaScheduler.js +1 -1
  43. package/dist/deltaScheduler.js.map +1 -1
  44. package/dist/gc/garbageCollection.d.ts +1 -1
  45. package/dist/gc/garbageCollection.d.ts.map +1 -1
  46. package/dist/gc/garbageCollection.js +1 -1
  47. package/dist/gc/garbageCollection.js.map +1 -1
  48. package/dist/gc/gcConfigs.d.ts +1 -1
  49. package/dist/gc/gcConfigs.d.ts.map +1 -1
  50. package/dist/gc/gcConfigs.js.map +1 -1
  51. package/dist/gc/gcDefinitions.d.ts +1 -1
  52. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  53. package/dist/gc/gcDefinitions.js.map +1 -1
  54. package/dist/gc/gcHelpers.d.ts.map +1 -1
  55. package/dist/gc/gcHelpers.js.map +1 -1
  56. package/dist/gc/gcSummaryStateTracker.d.ts +1 -1
  57. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  58. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  59. package/dist/gc/gcTelemetry.d.ts +1 -1
  60. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  61. package/dist/gc/gcTelemetry.js.map +1 -1
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +4 -2
  65. package/dist/index.js.map +1 -1
  66. package/dist/messageTypes.d.ts +11 -5
  67. package/dist/messageTypes.d.ts.map +1 -1
  68. package/dist/messageTypes.js +4 -0
  69. package/dist/messageTypes.js.map +1 -1
  70. package/dist/opLifecycle/definitions.d.ts +1 -19
  71. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  72. package/dist/opLifecycle/definitions.js.map +1 -1
  73. package/dist/opLifecycle/index.d.ts +3 -3
  74. package/dist/opLifecycle/index.d.ts.map +1 -1
  75. package/dist/opLifecycle/index.js +3 -1
  76. package/dist/opLifecycle/index.js.map +1 -1
  77. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  78. package/dist/opLifecycle/opCompressor.js +2 -3
  79. package/dist/opLifecycle/opCompressor.js.map +1 -1
  80. package/dist/opLifecycle/opDecompressor.d.ts +15 -4
  81. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  82. package/dist/opLifecycle/opDecompressor.js +60 -61
  83. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  84. package/dist/opLifecycle/opGroupingManager.d.ts +2 -1
  85. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  86. package/dist/opLifecycle/opGroupingManager.js +9 -11
  87. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  88. package/dist/opLifecycle/opSplitter.d.ts +11 -3
  89. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  90. package/dist/opLifecycle/opSplitter.js +48 -38
  91. package/dist/opLifecycle/opSplitter.js.map +1 -1
  92. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  93. package/dist/opLifecycle/outbox.js +7 -12
  94. package/dist/opLifecycle/outbox.js.map +1 -1
  95. package/dist/opLifecycle/remoteMessageProcessor.d.ts +8 -0
  96. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  97. package/dist/opLifecycle/remoteMessageProcessor.js +36 -35
  98. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  99. package/dist/packageVersion.d.ts +1 -1
  100. package/dist/packageVersion.js +1 -1
  101. package/dist/packageVersion.js.map +1 -1
  102. package/dist/pendingStateManager.d.ts +1 -1
  103. package/dist/pendingStateManager.d.ts.map +1 -1
  104. package/dist/pendingStateManager.js.map +1 -1
  105. package/dist/scheduleManager.d.ts +1 -1
  106. package/dist/scheduleManager.d.ts.map +1 -1
  107. package/dist/scheduleManager.js +2 -2
  108. package/dist/scheduleManager.js.map +1 -1
  109. package/dist/summary/documentSchema.d.ts +178 -0
  110. package/dist/summary/documentSchema.d.ts.map +1 -0
  111. package/dist/summary/documentSchema.js +345 -0
  112. package/dist/summary/documentSchema.js.map +1 -0
  113. package/dist/summary/index.d.ts +2 -1
  114. package/dist/summary/index.d.ts.map +1 -1
  115. package/dist/summary/index.js +4 -1
  116. package/dist/summary/index.js.map +1 -1
  117. package/dist/summary/orderedClientElection.d.ts +2 -2
  118. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  119. package/dist/summary/orderedClientElection.js +3 -2
  120. package/dist/summary/orderedClientElection.js.map +1 -1
  121. package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -1
  122. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  123. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  124. package/dist/summary/runningSummarizer.d.ts +2 -2
  125. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  126. package/dist/summary/runningSummarizer.js +2 -2
  127. package/dist/summary/runningSummarizer.js.map +1 -1
  128. package/dist/summary/summarizer.d.ts +2 -2
  129. package/dist/summary/summarizer.d.ts.map +1 -1
  130. package/dist/summary/summarizer.js +2 -2
  131. package/dist/summary/summarizer.js.map +1 -1
  132. package/dist/summary/summarizerClientElection.d.ts +2 -2
  133. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  134. package/dist/summary/summarizerClientElection.js.map +1 -1
  135. package/dist/summary/summarizerHeuristics.d.ts +1 -1
  136. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  137. package/dist/summary/summarizerHeuristics.js.map +1 -1
  138. package/dist/summary/summarizerNode/summarizerNode.d.ts +2 -2
  139. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  140. package/dist/summary/summarizerNode/summarizerNode.js +3 -3
  141. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  142. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
  143. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  144. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  145. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -1
  146. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  147. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
  148. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  149. package/dist/summary/summarizerTypes.d.ts +3 -3
  150. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  151. package/dist/summary/summarizerTypes.js.map +1 -1
  152. package/dist/summary/summaryCollection.d.ts +2 -2
  153. package/dist/summary/summaryCollection.d.ts.map +1 -1
  154. package/dist/summary/summaryCollection.js +1 -1
  155. package/dist/summary/summaryCollection.js.map +1 -1
  156. package/dist/summary/summaryFormat.d.ts +5 -16
  157. package/dist/summary/summaryFormat.d.ts.map +1 -1
  158. package/dist/summary/summaryFormat.js.map +1 -1
  159. package/dist/summary/summaryGenerator.d.ts +2 -2
  160. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  161. package/dist/summary/summaryGenerator.js +2 -2
  162. package/dist/summary/summaryGenerator.js.map +1 -1
  163. package/dist/summary/summaryManager.d.ts +1 -1
  164. package/dist/summary/summaryManager.d.ts.map +1 -1
  165. package/dist/summary/summaryManager.js +2 -2
  166. package/dist/summary/summaryManager.js.map +1 -1
  167. package/lib/batchTracker.d.ts +1 -1
  168. package/lib/batchTracker.d.ts.map +1 -1
  169. package/lib/batchTracker.js +2 -2
  170. package/lib/batchTracker.js.map +1 -1
  171. package/lib/blobManager.d.ts +3 -3
  172. package/lib/blobManager.d.ts.map +1 -1
  173. package/lib/blobManager.js +5 -5
  174. package/lib/blobManager.js.map +1 -1
  175. package/lib/channelCollection.d.ts +5 -5
  176. package/lib/channelCollection.d.ts.map +1 -1
  177. package/lib/channelCollection.js +46 -13
  178. package/lib/channelCollection.js.map +1 -1
  179. package/lib/connectionTelemetry.d.ts +2 -2
  180. package/lib/connectionTelemetry.d.ts.map +1 -1
  181. package/lib/connectionTelemetry.js +3 -3
  182. package/lib/connectionTelemetry.js.map +1 -1
  183. package/lib/container-runtime-alpha.d.ts +205 -11
  184. package/lib/container-runtime-beta.d.ts +16 -2
  185. package/lib/container-runtime-public.d.ts +16 -2
  186. package/lib/container-runtime-untrimmed.d.ts +205 -24
  187. package/lib/containerHandleContext.d.ts.map +1 -1
  188. package/lib/containerHandleContext.js.map +1 -1
  189. package/lib/containerRuntime.d.ts +32 -26
  190. package/lib/containerRuntime.d.ts.map +1 -1
  191. package/lib/containerRuntime.js +175 -81
  192. package/lib/containerRuntime.js.map +1 -1
  193. package/lib/dataStore.d.ts +1 -1
  194. package/lib/dataStore.d.ts.map +1 -1
  195. package/lib/dataStore.js +2 -2
  196. package/lib/dataStore.js.map +1 -1
  197. package/lib/dataStoreContext.d.ts +4 -4
  198. package/lib/dataStoreContext.d.ts.map +1 -1
  199. package/lib/dataStoreContext.js +3 -3
  200. package/lib/dataStoreContext.js.map +1 -1
  201. package/lib/dataStoreContexts.d.ts.map +1 -1
  202. package/lib/dataStoreContexts.js.map +1 -1
  203. package/lib/dataStoreRegistry.d.ts.map +1 -1
  204. package/lib/dataStoreRegistry.js.map +1 -1
  205. package/lib/deltaScheduler.d.ts +1 -1
  206. package/lib/deltaScheduler.d.ts.map +1 -1
  207. package/lib/deltaScheduler.js +1 -1
  208. package/lib/deltaScheduler.js.map +1 -1
  209. package/lib/gc/garbageCollection.d.ts +1 -1
  210. package/lib/gc/garbageCollection.d.ts.map +1 -1
  211. package/lib/gc/garbageCollection.js +3 -3
  212. package/lib/gc/garbageCollection.js.map +1 -1
  213. package/lib/gc/gcConfigs.d.ts +1 -1
  214. package/lib/gc/gcConfigs.d.ts.map +1 -1
  215. package/lib/gc/gcConfigs.js +1 -1
  216. package/lib/gc/gcConfigs.js.map +1 -1
  217. package/lib/gc/gcDefinitions.d.ts +1 -1
  218. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  219. package/lib/gc/gcDefinitions.js.map +1 -1
  220. package/lib/gc/gcHelpers.d.ts.map +1 -1
  221. package/lib/gc/gcHelpers.js.map +1 -1
  222. package/lib/gc/gcSummaryStateTracker.d.ts +1 -1
  223. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  224. package/lib/gc/gcSummaryStateTracker.js +1 -1
  225. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  226. package/lib/gc/gcTelemetry.d.ts +1 -1
  227. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  228. package/lib/gc/gcTelemetry.js +1 -1
  229. package/lib/gc/gcTelemetry.js.map +1 -1
  230. package/lib/index.d.ts +2 -2
  231. package/lib/index.d.ts.map +1 -1
  232. package/lib/index.js +2 -2
  233. package/lib/index.js.map +1 -1
  234. package/lib/messageTypes.d.ts +11 -5
  235. package/lib/messageTypes.d.ts.map +1 -1
  236. package/lib/messageTypes.js +4 -0
  237. package/lib/messageTypes.js.map +1 -1
  238. package/lib/opLifecycle/definitions.d.ts +1 -19
  239. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  240. package/lib/opLifecycle/definitions.js.map +1 -1
  241. package/lib/opLifecycle/index.d.ts +3 -3
  242. package/lib/opLifecycle/index.d.ts.map +1 -1
  243. package/lib/opLifecycle/index.js +2 -2
  244. package/lib/opLifecycle/index.js.map +1 -1
  245. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  246. package/lib/opLifecycle/opCompressor.js +2 -3
  247. package/lib/opLifecycle/opCompressor.js.map +1 -1
  248. package/lib/opLifecycle/opDecompressor.d.ts +15 -4
  249. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  250. package/lib/opLifecycle/opDecompressor.js +60 -61
  251. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  252. package/lib/opLifecycle/opGroupingManager.d.ts +2 -1
  253. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  254. package/lib/opLifecycle/opGroupingManager.js +7 -10
  255. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  256. package/lib/opLifecycle/opSplitter.d.ts +11 -3
  257. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  258. package/lib/opLifecycle/opSplitter.js +46 -37
  259. package/lib/opLifecycle/opSplitter.js.map +1 -1
  260. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  261. package/lib/opLifecycle/outbox.js +7 -12
  262. package/lib/opLifecycle/outbox.js.map +1 -1
  263. package/lib/opLifecycle/remoteMessageProcessor.d.ts +8 -0
  264. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  265. package/lib/opLifecycle/remoteMessageProcessor.js +36 -35
  266. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  267. package/lib/packageVersion.d.ts +1 -1
  268. package/lib/packageVersion.js +1 -1
  269. package/lib/packageVersion.js.map +1 -1
  270. package/lib/pendingStateManager.d.ts +1 -1
  271. package/lib/pendingStateManager.d.ts.map +1 -1
  272. package/lib/pendingStateManager.js.map +1 -1
  273. package/lib/scheduleManager.d.ts +1 -1
  274. package/lib/scheduleManager.d.ts.map +1 -1
  275. package/lib/scheduleManager.js +2 -2
  276. package/lib/scheduleManager.js.map +1 -1
  277. package/lib/summary/documentSchema.d.ts +178 -0
  278. package/lib/summary/documentSchema.d.ts.map +1 -0
  279. package/lib/summary/documentSchema.js +341 -0
  280. package/lib/summary/documentSchema.js.map +1 -0
  281. package/lib/summary/index.d.ts +2 -1
  282. package/lib/summary/index.d.ts.map +1 -1
  283. package/lib/summary/index.js +1 -0
  284. package/lib/summary/index.js.map +1 -1
  285. package/lib/summary/orderedClientElection.d.ts +2 -2
  286. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  287. package/lib/summary/orderedClientElection.js +3 -2
  288. package/lib/summary/orderedClientElection.js.map +1 -1
  289. package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -1
  290. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  291. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  292. package/lib/summary/runningSummarizer.d.ts +2 -2
  293. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  294. package/lib/summary/runningSummarizer.js +3 -3
  295. package/lib/summary/runningSummarizer.js.map +1 -1
  296. package/lib/summary/summarizer.d.ts +2 -2
  297. package/lib/summary/summarizer.d.ts.map +1 -1
  298. package/lib/summary/summarizer.js +3 -3
  299. package/lib/summary/summarizer.js.map +1 -1
  300. package/lib/summary/summarizerClientElection.d.ts +2 -2
  301. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  302. package/lib/summary/summarizerClientElection.js.map +1 -1
  303. package/lib/summary/summarizerHeuristics.d.ts +1 -1
  304. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  305. package/lib/summary/summarizerHeuristics.js.map +1 -1
  306. package/lib/summary/summarizerNode/summarizerNode.d.ts +2 -2
  307. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  308. package/lib/summary/summarizerNode/summarizerNode.js +4 -4
  309. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  310. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
  311. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  312. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  313. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -1
  314. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  315. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
  316. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  317. package/lib/summary/summarizerTypes.d.ts +3 -3
  318. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  319. package/lib/summary/summarizerTypes.js.map +1 -1
  320. package/lib/summary/summaryCollection.d.ts +2 -2
  321. package/lib/summary/summaryCollection.d.ts.map +1 -1
  322. package/lib/summary/summaryCollection.js +1 -1
  323. package/lib/summary/summaryCollection.js.map +1 -1
  324. package/lib/summary/summaryFormat.d.ts +5 -16
  325. package/lib/summary/summaryFormat.d.ts.map +1 -1
  326. package/lib/summary/summaryFormat.js +1 -1
  327. package/lib/summary/summaryFormat.js.map +1 -1
  328. package/lib/summary/summaryGenerator.d.ts +2 -2
  329. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  330. package/lib/summary/summaryGenerator.js +3 -3
  331. package/lib/summary/summaryGenerator.js.map +1 -1
  332. package/lib/summary/summaryManager.d.ts +1 -1
  333. package/lib/summary/summaryManager.d.ts.map +1 -1
  334. package/lib/summary/summaryManager.js +2 -2
  335. package/lib/summary/summaryManager.js.map +1 -1
  336. package/lib/test/blobManager.spec.js +3 -3
  337. package/lib/test/blobManager.spec.js.map +1 -1
  338. package/lib/test/containerRuntime.spec.js +6 -4
  339. package/lib/test/containerRuntime.spec.js.map +1 -1
  340. package/lib/test/dataStoreContext.spec.js +4 -4
  341. package/lib/test/dataStoreContext.spec.js.map +1 -1
  342. package/lib/test/dataStoreCreation.spec.js +1 -1
  343. package/lib/test/dataStoreCreation.spec.js.map +1 -1
  344. package/lib/test/dataStoreRegistry.spec.js.map +1 -1
  345. package/lib/test/documentSchema.spec.js +282 -0
  346. package/lib/test/documentSchema.spec.js.map +1 -0
  347. package/lib/test/fuzz/fuzzUtils.js +11 -7
  348. package/lib/test/fuzz/fuzzUtils.js.map +1 -1
  349. package/lib/test/fuzz/summarizer.fuzz.spec.js +9 -7
  350. package/lib/test/fuzz/summarizer.fuzz.spec.js.map +1 -1
  351. package/lib/test/fuzz/summarizerFuzzMocks.js +43 -25
  352. package/lib/test/fuzz/summarizerFuzzMocks.js.map +1 -1
  353. package/lib/test/fuzz/summarizerFuzzSuite.js +7 -4
  354. package/lib/test/fuzz/summarizerFuzzSuite.js.map +1 -1
  355. package/lib/test/gc/garbageCollection.spec.js +5 -5
  356. package/lib/test/gc/garbageCollection.spec.js.map +1 -1
  357. package/lib/test/gc/gcConfigs.spec.js +2 -2
  358. package/lib/test/gc/gcConfigs.spec.js.map +1 -1
  359. package/lib/test/gc/gcHelpers.spec.js.map +1 -1
  360. package/lib/test/gc/gcStats.spec.js +2 -2
  361. package/lib/test/gc/gcStats.spec.js.map +1 -1
  362. package/lib/test/gc/gcSummaryStateTracker.spec.js +1 -1
  363. package/lib/test/gc/gcSummaryStateTracker.spec.js.map +1 -1
  364. package/lib/test/gc/gcTelemetry.spec.js +3 -3
  365. package/lib/test/gc/gcTelemetry.spec.js.map +1 -1
  366. package/lib/test/gc/gcUnreferencedStateTracker.spec.js +1 -1
  367. package/lib/test/gc/gcUnreferencedStateTracker.spec.js.map +1 -1
  368. package/lib/test/getPendingBlobs.spec.js +1 -1
  369. package/lib/test/getPendingBlobs.spec.js.map +1 -1
  370. package/lib/test/hardwareStats.spec.js +1 -1
  371. package/lib/test/hardwareStats.spec.js.map +1 -1
  372. package/lib/test/opLifecycle/OpGroupingManager.spec.js +95 -118
  373. package/lib/test/opLifecycle/OpGroupingManager.spec.js.map +1 -1
  374. package/lib/test/opLifecycle/batchManager.spec.js +1 -1
  375. package/lib/test/opLifecycle/batchManager.spec.js.map +1 -1
  376. package/lib/test/opLifecycle/opCompressor.spec.js +0 -1
  377. package/lib/test/opLifecycle/opCompressor.spec.js.map +1 -1
  378. package/lib/test/opLifecycle/opDecompressor.spec.js +60 -55
  379. package/lib/test/opLifecycle/opDecompressor.spec.js.map +1 -1
  380. package/lib/test/opLifecycle/opSplitter.spec.js +56 -41
  381. package/lib/test/opLifecycle/opSplitter.spec.js.map +1 -1
  382. package/lib/test/opLifecycle/outbox.spec.js +118 -10
  383. package/lib/test/opLifecycle/outbox.spec.js.map +1 -1
  384. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js +115 -91
  385. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js.map +1 -1
  386. package/lib/test/pendingStateManager.spec.js +1 -1
  387. package/lib/test/pendingStateManager.spec.js.map +1 -1
  388. package/lib/test/scheduleManager.spec.js +1 -1
  389. package/lib/test/scheduleManager.spec.js.map +1 -1
  390. package/lib/test/summarizerNode.spec.js +1 -1
  391. package/lib/test/summarizerNode.spec.js.map +1 -1
  392. package/lib/test/summarizerNodeWithGc.spec.js +1 -1
  393. package/lib/test/summarizerNodeWithGc.spec.js.map +1 -1
  394. package/lib/test/summary/runningSummarizer.spec.js +4 -4
  395. package/lib/test/summary/runningSummarizer.spec.js.map +1 -1
  396. package/lib/test/summary/summarizer.spec.js.map +1 -1
  397. package/lib/test/summary/summarizerClientElection.spec.js +2 -2
  398. package/lib/test/summary/summarizerClientElection.spec.js.map +1 -1
  399. package/lib/test/summary/summarizerHeuristics.spec.js +1 -1
  400. package/lib/test/summary/summarizerHeuristics.spec.js.map +1 -1
  401. package/lib/test/summary/summaryCollection.spec.js +1 -1
  402. package/lib/test/summary/summaryCollection.spec.js.map +1 -1
  403. package/lib/test/summary/summaryManager.spec.js +3 -3
  404. package/lib/test/summary/summaryManager.spec.js.map +1 -1
  405. package/lib/test/throttler.spec.js +1 -1
  406. package/lib/test/throttler.spec.js.map +1 -1
  407. package/lib/test/types/validateContainerRuntimePrevious.generated.js +6 -4
  408. package/lib/test/types/validateContainerRuntimePrevious.generated.js.map +1 -1
  409. package/package.json +35 -21
  410. package/src/batchTracker.ts +3 -3
  411. package/src/blobManager.ts +15 -15
  412. package/src/channelCollection.ts +75 -35
  413. package/src/connectionTelemetry.ts +10 -10
  414. package/src/containerHandleContext.ts +1 -1
  415. package/src/containerRuntime.ts +352 -197
  416. package/src/dataStore.ts +2 -2
  417. package/src/dataStoreContext.ts +19 -19
  418. package/src/dataStoreContexts.ts +2 -2
  419. package/src/dataStoreRegistry.ts +1 -1
  420. package/src/deltaScheduler.ts +1 -1
  421. package/src/gc/garbageCollection.ts +12 -12
  422. package/src/gc/gcConfigs.ts +11 -11
  423. package/src/gc/gcDefinitions.ts +2 -2
  424. package/src/gc/gcHelpers.ts +2 -2
  425. package/src/gc/gcSummaryStateTracker.ts +4 -4
  426. package/src/gc/gcTelemetry.ts +6 -6
  427. package/src/index.ts +8 -1
  428. package/src/messageTypes.ts +18 -5
  429. package/src/opLifecycle/README.md +89 -0
  430. package/src/opLifecycle/definitions.ts +1 -20
  431. package/src/opLifecycle/index.ts +3 -9
  432. package/src/opLifecycle/opCompressor.ts +4 -5
  433. package/src/opLifecycle/opDecompressor.ts +83 -100
  434. package/src/opLifecycle/opGroupingManager.ts +9 -12
  435. package/src/opLifecycle/opSplitter.ts +73 -47
  436. package/src/opLifecycle/outbox.ts +13 -31
  437. package/src/opLifecycle/remoteMessageProcessor.ts +41 -59
  438. package/src/packageVersion.ts +1 -1
  439. package/src/pendingStateManager.ts +2 -2
  440. package/src/scheduleManager.ts +7 -7
  441. package/src/summary/documentSchema.ts +553 -0
  442. package/src/summary/index.ts +10 -1
  443. package/src/summary/orderedClientElection.ts +6 -5
  444. package/src/summary/runWhileConnectedCoordinator.ts +1 -1
  445. package/src/summary/runningSummarizer.ts +19 -19
  446. package/src/summary/summarizer.ts +14 -14
  447. package/src/summary/summarizerClientElection.ts +2 -2
  448. package/src/summary/summarizerHeuristics.ts +2 -2
  449. package/src/summary/summarizerNode/summarizerNode.ts +15 -15
  450. package/src/summary/summarizerNode/summarizerNodeUtils.ts +1 -1
  451. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +4 -4
  452. package/src/summary/summarizerTypes.ts +3 -3
  453. package/src/summary/summaryCollection.ts +3 -3
  454. package/src/summary/summaryFormat.ts +8 -19
  455. package/src/summary/summaryGenerator.ts +10 -10
  456. package/src/summary/summaryManager.ts +4 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-runtime",
3
- "version": "2.0.0-dev-rc.2.0.0.246488",
3
+ "version": "2.0.0-dev-rc.3.0.0.250606",
4
4
  "description": "Fluid container runtime",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -137,20 +137,20 @@
137
137
  "temp-directory": "nyc/.nyc_output"
138
138
  },
139
139
  "dependencies": {
140
- "@fluid-internal/client-utils": "2.0.0-dev-rc.2.0.0.246488",
140
+ "@fluid-internal/client-utils": "2.0.0-dev-rc.3.0.0.250606",
141
141
  "@fluidframework/common-definitions": "^1.1.0",
142
- "@fluidframework/container-definitions": "2.0.0-dev-rc.2.0.0.246488",
143
- "@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.2.0.0.246488",
144
- "@fluidframework/core-interfaces": "2.0.0-dev-rc.2.0.0.246488",
145
- "@fluidframework/core-utils": "2.0.0-dev-rc.2.0.0.246488",
146
- "@fluidframework/datastore": "2.0.0-dev-rc.2.0.0.246488",
147
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.2.0.0.246488",
148
- "@fluidframework/driver-utils": "2.0.0-dev-rc.2.0.0.246488",
149
- "@fluidframework/id-compressor": "2.0.0-dev-rc.2.0.0.246488",
142
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.250606",
143
+ "@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.3.0.0.250606",
144
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.250606",
145
+ "@fluidframework/core-utils": "2.0.0-dev-rc.3.0.0.250606",
146
+ "@fluidframework/datastore": "2.0.0-dev-rc.3.0.0.250606",
147
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.250606",
148
+ "@fluidframework/driver-utils": "2.0.0-dev-rc.3.0.0.250606",
149
+ "@fluidframework/id-compressor": "2.0.0-dev-rc.3.0.0.250606",
150
150
  "@fluidframework/protocol-definitions": "^3.2.0",
151
- "@fluidframework/runtime-definitions": "2.0.0-dev-rc.2.0.0.246488",
152
- "@fluidframework/runtime-utils": "2.0.0-dev-rc.2.0.0.246488",
153
- "@fluidframework/telemetry-utils": "2.0.0-dev-rc.2.0.0.246488",
151
+ "@fluidframework/runtime-definitions": "2.0.0-dev-rc.3.0.0.250606",
152
+ "@fluidframework/runtime-utils": "2.0.0-dev-rc.3.0.0.250606",
153
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.3.0.0.250606",
154
154
  "@tylerbu/sorted-btree-es6": "^1.8.0",
155
155
  "double-ended-queue": "^2.1.0-0",
156
156
  "lz4js": "^0.2.0",
@@ -158,15 +158,17 @@
158
158
  },
159
159
  "devDependencies": {
160
160
  "@arethetypeswrong/cli": "^0.13.3",
161
- "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.2.0.0.246488",
162
- "@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.2.0.0.246488",
161
+ "@biomejs/biome": "^1.6.2",
162
+ "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.250606",
163
+ "@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.3.0.0.250606",
164
+ "@fluid-private/test-pairwise-generator": "2.0.0-dev-rc.3.0.0.250606",
163
165
  "@fluid-tools/benchmark": "^0.48.0",
164
166
  "@fluid-tools/build-cli": "^0.34.0",
165
167
  "@fluidframework/build-common": "^2.0.3",
166
168
  "@fluidframework/build-tools": "^0.34.0",
167
169
  "@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.0.0-internal.8.0.0",
168
170
  "@fluidframework/eslint-config-fluid": "^5.1.0",
169
- "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.2.0.0.246488",
171
+ "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.3.0.0.250606",
170
172
  "@microsoft/api-extractor": "^7.42.3",
171
173
  "@types/double-ended-queue": "^2.1.0",
172
174
  "@types/mocha": "^9.1.1",
@@ -222,6 +224,16 @@
222
224
  "RemovedFunctionDeclaration_isStableId": {
223
225
  "backCompat": false,
224
226
  "forwardCompat": false
227
+ },
228
+ "InterfaceDeclaration_IContainerRuntimeMetadata": {
229
+ "backCompat": false
230
+ },
231
+ "RemovedEnumDeclaration_RuntimeMessage": {
232
+ "backCompat": false,
233
+ "forwardCompat": false
234
+ },
235
+ "InterfaceDeclaration_IChunkedOp": {
236
+ "backCompat": false
225
237
  }
226
238
  }
227
239
  },
@@ -239,16 +251,18 @@
239
251
  "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
240
252
  "build:test:esm": "tsc --project ./src/test/tsconfig.json",
241
253
  "check:are-the-types-wrong": "attw --pack . --entrypoints .",
254
+ "check:biome": "biome check .",
255
+ "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
242
256
  "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
243
257
  "ci:build:docs": "api-extractor run",
244
258
  "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
245
259
  "eslint": "eslint --format stylish src",
246
260
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
247
- "format": "npm run prettier:fix",
248
- "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
249
- "lint:fix": "npm run prettier:fix && npm run eslint:fix",
250
- "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
251
- "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
261
+ "format": "fluid-build --task format .",
262
+ "format:biome": "biome check --apply .",
263
+ "format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
264
+ "lint": "fluid-build . --task lint",
265
+ "lint:fix": "fluid-build . --task eslint:fix --task format",
252
266
  "test": "npm run test:mocha",
253
267
  "test:benchmark:report": "mocha --timeout 999999 --perfMode --parentProcess --fgrep @Benchmark --reporter @fluid-tools/benchmark/dist/MochaReporter.js \"./dist/**/*.perf.spec.*js\"",
254
268
  "test:coverage": "c8 npm test",
@@ -3,12 +3,12 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLoggerExt, createChildLogger } from "@fluidframework/telemetry-utils";
7
- import { assert } from "@fluidframework/core-utils";
8
6
  import type { EventEmitter } from "@fluid-internal/client-utils";
9
7
  import { performance } from "@fluid-internal/client-utils";
10
- import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
11
8
  import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
9
+ import { assert } from "@fluidframework/core-utils";
10
+ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
11
+ import { ITelemetryLoggerExt, createChildLogger } from "@fluidframework/telemetry-utils";
12
12
 
13
13
  export class BatchTracker {
14
14
  private readonly logger: ITelemetryLoggerExt;
@@ -3,8 +3,14 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { v4 as uuid } from "uuid";
6
+ import { TypedEventEmitter, bufferToString, stringToBuffer } from "@fluid-internal/client-utils";
7
+ import { AttachState, ICriticalContainerError } from "@fluidframework/container-definitions";
8
+ import {
9
+ IContainerRuntime,
10
+ IContainerRuntimeEvents,
11
+ } from "@fluidframework/container-runtime-definitions";
7
12
  import { IFluidHandle, IFluidHandleContext } from "@fluidframework/core-interfaces";
13
+ import { assert, Deferred } from "@fluidframework/core-utils";
8
14
  import { IDocumentStorageService } from "@fluidframework/driver-definitions";
9
15
  import {
10
16
  ICreateBlobResponse,
@@ -12,31 +18,25 @@ import {
12
18
  ISnapshotTree,
13
19
  } from "@fluidframework/protocol-definitions";
14
20
  import {
21
+ IGarbageCollectionData,
22
+ ISummaryTreeWithStats,
23
+ ITelemetryContext,
24
+ } from "@fluidframework/runtime-definitions";
25
+ import {
26
+ SummaryTreeBuilder,
15
27
  createResponseError,
16
28
  generateHandleContextPath,
17
29
  responseToException,
18
- SummaryTreeBuilder,
19
30
  } from "@fluidframework/runtime-utils";
20
- import { assert, Deferred } from "@fluidframework/core-utils";
21
- import { bufferToString, stringToBuffer, TypedEventEmitter } from "@fluid-internal/client-utils";
22
31
  import {
23
- IContainerRuntime,
24
- IContainerRuntimeEvents,
25
- } from "@fluidframework/container-runtime-definitions";
26
- import { AttachState, ICriticalContainerError } from "@fluidframework/container-definitions";
27
- import {
28
- createChildMonitoringContext,
29
32
  GenericError,
30
33
  LoggingError,
31
34
  MonitoringContext,
32
35
  PerformanceEvent,
36
+ createChildMonitoringContext,
33
37
  wrapError,
34
38
  } from "@fluidframework/telemetry-utils";
35
- import {
36
- IGarbageCollectionData,
37
- ISummaryTreeWithStats,
38
- ITelemetryContext,
39
- } from "@fluidframework/runtime-definitions";
39
+ import { v4 as uuid } from "uuid";
40
40
 
41
41
  import { canRetryOnError, runWithRetry } from "@fluidframework/driver-utils";
42
42
  import { IBlobMetadata } from "./metadata.js";
@@ -3,92 +3,92 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { AttachState } from "@fluidframework/container-definitions";
6
7
  import {
7
- ITelemetryBaseLogger,
8
+ FluidObject,
8
9
  IDisposable,
9
10
  IFluidHandle,
10
11
  IRequest,
11
- FluidObject,
12
12
  IResponse,
13
+ ITelemetryBaseLogger,
13
14
  } from "@fluidframework/core-interfaces";
15
+ import { assert, Lazy, LazyPromise } from "@fluidframework/core-utils";
14
16
  import { FluidObjectHandle } from "@fluidframework/datastore";
17
+ import { buildSnapshotTree } from "@fluidframework/driver-utils";
15
18
  import { ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
16
19
  import {
17
20
  AliasResult,
18
- channelsTreeName,
19
21
  CreateSummarizerNodeSource,
20
22
  IAttachMessage,
21
23
  IEnvelope,
22
24
  IFluidDataStoreChannel,
25
+ IFluidDataStoreContext,
23
26
  IFluidDataStoreContextDetached,
27
+ IFluidDataStoreFactory,
28
+ IFluidDataStoreRegistry,
29
+ IFluidParentContext,
24
30
  IGarbageCollectionData,
25
31
  IInboundSignalMessage,
26
- IFluidParentContext,
27
- InboundAttachMessage,
28
32
  ISummarizeResult,
29
33
  ISummaryTreeWithStats,
30
34
  ITelemetryContext,
31
- IFluidDataStoreFactory,
32
- IFluidDataStoreContext,
35
+ InboundAttachMessage,
33
36
  NamedFluidDataStoreRegistryEntries,
34
- IFluidDataStoreRegistry,
37
+ channelsTreeName,
35
38
  } from "@fluidframework/runtime-definitions";
36
39
  import {
40
+ GCDataBuilder,
41
+ RequestParser,
42
+ SummaryTreeBuilder,
37
43
  convertSnapshotTreeToSummaryTree,
38
44
  convertSummaryTreeToITree,
39
45
  create404Response,
40
46
  createResponseError,
41
- GCDataBuilder,
47
+ encodeCompactIdToString,
42
48
  isSerializedHandle,
43
49
  processAttachMessageGCData,
44
50
  responseToException,
45
- SummaryTreeBuilder,
46
51
  unpackChildNodesUsedRoutes,
47
- RequestParser,
48
- encodeCompactIdToString,
49
52
  } from "@fluidframework/runtime-utils";
50
53
  import {
51
- createChildMonitoringContext,
52
54
  DataCorruptionError,
53
55
  DataProcessingError,
54
- extractSafePropertiesFromMessage,
55
56
  LoggingError,
56
57
  MonitoringContext,
57
- tagCodeArtifacts,
58
58
  createChildLogger,
59
+ createChildMonitoringContext,
60
+ extractSafePropertiesFromMessage,
61
+ tagCodeArtifacts,
59
62
  } from "@fluidframework/telemetry-utils";
60
- import { AttachState } from "@fluidframework/container-definitions";
61
- import { buildSnapshotTree } from "@fluidframework/driver-utils";
62
- import { assert, Lazy, LazyPromise } from "@fluidframework/core-utils";
63
- import { DataStoreContexts } from "./dataStoreContexts.js";
64
- import { defaultRuntimeHeaderData, RuntimeHeaderData } from "./containerRuntime.js";
65
- import {
66
- FluidDataStoreContext,
67
- RemoteFluidDataStoreContext,
68
- LocalFluidDataStoreContext,
69
- createAttributesBlob,
70
- LocalDetachedFluidDataStoreContext,
71
- IFluidDataStoreContextInternal,
72
- ILocalDetachedFluidDataStoreContextProps,
73
- } from "./dataStoreContext.js";
74
- import { StorageServiceWithAttachBlobs } from "./storageServiceWithAttachBlobs.js";
63
+ import { RuntimeHeaderData, defaultRuntimeHeaderData } from "./containerRuntime.js";
75
64
  import {
76
65
  IDataStoreAliasMessage,
77
66
  channelToDataStore,
78
67
  isDataStoreAliasMessage,
79
68
  } from "./dataStore.js";
69
+ import {
70
+ FluidDataStoreContext,
71
+ IFluidDataStoreContextInternal,
72
+ ILocalDetachedFluidDataStoreContextProps,
73
+ LocalDetachedFluidDataStoreContext,
74
+ LocalFluidDataStoreContext,
75
+ RemoteFluidDataStoreContext,
76
+ createAttributesBlob,
77
+ } from "./dataStoreContext.js";
78
+ import { DataStoreContexts } from "./dataStoreContexts.js";
79
+ import { FluidDataStoreRegistry } from "./dataStoreRegistry.js";
80
80
  import {
81
81
  GCNodeType,
82
82
  detectOutboundRoutesViaDDSKey,
83
83
  trimLeadingAndTrailingSlashes,
84
84
  } from "./gc/index.js";
85
+ import { ContainerMessageType, LocalContainerRuntimeMessage } from "./messageTypes.js";
86
+ import { StorageServiceWithAttachBlobs } from "./storageServiceWithAttachBlobs.js";
85
87
  import {
86
88
  IContainerRuntimeMetadata,
87
89
  nonDataStorePaths,
88
90
  rootHasIsolatedChannels,
89
91
  } from "./summary/index.js";
90
- import { ContainerMessageType, LocalContainerRuntimeMessage } from "./messageTypes.js";
91
- import { FluidDataStoreRegistry } from "./dataStoreRegistry.js";
92
92
 
93
93
  /**
94
94
  * Accepted header keys for requests coming to the runtime.
@@ -746,9 +746,49 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
746
746
  }
747
747
 
748
748
  private async applyStashedAttachOp(message: IAttachMessage) {
749
- this.pendingAttach.set(message.id, message);
750
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
751
- this.processAttachMessage({ contents: message } as ISequencedDocumentMessage, false);
749
+ const { id, snapshot } = message;
750
+
751
+ // build the snapshot from the summary in the attach message
752
+ const flatAttachBlobs = new Map<string, ArrayBufferLike>();
753
+ const snapshotTree = buildSnapshotTree(snapshot.entries, flatAttachBlobs);
754
+ const storage = new StorageServiceWithAttachBlobs(
755
+ this.parentContext.storage,
756
+ flatAttachBlobs,
757
+ );
758
+
759
+ // create a local datastore context for the data store context,
760
+ // which this message represents. All newly created data store
761
+ // contexts start as a local context on the client that created
762
+ // them, and for stashed ops, the client that applies it plays
763
+ // the role of creating client.
764
+ const dataStoreContext = new LocalFluidDataStoreContext({
765
+ id,
766
+ pkg: undefined,
767
+ parentContext: this.wrapContextForInnerChannel(id),
768
+ storage,
769
+ scope: this.parentContext.scope,
770
+ createSummarizerNodeFn: this.parentContext.getCreateChildSummarizerNodeFn(id, {
771
+ type: CreateSummarizerNodeSource.FromSummary,
772
+ }),
773
+ makeLocallyVisibleFn: () => this.makeDataStoreLocallyVisible(id),
774
+ snapshotTree,
775
+ });
776
+
777
+ // realize the local context, as local contexts shouldn't be delay
778
+ // loaded, as this client is playing the role of creating client,
779
+ // and creating clients always create realized data store contexts.
780
+ const channel = await dataStoreContext.realize();
781
+ await channel.entryPoint.get();
782
+
783
+ // add to the list of bound or remoted, as this context must be bound
784
+ // to had an attach message sent, and is the non-detached case is remoted.
785
+ this.contexts.addBoundOrRemoted(dataStoreContext);
786
+ if (this.parentContext.attachState !== AttachState.Detached) {
787
+ // if the client is not detached put in the pending attach list
788
+ // so that on ack of the stashed op, the context is found.
789
+ // detached client don't send ops, so should not expect and ack.
790
+ this.pendingAttach.set(message.id, message);
791
+ }
752
792
  }
753
793
 
754
794
  public process(
@@ -3,6 +3,16 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { performance } from "@fluid-internal/client-utils";
7
+ import { IDeltaManager } from "@fluidframework/container-definitions";
8
+ import { IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions";
9
+ import { IEventProvider } from "@fluidframework/core-interfaces";
10
+ import { assert } from "@fluidframework/core-utils";
11
+ import {
12
+ IDocumentMessage,
13
+ ISequencedDocumentMessage,
14
+ MessageType,
15
+ } from "@fluidframework/protocol-definitions";
6
16
  import {
7
17
  IEventSampler,
8
18
  ISampledTelemetryLogger,
@@ -11,16 +21,6 @@ import {
11
21
  createSampledLogger,
12
22
  formatTick,
13
23
  } from "@fluidframework/telemetry-utils";
14
- import { IDeltaManager } from "@fluidframework/container-definitions";
15
- import {
16
- IDocumentMessage,
17
- ISequencedDocumentMessage,
18
- MessageType,
19
- } from "@fluidframework/protocol-definitions";
20
- import { assert } from "@fluidframework/core-utils";
21
- import { performance } from "@fluid-internal/client-utils";
22
- import { IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions";
23
- import { IEventProvider } from "@fluidframework/core-interfaces";
24
24
 
25
25
  /**
26
26
  * We report various latency-related errors when waiting for op roundtrip takes longer than that amout of time.
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { IFluidHandleContext, IRequest, IResponse } from "@fluidframework/core-interfaces";
7
6
  import { AttachState } from "@fluidframework/container-definitions";
7
+ import { IFluidHandleContext, IRequest, IResponse } from "@fluidframework/core-interfaces";
8
8
  import { generateHandleContextPath } from "@fluidframework/runtime-utils";
9
9
  import { ContainerRuntime } from "./containerRuntime.js";
10
10