@fluidframework/container-runtime 2.12.0 → 2.20.0

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 (440) hide show
  1. package/.eslintrc.cjs +36 -0
  2. package/CHANGELOG.md +50 -0
  3. package/api-report/container-runtime.legacy.alpha.api.md +9 -203
  4. package/container-runtime.test-files.tar +0 -0
  5. package/dist/batchTracker.d.ts.map +1 -1
  6. package/dist/batchTracker.js.map +1 -1
  7. package/dist/blobManager/blobManager.d.ts +5 -1
  8. package/dist/blobManager/blobManager.d.ts.map +1 -1
  9. package/dist/blobManager/blobManager.js +16 -2
  10. package/dist/blobManager/blobManager.js.map +1 -1
  11. package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  12. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  13. package/dist/channelCollection.d.ts +23 -12
  14. package/dist/channelCollection.d.ts.map +1 -1
  15. package/dist/channelCollection.js +22 -12
  16. package/dist/channelCollection.js.map +1 -1
  17. package/dist/connectionTelemetry.d.ts.map +1 -1
  18. package/dist/connectionTelemetry.js +6 -2
  19. package/dist/connectionTelemetry.js.map +1 -1
  20. package/dist/containerHandleContext.d.ts +1 -1
  21. package/dist/containerHandleContext.d.ts.map +1 -1
  22. package/dist/containerHandleContext.js.map +1 -1
  23. package/dist/containerRuntime.d.ts +74 -65
  24. package/dist/containerRuntime.d.ts.map +1 -1
  25. package/dist/containerRuntime.js +53 -37
  26. package/dist/containerRuntime.js.map +1 -1
  27. package/dist/dataStore.d.ts +7 -3
  28. package/dist/dataStore.d.ts.map +1 -1
  29. package/dist/dataStore.js +2 -1
  30. package/dist/dataStore.js.map +1 -1
  31. package/dist/dataStoreContext.d.ts +41 -25
  32. package/dist/dataStoreContext.d.ts.map +1 -1
  33. package/dist/dataStoreContext.js +31 -18
  34. package/dist/dataStoreContext.js.map +1 -1
  35. package/dist/dataStoreContexts.d.ts +6 -2
  36. package/dist/dataStoreContexts.d.ts.map +1 -1
  37. package/dist/dataStoreContexts.js +6 -2
  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.map +1 -1
  42. package/dist/deltaManagerProxies.d.ts +1 -17
  43. package/dist/deltaManagerProxies.d.ts.map +1 -1
  44. package/dist/deltaManagerProxies.js.map +1 -1
  45. package/dist/deltaScheduler.d.ts +9 -6
  46. package/dist/deltaScheduler.d.ts.map +1 -1
  47. package/dist/deltaScheduler.js +95 -89
  48. package/dist/deltaScheduler.js.map +1 -1
  49. package/dist/gc/garbageCollection.d.ts +21 -7
  50. package/dist/gc/garbageCollection.d.ts.map +1 -1
  51. package/dist/gc/garbageCollection.js +12 -5
  52. package/dist/gc/garbageCollection.js.map +1 -1
  53. package/dist/gc/gcConfigs.d.ts +11 -0
  54. package/dist/gc/gcConfigs.d.ts.map +1 -1
  55. package/dist/gc/gcConfigs.js +2 -1
  56. package/dist/gc/gcConfigs.js.map +1 -1
  57. package/dist/gc/gcDefinitions.d.ts +210 -70
  58. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  59. package/dist/gc/gcDefinitions.js +39 -13
  60. package/dist/gc/gcDefinitions.js.map +1 -1
  61. package/dist/gc/gcHelpers.d.ts +6 -2
  62. package/dist/gc/gcHelpers.d.ts.map +1 -1
  63. package/dist/gc/gcHelpers.js +6 -2
  64. package/dist/gc/gcHelpers.js.map +1 -1
  65. package/dist/gc/gcSummaryDefinitions.d.ts +18 -6
  66. package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
  67. package/dist/gc/gcSummaryDefinitions.js.map +1 -1
  68. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  69. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  70. package/dist/gc/gcTelemetry.d.ts +33 -11
  71. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  72. package/dist/gc/gcTelemetry.js +6 -2
  73. package/dist/gc/gcTelemetry.js.map +1 -1
  74. package/dist/gc/gcUnreferencedStateTracker.d.ts +42 -13
  75. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  76. package/dist/gc/gcUnreferencedStateTracker.js +27 -9
  77. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  78. package/dist/gc/index.d.ts +1 -0
  79. package/dist/gc/index.d.ts.map +1 -1
  80. package/dist/gc/index.js +3 -1
  81. package/dist/gc/index.js.map +1 -1
  82. package/dist/inboundBatchAggregator.d.ts +34 -0
  83. package/dist/inboundBatchAggregator.d.ts.map +1 -0
  84. package/dist/inboundBatchAggregator.js +185 -0
  85. package/dist/inboundBatchAggregator.js.map +1 -0
  86. package/dist/index.d.ts +1 -1
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/legacy.d.ts +0 -4
  90. package/dist/messageTypes.d.ts +14 -5
  91. package/dist/messageTypes.d.ts.map +1 -1
  92. package/dist/messageTypes.js.map +1 -1
  93. package/dist/metadata.d.ts +12 -4
  94. package/dist/metadata.d.ts.map +1 -1
  95. package/dist/metadata.js +6 -2
  96. package/dist/metadata.js.map +1 -1
  97. package/dist/opLifecycle/batchManager.d.ts +9 -3
  98. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  99. package/dist/opLifecycle/batchManager.js +3 -1
  100. package/dist/opLifecycle/batchManager.js.map +1 -1
  101. package/dist/opLifecycle/duplicateBatchDetector.d.ts +9 -3
  102. package/dist/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  103. package/dist/opLifecycle/duplicateBatchDetector.js +9 -3
  104. package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
  105. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  106. package/dist/opLifecycle/opCompressor.js.map +1 -1
  107. package/dist/opLifecycle/opDecompressor.d.ts +3 -1
  108. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  109. package/dist/opLifecycle/opDecompressor.js +12 -8
  110. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  111. package/dist/opLifecycle/opGroupingManager.d.ts +0 -1
  112. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  113. package/dist/opLifecycle/opGroupingManager.js +5 -4
  114. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  115. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  116. package/dist/opLifecycle/opSplitter.js +2 -1
  117. package/dist/opLifecycle/opSplitter.js.map +1 -1
  118. package/dist/opLifecycle/outbox.d.ts +1 -1
  119. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  120. package/dist/opLifecycle/outbox.js +6 -1
  121. package/dist/opLifecycle/outbox.js.map +1 -1
  122. package/dist/opLifecycle/remoteMessageProcessor.d.ts +9 -3
  123. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  124. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  125. package/dist/package.json +2 -1
  126. package/dist/packageVersion.d.ts +1 -1
  127. package/dist/packageVersion.js +1 -1
  128. package/dist/packageVersion.js.map +1 -1
  129. package/dist/pendingStateManager.d.ts +22 -6
  130. package/dist/pendingStateManager.d.ts.map +1 -1
  131. package/dist/pendingStateManager.js +43 -5
  132. package/dist/pendingStateManager.js.map +1 -1
  133. package/dist/summary/documentSchema.d.ts.map +1 -1
  134. package/dist/summary/documentSchema.js +2 -0
  135. package/dist/summary/documentSchema.js.map +1 -1
  136. package/dist/summary/index.d.ts +1 -1
  137. package/dist/summary/index.d.ts.map +1 -1
  138. package/dist/summary/index.js.map +1 -1
  139. package/dist/summary/orderedClientElection.d.ts +93 -31
  140. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  141. package/dist/summary/orderedClientElection.js +15 -5
  142. package/dist/summary/orderedClientElection.js.map +1 -1
  143. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  144. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  145. package/dist/summary/runningSummarizer.d.ts +17 -6
  146. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  147. package/dist/summary/runningSummarizer.js +12 -4
  148. package/dist/summary/runningSummarizer.js.map +1 -1
  149. package/dist/summary/summarizer.d.ts +9 -5
  150. package/dist/summary/summarizer.d.ts.map +1 -1
  151. package/dist/summary/summarizer.js +9 -3
  152. package/dist/summary/summarizer.js.map +1 -1
  153. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  154. package/dist/summary/summarizerClientElection.js.map +1 -1
  155. package/dist/summary/summarizerHeuristics.d.ts +6 -2
  156. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  157. package/dist/summary/summarizerHeuristics.js +12 -4
  158. package/dist/summary/summarizerHeuristics.js.map +1 -1
  159. package/dist/summary/summarizerNode/summarizerNode.d.ts +24 -8
  160. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  161. package/dist/summary/summarizerNode/summarizerNode.js +15 -5
  162. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  163. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
  164. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  165. package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -1
  166. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  167. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +12 -4
  168. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  169. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +12 -4
  170. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  171. package/dist/summary/summarizerTypes.d.ts +246 -135
  172. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  173. package/dist/summary/summarizerTypes.js.map +1 -1
  174. package/dist/summary/summaryCollection.d.ts.map +1 -1
  175. package/dist/summary/summaryCollection.js +1 -4
  176. package/dist/summary/summaryCollection.js.map +1 -1
  177. package/dist/summary/summaryFormat.d.ts +24 -8
  178. package/dist/summary/summaryFormat.d.ts.map +1 -1
  179. package/dist/summary/summaryFormat.js.map +1 -1
  180. package/dist/summary/summaryGenerator.d.ts +9 -3
  181. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  182. package/dist/summary/summaryGenerator.js +3 -1
  183. package/dist/summary/summaryGenerator.js.map +1 -1
  184. package/dist/summary/summaryManager.d.ts +8 -4
  185. package/dist/summary/summaryManager.d.ts.map +1 -1
  186. package/dist/summary/summaryManager.js +12 -4
  187. package/dist/summary/summaryManager.js.map +1 -1
  188. package/dist/throttler.d.ts +26 -10
  189. package/dist/throttler.d.ts.map +1 -1
  190. package/dist/throttler.js +12 -4
  191. package/dist/throttler.js.map +1 -1
  192. package/lib/batchTracker.d.ts.map +1 -1
  193. package/lib/batchTracker.js.map +1 -1
  194. package/lib/blobManager/blobManager.d.ts +5 -1
  195. package/lib/blobManager/blobManager.d.ts.map +1 -1
  196. package/lib/blobManager/blobManager.js +16 -2
  197. package/lib/blobManager/blobManager.js.map +1 -1
  198. package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  199. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  200. package/lib/channelCollection.d.ts +23 -12
  201. package/lib/channelCollection.d.ts.map +1 -1
  202. package/lib/channelCollection.js +22 -12
  203. package/lib/channelCollection.js.map +1 -1
  204. package/lib/connectionTelemetry.d.ts.map +1 -1
  205. package/lib/connectionTelemetry.js +6 -2
  206. package/lib/connectionTelemetry.js.map +1 -1
  207. package/lib/containerHandleContext.d.ts +1 -1
  208. package/lib/containerHandleContext.d.ts.map +1 -1
  209. package/lib/containerHandleContext.js.map +1 -1
  210. package/lib/containerRuntime.d.ts +74 -65
  211. package/lib/containerRuntime.d.ts.map +1 -1
  212. package/lib/containerRuntime.js +53 -37
  213. package/lib/containerRuntime.js.map +1 -1
  214. package/lib/dataStore.d.ts +7 -3
  215. package/lib/dataStore.d.ts.map +1 -1
  216. package/lib/dataStore.js +2 -1
  217. package/lib/dataStore.js.map +1 -1
  218. package/lib/dataStoreContext.d.ts +41 -25
  219. package/lib/dataStoreContext.d.ts.map +1 -1
  220. package/lib/dataStoreContext.js +31 -18
  221. package/lib/dataStoreContext.js.map +1 -1
  222. package/lib/dataStoreContexts.d.ts +6 -2
  223. package/lib/dataStoreContexts.d.ts.map +1 -1
  224. package/lib/dataStoreContexts.js +6 -2
  225. package/lib/dataStoreContexts.js.map +1 -1
  226. package/lib/dataStoreRegistry.d.ts +1 -1
  227. package/lib/dataStoreRegistry.d.ts.map +1 -1
  228. package/lib/dataStoreRegistry.js.map +1 -1
  229. package/lib/deltaManagerProxies.d.ts +1 -17
  230. package/lib/deltaManagerProxies.d.ts.map +1 -1
  231. package/lib/deltaManagerProxies.js.map +1 -1
  232. package/lib/deltaScheduler.d.ts +9 -6
  233. package/lib/deltaScheduler.d.ts.map +1 -1
  234. package/lib/deltaScheduler.js +95 -89
  235. package/lib/deltaScheduler.js.map +1 -1
  236. package/lib/gc/garbageCollection.d.ts +21 -7
  237. package/lib/gc/garbageCollection.d.ts.map +1 -1
  238. package/lib/gc/garbageCollection.js +12 -5
  239. package/lib/gc/garbageCollection.js.map +1 -1
  240. package/lib/gc/gcConfigs.d.ts +11 -0
  241. package/lib/gc/gcConfigs.d.ts.map +1 -1
  242. package/lib/gc/gcConfigs.js +1 -1
  243. package/lib/gc/gcConfigs.js.map +1 -1
  244. package/lib/gc/gcDefinitions.d.ts +210 -70
  245. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  246. package/lib/gc/gcDefinitions.js +39 -13
  247. package/lib/gc/gcDefinitions.js.map +1 -1
  248. package/lib/gc/gcHelpers.d.ts +6 -2
  249. package/lib/gc/gcHelpers.d.ts.map +1 -1
  250. package/lib/gc/gcHelpers.js +6 -2
  251. package/lib/gc/gcHelpers.js.map +1 -1
  252. package/lib/gc/gcSummaryDefinitions.d.ts +18 -6
  253. package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
  254. package/lib/gc/gcSummaryDefinitions.js.map +1 -1
  255. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  256. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  257. package/lib/gc/gcTelemetry.d.ts +33 -11
  258. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  259. package/lib/gc/gcTelemetry.js +6 -2
  260. package/lib/gc/gcTelemetry.js.map +1 -1
  261. package/lib/gc/gcUnreferencedStateTracker.d.ts +42 -13
  262. package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  263. package/lib/gc/gcUnreferencedStateTracker.js +27 -9
  264. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  265. package/lib/gc/index.d.ts +1 -0
  266. package/lib/gc/index.d.ts.map +1 -1
  267. package/lib/gc/index.js +1 -0
  268. package/lib/gc/index.js.map +1 -1
  269. package/lib/inboundBatchAggregator.d.ts +34 -0
  270. package/lib/inboundBatchAggregator.d.ts.map +1 -0
  271. package/lib/inboundBatchAggregator.js +181 -0
  272. package/lib/inboundBatchAggregator.js.map +1 -0
  273. package/lib/index.d.ts +1 -1
  274. package/lib/index.d.ts.map +1 -1
  275. package/lib/index.js.map +1 -1
  276. package/lib/legacy.d.ts +0 -4
  277. package/lib/messageTypes.d.ts +14 -5
  278. package/lib/messageTypes.d.ts.map +1 -1
  279. package/lib/messageTypes.js.map +1 -1
  280. package/lib/metadata.d.ts +12 -4
  281. package/lib/metadata.d.ts.map +1 -1
  282. package/lib/metadata.js +6 -2
  283. package/lib/metadata.js.map +1 -1
  284. package/lib/opLifecycle/batchManager.d.ts +9 -3
  285. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  286. package/lib/opLifecycle/batchManager.js +3 -1
  287. package/lib/opLifecycle/batchManager.js.map +1 -1
  288. package/lib/opLifecycle/duplicateBatchDetector.d.ts +9 -3
  289. package/lib/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
  290. package/lib/opLifecycle/duplicateBatchDetector.js +9 -3
  291. package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
  292. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  293. package/lib/opLifecycle/opCompressor.js +1 -1
  294. package/lib/opLifecycle/opCompressor.js.map +1 -1
  295. package/lib/opLifecycle/opDecompressor.d.ts +3 -1
  296. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  297. package/lib/opLifecycle/opDecompressor.js +13 -9
  298. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  299. package/lib/opLifecycle/opGroupingManager.d.ts +0 -1
  300. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  301. package/lib/opLifecycle/opGroupingManager.js +6 -5
  302. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  303. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  304. package/lib/opLifecycle/opSplitter.js +2 -1
  305. package/lib/opLifecycle/opSplitter.js.map +1 -1
  306. package/lib/opLifecycle/outbox.d.ts +1 -1
  307. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  308. package/lib/opLifecycle/outbox.js +6 -1
  309. package/lib/opLifecycle/outbox.js.map +1 -1
  310. package/lib/opLifecycle/remoteMessageProcessor.d.ts +9 -3
  311. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  312. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  313. package/lib/packageVersion.d.ts +1 -1
  314. package/lib/packageVersion.js +1 -1
  315. package/lib/packageVersion.js.map +1 -1
  316. package/lib/pendingStateManager.d.ts +22 -6
  317. package/lib/pendingStateManager.d.ts.map +1 -1
  318. package/lib/pendingStateManager.js +41 -4
  319. package/lib/pendingStateManager.js.map +1 -1
  320. package/lib/summary/documentSchema.d.ts.map +1 -1
  321. package/lib/summary/documentSchema.js +2 -0
  322. package/lib/summary/documentSchema.js.map +1 -1
  323. package/lib/summary/index.d.ts +1 -1
  324. package/lib/summary/index.d.ts.map +1 -1
  325. package/lib/summary/index.js.map +1 -1
  326. package/lib/summary/orderedClientElection.d.ts +93 -31
  327. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  328. package/lib/summary/orderedClientElection.js +15 -5
  329. package/lib/summary/orderedClientElection.js.map +1 -1
  330. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  331. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  332. package/lib/summary/runningSummarizer.d.ts +17 -6
  333. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  334. package/lib/summary/runningSummarizer.js +12 -4
  335. package/lib/summary/runningSummarizer.js.map +1 -1
  336. package/lib/summary/summarizer.d.ts +9 -5
  337. package/lib/summary/summarizer.d.ts.map +1 -1
  338. package/lib/summary/summarizer.js +9 -3
  339. package/lib/summary/summarizer.js.map +1 -1
  340. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  341. package/lib/summary/summarizerClientElection.js.map +1 -1
  342. package/lib/summary/summarizerHeuristics.d.ts +6 -2
  343. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  344. package/lib/summary/summarizerHeuristics.js +12 -4
  345. package/lib/summary/summarizerHeuristics.js.map +1 -1
  346. package/lib/summary/summarizerNode/summarizerNode.d.ts +24 -8
  347. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  348. package/lib/summary/summarizerNode/summarizerNode.js +15 -5
  349. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  350. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
  351. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  352. package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -1
  353. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  354. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +12 -4
  355. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  356. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +12 -4
  357. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  358. package/lib/summary/summarizerTypes.d.ts +246 -135
  359. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  360. package/lib/summary/summarizerTypes.js.map +1 -1
  361. package/lib/summary/summaryCollection.d.ts.map +1 -1
  362. package/lib/summary/summaryCollection.js +1 -4
  363. package/lib/summary/summaryCollection.js.map +1 -1
  364. package/lib/summary/summaryFormat.d.ts +24 -8
  365. package/lib/summary/summaryFormat.d.ts.map +1 -1
  366. package/lib/summary/summaryFormat.js.map +1 -1
  367. package/lib/summary/summaryGenerator.d.ts +9 -3
  368. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  369. package/lib/summary/summaryGenerator.js +3 -1
  370. package/lib/summary/summaryGenerator.js.map +1 -1
  371. package/lib/summary/summaryManager.d.ts +8 -4
  372. package/lib/summary/summaryManager.d.ts.map +1 -1
  373. package/lib/summary/summaryManager.js +12 -4
  374. package/lib/summary/summaryManager.js.map +1 -1
  375. package/lib/throttler.d.ts +26 -10
  376. package/lib/throttler.d.ts.map +1 -1
  377. package/lib/throttler.js +12 -4
  378. package/lib/throttler.js.map +1 -1
  379. package/package.json +44 -31
  380. package/src/batchTracker.ts +31 -33
  381. package/src/blobManager/blobManager.ts +38 -19
  382. package/src/blobManager/blobManagerSnapSum.ts +1 -1
  383. package/src/channelCollection.ts +44 -37
  384. package/src/connectionTelemetry.ts +31 -13
  385. package/src/containerHandleContext.ts +2 -2
  386. package/src/containerRuntime.ts +198 -140
  387. package/src/dataStore.ts +11 -6
  388. package/src/dataStoreContext.ts +80 -59
  389. package/src/dataStoreContexts.ts +16 -12
  390. package/src/dataStoreRegistry.ts +1 -1
  391. package/src/deltaManagerProxies.ts +5 -5
  392. package/src/deltaScheduler.ts +19 -13
  393. package/src/gc/garbageCollection.ts +41 -18
  394. package/src/gc/gcConfigs.ts +4 -4
  395. package/src/gc/gcDefinitions.ts +212 -70
  396. package/src/gc/gcHelpers.ts +11 -5
  397. package/src/gc/gcSummaryDefinitions.ts +18 -6
  398. package/src/gc/gcSummaryStateTracker.ts +4 -2
  399. package/src/gc/gcTelemetry.ts +47 -19
  400. package/src/gc/gcUnreferencedStateTracker.ts +40 -16
  401. package/src/gc/index.ts +1 -0
  402. package/src/{scheduleManager.ts → inboundBatchAggregator.ts} +54 -121
  403. package/src/index.ts +0 -3
  404. package/src/messageTypes.ts +14 -5
  405. package/src/metadata.ts +12 -4
  406. package/src/opLifecycle/batchManager.ts +12 -6
  407. package/src/opLifecycle/duplicateBatchDetector.ts +10 -4
  408. package/src/opLifecycle/opCompressor.ts +8 -4
  409. package/src/opLifecycle/opDecompressor.ts +20 -11
  410. package/src/opLifecycle/opGroupingManager.ts +12 -8
  411. package/src/opLifecycle/opSplitter.ts +11 -8
  412. package/src/opLifecycle/outbox.ts +22 -13
  413. package/src/opLifecycle/remoteMessageProcessor.ts +10 -4
  414. package/src/packageVersion.ts +1 -1
  415. package/src/pendingStateManager.ts +71 -15
  416. package/src/summary/documentSchema.ts +30 -18
  417. package/src/summary/index.ts +0 -3
  418. package/src/summary/orderedClientElection.ts +100 -38
  419. package/src/summary/runWhileConnectedCoordinator.ts +6 -3
  420. package/src/summary/runningSummarizer.ts +38 -19
  421. package/src/summary/summarizer.ts +29 -16
  422. package/src/summary/summarizerClientElection.ts +2 -2
  423. package/src/summary/summarizerHeuristics.ts +22 -11
  424. package/src/summary/summarizerNode/summarizerNode.ts +22 -12
  425. package/src/summary/summarizerNode/summarizerNodeUtils.ts +48 -16
  426. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +21 -11
  427. package/src/summary/summarizerTypes.ts +246 -139
  428. package/src/summary/summaryCollection.ts +24 -25
  429. package/src/summary/summaryFormat.ts +24 -8
  430. package/src/summary/summaryGenerator.ts +14 -8
  431. package/src/summary/summaryManager.ts +28 -18
  432. package/src/throttler.ts +23 -11
  433. package/dist/scheduleManager.d.ts +0 -28
  434. package/dist/scheduleManager.d.ts.map +0 -1
  435. package/dist/scheduleManager.js +0 -235
  436. package/dist/scheduleManager.js.map +0 -1
  437. package/lib/scheduleManager.d.ts +0 -28
  438. package/lib/scheduleManager.d.ts.map +0 -1
  439. package/lib/scheduleManager.js +0 -231
  440. package/lib/scheduleManager.js.map +0 -1
@@ -110,13 +110,18 @@ import {
110
110
  * @internal
111
111
  */
112
112
  export enum RuntimeHeaders {
113
- /** True to wait for a data store to be created and loaded before returning it. */
113
+ /**
114
+ * True to wait for a data store to be created and loaded before returning it.
115
+ */
114
116
  wait = "wait",
115
- /** True if the request is coming from an IFluidHandle. */
117
+ /**
118
+ * True if the request is coming from an IFluidHandle.
119
+ */
116
120
  viaHandle = "viaHandle",
117
121
  }
118
122
 
119
- /** True if a tombstoned object should be returned without erroring
123
+ /**
124
+ * True if a tombstoned object should be returned without erroring
120
125
  * @legacy
121
126
  * @alpha
122
127
  */
@@ -125,7 +130,7 @@ export const AllowTombstoneRequestHeaderKey = "allowTombstone"; // Belongs in th
125
130
  type PendingAliasResolve = (success: boolean) => void;
126
131
 
127
132
  interface FluidDataStoreMessage {
128
- content: any;
133
+ content: unknown;
129
134
  type: string;
130
135
  }
131
136
 
@@ -212,7 +217,7 @@ function wrapContextForInnerChannel(
212
217
  ): IFluidParentContext {
213
218
  const context = wrapContext(parentContext);
214
219
 
215
- context.submitMessage = (type: string, content: any, localOpMetadata: unknown) => {
220
+ context.submitMessage = (type: string, content: unknown, localOpMetadata: unknown) => {
216
221
  const fluidDataStoreContent: FluidDataStoreMessage = {
217
222
  content,
218
223
  type,
@@ -242,7 +247,7 @@ function wrapContextForInnerChannel(
242
247
  /**
243
248
  * Returns the type of the given local data store from its package path.
244
249
  */
245
- export function getLocalDataStoreType(localDataStore: LocalFluidDataStoreContext) {
250
+ export function getLocalDataStoreType(localDataStore: LocalFluidDataStoreContext): string {
246
251
  return localDataStore.packagePath[localDataStore.packagePath.length - 1];
247
252
  }
248
253
 
@@ -373,7 +378,9 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
373
378
  return pendingAliasPromise ?? "Success";
374
379
  }
375
380
 
376
- /** For sampling. Only log once per container */
381
+ /**
382
+ * For sampling. Only log once per container
383
+ */
377
384
  private shouldSendAttachLog = true;
378
385
 
379
386
  protected wrapContextForInnerChannel(id: string): IFluidParentContext {
@@ -385,11 +392,11 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
385
392
  * Not clear when it would be called and what it should do.
386
393
  * Currently this API is called by context only for root data stores.
387
394
  */
388
- public makeVisibleAndAttachGraph() {
395
+ public makeVisibleAndAttachGraph(): void {
389
396
  this.parentContext.makeLocallyVisible();
390
397
  }
391
398
 
392
- private processAttachMessages(messageCollection: IRuntimeMessageCollection) {
399
+ private processAttachMessages(messageCollection: IRuntimeMessageCollection): void {
393
400
  const { envelope, messagesContent, local } = messageCollection;
394
401
  for (const { contents } of messagesContent) {
395
402
  const attachMessage = contents as InboundAttachMessage;
@@ -545,7 +552,9 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
545
552
  return this.aliasMap.get(id) !== undefined || this.contexts.get(id) !== undefined;
546
553
  }
547
554
 
548
- /** Package up the context's attach summary etc into an IAttachMessage */
555
+ /**
556
+ * Package up the context's attach summary etc into an IAttachMessage
557
+ */
549
558
  private generateAttachMessage(localContext: LocalFluidDataStoreContext): IAttachMessage {
550
559
  // Get the attach summary.
551
560
  const attachSummary = localContext.getAttachSummary();
@@ -586,7 +595,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
586
595
  this.contexts.bind(id);
587
596
  }
588
597
 
589
- protected submitAttachChannelOp(localContext: LocalFluidDataStoreContext) {
598
+ protected submitAttachChannelOp(localContext: LocalFluidDataStoreContext): void {
590
599
  const message = this.generateAttachMessage(localContext);
591
600
  this.pendingAttach.set(localContext.id, message);
592
601
  this.parentContext.submitMessage(ContainerMessageType.Attach, message, undefined);
@@ -642,21 +651,18 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
642
651
  this.createDataStoreId(),
643
652
  pkg,
644
653
  LocalDetachedFluidDataStoreContext,
645
- undefined, // props
646
654
  loadingGroupId,
647
655
  );
648
656
  }
649
657
 
650
658
  public createDataStoreContext(
651
659
  pkg: Readonly<string[]>,
652
- props?: any,
653
660
  loadingGroupId?: string,
654
661
  ): IFluidDataStoreContextInternal {
655
662
  return this.createContext(
656
663
  this.createDataStoreId(),
657
664
  pkg,
658
665
  LocalFluidDataStoreContext,
659
- props,
660
666
  loadingGroupId,
661
667
  );
662
668
  }
@@ -665,9 +671,8 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
665
671
  id: string,
666
672
  pkg: Readonly<string[]>,
667
673
  contextCtor: new (props: ILocalDetachedFluidDataStoreContextProps) => T,
668
- createProps?: any,
669
674
  loadingGroupId?: string,
670
- ) {
675
+ ): T {
671
676
  assert(loadingGroupId !== "", 0x974 /* loadingGroupId should not be the empty string */);
672
677
  const context = new contextCtor({
673
678
  id,
@@ -680,7 +685,6 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
680
685
  }),
681
686
  makeLocallyVisibleFn: () => this.makeDataStoreLocallyVisible(id),
682
687
  snapshotTree: undefined,
683
- createProps,
684
688
  loadingGroupId,
685
689
  channelToDataStoreFn: (channel: IFluidDataStoreChannel) =>
686
690
  channelToDataStore(
@@ -695,12 +699,12 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
695
699
  return context;
696
700
  }
697
701
 
698
- public get disposed() {
702
+ public get disposed(): boolean {
699
703
  return this.disposeOnce.evaluated;
700
704
  }
701
- public readonly dispose = () => this.disposeOnce.value;
705
+ public readonly dispose = (): void => this.disposeOnce.value;
702
706
 
703
- public reSubmit(type: string, content: any, localOpMetadata: unknown) {
707
+ public reSubmit(type: string, content: unknown, localOpMetadata: unknown): void {
704
708
  switch (type) {
705
709
  case ContainerMessageType.Attach:
706
710
  case ContainerMessageType.Alias:
@@ -713,7 +717,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
713
717
  }
714
718
  }
715
719
 
716
- protected reSubmitChannelOp(type: string, content: any, localOpMetadata: unknown) {
720
+ protected reSubmitChannelOp(type: string, content: unknown, localOpMetadata: unknown): void {
717
721
  const envelope = content as IEnvelope;
718
722
  const context = this.contexts.get(envelope.address);
719
723
  // If the data store has been deleted, log an error and throw an error. If there are local changes for a
@@ -731,7 +735,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
731
735
  context.reSubmit(innerContents.type, innerContents.content, localOpMetadata);
732
736
  }
733
737
 
734
- public rollback(type: string, content: any, localOpMetadata: unknown) {
738
+ public rollback(type: string, content: unknown, localOpMetadata: unknown): void {
735
739
  assert(type === ContainerMessageType.FluidDataStoreOp, 0x8e8 /* type */);
736
740
  const envelope = content as IEnvelope;
737
741
  const context = this.contexts.get(envelope.address);
@@ -764,7 +768,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
764
768
  }
765
769
  }
766
770
 
767
- protected async applyStashedChannelChannelOp(envelope: IEnvelope) {
771
+ protected async applyStashedChannelChannelOp(envelope: IEnvelope): Promise<unknown> {
768
772
  const context = this.contexts.get(envelope.address);
769
773
  // If the data store has been deleted, log an error and ignore this message. This helps prevent document
770
774
  // corruption in case the data store that stashed the op is deleted.
@@ -775,7 +779,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
775
779
  return context.applyStashedOp(envelope.contents);
776
780
  }
777
781
 
778
- private async applyStashedAttachOp(message: IAttachMessage) {
782
+ private async applyStashedAttachOp(message: IAttachMessage): Promise<void> {
779
783
  const { id, snapshot } = message;
780
784
 
781
785
  // build the snapshot from the summary in the attach message
@@ -850,7 +854,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
850
854
  message: ISequencedDocumentMessage,
851
855
  local: boolean,
852
856
  localOpMetadata: unknown,
853
- ) {
857
+ ): void {
854
858
  this.processMessages({
855
859
  envelope: message,
856
860
  messagesContent: [
@@ -875,7 +879,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
875
879
  let currentMessagesContent: IRuntimeMessagesContent[] = [];
876
880
 
877
881
  // Helper that sends the current bunch of messages to the data store. It validates that the data stores exists.
878
- const sendBunchedMessages = () => {
882
+ const sendBunchedMessages = (): void => {
879
883
  // Current message state will be undefined for the first message in the list.
880
884
  if (currentMessageState === undefined) {
881
885
  return;
@@ -1040,7 +1044,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1040
1044
  callSite: string,
1041
1045
  requestHeaderData?: RuntimeHeaderData,
1042
1046
  originalRequest?: IRequest,
1043
- ) {
1047
+ ): boolean {
1044
1048
  const dataStoreNodePath = `/${id}`;
1045
1049
  if (!this.isDataStoreDeleted(dataStoreNodePath)) {
1046
1050
  return false;
@@ -1059,7 +1063,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1059
1063
  })
1060
1064
  .then(
1061
1065
  (pkg) => ({ pkg, error: undefined }),
1062
- (error) => ({ pkg: undefined, error }),
1066
+ (error: Error) => ({ pkg: undefined, error }),
1063
1067
  )
1064
1068
  .then(({ pkg, error }) => {
1065
1069
  this.mc.logger.sendTelemetryEvent(
@@ -1092,9 +1096,10 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1092
1096
  return true;
1093
1097
  }
1094
1098
 
1095
- public processSignal(messageArg: IInboundSignalMessage, local: boolean) {
1099
+ public processSignal(messageArg: IInboundSignalMessage, local: boolean): void {
1096
1100
  const envelope = messageArg.content as IEnvelope;
1097
1101
  const fluidDataStoreId = envelope.address;
1102
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1098
1103
  const message = { ...messageArg, content: envelope.contents };
1099
1104
  const context = this.contexts.get(fluidDataStoreId);
1100
1105
  // If the data store has been deleted, log an error and ignore this message. This helps prevent document
@@ -1118,7 +1123,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1118
1123
  context.processSignal(message, local);
1119
1124
  }
1120
1125
 
1121
- public setConnectionState(connected: boolean, clientId?: string) {
1126
+ public setConnectionState(connected: boolean, clientId?: string): void {
1122
1127
  for (const [fluidDataStoreId, context] of this.contexts) {
1123
1128
  try {
1124
1129
  context.setConnectionState(connected, clientId);
@@ -1328,7 +1333,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1328
1333
  * After GC has run, called to notify this Container's data stores of routes that are used in it.
1329
1334
  * @param usedRoutes - The routes that are used in all data stores in this Container.
1330
1335
  */
1331
- public updateUsedRoutes(usedRoutes: readonly string[]) {
1336
+ public updateUsedRoutes(usedRoutes: readonly string[]): void {
1332
1337
  // Get a map of data store ids to routes used in it.
1333
1338
  const usedDataStoreRoutes = unpackChildNodesUsedRoutes(usedRoutes);
1334
1339
 
@@ -1346,7 +1351,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1346
1351
  }
1347
1352
  }
1348
1353
 
1349
- public deleteChild(dataStoreId: string) {
1354
+ public deleteChild(dataStoreId: string): void {
1350
1355
  const dataStoreContext = this.contexts.get(dataStoreId);
1351
1356
  assert(dataStoreContext !== undefined, 0x2d7 /* No data store with specified id */);
1352
1357
 
@@ -1418,7 +1423,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
1418
1423
  *
1419
1424
  * @param tombstonedRoutes - The routes that are tombstones in all data stores in this Container.
1420
1425
  */
1421
- public updateTombstonedRoutes(tombstonedRoutes: readonly string[]) {
1426
+ public updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void {
1422
1427
  const tombstonedDataStoresSet: Set<string> = new Set();
1423
1428
  for (const route of tombstonedRoutes) {
1424
1429
  const pathParts = route.split("/");
@@ -1583,7 +1588,7 @@ export function detectOutboundReferences(
1583
1588
  const outboundPaths: string[] = [];
1584
1589
  let ddsAddress: string | undefined;
1585
1590
 
1586
- function recursivelyFindHandles(obj: unknown) {
1591
+ function recursivelyFindHandles(obj: unknown): void {
1587
1592
  if (typeof obj === "object" && obj !== null) {
1588
1593
  for (const [key, value] of Object.entries(obj)) {
1589
1594
  // If 'value' is a serialized IFluidHandle, it represents a new outbound route.
@@ -1595,7 +1600,7 @@ export function detectOutboundReferences(
1595
1600
  // the address of the DDS is stored in a property called "address". This is not ideal.
1596
1601
  // An alternative would be for the op envelope to include the absolute path (built up as it is submitted)
1597
1602
  if (key === "address" && ddsAddress === undefined) {
1598
- ddsAddress = value;
1603
+ ddsAddress = value as string | undefined;
1599
1604
  }
1600
1605
 
1601
1606
  recursivelyFindHandles(value);
@@ -1611,7 +1616,9 @@ export function detectOutboundReferences(
1611
1616
  outboundPaths.forEach((toPath) => addedOutboundReference(fromPath, toPath));
1612
1617
  }
1613
1618
 
1614
- /** @internal */
1619
+ /**
1620
+ * @internal
1621
+ */
1615
1622
  export class ChannelCollectionFactory<T extends ChannelCollection = ChannelCollection>
1616
1623
  implements IFluidDataStoreFactory
1617
1624
  {
@@ -1630,7 +1637,7 @@ export class ChannelCollectionFactory<T extends ChannelCollection = ChannelColle
1630
1637
  this.IFluidDataStoreRegistry = new FluidDataStoreRegistry(registryEntries);
1631
1638
  }
1632
1639
 
1633
- public get IFluidDataStoreFactory() {
1640
+ public get IFluidDataStoreFactory(): ChannelCollectionFactory<T> {
1634
1641
  return this;
1635
1642
  }
1636
1643
 
@@ -36,13 +36,21 @@ export const latencyThreshold = 5000;
36
36
  // 3. Op received from service back (pushed to inbound queue).
37
37
  // 4. Op is processed.
38
38
  interface IOpPerfTelemetryProperties {
39
- /** Measure time between (1) and (2) - Measure time outbound op is sitting in queue due to active batch */
39
+ /**
40
+ * Measure time between (1) and (2) - Measure time outbound op is sitting in queue due to active batch
41
+ */
40
42
  durationOutboundBatching: number; // was durationOutboundQueue in previous versions
41
- /** Measure time between (2) and (3) - Track how long it took for op to be acked by service */
43
+ /**
44
+ * Measure time between (2) and (3) - Track how long it took for op to be acked by service
45
+ */
42
46
  durationNetwork: number; // was durationInboundQueue
43
- /** Measure time between (3) and (4) - Time between DM's inbound "push" event until DM's "op" event */
47
+ /**
48
+ * Measure time between (3) and (4) - Time between DM's inbound "push" event until DM's "op" event
49
+ */
44
50
  durationInboundToProcessing: number;
45
- /** Length of the DeltaManager's inbound queue at the time of the DM's inbound "push" event (3) */
51
+ /**
52
+ * Length of the DeltaManager's inbound queue at the time of the DM's inbound "push" event (3)
53
+ */
46
54
  lengthInboundQueue: number;
47
55
  }
48
56
 
@@ -50,11 +58,17 @@ interface IOpPerfTelemetryProperties {
50
58
  * Timings collected at various moments during the op processing.
51
59
  */
52
60
  interface IOpPerfTimings {
53
- /** Starting time for (1) */
61
+ /**
62
+ * Starting time for (1)
63
+ */
54
64
  submitOpEventTime: number;
55
- /** Starting time for (2) */
65
+ /**
66
+ * Starting time for (2)
67
+ */
56
68
  outboundPushEventTime: number;
57
- /** Starting time for (3) */
69
+ /**
70
+ * Starting time for (3)
71
+ */
58
72
  inboundPushEventTime: number;
59
73
  }
60
74
 
@@ -81,9 +95,13 @@ class OpPerfTelemetry {
81
95
  private connectionStartTime = 0;
82
96
  private gap = 0;
83
97
 
84
- /** Count of no-ops sent by this client. This variable is reset everytime the OpStats sampled event is logged */
98
+ /**
99
+ * Count of no-ops sent by this client. This variable is reset everytime the OpStats sampled event is logged
100
+ */
85
101
  private noOpCountForTelemetry = 0;
86
- /** Cumulative size of the ops processed by this client. This variable is reset everytime the OpStats sampled event is logged */
102
+ /**
103
+ * Cumulative size of the ops processed by this client. This variable is reset everytime the OpStats sampled event is logged
104
+ */
87
105
  private processedOpSizeForTelemetry = 0;
88
106
 
89
107
  private readonly logger: ITelemetryLoggerExt;
@@ -283,7 +301,7 @@ class OpPerfTelemetry {
283
301
  });
284
302
  }
285
303
 
286
- private reportGettingUpToDate() {
304
+ private reportGettingUpToDate(): void {
287
305
  this.connectionOpSeqNumber = undefined;
288
306
  this.logger.sendPerformanceEvent({
289
307
  eventName: "ConnectionSpeed",
@@ -297,7 +315,7 @@ class OpPerfTelemetry {
297
315
  });
298
316
  }
299
317
 
300
- private recordPingTime(latency: number) {
318
+ private recordPingTime(latency: number): void {
301
319
  this.pingLatency = latency;
302
320
 
303
321
  // Log if latency is longer than 1 min
@@ -317,7 +335,7 @@ class OpPerfTelemetry {
317
335
  }
318
336
  }
319
337
 
320
- private beforeOpSubmit(message: IDocumentMessage) {
338
+ private beforeOpSubmit(message: IDocumentMessage): void {
321
339
  // start with first client op and measure latency every 500 client ops
322
340
  if (
323
341
  this.opLatencyLogger.isSamplingDisabled ||
@@ -344,7 +362,7 @@ class OpPerfTelemetry {
344
362
  }
345
363
  }
346
364
 
347
- private afterProcessingOp(message: ISequencedDocumentMessage) {
365
+ private afterProcessingOp(message: ISequencedDocumentMessage): void {
348
366
  const sequenceNumber = message.sequenceNumber;
349
367
 
350
368
  if (sequenceNumber === this.connectionOpSeqNumber) {
@@ -14,7 +14,7 @@ export interface IContainerHandleContextRuntime {
14
14
  }
15
15
 
16
16
  export class ContainerFluidHandleContext implements IFluidHandleContext {
17
- public get IFluidHandleContext() {
17
+ public get IFluidHandleContext(): IFluidHandleContext {
18
18
  return this;
19
19
  }
20
20
  public readonly absolutePath: string;
@@ -37,7 +37,7 @@ export class ContainerFluidHandleContext implements IFluidHandleContext {
37
37
  throw new Error("can't attach container runtime form within container!");
38
38
  }
39
39
 
40
- public get isAttached() {
40
+ public get isAttached(): boolean {
41
41
  return this.runtime.attachState !== AttachState.Detached;
42
42
  }
43
43