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

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 (486) hide show
  1. package/api-report/container-runtime.api.md +35 -34
  2. package/dist/batchTracker.d.ts.map +1 -1
  3. package/dist/batchTracker.js +4 -4
  4. package/dist/batchTracker.js.map +1 -1
  5. package/dist/blobManager.d.ts +31 -23
  6. package/dist/blobManager.d.ts.map +1 -1
  7. package/dist/blobManager.js +81 -99
  8. package/dist/blobManager.js.map +1 -1
  9. package/dist/channelCollection.d.ts +4 -2
  10. package/dist/channelCollection.d.ts.map +1 -1
  11. package/dist/channelCollection.js +75 -72
  12. package/dist/channelCollection.js.map +1 -1
  13. package/dist/connectionTelemetry.d.ts +1 -1
  14. package/dist/connectionTelemetry.d.ts.map +1 -1
  15. package/dist/connectionTelemetry.js +16 -16
  16. package/dist/connectionTelemetry.js.map +1 -1
  17. package/dist/container-runtime-alpha.d.ts +64 -36
  18. package/dist/container-runtime-beta.d.ts +28 -28
  19. package/dist/container-runtime-public.d.ts +28 -28
  20. package/dist/container-runtime-untrimmed.d.ts +68 -39
  21. package/dist/containerHandleContext.d.ts.map +1 -1
  22. package/dist/containerHandleContext.js +2 -2
  23. package/dist/containerHandleContext.js.map +1 -1
  24. package/dist/containerRuntime.d.ts +12 -8
  25. package/dist/containerRuntime.d.ts.map +1 -1
  26. package/dist/containerRuntime.js +197 -162
  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 +7 -7
  31. package/dist/dataStore.js.map +1 -1
  32. package/dist/dataStoreContext.d.ts +9 -9
  33. package/dist/dataStoreContext.d.ts.map +1 -1
  34. package/dist/dataStoreContext.js +72 -62
  35. package/dist/dataStoreContext.js.map +1 -1
  36. package/dist/dataStoreContexts.d.ts.map +1 -1
  37. package/dist/dataStoreContexts.js +11 -11
  38. package/dist/dataStoreContexts.js.map +1 -1
  39. package/dist/dataStoreRegistry.d.ts +1 -1
  40. package/dist/dataStoreRegistry.d.ts.map +1 -1
  41. package/dist/dataStoreRegistry.js +2 -2
  42. package/dist/dataStoreRegistry.js.map +1 -1
  43. package/dist/deltaManagerSummarizerProxy.d.ts +1 -1
  44. package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
  45. package/dist/deltaManagerSummarizerProxy.js.map +1 -1
  46. package/dist/deltaScheduler.d.ts.map +1 -1
  47. package/dist/deltaScheduler.js +6 -6
  48. package/dist/deltaScheduler.js.map +1 -1
  49. package/dist/error.d.ts +1 -1
  50. package/dist/error.d.ts.map +1 -1
  51. package/dist/error.js +4 -4
  52. package/dist/error.js.map +1 -1
  53. package/dist/gc/garbageCollection.d.ts +2 -1
  54. package/dist/gc/garbageCollection.d.ts.map +1 -1
  55. package/dist/gc/garbageCollection.js +20 -20
  56. package/dist/gc/garbageCollection.js.map +1 -1
  57. package/dist/gc/gcConfigs.d.ts +1 -1
  58. package/dist/gc/gcConfigs.d.ts.map +1 -1
  59. package/dist/gc/gcConfigs.js +4 -5
  60. package/dist/gc/gcConfigs.js.map +1 -1
  61. package/dist/gc/gcDefinitions.d.ts +3 -2
  62. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  63. package/dist/gc/gcDefinitions.js.map +1 -1
  64. package/dist/gc/gcHelpers.d.ts +5 -1
  65. package/dist/gc/gcHelpers.d.ts.map +1 -1
  66. package/dist/gc/gcHelpers.js +21 -12
  67. package/dist/gc/gcHelpers.js.map +1 -1
  68. package/dist/gc/gcSummaryStateTracker.d.ts +1 -1
  69. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  70. package/dist/gc/gcSummaryStateTracker.js +11 -11
  71. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  72. package/dist/gc/gcTelemetry.d.ts +2 -1
  73. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  74. package/dist/gc/gcTelemetry.js +11 -9
  75. package/dist/gc/gcTelemetry.js.map +1 -1
  76. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  77. package/dist/gc/gcUnreferencedStateTracker.js +6 -6
  78. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  79. package/dist/gc/index.d.ts +1 -1
  80. package/dist/gc/index.d.ts.map +1 -1
  81. package/dist/gc/index.js +2 -1
  82. package/dist/gc/index.js.map +1 -1
  83. package/dist/messageTypes.d.ts +2 -2
  84. package/dist/messageTypes.d.ts.map +1 -1
  85. package/dist/messageTypes.js.map +1 -1
  86. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  87. package/dist/opLifecycle/batchManager.js.map +1 -1
  88. package/dist/opLifecycle/definitions.d.ts +1 -1
  89. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  90. package/dist/opLifecycle/definitions.js.map +1 -1
  91. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  92. package/dist/opLifecycle/opCompressor.js +5 -5
  93. package/dist/opLifecycle/opCompressor.js.map +1 -1
  94. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  95. package/dist/opLifecycle/opDecompressor.js +12 -12
  96. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  97. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  98. package/dist/opLifecycle/opGroupingManager.js +7 -7
  99. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  100. package/dist/opLifecycle/opSplitter.d.ts +1 -1
  101. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  102. package/dist/opLifecycle/opSplitter.js +17 -17
  103. package/dist/opLifecycle/opSplitter.js.map +1 -1
  104. package/dist/opLifecycle/outbox.d.ts +2 -1
  105. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  106. package/dist/opLifecycle/outbox.js +13 -13
  107. package/dist/opLifecycle/outbox.js.map +1 -1
  108. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  109. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  110. package/dist/packageVersion.d.ts +1 -1
  111. package/dist/packageVersion.js +1 -1
  112. package/dist/packageVersion.js.map +1 -1
  113. package/dist/pendingStateManager.d.ts.map +1 -1
  114. package/dist/pendingStateManager.js +18 -18
  115. package/dist/pendingStateManager.js.map +1 -1
  116. package/dist/scheduleManager.d.ts.map +1 -1
  117. package/dist/scheduleManager.js +24 -24
  118. package/dist/scheduleManager.js.map +1 -1
  119. package/dist/storageServiceWithAttachBlobs.d.ts +2 -2
  120. package/dist/storageServiceWithAttachBlobs.d.ts.map +1 -1
  121. package/dist/storageServiceWithAttachBlobs.js +2 -2
  122. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  123. package/dist/summary/documentSchema.d.ts +37 -6
  124. package/dist/summary/documentSchema.d.ts.map +1 -1
  125. package/dist/summary/documentSchema.js +58 -21
  126. package/dist/summary/documentSchema.js.map +1 -1
  127. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  128. package/dist/summary/orderedClientElection.js +7 -7
  129. package/dist/summary/orderedClientElection.js.map +1 -1
  130. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  131. package/dist/summary/runWhileConnectedCoordinator.js +3 -3
  132. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  133. package/dist/summary/runningSummarizer.d.ts +1 -1
  134. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  135. package/dist/summary/runningSummarizer.js +16 -16
  136. package/dist/summary/runningSummarizer.js.map +1 -1
  137. package/dist/summary/summarizer.d.ts +2 -1
  138. package/dist/summary/summarizer.d.ts.map +1 -1
  139. package/dist/summary/summarizer.js +12 -12
  140. package/dist/summary/summarizer.js.map +1 -1
  141. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  142. package/dist/summary/summarizerClientElection.js.map +1 -1
  143. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  144. package/dist/summary/summarizerHeuristics.js +2 -2
  145. package/dist/summary/summarizerHeuristics.js.map +1 -1
  146. package/dist/summary/summarizerNode/summarizerNode.d.ts +2 -1
  147. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  148. package/dist/summary/summarizerNode/summarizerNode.js +28 -28
  149. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  150. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  151. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  152. package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -3
  153. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  154. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
  155. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  156. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +14 -14
  157. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  158. package/dist/summary/summarizerTypes.d.ts +4 -2
  159. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  160. package/dist/summary/summarizerTypes.js.map +1 -1
  161. package/dist/summary/summaryCollection.js +7 -7
  162. package/dist/summary/summaryCollection.js.map +1 -1
  163. package/dist/summary/summaryFormat.d.ts +1 -1
  164. package/dist/summary/summaryFormat.d.ts.map +1 -1
  165. package/dist/summary/summaryFormat.js +8 -8
  166. package/dist/summary/summaryFormat.js.map +1 -1
  167. package/dist/summary/summaryGenerator.d.ts +3 -2
  168. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  169. package/dist/summary/summaryGenerator.js +16 -16
  170. package/dist/summary/summaryGenerator.js.map +1 -1
  171. package/dist/summary/summaryManager.d.ts.map +1 -1
  172. package/dist/summary/summaryManager.js +15 -14
  173. package/dist/summary/summaryManager.js.map +1 -1
  174. package/lib/batchTracker.d.ts.map +1 -1
  175. package/lib/batchTracker.js +2 -2
  176. package/lib/batchTracker.js.map +1 -1
  177. package/lib/blobManager.d.ts +31 -23
  178. package/lib/blobManager.d.ts.map +1 -1
  179. package/lib/blobManager.js +46 -64
  180. package/lib/blobManager.js.map +1 -1
  181. package/lib/channelCollection.d.ts +4 -2
  182. package/lib/channelCollection.d.ts.map +1 -1
  183. package/lib/channelCollection.js +10 -7
  184. package/lib/channelCollection.js.map +1 -1
  185. package/lib/connectionTelemetry.d.ts +1 -1
  186. package/lib/connectionTelemetry.d.ts.map +1 -1
  187. package/lib/connectionTelemetry.js +2 -2
  188. package/lib/connectionTelemetry.js.map +1 -1
  189. package/lib/container-runtime-alpha.d.ts +64 -36
  190. package/lib/container-runtime-beta.d.ts +28 -28
  191. package/lib/container-runtime-public.d.ts +28 -28
  192. package/lib/container-runtime-untrimmed.d.ts +68 -39
  193. package/lib/containerHandleContext.d.ts.map +1 -1
  194. package/lib/containerHandleContext.js +1 -1
  195. package/lib/containerHandleContext.js.map +1 -1
  196. package/lib/containerRuntime.d.ts +12 -8
  197. package/lib/containerRuntime.d.ts.map +1 -1
  198. package/lib/containerRuntime.js +76 -39
  199. package/lib/containerRuntime.js.map +1 -1
  200. package/lib/dataStore.d.ts +1 -1
  201. package/lib/dataStore.d.ts.map +1 -1
  202. package/lib/dataStore.js +2 -2
  203. package/lib/dataStore.js.map +1 -1
  204. package/lib/dataStoreContext.d.ts +9 -9
  205. package/lib/dataStoreContext.d.ts.map +1 -1
  206. package/lib/dataStoreContext.js +18 -8
  207. package/lib/dataStoreContext.js.map +1 -1
  208. package/lib/dataStoreContexts.d.ts.map +1 -1
  209. package/lib/dataStoreContexts.js +2 -2
  210. package/lib/dataStoreContexts.js.map +1 -1
  211. package/lib/dataStoreRegistry.d.ts +1 -1
  212. package/lib/dataStoreRegistry.d.ts.map +1 -1
  213. package/lib/dataStoreRegistry.js +1 -1
  214. package/lib/dataStoreRegistry.js.map +1 -1
  215. package/lib/deltaManagerSummarizerProxy.d.ts +1 -1
  216. package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
  217. package/lib/deltaManagerSummarizerProxy.js.map +1 -1
  218. package/lib/deltaScheduler.d.ts.map +1 -1
  219. package/lib/deltaScheduler.js +1 -1
  220. package/lib/deltaScheduler.js.map +1 -1
  221. package/lib/error.d.ts +1 -1
  222. package/lib/error.d.ts.map +1 -1
  223. package/lib/error.js +2 -2
  224. package/lib/error.js.map +1 -1
  225. package/lib/gc/garbageCollection.d.ts +2 -1
  226. package/lib/gc/garbageCollection.d.ts.map +1 -1
  227. package/lib/gc/garbageCollection.js +4 -4
  228. package/lib/gc/garbageCollection.js.map +1 -1
  229. package/lib/gc/gcConfigs.d.ts +1 -1
  230. package/lib/gc/gcConfigs.d.ts.map +1 -1
  231. package/lib/gc/gcConfigs.js +4 -5
  232. package/lib/gc/gcConfigs.js.map +1 -1
  233. package/lib/gc/gcDefinitions.d.ts +3 -2
  234. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  235. package/lib/gc/gcDefinitions.js.map +1 -1
  236. package/lib/gc/gcHelpers.d.ts +5 -1
  237. package/lib/gc/gcHelpers.d.ts.map +1 -1
  238. package/lib/gc/gcHelpers.js +10 -2
  239. package/lib/gc/gcHelpers.js.map +1 -1
  240. package/lib/gc/gcSummaryStateTracker.d.ts +1 -1
  241. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  242. package/lib/gc/gcSummaryStateTracker.js +2 -2
  243. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  244. package/lib/gc/gcTelemetry.d.ts +2 -1
  245. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  246. package/lib/gc/gcTelemetry.js +3 -1
  247. package/lib/gc/gcTelemetry.js.map +1 -1
  248. package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  249. package/lib/gc/gcUnreferencedStateTracker.js +2 -2
  250. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  251. package/lib/gc/index.d.ts +1 -1
  252. package/lib/gc/index.d.ts.map +1 -1
  253. package/lib/gc/index.js +1 -1
  254. package/lib/gc/index.js.map +1 -1
  255. package/lib/messageTypes.d.ts +2 -2
  256. package/lib/messageTypes.d.ts.map +1 -1
  257. package/lib/messageTypes.js.map +1 -1
  258. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  259. package/lib/opLifecycle/batchManager.js.map +1 -1
  260. package/lib/opLifecycle/definitions.d.ts +1 -1
  261. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  262. package/lib/opLifecycle/definitions.js.map +1 -1
  263. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  264. package/lib/opLifecycle/opCompressor.js +2 -2
  265. package/lib/opLifecycle/opCompressor.js.map +1 -1
  266. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  267. package/lib/opLifecycle/opDecompressor.js +2 -2
  268. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  269. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  270. package/lib/opLifecycle/opGroupingManager.js +2 -2
  271. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  272. package/lib/opLifecycle/opSplitter.d.ts +1 -1
  273. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  274. package/lib/opLifecycle/opSplitter.js +2 -2
  275. package/lib/opLifecycle/opSplitter.js.map +1 -1
  276. package/lib/opLifecycle/outbox.d.ts +2 -1
  277. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  278. package/lib/opLifecycle/outbox.js +2 -2
  279. package/lib/opLifecycle/outbox.js.map +1 -1
  280. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  281. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  282. package/lib/packageVersion.d.ts +1 -1
  283. package/lib/packageVersion.js +1 -1
  284. package/lib/packageVersion.js.map +1 -1
  285. package/lib/pendingStateManager.d.ts.map +1 -1
  286. package/lib/pendingStateManager.js +2 -2
  287. package/lib/pendingStateManager.js.map +1 -1
  288. package/lib/scheduleManager.d.ts.map +1 -1
  289. package/lib/scheduleManager.js +3 -3
  290. package/lib/scheduleManager.js.map +1 -1
  291. package/lib/storageServiceWithAttachBlobs.d.ts +2 -2
  292. package/lib/storageServiceWithAttachBlobs.d.ts.map +1 -1
  293. package/lib/storageServiceWithAttachBlobs.js +1 -1
  294. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  295. package/lib/summary/documentSchema.d.ts +37 -6
  296. package/lib/summary/documentSchema.d.ts.map +1 -1
  297. package/lib/summary/documentSchema.js +48 -11
  298. package/lib/summary/documentSchema.js.map +1 -1
  299. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  300. package/lib/summary/orderedClientElection.js +2 -2
  301. package/lib/summary/orderedClientElection.js.map +1 -1
  302. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  303. package/lib/summary/runWhileConnectedCoordinator.js +1 -1
  304. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  305. package/lib/summary/runningSummarizer.d.ts +1 -1
  306. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  307. package/lib/summary/runningSummarizer.js +2 -2
  308. package/lib/summary/runningSummarizer.js.map +1 -1
  309. package/lib/summary/summarizer.d.ts +2 -1
  310. package/lib/summary/summarizer.d.ts.map +1 -1
  311. package/lib/summary/summarizer.js +2 -2
  312. package/lib/summary/summarizer.js.map +1 -1
  313. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  314. package/lib/summary/summarizerClientElection.js.map +1 -1
  315. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  316. package/lib/summary/summarizerHeuristics.js +1 -1
  317. package/lib/summary/summarizerHeuristics.js.map +1 -1
  318. package/lib/summary/summarizerNode/summarizerNode.d.ts +2 -1
  319. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  320. package/lib/summary/summarizerNode/summarizerNode.js +4 -4
  321. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  322. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  323. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  324. package/lib/summary/summarizerNode/summarizerNodeUtils.js +1 -1
  325. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  326. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
  327. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  328. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +3 -3
  329. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  330. package/lib/summary/summarizerTypes.d.ts +4 -2
  331. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  332. package/lib/summary/summarizerTypes.js.map +1 -1
  333. package/lib/summary/summaryCollection.js +1 -1
  334. package/lib/summary/summaryCollection.js.map +1 -1
  335. package/lib/summary/summaryFormat.d.ts +1 -1
  336. package/lib/summary/summaryFormat.d.ts.map +1 -1
  337. package/lib/summary/summaryFormat.js +3 -3
  338. package/lib/summary/summaryFormat.js.map +1 -1
  339. package/lib/summary/summaryGenerator.d.ts +3 -2
  340. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  341. package/lib/summary/summaryGenerator.js +3 -3
  342. package/lib/summary/summaryGenerator.js.map +1 -1
  343. package/lib/summary/summaryManager.d.ts.map +1 -1
  344. package/lib/summary/summaryManager.js +9 -8
  345. package/lib/summary/summaryManager.js.map +1 -1
  346. package/lib/tsdoc-metadata.json +11 -0
  347. package/package.json +25 -37
  348. package/src/batchTracker.ts +3 -2
  349. package/src/blobManager.ts +87 -56
  350. package/src/channelCollection.ts +19 -12
  351. package/src/connectionTelemetry.ts +4 -4
  352. package/src/containerHandleContext.ts +2 -1
  353. package/src/containerRuntime.ts +115 -70
  354. package/src/dataStore.ts +5 -3
  355. package/src/dataStoreContext.ts +30 -15
  356. package/src/dataStoreContexts.ts +4 -2
  357. package/src/dataStoreRegistry.ts +2 -2
  358. package/src/deltaManagerSummarizerProxy.ts +1 -1
  359. package/src/deltaScheduler.ts +2 -1
  360. package/src/error.ts +2 -2
  361. package/src/gc/garbageCollection.ts +8 -7
  362. package/src/gc/gcConfigs.ts +5 -8
  363. package/src/gc/gcDefinitions.ts +4 -4
  364. package/src/gc/gcHelpers.ts +21 -4
  365. package/src/gc/gcSummaryStateTracker.ts +5 -3
  366. package/src/gc/gcTelemetry.ts +7 -1
  367. package/src/gc/gcUnreferencedStateTracker.ts +3 -2
  368. package/src/gc/index.ts +1 -0
  369. package/src/messageTypes.ts +3 -2
  370. package/src/opLifecycle/batchManager.ts +1 -0
  371. package/src/opLifecycle/definitions.ts +2 -1
  372. package/src/opLifecycle/opCompressor.ts +4 -2
  373. package/src/opLifecycle/opDecompressor.ts +3 -2
  374. package/src/opLifecycle/opGroupingManager.ts +3 -2
  375. package/src/opLifecycle/opSplitter.ts +5 -3
  376. package/src/opLifecycle/outbox.ts +6 -3
  377. package/src/opLifecycle/remoteMessageProcessor.ts +2 -0
  378. package/src/packageVersion.ts +1 -1
  379. package/src/pendingStateManager.ts +4 -4
  380. package/src/scheduleManager.ts +5 -4
  381. package/src/storageServiceWithAttachBlobs.ts +2 -2
  382. package/src/summary/documentSchema.ts +71 -12
  383. package/src/summary/orderedClientElection.ts +4 -6
  384. package/src/summary/runWhileConnectedCoordinator.ts +2 -1
  385. package/src/summary/runningSummarizer.ts +4 -2
  386. package/src/summary/summarizer.ts +5 -3
  387. package/src/summary/summarizerClientElection.ts +1 -0
  388. package/src/summary/summarizerHeuristics.ts +3 -1
  389. package/src/summary/summarizerNode/summarizerNode.ts +10 -8
  390. package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -2
  391. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +14 -6
  392. package/src/summary/summarizerTypes.ts +6 -2
  393. package/src/summary/summaryCollection.ts +1 -1
  394. package/src/summary/summaryFormat.ts +7 -8
  395. package/src/summary/summaryGenerator.ts +5 -8
  396. package/src/summary/summaryManager.ts +14 -11
  397. package/lib/test/batchTracker.spec.js +0 -88
  398. package/lib/test/batchTracker.spec.js.map +0 -1
  399. package/lib/test/blobManager.spec.js +0 -835
  400. package/lib/test/blobManager.spec.js.map +0 -1
  401. package/lib/test/channelCollection.spec.js +0 -138
  402. package/lib/test/channelCollection.spec.js.map +0 -1
  403. package/lib/test/containerRuntime.spec.js +0 -1750
  404. package/lib/test/containerRuntime.spec.js.map +0 -1
  405. package/lib/test/dataStoreContext.spec.js +0 -771
  406. package/lib/test/dataStoreContext.spec.js.map +0 -1
  407. package/lib/test/dataStoreCreation.spec.js +0 -303
  408. package/lib/test/dataStoreCreation.spec.js.map +0 -1
  409. package/lib/test/dataStoreRegistry.spec.js +0 -26
  410. package/lib/test/dataStoreRegistry.spec.js.map +0 -1
  411. package/lib/test/documentSchema.spec.js +0 -282
  412. package/lib/test/documentSchema.spec.js.map +0 -1
  413. package/lib/test/fuzz/fuzzUtils.js +0 -70
  414. package/lib/test/fuzz/fuzzUtils.js.map +0 -1
  415. package/lib/test/fuzz/summarizer.fuzz.spec.js +0 -33
  416. package/lib/test/fuzz/summarizer.fuzz.spec.js.map +0 -1
  417. package/lib/test/fuzz/summarizerFuzzMocks.js +0 -180
  418. package/lib/test/fuzz/summarizerFuzzMocks.js.map +0 -1
  419. package/lib/test/fuzz/summarizerFuzzSuite.js +0 -109
  420. package/lib/test/fuzz/summarizerFuzzSuite.js.map +0 -1
  421. package/lib/test/gc/garbageCollection.spec.js +0 -1464
  422. package/lib/test/gc/garbageCollection.spec.js.map +0 -1
  423. package/lib/test/gc/gcConfigs.spec.js +0 -689
  424. package/lib/test/gc/gcConfigs.spec.js.map +0 -1
  425. package/lib/test/gc/gcHelpers.spec.js +0 -110
  426. package/lib/test/gc/gcHelpers.spec.js.map +0 -1
  427. package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js +0 -68
  428. package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js.map +0 -1
  429. package/lib/test/gc/gcStats.spec.js +0 -390
  430. package/lib/test/gc/gcStats.spec.js.map +0 -1
  431. package/lib/test/gc/gcSummaryStateTracker.spec.js +0 -228
  432. package/lib/test/gc/gcSummaryStateTracker.spec.js.map +0 -1
  433. package/lib/test/gc/gcTelemetry.spec.js +0 -530
  434. package/lib/test/gc/gcTelemetry.spec.js.map +0 -1
  435. package/lib/test/gc/gcUnitTestHelpers.js +0 -29
  436. package/lib/test/gc/gcUnitTestHelpers.js.map +0 -1
  437. package/lib/test/gc/gcUnreferencedStateTracker.spec.js +0 -192
  438. package/lib/test/gc/gcUnreferencedStateTracker.spec.js.map +0 -1
  439. package/lib/test/getPendingBlobs.spec.js +0 -193
  440. package/lib/test/getPendingBlobs.spec.js.map +0 -1
  441. package/lib/test/hardwareStats.spec.js +0 -93
  442. package/lib/test/hardwareStats.spec.js.map +0 -1
  443. package/lib/test/index.js +0 -6
  444. package/lib/test/index.js.map +0 -1
  445. package/lib/test/opLifecycle/OpGroupingManager.spec.js +0 -202
  446. package/lib/test/opLifecycle/OpGroupingManager.spec.js.map +0 -1
  447. package/lib/test/opLifecycle/batchManager.spec.js +0 -189
  448. package/lib/test/opLifecycle/batchManager.spec.js.map +0 -1
  449. package/lib/test/opLifecycle/opCompressor.spec.js +0 -73
  450. package/lib/test/opLifecycle/opCompressor.spec.js.map +0 -1
  451. package/lib/test/opLifecycle/opDecompressor.spec.js +0 -223
  452. package/lib/test/opLifecycle/opDecompressor.spec.js.map +0 -1
  453. package/lib/test/opLifecycle/opSplitter.spec.js +0 -287
  454. package/lib/test/opLifecycle/opSplitter.spec.js.map +0 -1
  455. package/lib/test/opLifecycle/outbox.spec.js +0 -783
  456. package/lib/test/opLifecycle/outbox.spec.js.map +0 -1
  457. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js +0 -220
  458. package/lib/test/opLifecycle/remoteMessageProcessor.spec.js.map +0 -1
  459. package/lib/test/pendingStateManager.spec.js +0 -329
  460. package/lib/test/pendingStateManager.spec.js.map +0 -1
  461. package/lib/test/scheduleManager.spec.js +0 -270
  462. package/lib/test/scheduleManager.spec.js.map +0 -1
  463. package/lib/test/summarizerNode.spec.js +0 -326
  464. package/lib/test/summarizerNode.spec.js.map +0 -1
  465. package/lib/test/summarizerNodeWithGc.spec.js +0 -318
  466. package/lib/test/summarizerNodeWithGc.spec.js.map +0 -1
  467. package/lib/test/summary/orderedClientElection.spec.js +0 -535
  468. package/lib/test/summary/orderedClientElection.spec.js.map +0 -1
  469. package/lib/test/summary/runningSummarizer.spec.js +0 -1349
  470. package/lib/test/summary/runningSummarizer.spec.js.map +0 -1
  471. package/lib/test/summary/summarizer.spec.js +0 -29
  472. package/lib/test/summary/summarizer.spec.js.map +0 -1
  473. package/lib/test/summary/summarizerClientElection.spec.js +0 -436
  474. package/lib/test/summary/summarizerClientElection.spec.js.map +0 -1
  475. package/lib/test/summary/summarizerHeuristics.spec.js +0 -289
  476. package/lib/test/summary/summarizerHeuristics.spec.js.map +0 -1
  477. package/lib/test/summary/summaryCollection.spec.js +0 -200
  478. package/lib/test/summary/summaryCollection.spec.js.map +0 -1
  479. package/lib/test/summary/summaryManager.spec.js +0 -430
  480. package/lib/test/summary/summaryManager.spec.js.map +0 -1
  481. package/lib/test/summary/testQuorumClients.js +0 -34
  482. package/lib/test/summary/testQuorumClients.js.map +0 -1
  483. package/lib/test/throttler.spec.js +0 -175
  484. package/lib/test/throttler.spec.js.map +0 -1
  485. package/lib/test/types/validateContainerRuntimePrevious.generated.js +0 -182
  486. package/lib/test/types/validateContainerRuntimePrevious.generated.js.map +0 -1
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.BlobManager = exports.BlobHandle = void 0;
8
8
  const client_utils_1 = require("@fluid-internal/client-utils");
9
9
  const container_definitions_1 = require("@fluidframework/container-definitions");
10
- const core_utils_1 = require("@fluidframework/core-utils");
11
- const runtime_utils_1 = require("@fluidframework/runtime-utils");
12
- const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
10
+ const internal_1 = require("@fluidframework/core-utils/internal");
11
+ const internal_2 = require("@fluidframework/driver-utils/internal");
12
+ const internal_3 = require("@fluidframework/runtime-utils/internal");
13
+ const internal_4 = require("@fluidframework/telemetry-utils/internal");
13
14
  const uuid_1 = require("uuid");
14
- const driver_utils_1 = require("@fluidframework/driver-utils");
15
15
  /**
16
16
  * This class represents blob (long string)
17
17
  * This object is used only when creating (writing) new blob and serialization purposes.
@@ -32,7 +32,7 @@ class BlobHandle {
32
32
  this.get = get;
33
33
  this.onAttachGraph = onAttachGraph;
34
34
  this.attached = false;
35
- this.absolutePath = (0, runtime_utils_1.generateHandleContextPath)(path, this.routeContext);
35
+ this.absolutePath = (0, internal_3.generateHandleContextPath)(path, this.routeContext);
36
36
  }
37
37
  attachGraph() {
38
38
  if (!this.attached) {
@@ -45,32 +45,15 @@ class BlobHandle {
45
45
  }
46
46
  }
47
47
  exports.BlobHandle = BlobHandle;
48
+ const stashedPendingBlobOverrides = {
49
+ stashedUpload: true,
50
+ storageId: undefined,
51
+ minTTLInSeconds: undefined,
52
+ uploadTime: undefined,
53
+ };
48
54
  class BlobManager extends client_utils_1.TypedEventEmitter {
49
- constructor(routeContext, snapshot, getStorage,
50
- /**
51
- * Submit a BlobAttach op. When a blob is uploaded, there is a short grace period before which the blob is
52
- * deleted. The BlobAttach op notifies the server that blob is in use. The server will then not delete the
53
- * the blob as long as it is listed as referenced in future summaries. The summarizing client will know to
54
- * include the storage ID in the summary when it sees the op.
55
- *
56
- * The op will also include a local ID to inform all clients of the relation to the storage ID, without
57
- * knowledge of which they cannot request the blob from storage. It's important that this op is sequenced
58
- * before any ops that reference the local ID, otherwise, an invalid handle could be added to the document.
59
- */
60
- sendBlobAttachOp,
61
- // Called when a blob node is requested. blobPath is the path of the blob's node in GC's graph.
62
- // blobPath's format - `/<BlobManager.basePath>/<blobId>`.
63
- blobRequested,
64
- // Called to check if a blob has been deleted by GC.
65
- // blobPath's format - `/<BlobManager.basePath>/<blobId>`.
66
- isBlobDeleted, runtime, stashedBlobs = {}, closeContainer) {
55
+ constructor(props) {
67
56
  super();
68
- this.routeContext = routeContext;
69
- this.getStorage = getStorage;
70
- this.blobRequested = blobRequested;
71
- this.isBlobDeleted = isBlobDeleted;
72
- this.runtime = runtime;
73
- this.closeContainer = closeContainer;
74
57
  /**
75
58
  * Blobs which we have not yet seen a BlobAttach op round-trip and not yet attached to a DDS.
76
59
  */
@@ -89,50 +72,50 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
89
72
  */
90
73
  this.tombstonedBlobs = new Set();
91
74
  this.stopAttaching = false;
92
- this.mc = (0, telemetry_utils_1.createChildMonitoringContext)({
75
+ const { routeContext, snapshot, getStorage, sendBlobAttachOp, blobRequested, isBlobDeleted, runtime, stashedBlobs, closeContainer, } = props;
76
+ this.routeContext = routeContext;
77
+ this.getStorage = getStorage;
78
+ this.blobRequested = blobRequested;
79
+ this.isBlobDeleted = isBlobDeleted;
80
+ this.runtime = runtime;
81
+ this.closeContainer = closeContainer;
82
+ this.mc = (0, internal_4.createChildMonitoringContext)({
93
83
  logger: this.runtime.logger,
94
84
  namespace: "BlobManager",
95
85
  });
96
86
  this.redirectTable = this.load(snapshot);
97
87
  // Begin uploading stashed blobs from previous container instance
98
- Object.entries(stashedBlobs).forEach(([localId, entry]) => {
88
+ Object.entries(stashedBlobs ?? {}).forEach(([localId, entry]) => {
89
+ const { acked, storageId, minTTLInSeconds, uploadTime } = entry;
99
90
  const blob = (0, client_utils_1.stringToBuffer)(entry.blob, "base64");
100
- const attached = entry.attached;
101
- const acked = entry.acked;
102
- const storageId = entry.storageId; // entry.storageId = response.id
103
- if (entry.minTTLInSeconds && entry.uploadTime) {
104
- const timeLapseSinceLocalUpload = (Date.now() - entry.uploadTime) / 1000;
91
+ const pendingEntry = {
92
+ blob,
93
+ opsent: true,
94
+ handleP: new internal_1.Deferred(),
95
+ storageId,
96
+ uploadP: undefined,
97
+ uploadTime,
98
+ minTTLInSeconds,
99
+ attached: true,
100
+ acked,
101
+ };
102
+ this.pendingBlobs.set(localId, pendingEntry);
103
+ if (storageId !== undefined && minTTLInSeconds && uploadTime) {
104
+ const timeLapseSinceLocalUpload = (Date.now() - uploadTime) / 1000;
105
105
  // stashed entries with more than half-life in storage will not be reuploaded
106
- if (entry.minTTLInSeconds - timeLapseSinceLocalUpload > entry.minTTLInSeconds / 2) {
107
- this.pendingBlobs.set(localId, {
108
- blob,
109
- uploading: false,
110
- opsent: true,
111
- handleP: new core_utils_1.Deferred(),
112
- storageId,
113
- uploadP: undefined,
114
- uploadTime: entry.uploadTime,
115
- minTTLInSeconds: entry.minTTLInSeconds,
116
- attached,
117
- acked,
118
- });
106
+ if (minTTLInSeconds - timeLapseSinceLocalUpload > minTTLInSeconds / 2) {
119
107
  return;
120
108
  }
121
109
  }
122
110
  this.pendingBlobs.set(localId, {
123
- blob,
124
- uploading: true,
125
- handleP: new core_utils_1.Deferred(),
111
+ ...pendingEntry,
112
+ ...stashedPendingBlobOverrides,
126
113
  uploadP: this.uploadBlob(localId, blob),
127
- attached,
128
- acked,
129
- opsent: true,
130
- pendingStashed: true,
131
114
  });
132
115
  });
133
116
  this.sendBlobAttachOp = (localId, blobId) => {
134
117
  const pendingEntry = this.pendingBlobs.get(localId);
135
- (0, core_utils_1.assert)(pendingEntry !== undefined, 0x725 /* Must have pending blob entry for upcoming op */);
118
+ (0, internal_1.assert)(pendingEntry !== undefined, 0x725 /* Must have pending blob entry for upcoming op */);
136
119
  if (pendingEntry?.uploadTime && pendingEntry?.minTTLInSeconds) {
137
120
  const secondsSinceUpload = (Date.now() - pendingEntry.uploadTime) / 1000;
138
121
  const expired = pendingEntry.minTTLInSeconds - secondsSinceUpload < 0;
@@ -144,7 +127,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
144
127
  });
145
128
  if (expired) {
146
129
  // we want to avoid submitting ops with broken handles
147
- this.closeContainer(new telemetry_utils_1.GenericError("Trying to submit a BlobAttach for expired blob", undefined, {
130
+ this.closeContainer(new internal_4.GenericError("Trying to submit a BlobAttach for expired blob", undefined, {
148
131
  localId,
149
132
  blobId,
150
133
  secondsSinceUpload,
@@ -168,22 +151,25 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
168
151
  this.pendingBlobs.size > 0);
169
152
  }
170
153
  createAbortError(pending) {
171
- return new telemetry_utils_1.LoggingError("uploadBlob aborted", {
154
+ return new internal_4.LoggingError("uploadBlob aborted", {
172
155
  acked: pending?.acked,
173
156
  uploadTime: pending?.uploadTime,
174
157
  });
175
158
  }
176
- hasPendingStashedBlobs() {
177
- return Array.from(this.pendingBlobs.values()).some((e) => e.pendingStashed === true);
159
+ hasPendingStashedUploads() {
160
+ return Array.from(this.pendingBlobs.values()).some((e) => e.stashedUpload === true);
178
161
  }
179
162
  /**
180
163
  * Upload blobs added while offline. This must be completed before connecting and resubmitting ops.
181
164
  */
182
- async processStashedChanges() {
165
+ async trackPendingStashedUploads() {
183
166
  const pendingUploads = Array.from(this.pendingBlobs.values())
184
- .filter((e) => e.pendingStashed === true)
167
+ .filter((e) => e.stashedUpload === true)
185
168
  .map(async (e) => e.uploadP);
186
- await telemetry_utils_1.PerformanceEvent.timedExecAsync(this.mc.logger, {
169
+ if (pendingUploads.length === 0) {
170
+ return;
171
+ }
172
+ await internal_4.PerformanceEvent.timedExecAsync(this.mc.logger, {
187
173
  eventName: "BlobUploadProcessStashedChanges",
188
174
  count: pendingUploads.length,
189
175
  }, async () => Promise.all(pendingUploads), { start: true, end: true });
@@ -198,7 +184,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
198
184
  const undefinedValueInTable = ids.delete(undefined);
199
185
  // For a detached container, entries are inserted into the redirect table with an undefined storage ID.
200
186
  // For an attached container, entries are inserted w/storage ID after the BlobAttach op round-trips.
201
- (0, core_utils_1.assert)(!undefinedValueInTable ||
187
+ (0, internal_1.assert)(!undefinedValueInTable ||
202
188
  (this.runtime.attachState === container_definitions_1.AttachState.Detached && ids.size === 0), 0x382 /* 'redirectTable' must contain only undefined while detached / defined values while attached */);
203
189
  return ids;
204
190
  }
@@ -216,22 +202,22 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
216
202
  }
217
203
  let storageId;
218
204
  if (this.runtime.attachState === container_definitions_1.AttachState.Detached) {
219
- (0, core_utils_1.assert)(this.redirectTable.has(blobId), 0x383 /* requesting unknown blobs */);
205
+ (0, internal_1.assert)(this.redirectTable.has(blobId), 0x383 /* requesting unknown blobs */);
220
206
  // Blobs created while the container is detached are stored in IDetachedBlobStorage.
221
207
  // The 'IDocumentStorageService.readBlob()' call below will retrieve these via localId.
222
208
  storageId = blobId;
223
209
  }
224
210
  else {
225
211
  const attachedStorageId = this.redirectTable.get(blobId);
226
- (0, core_utils_1.assert)(!!attachedStorageId, 0x11f /* "requesting unknown blobs" */);
212
+ (0, internal_1.assert)(!!attachedStorageId, 0x11f /* "requesting unknown blobs" */);
227
213
  storageId = attachedStorageId;
228
214
  }
229
- return telemetry_utils_1.PerformanceEvent.timedExecAsync(this.mc.logger, { eventName: "AttachmentReadBlob", id: storageId }, async () => {
215
+ return internal_4.PerformanceEvent.timedExecAsync(this.mc.logger, { eventName: "AttachmentReadBlob", id: storageId }, async () => {
230
216
  return this.getStorage().readBlob(storageId);
231
217
  }, { end: true, cancel: "error" });
232
218
  }
233
219
  getBlobHandle(id) {
234
- (0, core_utils_1.assert)(this.redirectTable.has(id) || this.pendingBlobs.has(id), 0x384 /* requesting handle for unknown blob */);
220
+ (0, internal_1.assert)(this.redirectTable.has(id) || this.pendingBlobs.has(id), 0x384 /* requesting handle for unknown blob */);
235
221
  const pending = this.pendingBlobs.get(id);
236
222
  const callback = pending
237
223
  ? () => {
@@ -258,7 +244,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
258
244
  this.mc.logger.sendTelemetryEvent({ eventName: "CreateBlobWhileAttaching" });
259
245
  await new Promise((resolve) => this.runtime.once("attached", resolve));
260
246
  }
261
- (0, core_utils_1.assert)(this.runtime.attachState === container_definitions_1.AttachState.Attached, 0x385 /* For clarity and paranoid defense against adding future attachment states */);
247
+ (0, internal_1.assert)(this.runtime.attachState === container_definitions_1.AttachState.Attached, 0x385 /* For clarity and paranoid defense against adding future attachment states */);
262
248
  if (signal?.aborted) {
263
249
  throw this.createAbortError();
264
250
  }
@@ -267,8 +253,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
267
253
  const localId = (0, uuid_1.v4)();
268
254
  const pendingEntry = {
269
255
  blob,
270
- uploading: true,
271
- handleP: new core_utils_1.Deferred(),
256
+ handleP: new internal_1.Deferred(),
272
257
  uploadP: this.uploadBlob(localId, blob),
273
258
  attached: false,
274
259
  acked: false,
@@ -287,15 +272,15 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
287
272
  });
288
273
  }
289
274
  async uploadBlob(localId, blob) {
290
- return (0, driver_utils_1.runWithRetry)(async () => {
275
+ return (0, internal_2.runWithRetry)(async () => {
291
276
  try {
292
277
  return await this.getStorage().createBlob(blob);
293
278
  }
294
279
  catch (error) {
295
280
  const entry = this.pendingBlobs.get(localId);
296
- (0, core_utils_1.assert)(!!entry, 0x387 /* Must have pending blob entry for blob which failed to upload */);
297
- if (entry.opsent && !(0, driver_utils_1.canRetryOnError)(error)) {
298
- throw (0, telemetry_utils_1.wrapError)(error, () => new telemetry_utils_1.LoggingError(`uploadBlob error`, { canRetry: true }));
281
+ (0, internal_1.assert)(!!entry, 0x387 /* Must have pending blob entry for blob which failed to upload */);
282
+ if (entry.opsent && !(0, internal_2.canRetryOnError)(error)) {
283
+ throw (0, internal_4.wrapError)(error, () => new internal_4.LoggingError(`uploadBlob error`, { canRetry: true }));
299
284
  }
300
285
  throw error;
301
286
  }
@@ -331,12 +316,13 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
331
316
  }
332
317
  onUploadResolve(localId, response) {
333
318
  const entry = this.pendingBlobs.get(localId);
334
- (0, core_utils_1.assert)(entry !== undefined, 0x6c8 /* pending blob entry not found for uploaded blob */);
319
+ (0, internal_1.assert)(entry !== undefined, 0x6c8 /* pending blob entry not found for uploaded blob */);
335
320
  if ((entry.abortSignal?.aborted === true && !entry.opsent) || this.stopAttaching) {
336
321
  this.deletePendingBlob(localId);
337
322
  return;
338
323
  }
339
- (0, core_utils_1.assert)(entry.uploading === true, 0x386 /* Must have pending blob entry for uploaded blob */);
324
+ (0, internal_1.assert)(entry.storageId === undefined, 0x386 /* Must have pending blob entry for uploaded blob */);
325
+ entry.stashedUpload = undefined;
340
326
  entry.storageId = response.id;
341
327
  entry.uploadTime = Date.now();
342
328
  entry.minTTLInSeconds = response.minTTLInSeconds;
@@ -370,13 +356,13 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
370
356
  * @param metadata - op metadata containing storage and/or local IDs
371
357
  */
372
358
  reSubmit(metadata) {
373
- (0, core_utils_1.assert)(!!metadata, 0x38b /* Resubmitted ops must have metadata */);
359
+ (0, internal_1.assert)(!!metadata, 0x38b /* Resubmitted ops must have metadata */);
374
360
  const { localId, blobId } = metadata;
375
- (0, core_utils_1.assert)(localId !== undefined, 0x50d /* local ID not available on reSubmit */);
361
+ (0, internal_1.assert)(localId !== undefined, 0x50d /* local ID not available on reSubmit */);
376
362
  const pendingEntry = this.pendingBlobs.get(localId);
377
363
  if (!blobId) {
378
364
  // We submitted this op while offline. The blob should have been uploaded by now.
379
- (0, core_utils_1.assert)(pendingEntry?.opsent === true && !!pendingEntry?.storageId, 0x38d /* blob must be uploaded before resubmitting BlobAttach op */);
365
+ (0, internal_1.assert)(pendingEntry?.opsent === true && !!pendingEntry?.storageId, 0x38d /* blob must be uploaded before resubmitting BlobAttach op */);
380
366
  return this.sendBlobAttachOp(localId, pendingEntry?.storageId);
381
367
  }
382
368
  return this.sendBlobAttachOp(localId, blobId);
@@ -390,11 +376,8 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
390
376
  this.deletePendingBlob(localId);
391
377
  return;
392
378
  }
393
- if (pendingEntry?.pendingStashed) {
394
- pendingEntry.pendingStashed = false;
395
- }
396
379
  }
397
- (0, core_utils_1.assert)(blobId !== undefined, 0x12a /* "Missing blob id on metadata" */);
380
+ (0, internal_1.assert)(blobId !== undefined, 0x12a /* "Missing blob id on metadata" */);
398
381
  // Set up a mapping from local ID to storage ID. This is crucial since without this the blob cannot be
399
382
  // requested from the server.
400
383
  // Note: The check for undefined is needed for back-compat when localId was not part of the BlobAttach op that
@@ -405,7 +388,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
405
388
  // set identity (id -> id) entry
406
389
  this.setRedirection(blobId, blobId);
407
390
  if (local) {
408
- (0, core_utils_1.assert)(localId !== undefined, 0x50e /* local ID not present in blob attach message */);
391
+ (0, internal_1.assert)(localId !== undefined, 0x50e /* local ID not present in blob attach message */);
409
392
  const waitingBlobs = this.opsInFlight.get(blobId);
410
393
  if (waitingBlobs !== undefined) {
411
394
  // For each op corresponding to this storage ID that we are waiting for, resolve the pending blob.
@@ -413,7 +396,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
413
396
  // storage ID is already in flight and any op containing this local ID will be sequenced after that.
414
397
  waitingBlobs.forEach((pendingLocalId) => {
415
398
  const entry = this.pendingBlobs.get(pendingLocalId);
416
- (0, core_utils_1.assert)(entry !== undefined, 0x38f /* local online BlobAttach op with no pending blob entry */);
399
+ (0, internal_1.assert)(entry !== undefined, 0x38f /* local online BlobAttach op with no pending blob entry */);
417
400
  this.setRedirection(pendingLocalId, blobId);
418
401
  entry.acked = true;
419
402
  entry.handleP.resolve(this.getBlobHandle(pendingLocalId));
@@ -472,7 +455,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
472
455
  const blobIds = this.storageIds.size > 0
473
456
  ? Array.from(this.storageIds)
474
457
  : Array.from(this.redirectTable.keys());
475
- const builder = new runtime_utils_1.SummaryTreeBuilder();
458
+ const builder = new internal_3.SummaryTreeBuilder();
476
459
  blobIds.forEach((blobId) => {
477
460
  builder.addAttachment(blobId);
478
461
  });
@@ -493,7 +476,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
493
476
  getGCData(fullGC = false) {
494
477
  const gcData = { gcNodes: {} };
495
478
  for (const [localId, storageId] of this.redirectTable) {
496
- (0, core_utils_1.assert)(!!storageId, 0x390 /* Must be attached to get GC data */);
479
+ (0, internal_1.assert)(!!storageId, 0x390 /* Must be attached to get GC data */);
497
480
  // Only return local ids as GC nodes because a blob can only be referenced via its local id. The storage
498
481
  // id entries have the same key and value, ignore them.
499
482
  // The outbound routes are empty because a blob node cannot reference other nodes. It can only be referenced
@@ -548,14 +531,14 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
548
531
  continue;
549
532
  }
550
533
  const storageId = this.redirectTable.get(blobId);
551
- (0, core_utils_1.assert)(!!storageId, 0x5bb /* Must be attached to run GC */);
534
+ (0, internal_1.assert)(!!storageId, 0x5bb /* Must be attached to run GC */);
552
535
  maybeUnusedStorageIds.add(storageId);
553
536
  this.redirectTable.delete(blobId);
554
537
  }
555
538
  // Find out storage ids that are in-use and remove them from maybeUnusedStorageIds. A storage id is in-use if
556
539
  // the redirect table has a local id -> storage id entry for it.
557
540
  for (const [localId, storageId] of this.redirectTable.entries()) {
558
- (0, core_utils_1.assert)(!!storageId, 0x5bc /* Must be attached to run GC */);
541
+ (0, internal_1.assert)(!!storageId, 0x5bc /* Must be attached to run GC */);
559
542
  // For every storage id, the redirect table has a id -> id entry. These do not make the storage id in-use.
560
543
  if (maybeUnusedStorageIds.has(storageId) && localId !== storageId) {
561
544
  maybeUnusedStorageIds.delete(storageId);
@@ -603,7 +586,7 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
603
586
  return;
604
587
  }
605
588
  const request = { url: blobId };
606
- const error = (0, runtime_utils_1.responseToException)((0, runtime_utils_1.createResponseError)(404, `Blob was deleted`, request), request);
589
+ const error = (0, internal_3.responseToException)((0, internal_3.createResponseError)(404, `Blob was deleted`, request), request);
607
590
  // Only log deleted events. Tombstone events are logged by garbage collector.
608
591
  this.mc.logger.sendErrorEvent({
609
592
  eventName: "GC_Deleted_Blob_Requested",
@@ -612,17 +595,17 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
612
595
  throw error;
613
596
  }
614
597
  setRedirectTable(table) {
615
- (0, core_utils_1.assert)(this.runtime.attachState === container_definitions_1.AttachState.Detached, 0x252 /* "redirect table can only be set in detached container" */);
616
- (0, core_utils_1.assert)(this.redirectTable.size === table.size, 0x391 /* Redirect table size must match BlobManager's local ID count */);
598
+ (0, internal_1.assert)(this.runtime.attachState === container_definitions_1.AttachState.Detached, 0x252 /* "redirect table can only be set in detached container" */);
599
+ (0, internal_1.assert)(this.redirectTable.size === table.size, 0x391 /* Redirect table size must match BlobManager's local ID count */);
617
600
  for (const [localId, storageId] of table) {
618
- (0, core_utils_1.assert)(this.redirectTable.has(localId), 0x254 /* "unrecognized id in redirect table" */);
601
+ (0, internal_1.assert)(this.redirectTable.has(localId), 0x254 /* "unrecognized id in redirect table" */);
619
602
  this.setRedirection(localId, storageId);
620
603
  // set identity (id -> id) entry
621
604
  this.setRedirection(storageId, storageId);
622
605
  }
623
606
  }
624
607
  async attachAndGetPendingBlobs(stopBlobAttachingSignal) {
625
- return telemetry_utils_1.PerformanceEvent.timedExecAsync(this.mc.logger, { eventName: "GetPendingBlobs" }, async () => {
608
+ return internal_4.PerformanceEvent.timedExecAsync(this.mc.logger, { eventName: "GetPendingBlobs" }, async () => {
626
609
  if (this.pendingBlobs.size === 0) {
627
610
  return;
628
611
  }
@@ -664,14 +647,13 @@ class BlobManager extends client_utils_1.TypedEventEmitter {
664
647
  });
665
648
  continue;
666
649
  }
667
- (0, core_utils_1.assert)(entry.attached === true, 0x790 /* stashed blob should be attached */);
650
+ (0, internal_1.assert)(entry.attached === true, 0x790 /* stashed blob should be attached */);
668
651
  if (!entry.opsent) {
669
652
  this.sendBlobAttachOp(id, entry.storageId);
670
653
  }
671
654
  blobs[id] = {
672
655
  blob: (0, client_utils_1.bufferToString)(entry.blob, "base64"),
673
656
  storageId: entry.storageId,
674
- attached: entry.attached,
675
657
  acked: entry.acked,
676
658
  minTTLInSeconds: entry.minTTLInSeconds,
677
659
  uploadTime: entry.uploadTime,
@@ -697,7 +679,7 @@ function getGCNodePathFromBlobId(blobId) {
697
679
  */
698
680
  function getBlobIdFromGCNodePath(nodePath) {
699
681
  const pathParts = nodePath.split("/");
700
- (0, core_utils_1.assert)(pathParts.length === 3 && pathParts[1] === BlobManager.basePath, 0x5bd /* Invalid blob node path */);
682
+ (0, internal_1.assert)(pathParts.length === 3 && pathParts[1] === BlobManager.basePath, 0x5bd /* Invalid blob node path */);
701
683
  return pathParts[2];
702
684
  }
703
685
  //# sourceMappingURL=blobManager.js.map