@fluidframework/container-runtime 2.23.0 → 2.31.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 (317) hide show
  1. package/CHANGELOG.md +593 -537
  2. package/api-report/container-runtime.legacy.alpha.api.md +0 -246
  3. package/dist/blobManager/blobManager.d.ts +11 -9
  4. package/dist/blobManager/blobManager.d.ts.map +1 -1
  5. package/dist/blobManager/blobManager.js +38 -39
  6. package/dist/blobManager/blobManager.js.map +1 -1
  7. package/dist/blobManager/blobManagerSnapSum.d.ts +2 -4
  8. package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  9. package/dist/blobManager/blobManagerSnapSum.js +6 -6
  10. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  11. package/dist/channelCollection.d.ts +1 -7
  12. package/dist/channelCollection.d.ts.map +1 -1
  13. package/dist/channelCollection.js +2 -27
  14. package/dist/channelCollection.js.map +1 -1
  15. package/dist/connectionTelemetry.d.ts +0 -43
  16. package/dist/connectionTelemetry.d.ts.map +1 -1
  17. package/dist/connectionTelemetry.js.map +1 -1
  18. package/dist/containerRuntime.d.ts +40 -145
  19. package/dist/containerRuntime.d.ts.map +1 -1
  20. package/dist/containerRuntime.js +149 -364
  21. package/dist/containerRuntime.js.map +1 -1
  22. package/dist/dataStoreContext.d.ts +6 -14
  23. package/dist/dataStoreContext.d.ts.map +1 -1
  24. package/dist/dataStoreContext.js +14 -26
  25. package/dist/dataStoreContext.js.map +1 -1
  26. package/dist/gc/garbageCollection.d.ts.map +1 -1
  27. package/dist/gc/garbageCollection.js +2 -20
  28. package/dist/gc/garbageCollection.js.map +1 -1
  29. package/dist/gc/gcConfigs.d.ts.map +1 -1
  30. package/dist/gc/gcConfigs.js +0 -2
  31. package/dist/gc/gcConfigs.js.map +1 -1
  32. package/dist/gc/gcDefinitions.d.ts +8 -24
  33. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  34. package/dist/gc/gcDefinitions.js +1 -3
  35. package/dist/gc/gcDefinitions.js.map +1 -1
  36. package/dist/gc/gcHelpers.d.ts.map +1 -1
  37. package/dist/gc/gcHelpers.js +1 -4
  38. package/dist/gc/gcHelpers.js.map +1 -1
  39. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  40. package/dist/gc/gcSummaryStateTracker.js +0 -1
  41. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  42. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  43. package/dist/gc/gcTelemetry.js +6 -18
  44. package/dist/gc/gcTelemetry.js.map +1 -1
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +2 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/legacy.d.ts +0 -29
  50. package/dist/messageTypes.d.ts.map +1 -1
  51. package/dist/messageTypes.js.map +1 -1
  52. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  53. package/dist/opLifecycle/batchManager.js +16 -5
  54. package/dist/opLifecycle/batchManager.js.map +1 -1
  55. package/dist/opLifecycle/outbox.d.ts +12 -3
  56. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  57. package/dist/opLifecycle/outbox.js +41 -21
  58. package/dist/opLifecycle/outbox.js.map +1 -1
  59. package/dist/packageVersion.d.ts +1 -1
  60. package/dist/packageVersion.js +1 -1
  61. package/dist/packageVersion.js.map +1 -1
  62. package/dist/pendingStateManager.d.ts +1 -0
  63. package/dist/pendingStateManager.d.ts.map +1 -1
  64. package/dist/pendingStateManager.js +12 -2
  65. package/dist/pendingStateManager.js.map +1 -1
  66. package/dist/runCounter.d.ts +11 -0
  67. package/dist/runCounter.d.ts.map +1 -0
  68. package/dist/runCounter.js +43 -0
  69. package/dist/runCounter.js.map +1 -0
  70. package/dist/runtimeLayerCompatState.d.ts +51 -0
  71. package/dist/runtimeLayerCompatState.d.ts.map +1 -0
  72. package/dist/runtimeLayerCompatState.js +123 -0
  73. package/dist/runtimeLayerCompatState.js.map +1 -0
  74. package/dist/signalTelemetryProcessing.d.ts +33 -0
  75. package/dist/signalTelemetryProcessing.d.ts.map +1 -0
  76. package/dist/signalTelemetryProcessing.js +149 -0
  77. package/dist/signalTelemetryProcessing.js.map +1 -0
  78. package/dist/summary/documentSchema.d.ts +7 -31
  79. package/dist/summary/documentSchema.d.ts.map +1 -1
  80. package/dist/summary/documentSchema.js +2 -18
  81. package/dist/summary/documentSchema.js.map +1 -1
  82. package/dist/summary/index.d.ts +2 -1
  83. package/dist/summary/index.d.ts.map +1 -1
  84. package/dist/summary/index.js +7 -1
  85. package/dist/summary/index.js.map +1 -1
  86. package/dist/summary/orderedClientElection.d.ts +1 -3
  87. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  88. package/dist/summary/orderedClientElection.js.map +1 -1
  89. package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -3
  90. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  91. package/dist/summary/runWhileConnectedCoordinator.js +2 -7
  92. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  93. package/dist/summary/runningSummarizer.d.ts +1 -2
  94. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  95. package/dist/summary/runningSummarizer.js +4 -23
  96. package/dist/summary/runningSummarizer.js.map +1 -1
  97. package/dist/summary/summarizer.d.ts +2 -5
  98. package/dist/summary/summarizer.d.ts.map +1 -1
  99. package/dist/summary/summarizer.js +3 -11
  100. package/dist/summary/summarizer.js.map +1 -1
  101. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  102. package/dist/summary/summarizerClientElection.js +0 -1
  103. package/dist/summary/summarizerClientElection.js.map +1 -1
  104. package/dist/summary/summarizerHeuristics.d.ts +1 -1
  105. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  106. package/dist/summary/summarizerHeuristics.js.map +1 -1
  107. package/dist/summary/summarizerNode/summarizerNode.d.ts +2 -2
  108. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  109. package/dist/summary/summarizerNode/summarizerNode.js +4 -4
  110. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  111. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -18
  112. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  113. package/dist/summary/summarizerNode/summarizerNodeUtils.js +0 -27
  114. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  115. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  116. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  117. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -2
  118. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  119. package/dist/summary/summarizerTypes.d.ts +109 -22
  120. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  121. package/dist/summary/summarizerTypes.js.map +1 -1
  122. package/dist/summary/summaryFormat.d.ts +3 -9
  123. package/dist/summary/summaryFormat.d.ts.map +1 -1
  124. package/dist/summary/summaryFormat.js.map +1 -1
  125. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  126. package/dist/summary/summaryGenerator.js +3 -9
  127. package/dist/summary/summaryGenerator.js.map +1 -1
  128. package/dist/summary/summaryHelpers.d.ts +19 -0
  129. package/dist/summary/summaryHelpers.d.ts.map +1 -0
  130. package/dist/summary/summaryHelpers.js +90 -0
  131. package/dist/summary/summaryHelpers.js.map +1 -0
  132. package/dist/summary/summaryManager.d.ts.map +1 -1
  133. package/dist/summary/summaryManager.js +0 -2
  134. package/dist/summary/summaryManager.js.map +1 -1
  135. package/lib/blobManager/blobManager.d.ts +11 -9
  136. package/lib/blobManager/blobManager.d.ts.map +1 -1
  137. package/lib/blobManager/blobManager.js +37 -37
  138. package/lib/blobManager/blobManager.js.map +1 -1
  139. package/lib/blobManager/blobManagerSnapSum.d.ts +2 -4
  140. package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  141. package/lib/blobManager/blobManagerSnapSum.js +6 -6
  142. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  143. package/lib/channelCollection.d.ts +1 -7
  144. package/lib/channelCollection.d.ts.map +1 -1
  145. package/lib/channelCollection.js +3 -30
  146. package/lib/channelCollection.js.map +1 -1
  147. package/lib/connectionTelemetry.d.ts +0 -43
  148. package/lib/connectionTelemetry.d.ts.map +1 -1
  149. package/lib/connectionTelemetry.js.map +1 -1
  150. package/lib/containerRuntime.d.ts +40 -145
  151. package/lib/containerRuntime.d.ts.map +1 -1
  152. package/lib/containerRuntime.js +151 -372
  153. package/lib/containerRuntime.js.map +1 -1
  154. package/lib/dataStoreContext.d.ts +6 -14
  155. package/lib/dataStoreContext.d.ts.map +1 -1
  156. package/lib/dataStoreContext.js +14 -26
  157. package/lib/dataStoreContext.js.map +1 -1
  158. package/lib/gc/garbageCollection.d.ts.map +1 -1
  159. package/lib/gc/garbageCollection.js +3 -23
  160. package/lib/gc/garbageCollection.js.map +1 -1
  161. package/lib/gc/gcConfigs.d.ts.map +1 -1
  162. package/lib/gc/gcConfigs.js +0 -2
  163. package/lib/gc/gcConfigs.js.map +1 -1
  164. package/lib/gc/gcDefinitions.d.ts +8 -24
  165. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  166. package/lib/gc/gcDefinitions.js +1 -3
  167. package/lib/gc/gcDefinitions.js.map +1 -1
  168. package/lib/gc/gcHelpers.d.ts.map +1 -1
  169. package/lib/gc/gcHelpers.js +1 -4
  170. package/lib/gc/gcHelpers.js.map +1 -1
  171. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  172. package/lib/gc/gcSummaryStateTracker.js +0 -1
  173. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  174. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  175. package/lib/gc/gcTelemetry.js +7 -21
  176. package/lib/gc/gcTelemetry.js.map +1 -1
  177. package/lib/index.d.ts +2 -2
  178. package/lib/index.d.ts.map +1 -1
  179. package/lib/index.js +2 -2
  180. package/lib/index.js.map +1 -1
  181. package/lib/legacy.d.ts +0 -29
  182. package/lib/messageTypes.d.ts.map +1 -1
  183. package/lib/messageTypes.js.map +1 -1
  184. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  185. package/lib/opLifecycle/batchManager.js +16 -5
  186. package/lib/opLifecycle/batchManager.js.map +1 -1
  187. package/lib/opLifecycle/outbox.d.ts +12 -3
  188. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  189. package/lib/opLifecycle/outbox.js +43 -23
  190. package/lib/opLifecycle/outbox.js.map +1 -1
  191. package/lib/packageVersion.d.ts +1 -1
  192. package/lib/packageVersion.js +1 -1
  193. package/lib/packageVersion.js.map +1 -1
  194. package/lib/pendingStateManager.d.ts +1 -0
  195. package/lib/pendingStateManager.d.ts.map +1 -1
  196. package/lib/pendingStateManager.js +12 -2
  197. package/lib/pendingStateManager.js.map +1 -1
  198. package/lib/runCounter.d.ts +11 -0
  199. package/lib/runCounter.d.ts.map +1 -0
  200. package/lib/runCounter.js +39 -0
  201. package/lib/runCounter.js.map +1 -0
  202. package/lib/runtimeLayerCompatState.d.ts +51 -0
  203. package/lib/runtimeLayerCompatState.d.ts.map +1 -0
  204. package/lib/runtimeLayerCompatState.js +118 -0
  205. package/lib/runtimeLayerCompatState.js.map +1 -0
  206. package/lib/signalTelemetryProcessing.d.ts +33 -0
  207. package/lib/signalTelemetryProcessing.d.ts.map +1 -0
  208. package/lib/signalTelemetryProcessing.js +145 -0
  209. package/lib/signalTelemetryProcessing.js.map +1 -0
  210. package/lib/summary/documentSchema.d.ts +7 -31
  211. package/lib/summary/documentSchema.d.ts.map +1 -1
  212. package/lib/summary/documentSchema.js +2 -18
  213. package/lib/summary/documentSchema.js.map +1 -1
  214. package/lib/summary/index.d.ts +2 -1
  215. package/lib/summary/index.d.ts.map +1 -1
  216. package/lib/summary/index.js +1 -0
  217. package/lib/summary/index.js.map +1 -1
  218. package/lib/summary/orderedClientElection.d.ts +1 -3
  219. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  220. package/lib/summary/orderedClientElection.js.map +1 -1
  221. package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -3
  222. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  223. package/lib/summary/runWhileConnectedCoordinator.js +2 -7
  224. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  225. package/lib/summary/runningSummarizer.d.ts +1 -2
  226. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  227. package/lib/summary/runningSummarizer.js +4 -23
  228. package/lib/summary/runningSummarizer.js.map +1 -1
  229. package/lib/summary/summarizer.d.ts +2 -5
  230. package/lib/summary/summarizer.d.ts.map +1 -1
  231. package/lib/summary/summarizer.js +3 -11
  232. package/lib/summary/summarizer.js.map +1 -1
  233. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  234. package/lib/summary/summarizerClientElection.js +0 -1
  235. package/lib/summary/summarizerClientElection.js.map +1 -1
  236. package/lib/summary/summarizerHeuristics.d.ts +1 -1
  237. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  238. package/lib/summary/summarizerHeuristics.js.map +1 -1
  239. package/lib/summary/summarizerNode/summarizerNode.d.ts +2 -2
  240. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  241. package/lib/summary/summarizerNode/summarizerNode.js +5 -5
  242. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  243. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -18
  244. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  245. package/lib/summary/summarizerNode/summarizerNodeUtils.js +1 -25
  246. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  247. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  248. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  249. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -2
  250. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  251. package/lib/summary/summarizerTypes.d.ts +109 -22
  252. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  253. package/lib/summary/summarizerTypes.js.map +1 -1
  254. package/lib/summary/summaryFormat.d.ts +3 -9
  255. package/lib/summary/summaryFormat.d.ts.map +1 -1
  256. package/lib/summary/summaryFormat.js.map +1 -1
  257. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  258. package/lib/summary/summaryGenerator.js +3 -9
  259. package/lib/summary/summaryGenerator.js.map +1 -1
  260. package/lib/summary/summaryHelpers.d.ts +19 -0
  261. package/lib/summary/summaryHelpers.d.ts.map +1 -0
  262. package/lib/summary/summaryHelpers.js +84 -0
  263. package/lib/summary/summaryHelpers.js.map +1 -0
  264. package/lib/summary/summaryManager.d.ts.map +1 -1
  265. package/lib/summary/summaryManager.js +0 -2
  266. package/lib/summary/summaryManager.js.map +1 -1
  267. package/lib/tsdoc-metadata.json +1 -1
  268. package/package.json +20 -23
  269. package/src/blobManager/blobManager.ts +70 -62
  270. package/src/blobManager/blobManagerSnapSum.ts +7 -9
  271. package/src/channelCollection.ts +4 -32
  272. package/src/connectionTelemetry.ts +0 -51
  273. package/src/containerRuntime.ts +259 -622
  274. package/src/dataStoreContext.ts +24 -33
  275. package/src/gc/{garbageCollection.md → README.md} +17 -19
  276. package/src/gc/garbageCollection.ts +9 -26
  277. package/src/gc/gcConfigs.ts +3 -6
  278. package/src/gc/gcDefinitions.ts +10 -28
  279. package/src/gc/gcHelpers.ts +0 -5
  280. package/src/gc/gcSummaryStateTracker.ts +1 -2
  281. package/src/gc/gcTelemetry.ts +8 -15
  282. package/src/index.ts +6 -6
  283. package/src/messageTypes.ts +0 -2
  284. package/src/opLifecycle/batchManager.ts +20 -6
  285. package/src/opLifecycle/outbox.ts +64 -24
  286. package/src/packageVersion.ts +1 -1
  287. package/src/pendingStateManager.ts +18 -2
  288. package/src/runCounter.ts +25 -0
  289. package/src/runtimeLayerCompatState.ts +143 -0
  290. package/src/signalTelemetryProcessing.ts +233 -0
  291. package/src/summary/documentSchema.ts +7 -38
  292. package/src/summary/index.ts +12 -0
  293. package/src/summary/orderedClientElection.ts +1 -3
  294. package/src/summary/runWhileConnectedCoordinator.ts +3 -8
  295. package/src/summary/runningSummarizer.ts +12 -20
  296. package/src/summary/summarizer.ts +6 -18
  297. package/src/summary/summarizerClientElection.ts +0 -2
  298. package/src/summary/summarizerHeuristics.ts +1 -2
  299. package/src/summary/summarizerNode/summarizerNode.ts +6 -5
  300. package/src/summary/summarizerNode/summarizerNodeUtils.ts +1 -27
  301. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +2 -3
  302. package/src/summary/summarizerTypes.ts +119 -23
  303. package/src/summary/summaryFormat.ts +4 -13
  304. package/src/summary/summaryGenerator.ts +1 -8
  305. package/src/summary/summaryHelpers.ts +118 -0
  306. package/src/summary/summaryManager.ts +0 -2
  307. package/tsconfig.json +1 -0
  308. package/dist/layerCompatState.d.ts +0 -19
  309. package/dist/layerCompatState.d.ts.map +0 -1
  310. package/dist/layerCompatState.js +0 -64
  311. package/dist/layerCompatState.js.map +0 -1
  312. package/lib/layerCompatState.d.ts +0 -19
  313. package/lib/layerCompatState.d.ts.map +0 -1
  314. package/lib/layerCompatState.js +0 -60
  315. package/lib/layerCompatState.js.map +0 -1
  316. package/prettier.config.cjs +0 -8
  317. package/src/layerCompatState.ts +0 -75
@@ -13,9 +13,7 @@ import { pkgVersion } from "../packageVersion.js";
13
13
  * Please note that for all property types we should use undefined to indicate that particular capability is off.
14
14
  * Using false, or some string value (like "off") will result in clients who do not understand that property failing, whereas
15
15
  * we want them to continue to collaborate alongside clients who support that capability, but such capability is shipping dark for now.
16
- * @legacy
17
- * @alpha
18
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
16
+ * @internal
19
17
  */
20
18
  export type DocumentSchemaValueType = string | string[] | true | number | undefined;
21
19
 
@@ -58,9 +56,7 @@ export type IdCompressorMode = "on" | "delayed" | undefined;
58
56
  *
59
57
  * For now we are limiting it to just plain properties, and only really simple types, but that can be changed in the future.
60
58
  *
61
- * @legacy
62
- * @alpha
63
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
59
+ * @internal
64
60
  */
65
61
  export interface IDocumentSchema {
66
62
  // version that describes how data is stored in this structure.
@@ -80,9 +76,7 @@ export interface IDocumentSchema {
80
76
  * ContainerMessageType.DocumentSchemaChange messages use CAS (Compare-and-swap) semantics, and convey
81
77
  * regSeq of last known schema change (known to a client proposing schema change).
82
78
  * @see ContainerRuntimeDocumentSchemaMessage
83
- * @legacy
84
- * @alpha
85
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
79
+ * @internal
86
80
  */
87
81
  export type IDocumentSchemaChangeMessage = IDocumentSchema;
88
82
 
@@ -92,9 +86,7 @@ export type IDocumentSchemaChangeMessage = IDocumentSchema;
92
86
  * WARNING: This type is used to infer IDocumentSchemaCurrent type!
93
87
  * Any changes here (including renaming of properties) are potentially changing document format and should be considered carefully!
94
88
  *
95
- * @legacy
96
- * @alpha
97
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
89
+ * @internal
98
90
  */
99
91
  export interface IDocumentSchemaFeatures {
100
92
  // Tells if client uses legacy behavior of changing schema.
@@ -123,17 +115,13 @@ export interface IDocumentSchemaFeatures {
123
115
  * This must be bumped whenever the format of document schema or protocol for changing the current document schema changes.
124
116
  * Ex: adding a new configuration property (under IDocumentSchema.runtime) does not require changing this version.
125
117
  * Ex: Changing the 'document schema acceptance' mechanism from convert-and-swap to one requiring consensus does require changing this version.
126
- * @legacy
127
- * @alpha
128
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
118
+ * @internal
129
119
  */
130
120
  export const currentDocumentVersionSchema = 1;
131
121
 
132
122
  /**
133
123
  * Current document schema.
134
- * @legacy
135
- * @alpha
136
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
124
+ * @internal
137
125
  */
138
126
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
139
127
  export type IDocumentSchemaCurrent = {
@@ -441,9 +429,7 @@ function arrayToProp(arr: string[]): string[] | undefined {
441
429
  * Clients can retry, but current implementation is simply - they will not (and will rely on next session / reload to do
442
430
  * recalc and decide if schema needs to be changed or not).
443
431
  *
444
- * @legacy
445
- * @alpha
446
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
432
+ * @internal
447
433
  * @sealed
448
434
  */
449
435
  export class DocumentsSchemaController {
@@ -614,23 +600,6 @@ export class DocumentsSchemaController {
614
600
  }
615
601
  }
616
602
 
617
- /**
618
- * Process document schema change message
619
- * Called by ContainerRuntime whenever it sees document schema messages.
620
- * @param content - content of the message
621
- * @param local - whether op is local
622
- * @param sequenceNumber - sequence number of the op
623
- * @returns - true if schema was accepted, otherwise false (rejected due to failed CAS)
624
- * @deprecated It has been replaced by processDocumentSchemaMessages instead.
625
- */
626
- public processDocumentSchemaOp(
627
- content: IDocumentSchemaChangeMessage,
628
- local: boolean,
629
- sequenceNumber: number,
630
- ): boolean {
631
- return this.processDocumentSchemaMessages([content], local, sequenceNumber);
632
- }
633
-
634
603
  /**
635
604
  * Process document schema change messages
636
605
  * Called by ContainerRuntime whenever it sees document schema messages.
@@ -65,6 +65,11 @@ export {
65
65
  SubmitSummaryFailureData,
66
66
  SummaryStage,
67
67
  IRetriableFailureError,
68
+ type ISummaryConfiguration,
69
+ type ISummaryConfigurationDisableHeuristics,
70
+ type ISummaryConfigurationDisableSummarizer,
71
+ type ISummaryConfigurationHeuristics,
72
+ type ISummaryBaseConfiguration,
68
73
  } from "./summarizerTypes.js";
69
74
  export {
70
75
  IAckedSummary,
@@ -103,6 +108,13 @@ export {
103
108
  IFluidDataStoreAttributes2,
104
109
  OmitAttributesVersions,
105
110
  } from "./summaryFormat.js";
111
+ export {
112
+ formCreateSummarizerFn,
113
+ validateSummaryHeuristicConfiguration,
114
+ summarizerRequestUrl,
115
+ DefaultSummaryConfiguration,
116
+ isSummariesDisabled,
117
+ } from "./summaryHelpers.js";
106
118
  export {
107
119
  IdCompressorMode,
108
120
  IDocumentSchemaCurrent,
@@ -271,9 +271,7 @@ export interface IOrderedClientElectionEvents extends IEvent {
271
271
 
272
272
  /**
273
273
  * Serialized state of IOrderedClientElection.
274
- * @legacy
275
- * @alpha
276
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
274
+ * @internal
277
275
  */
278
276
  export interface ISerializedElection {
279
277
  /**
@@ -6,16 +6,13 @@
6
6
  import type { SummarizerStopReason } from "@fluidframework/container-runtime-definitions/internal";
7
7
  import { assert, Deferred } from "@fluidframework/core-utils/internal";
8
8
 
9
- // eslint-disable-next-line import/no-deprecated
10
9
  import { IConnectableRuntime, ISummaryCancellationToken } from "./summarizerTypes.js";
11
10
 
12
11
  /**
13
12
  * Similar to AbortController, but using promise instead of events
14
- * @legacy
15
- * @alpha
16
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
13
+ * @internal
17
14
  */
18
- // eslint-disable-next-line import/no-deprecated
15
+
19
16
  export interface ICancellableSummarizerController extends ISummaryCancellationToken {
20
17
  stop(reason: SummarizerStopReason): void;
21
18
  }
@@ -25,7 +22,7 @@ export interface ICancellableSummarizerController extends ISummaryCancellationTo
25
22
  * This object implements ISummaryCancellationToken interface but cancellation is never leveraged.
26
23
  * @internal
27
24
  */
28
- // eslint-disable-next-line import/no-deprecated
25
+
29
26
  export const neverCancelledSummaryToken: ISummaryCancellationToken = {
30
27
  cancelled: false,
31
28
  waitCancelled: new Promise(() => {}),
@@ -68,7 +65,6 @@ export class RunWhileConnectedCoordinator implements ICancellableSummarizerContr
68
65
  }
69
66
 
70
67
  public static async create(
71
- // eslint-disable-next-line import/no-deprecated
72
68
  runtime: IConnectableRuntime,
73
69
  active: () => boolean,
74
70
  ): Promise<RunWhileConnectedCoordinator> {
@@ -78,7 +74,6 @@ export class RunWhileConnectedCoordinator implements ICancellableSummarizerContr
78
74
  }
79
75
 
80
76
  protected constructor(
81
- // eslint-disable-next-line import/no-deprecated
82
77
  private readonly runtime: IConnectableRuntime,
83
78
  private readonly active: () => boolean,
84
79
  ) {}
@@ -26,17 +26,15 @@ import {
26
26
  type ITelemetryLoggerExt,
27
27
  } from "@fluidframework/telemetry-utils/internal";
28
28
 
29
- import { ISummaryConfiguration } from "../containerRuntime.js";
30
29
  import { opSize } from "../opProperties.js";
31
30
 
32
31
  import { SummarizeHeuristicRunner } from "./summarizerHeuristics.js";
33
- import {
32
+ import type {
33
+ ISummaryConfiguration,
34
34
  EnqueueSummarizeResult,
35
35
  IEnqueueSummarizeOptions,
36
36
  IOnDemandSummarizeOptions,
37
- // eslint-disable-next-line import/no-deprecated
38
37
  IRefreshSummaryAckOptions,
39
- // eslint-disable-next-line import/no-deprecated
40
38
  ISubmitSummaryOptions,
41
39
  ISummarizeHeuristicData,
42
40
  ISummarizeHeuristicRunner,
@@ -44,12 +42,10 @@ import {
44
42
  ISummarizeResults,
45
43
  ISummarizeRunnerTelemetry,
46
44
  ISummarizeTelemetryProperties,
47
- // eslint-disable-next-line import/no-deprecated
48
45
  ISummarizerRuntime,
49
- // eslint-disable-next-line import/no-deprecated
50
46
  ISummaryCancellationToken,
51
47
  SubmitSummaryResult,
52
- type IRetriableFailureError,
48
+ IRetriableFailureError,
53
49
  } from "./summarizerTypes.js";
54
50
  import {
55
51
  IAckedSummary,
@@ -92,16 +88,16 @@ export class RunningSummarizer
92
88
  logger: ITelemetryBaseLogger,
93
89
  summaryWatcher: IClientSummaryWatcher,
94
90
  configuration: ISummaryConfiguration,
95
- // eslint-disable-next-line import/no-deprecated
91
+
96
92
  submitSummaryCallback: (options: ISubmitSummaryOptions) => Promise<SubmitSummaryResult>,
97
- // eslint-disable-next-line import/no-deprecated
93
+
98
94
  refreshLatestSummaryAckCallback: (options: IRefreshSummaryAckOptions) => Promise<void>,
99
95
  heuristicData: ISummarizeHeuristicData,
100
96
  summaryCollection: SummaryCollection,
101
- // eslint-disable-next-line import/no-deprecated
97
+
102
98
  cancellationToken: ISummaryCancellationToken,
103
99
  stopSummarizerCallback: (reason: SummarizerStopReason) => void,
104
- // eslint-disable-next-line import/no-deprecated
100
+
105
101
  runtime: ISummarizerRuntime,
106
102
  ): Promise<RunningSummarizer> {
107
103
  const summarizer = new RunningSummarizer(
@@ -218,19 +214,17 @@ export class RunningSummarizer
218
214
  private readonly summaryWatcher: IClientSummaryWatcher,
219
215
  private readonly configuration: ISummaryConfiguration,
220
216
  private readonly submitSummaryCallback: (
221
- // eslint-disable-next-line import/no-deprecated
222
217
  options: ISubmitSummaryOptions,
223
218
  ) => Promise<SubmitSummaryResult>,
224
219
  private readonly refreshLatestSummaryAckCallback: (
225
- // eslint-disable-next-line import/no-deprecated
226
220
  options: IRefreshSummaryAckOptions,
227
221
  ) => Promise<void>,
228
222
  private readonly heuristicData: ISummarizeHeuristicData,
229
223
  private readonly summaryCollection: SummaryCollection,
230
- // eslint-disable-next-line import/no-deprecated
224
+
231
225
  private readonly cancellationToken: ISummaryCancellationToken,
232
226
  private readonly stopSummarizerCallback: (reason: SummarizerStopReason) => void,
233
- // eslint-disable-next-line import/no-deprecated
227
+
234
228
  private readonly runtime: ISummarizerRuntime,
235
229
  ) {
236
230
  super();
@@ -308,7 +302,7 @@ export class RunningSummarizer
308
302
  () => {
309
303
  this.totalSuccessfulAttempts++;
310
304
  },
311
- // eslint-disable-next-line import/no-deprecated
305
+
312
306
  async (options: IRefreshSummaryAckOptions) => {
313
307
  if (immediatelyRefreshLatestSummaryAck) {
314
308
  await this.refreshLatestSummaryAckAndHandleError(options);
@@ -357,7 +351,6 @@ export class RunningSummarizer
357
351
  await this.lockedSummaryAction(
358
352
  () => {},
359
353
  async () => {
360
- // eslint-disable-next-line import/no-deprecated
361
354
  const options: IRefreshSummaryAckOptions = {
362
355
  proposalHandle: summaryOpHandle,
363
356
  ackHandle: summaryAckHandle,
@@ -371,7 +364,6 @@ export class RunningSummarizer
371
364
  }
372
365
 
373
366
  private readonly refreshLatestSummaryAckAndHandleError = async (
374
- // eslint-disable-next-line import/no-deprecated
375
367
  options: IRefreshSummaryAckOptions,
376
368
  ): Promise<void> => {
377
369
  return this.refreshLatestSummaryAckCallback(options).catch(async (error) => {
@@ -647,7 +639,7 @@ export class RunningSummarizer
647
639
  logger: this.mc.logger,
648
640
  properties: { all: summarizeProps },
649
641
  });
650
- // eslint-disable-next-line import/no-deprecated
642
+
651
643
  const summaryOptions: ISubmitSummaryOptions = {
652
644
  ...options,
653
645
  summaryLogger,
@@ -764,7 +756,7 @@ export class RunningSummarizer
764
756
  logger: this.mc.logger,
765
757
  properties: { all: summarizeProps },
766
758
  });
767
- // eslint-disable-next-line import/no-deprecated
759
+
768
760
  const summaryOptions: ISubmitSummaryOptions = {
769
761
  ...summarizeOptions,
770
762
  summaryLogger,
@@ -19,38 +19,31 @@ import {
19
19
  wrapErrorAndLog,
20
20
  } from "@fluidframework/telemetry-utils/internal";
21
21
 
22
- import { ISummaryConfiguration } from "../containerRuntime.js";
23
-
24
- // eslint-disable-next-line import/no-deprecated
25
22
  import { ICancellableSummarizerController } from "./runWhileConnectedCoordinator.js";
26
23
  import { RunningSummarizer } from "./runningSummarizer.js";
27
24
  import { SummarizeHeuristicData } from "./summarizerHeuristics.js";
28
25
  import {
29
26
  EnqueueSummarizeResult,
30
- // eslint-disable-next-line import/no-deprecated
31
27
  IConnectableRuntime,
32
28
  IEnqueueSummarizeOptions,
33
29
  IOnDemandSummarizeOptions,
34
30
  ISummarizeHeuristicData,
35
31
  ISummarizeResults,
36
32
  ISummarizer,
37
- // eslint-disable-next-line import/no-deprecated
38
33
  ISummarizerInternalsProvider,
39
- // eslint-disable-next-line import/no-deprecated
40
34
  ISummarizerRuntime,
41
35
  ISummarizingWarning,
42
36
  type IRetriableFailureError,
37
+ type ISummaryConfiguration,
43
38
  } from "./summarizerTypes.js";
44
39
  import { SummaryCollection } from "./summaryCollection.js";
45
40
  import { SummarizeResultBuilder } from "./summaryGenerator.js";
46
41
 
47
- const summarizingError = "summarizingError";
48
-
49
42
  export class SummarizingWarning
50
43
  extends LoggingError
51
44
  implements ISummarizingWarning, IFluidErrorBase
52
45
  {
53
- readonly errorType = summarizingError;
46
+ readonly errorType = "summarizingError";
54
47
  readonly canRetry = true;
55
48
 
56
49
  constructor(
@@ -80,9 +73,7 @@ export const createSummarizingWarning = (
80
73
  * Summarizer is responsible for coordinating when to generate and send summaries.
81
74
  * It is the main entry point for summary work.
82
75
  * It is created only by summarizing container (i.e. one with clientType === "summarizer")
83
- * @legacy
84
- * @alpha
85
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
76
+ * @internal
86
77
  */
87
78
  export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
88
79
  public get ISummarizer(): this {
@@ -101,21 +92,19 @@ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements
101
92
  * Reference to runtime that created this object.
102
93
  * i.e. runtime with clientType === "summarizer"
103
94
  */
104
- // eslint-disable-next-line import/no-deprecated
95
+
105
96
  private readonly runtime: ISummarizerRuntime,
106
97
  private readonly configurationGetter: () => ISummaryConfiguration,
107
98
  /**
108
99
  * Represents an object that can generate summary.
109
100
  * In practical terms, it's same runtime (this.runtime) with clientType === "summarizer".
110
101
  */
111
- // eslint-disable-next-line import/no-deprecated
102
+
112
103
  private readonly internalsProvider: ISummarizerInternalsProvider,
113
104
  handleContext: IFluidHandleContext,
114
105
  public readonly summaryCollection: SummaryCollection,
115
106
  private readonly runCoordinatorCreateFn: (
116
- // eslint-disable-next-line import/no-deprecated
117
107
  runtime: IConnectableRuntime,
118
- // eslint-disable-next-line import/no-deprecated
119
108
  ) => Promise<ICancellableSummarizerController>,
120
109
  ) {
121
110
  super();
@@ -165,7 +154,6 @@ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements
165
154
  }
166
155
 
167
156
  private async runCore(onBehalfOf: string): Promise<SummarizerStopReason> {
168
- // eslint-disable-next-line import/no-deprecated
169
157
  const runCoordinator: ICancellableSummarizerController = await this.runCoordinatorCreateFn(
170
158
  this.runtime,
171
159
  );
@@ -251,7 +239,7 @@ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements
251
239
  */
252
240
  private async start(
253
241
  onBehalfOf: string,
254
- // eslint-disable-next-line import/no-deprecated
242
+
255
243
  runCoordinator: ICancellableSummarizerController,
256
244
  ): Promise<RunningSummarizer> {
257
245
  if (this.runningSummarizer) {
@@ -11,7 +11,6 @@ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
11
11
 
12
12
  import {
13
13
  IOrderedClientElection,
14
- // eslint-disable-next-line import/no-deprecated
15
14
  ISerializedElection,
16
15
  ITrackedClient,
17
16
  } from "./orderedClientElection.js";
@@ -120,7 +119,6 @@ export class SummarizerClientElection
120
119
  });
121
120
  }
122
121
 
123
- // eslint-disable-next-line import/no-deprecated
124
122
  public serialize(): ISerializedElection {
125
123
  const { electedClientId, electedParentId, electionSequenceNumber } =
126
124
  this.clientElection.serialize();
@@ -6,8 +6,7 @@
6
6
  import { Timer } from "@fluidframework/core-utils/internal";
7
7
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
8
8
 
9
- import { ISummaryConfigurationHeuristics } from "../containerRuntime.js";
10
-
9
+ import type { ISummaryConfigurationHeuristics } from "./summarizerTypes.js";
11
10
  import {
12
11
  ISummarizeAttempt,
13
12
  ISummarizeHeuristicData,
@@ -11,6 +11,7 @@ import {
11
11
  ISequencedDocumentMessage,
12
12
  } from "@fluidframework/driver-definitions/internal";
13
13
  import {
14
+ channelsTreeName,
14
15
  IExperimentalIncrementalSummaryContext,
15
16
  ITelemetryContext,
16
17
  CreateChildSummarizerNodeParam,
@@ -32,7 +33,6 @@ import {
32
33
  } from "@fluidframework/telemetry-utils/internal";
33
34
 
34
35
  import {
35
- EscapedPath,
36
36
  ICreateChildDetails,
37
37
  IRefreshSummaryResult,
38
38
  IStartSummaryResult,
@@ -70,7 +70,7 @@ export class SummarizerNode implements IRootSummarizerNode {
70
70
  * (this getter is primarily only used in the test code)
71
71
  */
72
72
  public get summaryHandleId(): string {
73
- return this._summaryHandleId.toString();
73
+ return this._summaryHandleId;
74
74
  }
75
75
 
76
76
  protected readonly children = new Map<string, SummarizerNode>();
@@ -101,7 +101,7 @@ export class SummarizerNode implements IRootSummarizerNode {
101
101
  /**
102
102
  * Encoded handle or path to the node
103
103
  */
104
- private readonly _summaryHandleId: EscapedPath,
104
+ private readonly _summaryHandleId: string,
105
105
  private _changeSequenceNumber: number,
106
106
  /**
107
107
  * Summary reference sequence number, i.e. last sequence number seen when last successful summary was created
@@ -591,7 +591,8 @@ export class SummarizerNode implements IRootSummarizerNode {
591
591
  }
592
592
 
593
593
  const childTelemetryNodeId = `${this.telemetryNodeId ?? ""}/${id}`;
594
- const childSummaryHandleId = this._summaryHandleId.createChildPath(EscapedPath.create(id));
594
+ // parentHandleId/.channels/childId
595
+ const childSummaryHandleId = `${this._summaryHandleId}/${channelsTreeName}/${id}`;
595
596
 
596
597
  return {
597
598
  changeSequenceNumber,
@@ -671,7 +672,7 @@ export const createRootSummarizerNode = (
671
672
  logger,
672
673
  summarizeInternalFn,
673
674
  config,
674
- EscapedPath.create("") /* summaryHandleId */,
675
+ "" /* summaryHandleId */,
675
676
  changeSequenceNumber,
676
677
  referenceSequenceNumber,
677
678
  undefined /* wipSummaryLogger */,
@@ -5,7 +5,6 @@
5
5
 
6
6
  import { SummaryObject } from "@fluidframework/driver-definitions";
7
7
  import { ISnapshotTree } from "@fluidframework/driver-definitions/internal";
8
- import { channelsTreeName } from "@fluidframework/runtime-definitions/internal";
9
8
  import {
10
9
  ITelemetryLoggerExt,
11
10
  TelemetryDataTag,
@@ -80,31 +79,6 @@ export interface ISummarizerNodeRootContract {
80
79
  ): Promise<IRefreshSummaryResult>;
81
80
  }
82
81
 
83
- /**
84
- * Class to build paths for nodes in a tree with escaped special characters
85
- */
86
- export class EscapedPath {
87
- private constructor(public readonly path: string) {}
88
-
89
- /**
90
- * Creates and returns a new instance of this class.
91
- * @param path - Id or path part of a node
92
- */
93
- public static create(path: string): EscapedPath {
94
- return new EscapedPath(encodeURIComponent(path));
95
- }
96
- public toString(): string {
97
- return this.path;
98
- }
99
- /**
100
- * Creates and returns a new instance of this class for child of the current node.
101
- */
102
- public createChildPath(childNodePath: EscapedPath): EscapedPath {
103
- return new EscapedPath(
104
- `${this.path}/${encodeURIComponent(channelsTreeName)}/${childNodePath.path}`,
105
- );
106
- }
107
- }
108
82
  export interface PendingSummaryInfo {
109
83
  /**
110
84
  * The sequence number at which the summary was created.
@@ -127,7 +101,7 @@ export interface ICreateChildDetails {
127
101
  /**
128
102
  * Summary handle for child node
129
103
  */
130
- summaryHandleId: EscapedPath;
104
+ summaryHandleId: string;
131
105
  /**
132
106
  * the reference sequence number of the last successful summary.
133
107
  */
@@ -24,7 +24,6 @@ import { cloneGCData, unpackChildNodesGCDetails } from "../../gc/index.js";
24
24
 
25
25
  import { SummarizerNode } from "./summarizerNode.js";
26
26
  import {
27
- EscapedPath,
28
27
  ICreateChildDetails,
29
28
  IStartSummaryResult,
30
29
  ISummarizerNodeRootContract,
@@ -93,7 +92,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
93
92
  logger: ITelemetryBaseLogger,
94
93
  summarizeInternalFn: SummarizeInternalFn,
95
94
  config: ISummarizerNodeConfigWithGC,
96
- _summaryHandleId: EscapedPath,
95
+ _summaryHandleId: string,
97
96
  changeSequenceNumber: number,
98
97
  /**
99
98
  * Summary reference sequence number, i.e. last sequence number seen when it was created
@@ -525,7 +524,7 @@ export const createRootSummarizerNodeWithGC = (
525
524
  logger,
526
525
  summarizeInternalFn,
527
526
  config,
528
- EscapedPath.create("") /* summaryHandleId */,
527
+ "" /* summaryHandleId */,
529
528
  changeSequenceNumber,
530
529
  referenceSequenceNumber,
531
530
  undefined /* wipSummaryLogger */,