@fluidframework/tree 2.74.0-365691 → 2.74.0-368706

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 (1243) hide show
  1. package/.vscode/settings.json +2 -2
  2. package/api-report/tree.alpha.api.md +119 -85
  3. package/api-report/tree.beta.api.md +0 -1
  4. package/api-report/tree.legacy.beta.api.md +0 -1
  5. package/api-report/tree.legacy.public.api.md +0 -1
  6. package/api-report/tree.public.api.md +0 -1
  7. package/dist/alpha.d.ts +3 -2
  8. package/dist/codec/codec.d.ts +14 -1
  9. package/dist/codec/codec.d.ts.map +1 -1
  10. package/dist/codec/codec.js +11 -0
  11. package/dist/codec/codec.js.map +1 -1
  12. package/dist/codec/versioned/codec.d.ts +1 -1
  13. package/dist/codec/versioned/codec.d.ts.map +1 -1
  14. package/dist/codec/versioned/codec.js.map +1 -1
  15. package/dist/codec/versioned/format.d.ts +4 -1
  16. package/dist/codec/versioned/format.d.ts.map +1 -1
  17. package/dist/codec/versioned/format.js +4 -1
  18. package/dist/codec/versioned/format.js.map +1 -1
  19. package/dist/core/change-family/changeFamily.d.ts +4 -1
  20. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  21. package/dist/core/change-family/changeFamily.js.map +1 -1
  22. package/dist/core/change-family/index.d.ts +1 -1
  23. package/dist/core/change-family/index.d.ts.map +1 -1
  24. package/dist/core/change-family/index.js.map +1 -1
  25. package/dist/core/index.d.ts +3 -3
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +7 -4
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/rebase/changeRebaser.d.ts +6 -1
  30. package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
  31. package/dist/core/rebase/changeRebaser.js.map +1 -1
  32. package/dist/core/rebase/index.d.ts +1 -1
  33. package/dist/core/rebase/index.d.ts.map +1 -1
  34. package/dist/core/rebase/index.js +2 -1
  35. package/dist/core/rebase/index.js.map +1 -1
  36. package/dist/core/rebase/types.d.ts +2 -1
  37. package/dist/core/rebase/types.d.ts.map +1 -1
  38. package/dist/core/rebase/types.js +5 -1
  39. package/dist/core/rebase/types.js.map +1 -1
  40. package/dist/core/rebase/utils.d.ts.map +1 -1
  41. package/dist/core/rebase/utils.js +25 -7
  42. package/dist/core/rebase/utils.js.map +1 -1
  43. package/dist/core/tree/detachedFieldIndex.d.ts +40 -13
  44. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  45. package/dist/core/tree/detachedFieldIndex.js +21 -12
  46. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  47. package/dist/core/tree/index.d.ts +4 -3
  48. package/dist/core/tree/index.d.ts.map +1 -1
  49. package/dist/core/tree/index.js +6 -2
  50. package/dist/core/tree/index.js.map +1 -1
  51. package/dist/core/tree/pathTree.d.ts +11 -3
  52. package/dist/core/tree/pathTree.d.ts.map +1 -1
  53. package/dist/core/tree/pathTree.js +14 -2
  54. package/dist/core/tree/pathTree.js.map +1 -1
  55. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  56. package/dist/feature-libraries/chunked-forest/basicChunk.js +7 -0
  57. package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  58. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  59. package/dist/feature-libraries/chunked-forest/chunkTree.js +4 -1
  60. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  61. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +14 -6
  62. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
  63. package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
  64. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +7 -2
  65. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  66. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +90 -42
  67. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  68. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +234 -69
  69. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  70. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -4
  71. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  72. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +33 -28
  73. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  74. package/dist/feature-libraries/default-schema/index.d.ts +2 -1
  75. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
  76. package/dist/feature-libraries/default-schema/index.js +4 -2
  77. package/dist/feature-libraries/default-schema/index.js.map +1 -1
  78. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +36 -0
  79. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
  80. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +126 -0
  81. package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
  82. package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
  83. package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
  84. package/dist/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
  85. package/dist/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
  86. package/dist/feature-libraries/deltaUtils.d.ts +1 -0
  87. package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
  88. package/dist/feature-libraries/deltaUtils.js +6 -1
  89. package/dist/feature-libraries/deltaUtils.js.map +1 -1
  90. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +30 -8
  91. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  92. package/dist/feature-libraries/detachedFieldIndexSummarizer.js +41 -11
  93. package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  94. package/dist/feature-libraries/flex-tree/context.d.ts +9 -0
  95. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  96. package/dist/feature-libraries/flex-tree/context.js +6 -0
  97. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  98. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
  99. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  100. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  101. package/dist/feature-libraries/flex-tree/lazyField.d.ts +8 -7
  102. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  103. package/dist/feature-libraries/flex-tree/lazyField.js +37 -8
  104. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  105. package/dist/feature-libraries/forest-summary/codec.d.ts +2 -2
  106. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  107. package/dist/feature-libraries/forest-summary/codec.js +4 -4
  108. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  109. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +9 -13
  110. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  111. package/dist/feature-libraries/forest-summary/forestSummarizer.js +21 -26
  112. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  113. package/dist/feature-libraries/forest-summary/format.d.ts +41 -5
  114. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
  115. package/dist/feature-libraries/forest-summary/format.js +7 -7
  116. package/dist/feature-libraries/forest-summary/format.js.map +1 -1
  117. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +11 -9
  118. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  119. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +16 -29
  120. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  121. package/dist/feature-libraries/forest-summary/index.d.ts +2 -1
  122. package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
  123. package/dist/feature-libraries/forest-summary/index.js +3 -2
  124. package/dist/feature-libraries/forest-summary/index.js.map +1 -1
  125. package/dist/feature-libraries/forest-summary/summaryTypes.d.ts +47 -0
  126. package/dist/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -0
  127. package/dist/feature-libraries/forest-summary/summaryTypes.js +57 -0
  128. package/dist/feature-libraries/forest-summary/summaryTypes.js.map +1 -0
  129. package/dist/feature-libraries/index.d.ts +4 -4
  130. package/dist/feature-libraries/index.d.ts.map +1 -1
  131. package/dist/feature-libraries/index.js +7 -3
  132. package/dist/feature-libraries/index.js.map +1 -1
  133. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  134. package/dist/feature-libraries/mapTreeCursor.js +1 -0
  135. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  136. package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  137. package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
  138. package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  139. package/dist/feature-libraries/modular-schema/comparison.d.ts +18 -2
  140. package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  141. package/dist/feature-libraries/modular-schema/comparison.js +54 -3
  142. package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
  143. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +97 -21
  144. package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  145. package/dist/feature-libraries/modular-schema/crossFieldQueries.js +4 -7
  146. package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  147. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -52
  148. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  149. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  150. package/dist/feature-libraries/modular-schema/fieldKind.d.ts +25 -13
  151. package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  152. package/dist/feature-libraries/modular-schema/fieldKind.js +0 -21
  153. package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  154. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  155. package/dist/feature-libraries/modular-schema/genericFieldKind.js +7 -10
  156. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  157. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +2 -2
  158. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  159. package/dist/feature-libraries/modular-schema/index.d.ts +5 -5
  160. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  161. package/dist/feature-libraries/modular-schema/index.js +12 -8
  162. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  163. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +17 -0
  164. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -0
  165. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +388 -0
  166. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -0
  167. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +17 -0
  168. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -0
  169. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js +413 -0
  170. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -0
  171. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
  172. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  173. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +8 -284
  174. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  175. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +48 -15
  176. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  177. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1298 -465
  178. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  179. package/dist/feature-libraries/modular-schema/{modularChangeFormat.d.ts → modularChangeFormatV1.d.ts} +2 -2
  180. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -0
  181. package/dist/feature-libraries/modular-schema/{modularChangeFormat.js → modularChangeFormatV1.js} +5 -5
  182. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -0
  183. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +146 -0
  184. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -0
  185. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +32 -0
  186. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -0
  187. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +50 -10
  188. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  189. package/dist/feature-libraries/modular-schema/modularChangeTypes.js +24 -3
  190. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  191. package/dist/feature-libraries/optional-field/index.d.ts +2 -2
  192. package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
  193. package/dist/feature-libraries/optional-field/index.js +1 -2
  194. package/dist/feature-libraries/optional-field/index.js.map +1 -1
  195. package/dist/feature-libraries/optional-field/optionalField.d.ts +5 -26
  196. package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  197. package/dist/feature-libraries/optional-field/optionalField.js +217 -451
  198. package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
  199. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +24 -33
  200. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  201. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  202. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
  203. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  204. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +57 -28
  205. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  206. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +27 -8
  207. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  208. package/dist/feature-libraries/schema-index/schemaSummarizer.js +42 -16
  209. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  210. package/dist/feature-libraries/sequence-field/compose.d.ts +6 -7
  211. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  212. package/dist/feature-libraries/sequence-field/compose.js +80 -256
  213. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  214. package/dist/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
  215. package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  216. package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  217. package/dist/feature-libraries/sequence-field/index.d.ts +2 -3
  218. package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
  219. package/dist/feature-libraries/sequence-field/index.js +1 -3
  220. package/dist/feature-libraries/sequence-field/index.js.map +1 -1
  221. package/dist/feature-libraries/sequence-field/invert.d.ts +3 -3
  222. package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  223. package/dist/feature-libraries/sequence-field/invert.js +65 -167
  224. package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
  225. package/dist/feature-libraries/sequence-field/markQueue.d.ts +2 -2
  226. package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  227. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
  228. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
  229. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  230. package/dist/feature-libraries/sequence-field/moveEffectTable.js +7 -86
  231. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  232. package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -3
  233. package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  234. package/dist/feature-libraries/sequence-field/rebase.js +106 -112
  235. package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
  236. package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  237. package/dist/feature-libraries/sequence-field/replaceRevisions.js +16 -33
  238. package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  239. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  240. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +0 -2
  241. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  242. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
  243. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  244. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +358 -179
  245. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  246. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  247. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +20 -60
  248. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  249. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
  250. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  251. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
  252. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  253. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
  254. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  255. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +14 -109
  256. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  257. package/dist/feature-libraries/sequence-field/types.d.ts +30 -59
  258. package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
  259. package/dist/feature-libraries/sequence-field/types.js.map +1 -1
  260. package/dist/feature-libraries/sequence-field/utils.d.ts +15 -24
  261. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  262. package/dist/feature-libraries/sequence-field/utils.js +111 -299
  263. package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
  264. package/dist/index.d.ts +1 -1
  265. package/dist/index.d.ts.map +1 -1
  266. package/dist/index.js +3 -3
  267. package/dist/index.js.map +1 -1
  268. package/dist/packageVersion.d.ts +1 -1
  269. package/dist/packageVersion.js +1 -1
  270. package/dist/packageVersion.js.map +1 -1
  271. package/dist/shared-tree/independentView.d.ts +1 -1
  272. package/dist/shared-tree/independentView.d.ts.map +1 -1
  273. package/dist/shared-tree/independentView.js.map +1 -1
  274. package/dist/shared-tree/index.d.ts +1 -1
  275. package/dist/shared-tree/index.d.ts.map +1 -1
  276. package/dist/shared-tree/index.js.map +1 -1
  277. package/dist/shared-tree/schematizeTree.d.ts +4 -4
  278. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  279. package/dist/shared-tree/schematizeTree.js +2 -1
  280. package/dist/shared-tree/schematizeTree.js.map +1 -1
  281. package/dist/shared-tree/schematizingTreeView.d.ts +1 -5
  282. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  283. package/dist/shared-tree/schematizingTreeView.js +32 -33
  284. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  285. package/dist/shared-tree/sharedTree.d.ts +11 -5
  286. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  287. package/dist/shared-tree/sharedTree.js +14 -4
  288. package/dist/shared-tree/sharedTree.js.map +1 -1
  289. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
  290. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  291. package/dist/shared-tree/sharedTreeChangeCodecs.js +1 -0
  292. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  293. package/dist/shared-tree/sharedTreeChangeEnricher.d.ts +20 -8
  294. package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  295. package/dist/shared-tree/sharedTreeChangeEnricher.js +25 -11
  296. package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  297. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
  298. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  299. package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
  300. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  301. package/dist/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
  302. package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  303. package/dist/shared-tree/sharedTreeEditBuilder.js +13 -6
  304. package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  305. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  306. package/dist/shared-tree/treeAlpha.js +1 -1
  307. package/dist/shared-tree/treeAlpha.js.map +1 -1
  308. package/dist/shared-tree/treeCheckout.d.ts +12 -10
  309. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  310. package/dist/shared-tree/treeCheckout.js +66 -17
  311. package/dist/shared-tree/treeCheckout.js.map +1 -1
  312. package/dist/shared-tree-core/branch.d.ts +3 -2
  313. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  314. package/dist/shared-tree-core/branch.js +4 -3
  315. package/dist/shared-tree-core/branch.js.map +1 -1
  316. package/dist/shared-tree-core/editManager.d.ts +2 -2
  317. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  318. package/dist/shared-tree-core/editManager.js +9 -9
  319. package/dist/shared-tree-core/editManager.js.map +1 -1
  320. package/dist/shared-tree-core/editManagerCodecs.d.ts +4 -0
  321. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  322. package/dist/shared-tree-core/editManagerCodecs.js +16 -6
  323. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  324. package/{lib/shared-tree-core/editManagerCodecsV5.d.ts → dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts} +3 -3
  325. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -0
  326. package/dist/shared-tree-core/{editManagerCodecsV5.js → editManagerCodecsVSharedBranches.js} +7 -7
  327. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -0
  328. package/dist/shared-tree-core/editManagerFormatCommons.d.ts +20 -6
  329. package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  330. package/dist/shared-tree-core/editManagerFormatCommons.js +22 -7
  331. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  332. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
  333. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  334. package/dist/shared-tree-core/editManagerFormatV1toV4.js +1 -0
  335. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  336. package/dist/shared-tree-core/{editManagerFormatV5.d.ts → editManagerFormatVSharedBranches.d.ts} +3 -3
  337. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -0
  338. package/dist/shared-tree-core/{editManagerFormatV5.js → editManagerFormatVSharedBranches.js} +2 -2
  339. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -0
  340. package/dist/shared-tree-core/editManagerSummarizer.d.ts +29 -9
  341. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  342. package/dist/shared-tree-core/editManagerSummarizer.js +41 -13
  343. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  344. package/dist/shared-tree-core/index.d.ts +5 -3
  345. package/dist/shared-tree-core/index.d.ts.map +1 -1
  346. package/dist/shared-tree-core/index.js +8 -1
  347. package/dist/shared-tree-core/index.js.map +1 -1
  348. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
  349. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  350. package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  351. package/{lib/shared-tree-core/messageCodecV5.d.ts → dist/shared-tree-core/messageCodecVSharedBranches.d.ts} +2 -2
  352. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -0
  353. package/dist/shared-tree-core/{messageCodecV5.js → messageCodecVSharedBranches.js} +6 -6
  354. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -0
  355. package/dist/shared-tree-core/messageCodecs.d.ts +4 -0
  356. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  357. package/dist/shared-tree-core/messageCodecs.js +16 -6
  358. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  359. package/dist/shared-tree-core/messageFormat.d.ts +20 -6
  360. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
  361. package/dist/shared-tree-core/messageFormat.js +22 -7
  362. package/dist/shared-tree-core/messageFormat.js.map +1 -1
  363. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +3 -2
  364. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  365. package/dist/shared-tree-core/messageFormatV1ToV4.js +8 -1
  366. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  367. package/dist/shared-tree-core/{messageFormatV5.d.ts → messageFormatVSharedBranches.d.ts} +5 -7
  368. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -0
  369. package/dist/shared-tree-core/{messageFormatV5.js → messageFormatVSharedBranches.js} +3 -2
  370. package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -0
  371. package/dist/shared-tree-core/sharedTreeCore.d.ts +14 -47
  372. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  373. package/dist/shared-tree-core/sharedTreeCore.js +30 -18
  374. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  375. package/dist/shared-tree-core/summaryTypes.d.ts +94 -0
  376. package/dist/shared-tree-core/summaryTypes.d.ts.map +1 -0
  377. package/dist/shared-tree-core/summaryTypes.js +47 -0
  378. package/dist/shared-tree-core/summaryTypes.js.map +1 -0
  379. package/dist/shared-tree-core/versionedSummarizer.d.ts +67 -0
  380. package/dist/shared-tree-core/versionedSummarizer.d.ts.map +1 -0
  381. package/dist/shared-tree-core/versionedSummarizer.js +63 -0
  382. package/dist/shared-tree-core/versionedSummarizer.js.map +1 -0
  383. package/dist/simple-tree/api/configuration.d.ts +3 -26
  384. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  385. package/dist/simple-tree/api/configuration.js +10 -21
  386. package/dist/simple-tree/api/configuration.js.map +1 -1
  387. package/dist/simple-tree/api/dirtyIndex.d.ts +11 -0
  388. package/dist/simple-tree/api/dirtyIndex.d.ts.map +1 -1
  389. package/dist/simple-tree/api/dirtyIndex.js +7 -0
  390. package/dist/simple-tree/api/dirtyIndex.js.map +1 -1
  391. package/dist/simple-tree/api/discrepancies.d.ts +1 -1
  392. package/dist/simple-tree/api/discrepancies.d.ts.map +1 -1
  393. package/dist/simple-tree/api/discrepancies.js.map +1 -1
  394. package/dist/simple-tree/api/getSimpleSchema.d.ts +3 -3
  395. package/dist/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
  396. package/dist/simple-tree/api/getSimpleSchema.js +9 -3
  397. package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
  398. package/dist/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
  399. package/dist/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
  400. package/dist/simple-tree/api/incrementalAllowedTypes.js +7 -0
  401. package/dist/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
  402. package/dist/simple-tree/api/index.d.ts +3 -4
  403. package/dist/simple-tree/api/index.d.ts.map +1 -1
  404. package/dist/simple-tree/api/index.js +4 -5
  405. package/dist/simple-tree/api/index.js.map +1 -1
  406. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  407. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  408. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  409. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +5 -5
  410. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  411. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  412. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  413. package/dist/simple-tree/api/schemaFactoryRecursive.js +0 -1
  414. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  415. package/dist/simple-tree/api/schemaFromSimple.d.ts +6 -1
  416. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  417. package/dist/simple-tree/api/schemaFromSimple.js +5 -0
  418. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  419. package/dist/simple-tree/api/schemaStatics.d.ts +12 -12
  420. package/dist/simple-tree/api/simpleSchemaCodec.d.ts +15 -3
  421. package/dist/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -1
  422. package/dist/simple-tree/api/simpleSchemaCodec.js +18 -6
  423. package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  424. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  425. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  426. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  427. package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +8 -1
  428. package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
  429. package/dist/simple-tree/api/snapshotCompatibilityChecker.js +13 -8
  430. package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  431. package/dist/simple-tree/api/typesUnsafe.d.ts +3 -3
  432. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  433. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  434. package/dist/simple-tree/core/allowedTypes.d.ts +2 -2
  435. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
  436. package/dist/simple-tree/core/allowedTypes.js.map +1 -1
  437. package/dist/simple-tree/core/index.d.ts +1 -1
  438. package/dist/simple-tree/core/index.d.ts.map +1 -1
  439. package/dist/simple-tree/core/index.js +2 -3
  440. package/dist/simple-tree/core/index.js.map +1 -1
  441. package/dist/simple-tree/core/toStored.d.ts +17 -15
  442. package/dist/simple-tree/core/toStored.d.ts.map +1 -1
  443. package/dist/simple-tree/core/toStored.js +5 -40
  444. package/dist/simple-tree/core/toStored.js.map +1 -1
  445. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
  446. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  447. package/dist/simple-tree/core/unhydratedFlexTree.js +59 -8
  448. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  449. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  450. package/dist/simple-tree/core/walkSchema.js +4 -0
  451. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  452. package/dist/simple-tree/createContext.d.ts.map +1 -1
  453. package/dist/simple-tree/createContext.js +20 -5
  454. package/dist/simple-tree/createContext.js.map +1 -1
  455. package/dist/simple-tree/fieldSchema.d.ts +7 -7
  456. package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
  457. package/dist/simple-tree/fieldSchema.js.map +1 -1
  458. package/dist/simple-tree/index.d.ts +8 -7
  459. package/dist/simple-tree/index.d.ts.map +1 -1
  460. package/dist/simple-tree/index.js +15 -12
  461. package/dist/simple-tree/index.js.map +1 -1
  462. package/dist/simple-tree/leafNodeSchema.d.ts +5 -5
  463. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  464. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  465. package/dist/simple-tree/node-kinds/array/arrayNode.js +5 -3
  466. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  467. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  468. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  469. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  470. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
  471. package/dist/simple-tree/node-kinds/common.js +1 -1
  472. package/dist/simple-tree/node-kinds/common.js.map +1 -1
  473. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  474. package/dist/simple-tree/node-kinds/map/mapNode.js +2 -2
  475. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  476. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  477. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  478. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  479. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  480. package/dist/simple-tree/node-kinds/object/objectNode.js +18 -18
  481. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  482. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +2 -2
  483. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  484. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  485. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  486. package/dist/simple-tree/node-kinds/record/recordNode.js +4 -2
  487. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  488. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +3 -3
  489. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  490. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  491. package/dist/simple-tree/prepareForInsertion.d.ts +54 -47
  492. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  493. package/dist/simple-tree/prepareForInsertion.js +183 -125
  494. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  495. package/dist/simple-tree/simpleSchema.d.ts +55 -23
  496. package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
  497. package/dist/simple-tree/simpleSchema.js +17 -0
  498. package/dist/simple-tree/simpleSchema.js.map +1 -1
  499. package/dist/simple-tree/simpleSchemaFormatV1.d.ts +1 -1
  500. package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  501. package/dist/simple-tree/simpleSchemaFormatV1.js +8 -1
  502. package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  503. package/dist/simple-tree/toStoredSchema.d.ts +58 -11
  504. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  505. package/dist/simple-tree/toStoredSchema.js +205 -30
  506. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  507. package/dist/simple-tree/treeSchema.d.ts +23 -0
  508. package/dist/simple-tree/treeSchema.d.ts.map +1 -0
  509. package/dist/simple-tree/treeSchema.js +25 -0
  510. package/dist/simple-tree/treeSchema.js.map +1 -0
  511. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +13 -4
  512. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  513. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +29 -11
  514. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  515. package/dist/tableSchema.d.ts +117 -63
  516. package/dist/tableSchema.d.ts.map +1 -1
  517. package/dist/tableSchema.js +159 -58
  518. package/dist/tableSchema.js.map +1 -1
  519. package/dist/treeFactory.d.ts.map +1 -1
  520. package/dist/treeFactory.js +17 -3
  521. package/dist/treeFactory.js.map +1 -1
  522. package/dist/util/index.d.ts +2 -1
  523. package/dist/util/index.d.ts.map +1 -1
  524. package/dist/util/index.js +4 -1
  525. package/dist/util/index.js.map +1 -1
  526. package/dist/util/rangeMap.d.ts +24 -12
  527. package/dist/util/rangeMap.d.ts.map +1 -1
  528. package/dist/util/rangeMap.js +46 -6
  529. package/dist/util/rangeMap.js.map +1 -1
  530. package/dist/util/readSnapshotBlob.d.ts +13 -0
  531. package/dist/util/readSnapshotBlob.d.ts.map +1 -0
  532. package/dist/util/readSnapshotBlob.js +18 -0
  533. package/dist/util/readSnapshotBlob.js.map +1 -0
  534. package/lib/alpha.d.ts +3 -2
  535. package/lib/codec/codec.d.ts +14 -1
  536. package/lib/codec/codec.d.ts.map +1 -1
  537. package/lib/codec/codec.js +11 -0
  538. package/lib/codec/codec.js.map +1 -1
  539. package/lib/codec/versioned/codec.d.ts +1 -1
  540. package/lib/codec/versioned/codec.d.ts.map +1 -1
  541. package/lib/codec/versioned/codec.js.map +1 -1
  542. package/lib/codec/versioned/format.d.ts +4 -1
  543. package/lib/codec/versioned/format.d.ts.map +1 -1
  544. package/lib/codec/versioned/format.js +4 -1
  545. package/lib/codec/versioned/format.js.map +1 -1
  546. package/lib/core/change-family/changeFamily.d.ts +4 -1
  547. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  548. package/lib/core/change-family/changeFamily.js.map +1 -1
  549. package/lib/core/change-family/index.d.ts +1 -1
  550. package/lib/core/change-family/index.d.ts.map +1 -1
  551. package/lib/core/change-family/index.js.map +1 -1
  552. package/lib/core/index.d.ts +3 -3
  553. package/lib/core/index.d.ts.map +1 -1
  554. package/lib/core/index.js +2 -2
  555. package/lib/core/index.js.map +1 -1
  556. package/lib/core/rebase/changeRebaser.d.ts +6 -1
  557. package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
  558. package/lib/core/rebase/changeRebaser.js.map +1 -1
  559. package/lib/core/rebase/index.d.ts +1 -1
  560. package/lib/core/rebase/index.d.ts.map +1 -1
  561. package/lib/core/rebase/index.js +1 -1
  562. package/lib/core/rebase/index.js.map +1 -1
  563. package/lib/core/rebase/types.d.ts +2 -1
  564. package/lib/core/rebase/types.d.ts.map +1 -1
  565. package/lib/core/rebase/types.js +3 -0
  566. package/lib/core/rebase/types.js.map +1 -1
  567. package/lib/core/rebase/utils.d.ts.map +1 -1
  568. package/lib/core/rebase/utils.js +25 -7
  569. package/lib/core/rebase/utils.js.map +1 -1
  570. package/lib/core/tree/detachedFieldIndex.d.ts +40 -13
  571. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  572. package/lib/core/tree/detachedFieldIndex.js +22 -13
  573. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  574. package/lib/core/tree/index.d.ts +4 -3
  575. package/lib/core/tree/index.d.ts.map +1 -1
  576. package/lib/core/tree/index.js +3 -2
  577. package/lib/core/tree/index.js.map +1 -1
  578. package/lib/core/tree/pathTree.d.ts +11 -3
  579. package/lib/core/tree/pathTree.d.ts.map +1 -1
  580. package/lib/core/tree/pathTree.js +12 -1
  581. package/lib/core/tree/pathTree.js.map +1 -1
  582. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  583. package/lib/feature-libraries/chunked-forest/basicChunk.js +8 -1
  584. package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  585. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  586. package/lib/feature-libraries/chunked-forest/chunkTree.js +4 -1
  587. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  588. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +14 -6
  589. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
  590. package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
  591. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +7 -2
  592. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  593. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +90 -42
  594. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  595. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +232 -69
  596. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  597. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -4
  598. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  599. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +34 -29
  600. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  601. package/lib/feature-libraries/default-schema/index.d.ts +2 -1
  602. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
  603. package/lib/feature-libraries/default-schema/index.js +2 -1
  604. package/lib/feature-libraries/default-schema/index.js.map +1 -1
  605. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +36 -0
  606. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
  607. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +122 -0
  608. package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
  609. package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
  610. package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
  611. package/lib/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
  612. package/lib/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
  613. package/lib/feature-libraries/deltaUtils.d.ts +1 -0
  614. package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
  615. package/lib/feature-libraries/deltaUtils.js +5 -1
  616. package/lib/feature-libraries/deltaUtils.js.map +1 -1
  617. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +30 -8
  618. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  619. package/lib/feature-libraries/detachedFieldIndexSummarizer.js +38 -8
  620. package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  621. package/lib/feature-libraries/flex-tree/context.d.ts +9 -0
  622. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  623. package/lib/feature-libraries/flex-tree/context.js +6 -0
  624. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  625. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
  626. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  627. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  628. package/lib/feature-libraries/flex-tree/lazyField.d.ts +8 -7
  629. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  630. package/lib/feature-libraries/flex-tree/lazyField.js +38 -9
  631. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  632. package/lib/feature-libraries/forest-summary/codec.d.ts +2 -2
  633. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  634. package/lib/feature-libraries/forest-summary/codec.js +5 -5
  635. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  636. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +9 -13
  637. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  638. package/lib/feature-libraries/forest-summary/forestSummarizer.js +17 -22
  639. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  640. package/lib/feature-libraries/forest-summary/format.d.ts +41 -5
  641. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
  642. package/lib/feature-libraries/forest-summary/format.js +3 -3
  643. package/lib/feature-libraries/forest-summary/format.js.map +1 -1
  644. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +11 -9
  645. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  646. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +13 -26
  647. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  648. package/lib/feature-libraries/forest-summary/index.d.ts +2 -1
  649. package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
  650. package/lib/feature-libraries/forest-summary/index.js +2 -1
  651. package/lib/feature-libraries/forest-summary/index.js.map +1 -1
  652. package/lib/feature-libraries/forest-summary/summaryTypes.d.ts +47 -0
  653. package/lib/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -0
  654. package/lib/feature-libraries/forest-summary/summaryTypes.js +53 -0
  655. package/lib/feature-libraries/forest-summary/summaryTypes.js.map +1 -0
  656. package/lib/feature-libraries/index.d.ts +4 -4
  657. package/lib/feature-libraries/index.d.ts.map +1 -1
  658. package/lib/feature-libraries/index.js +3 -3
  659. package/lib/feature-libraries/index.js.map +1 -1
  660. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  661. package/lib/feature-libraries/mapTreeCursor.js +2 -1
  662. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  663. package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  664. package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
  665. package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  666. package/lib/feature-libraries/modular-schema/comparison.d.ts +18 -2
  667. package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  668. package/lib/feature-libraries/modular-schema/comparison.js +55 -5
  669. package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
  670. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +97 -21
  671. package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
  672. package/lib/feature-libraries/modular-schema/crossFieldQueries.js +3 -5
  673. package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
  674. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -52
  675. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  676. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  677. package/lib/feature-libraries/modular-schema/fieldKind.d.ts +25 -13
  678. package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  679. package/lib/feature-libraries/modular-schema/fieldKind.js +0 -21
  680. package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  681. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  682. package/lib/feature-libraries/modular-schema/genericFieldKind.js +7 -10
  683. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  684. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +1 -1
  685. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  686. package/lib/feature-libraries/modular-schema/index.d.ts +5 -5
  687. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  688. package/lib/feature-libraries/modular-schema/index.js +4 -3
  689. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  690. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +17 -0
  691. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -0
  692. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +384 -0
  693. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -0
  694. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +17 -0
  695. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -0
  696. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js +409 -0
  697. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -0
  698. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
  699. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  700. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +9 -285
  701. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  702. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +48 -15
  703. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  704. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1284 -458
  705. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  706. package/lib/feature-libraries/modular-schema/{modularChangeFormat.d.ts → modularChangeFormatV1.d.ts} +2 -2
  707. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -0
  708. package/lib/feature-libraries/modular-schema/{modularChangeFormat.js → modularChangeFormatV1.js} +2 -2
  709. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -0
  710. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +146 -0
  711. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -0
  712. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +29 -0
  713. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -0
  714. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +50 -10
  715. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  716. package/lib/feature-libraries/modular-schema/modularChangeTypes.js +20 -2
  717. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  718. package/lib/feature-libraries/optional-field/index.d.ts +2 -2
  719. package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
  720. package/lib/feature-libraries/optional-field/index.js +1 -1
  721. package/lib/feature-libraries/optional-field/index.js.map +1 -1
  722. package/lib/feature-libraries/optional-field/optionalField.d.ts +5 -26
  723. package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  724. package/lib/feature-libraries/optional-field/optionalField.js +217 -449
  725. package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
  726. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +24 -33
  727. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  728. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  729. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
  730. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  731. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +55 -26
  732. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  733. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +27 -8
  734. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  735. package/lib/feature-libraries/schema-index/schemaSummarizer.js +38 -12
  736. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  737. package/lib/feature-libraries/sequence-field/compose.d.ts +6 -7
  738. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  739. package/lib/feature-libraries/sequence-field/compose.js +82 -258
  740. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  741. package/lib/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
  742. package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  743. package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  744. package/lib/feature-libraries/sequence-field/index.d.ts +2 -3
  745. package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
  746. package/lib/feature-libraries/sequence-field/index.js +0 -1
  747. package/lib/feature-libraries/sequence-field/index.js.map +1 -1
  748. package/lib/feature-libraries/sequence-field/invert.d.ts +3 -3
  749. package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  750. package/lib/feature-libraries/sequence-field/invert.js +67 -169
  751. package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
  752. package/lib/feature-libraries/sequence-field/markQueue.d.ts +2 -2
  753. package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  754. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
  755. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
  756. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  757. package/lib/feature-libraries/sequence-field/moveEffectTable.js +6 -80
  758. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  759. package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -3
  760. package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  761. package/lib/feature-libraries/sequence-field/rebase.js +108 -114
  762. package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
  763. package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
  764. package/lib/feature-libraries/sequence-field/replaceRevisions.js +16 -33
  765. package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
  766. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  767. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +0 -2
  768. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  769. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
  770. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  771. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +350 -175
  772. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  773. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  774. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +21 -61
  775. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  776. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
  777. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  778. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
  779. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  780. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
  781. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  782. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +14 -109
  783. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  784. package/lib/feature-libraries/sequence-field/types.d.ts +30 -59
  785. package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
  786. package/lib/feature-libraries/sequence-field/types.js.map +1 -1
  787. package/lib/feature-libraries/sequence-field/utils.d.ts +15 -24
  788. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  789. package/lib/feature-libraries/sequence-field/utils.js +107 -292
  790. package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
  791. package/lib/index.d.ts +1 -1
  792. package/lib/index.d.ts.map +1 -1
  793. package/lib/index.js +1 -1
  794. package/lib/index.js.map +1 -1
  795. package/lib/packageVersion.d.ts +1 -1
  796. package/lib/packageVersion.js +1 -1
  797. package/lib/packageVersion.js.map +1 -1
  798. package/lib/shared-tree/independentView.d.ts +1 -1
  799. package/lib/shared-tree/independentView.d.ts.map +1 -1
  800. package/lib/shared-tree/independentView.js.map +1 -1
  801. package/lib/shared-tree/index.d.ts +1 -1
  802. package/lib/shared-tree/index.d.ts.map +1 -1
  803. package/lib/shared-tree/index.js.map +1 -1
  804. package/lib/shared-tree/schematizeTree.d.ts +4 -4
  805. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  806. package/lib/shared-tree/schematizeTree.js +3 -2
  807. package/lib/shared-tree/schematizeTree.js.map +1 -1
  808. package/lib/shared-tree/schematizingTreeView.d.ts +1 -5
  809. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  810. package/lib/shared-tree/schematizingTreeView.js +35 -36
  811. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  812. package/lib/shared-tree/sharedTree.d.ts +11 -5
  813. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  814. package/lib/shared-tree/sharedTree.js +14 -4
  815. package/lib/shared-tree/sharedTree.js.map +1 -1
  816. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
  817. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  818. package/lib/shared-tree/sharedTreeChangeCodecs.js +1 -0
  819. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  820. package/lib/shared-tree/sharedTreeChangeEnricher.d.ts +20 -8
  821. package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  822. package/lib/shared-tree/sharedTreeChangeEnricher.js +25 -11
  823. package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  824. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
  825. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  826. package/lib/shared-tree/sharedTreeChangeFamily.js +3 -3
  827. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  828. package/lib/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
  829. package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  830. package/lib/shared-tree/sharedTreeEditBuilder.js +11 -5
  831. package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  832. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  833. package/lib/shared-tree/treeAlpha.js +2 -2
  834. package/lib/shared-tree/treeAlpha.js.map +1 -1
  835. package/lib/shared-tree/treeCheckout.d.ts +12 -10
  836. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  837. package/lib/shared-tree/treeCheckout.js +69 -20
  838. package/lib/shared-tree/treeCheckout.js.map +1 -1
  839. package/lib/shared-tree-core/branch.d.ts +3 -2
  840. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  841. package/lib/shared-tree-core/branch.js +4 -3
  842. package/lib/shared-tree-core/branch.js.map +1 -1
  843. package/lib/shared-tree-core/editManager.d.ts +2 -2
  844. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  845. package/lib/shared-tree-core/editManager.js +9 -9
  846. package/lib/shared-tree-core/editManager.js.map +1 -1
  847. package/lib/shared-tree-core/editManagerCodecs.d.ts +4 -0
  848. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  849. package/lib/shared-tree-core/editManagerCodecs.js +14 -5
  850. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  851. package/{dist/shared-tree-core/editManagerCodecsV5.d.ts → lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts} +3 -3
  852. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -0
  853. package/lib/shared-tree-core/{editManagerCodecsV5.js → editManagerCodecsVSharedBranches.js} +4 -4
  854. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -0
  855. package/lib/shared-tree-core/editManagerFormatCommons.d.ts +20 -6
  856. package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  857. package/lib/shared-tree-core/editManagerFormatCommons.js +22 -7
  858. package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  859. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
  860. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  861. package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -0
  862. package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  863. package/lib/shared-tree-core/{editManagerFormatV5.d.ts → editManagerFormatVSharedBranches.d.ts} +3 -3
  864. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -0
  865. package/lib/shared-tree-core/{editManagerFormatV5.js → editManagerFormatVSharedBranches.js} +2 -2
  866. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -0
  867. package/lib/shared-tree-core/editManagerSummarizer.d.ts +29 -9
  868. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  869. package/lib/shared-tree-core/editManagerSummarizer.js +39 -11
  870. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  871. package/lib/shared-tree-core/index.d.ts +5 -3
  872. package/lib/shared-tree-core/index.d.ts.map +1 -1
  873. package/lib/shared-tree-core/index.js +4 -2
  874. package/lib/shared-tree-core/index.js.map +1 -1
  875. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
  876. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  877. package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  878. package/{dist/shared-tree-core/messageCodecV5.d.ts → lib/shared-tree-core/messageCodecVSharedBranches.d.ts} +2 -2
  879. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -0
  880. package/lib/shared-tree-core/{messageCodecV5.js → messageCodecVSharedBranches.js} +3 -3
  881. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -0
  882. package/lib/shared-tree-core/messageCodecs.d.ts +4 -0
  883. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  884. package/lib/shared-tree-core/messageCodecs.js +14 -5
  885. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  886. package/lib/shared-tree-core/messageFormat.d.ts +20 -6
  887. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
  888. package/lib/shared-tree-core/messageFormat.js +22 -7
  889. package/lib/shared-tree-core/messageFormat.js.map +1 -1
  890. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +3 -2
  891. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  892. package/lib/shared-tree-core/messageFormatV1ToV4.js +8 -1
  893. package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  894. package/lib/shared-tree-core/{messageFormatV5.d.ts → messageFormatVSharedBranches.d.ts} +5 -7
  895. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -0
  896. package/lib/shared-tree-core/{messageFormatV5.js → messageFormatVSharedBranches.js} +3 -2
  897. package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -0
  898. package/lib/shared-tree-core/sharedTreeCore.d.ts +14 -47
  899. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  900. package/lib/shared-tree-core/sharedTreeCore.js +28 -16
  901. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  902. package/lib/shared-tree-core/summaryTypes.d.ts +94 -0
  903. package/lib/shared-tree-core/summaryTypes.d.ts.map +1 -0
  904. package/lib/shared-tree-core/summaryTypes.js +43 -0
  905. package/lib/shared-tree-core/summaryTypes.js.map +1 -0
  906. package/lib/shared-tree-core/versionedSummarizer.d.ts +67 -0
  907. package/lib/shared-tree-core/versionedSummarizer.d.ts.map +1 -0
  908. package/lib/shared-tree-core/versionedSummarizer.js +59 -0
  909. package/lib/shared-tree-core/versionedSummarizer.js.map +1 -0
  910. package/lib/simple-tree/api/configuration.d.ts +3 -26
  911. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  912. package/lib/simple-tree/api/configuration.js +14 -25
  913. package/lib/simple-tree/api/configuration.js.map +1 -1
  914. package/lib/simple-tree/api/dirtyIndex.d.ts +11 -0
  915. package/lib/simple-tree/api/dirtyIndex.d.ts.map +1 -1
  916. package/lib/simple-tree/api/dirtyIndex.js +7 -0
  917. package/lib/simple-tree/api/dirtyIndex.js.map +1 -1
  918. package/lib/simple-tree/api/discrepancies.d.ts +1 -1
  919. package/lib/simple-tree/api/discrepancies.d.ts.map +1 -1
  920. package/lib/simple-tree/api/discrepancies.js.map +1 -1
  921. package/lib/simple-tree/api/getSimpleSchema.d.ts +3 -3
  922. package/lib/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
  923. package/lib/simple-tree/api/getSimpleSchema.js +9 -3
  924. package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
  925. package/lib/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
  926. package/lib/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
  927. package/lib/simple-tree/api/incrementalAllowedTypes.js +8 -1
  928. package/lib/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
  929. package/lib/simple-tree/api/index.d.ts +3 -4
  930. package/lib/simple-tree/api/index.d.ts.map +1 -1
  931. package/lib/simple-tree/api/index.js +2 -3
  932. package/lib/simple-tree/api/index.js.map +1 -1
  933. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
  934. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  935. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  936. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +5 -5
  937. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  938. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  939. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  940. package/lib/simple-tree/api/schemaFactoryRecursive.js +0 -1
  941. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  942. package/lib/simple-tree/api/schemaFromSimple.d.ts +6 -1
  943. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  944. package/lib/simple-tree/api/schemaFromSimple.js +5 -0
  945. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  946. package/lib/simple-tree/api/schemaStatics.d.ts +12 -12
  947. package/lib/simple-tree/api/simpleSchemaCodec.d.ts +15 -3
  948. package/lib/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -1
  949. package/lib/simple-tree/api/simpleSchemaCodec.js +15 -3
  950. package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  951. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  952. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  953. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  954. package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +8 -1
  955. package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
  956. package/lib/simple-tree/api/snapshotCompatibilityChecker.js +15 -10
  957. package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  958. package/lib/simple-tree/api/typesUnsafe.d.ts +3 -3
  959. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  960. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  961. package/lib/simple-tree/core/allowedTypes.d.ts +2 -2
  962. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
  963. package/lib/simple-tree/core/allowedTypes.js.map +1 -1
  964. package/lib/simple-tree/core/index.d.ts +1 -1
  965. package/lib/simple-tree/core/index.d.ts.map +1 -1
  966. package/lib/simple-tree/core/index.js +1 -1
  967. package/lib/simple-tree/core/index.js.map +1 -1
  968. package/lib/simple-tree/core/toStored.d.ts +17 -15
  969. package/lib/simple-tree/core/toStored.d.ts.map +1 -1
  970. package/lib/simple-tree/core/toStored.js +4 -37
  971. package/lib/simple-tree/core/toStored.js.map +1 -1
  972. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
  973. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  974. package/lib/simple-tree/core/unhydratedFlexTree.js +58 -8
  975. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  976. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  977. package/lib/simple-tree/core/walkSchema.js +5 -1
  978. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  979. package/lib/simple-tree/createContext.d.ts.map +1 -1
  980. package/lib/simple-tree/createContext.js +20 -5
  981. package/lib/simple-tree/createContext.js.map +1 -1
  982. package/lib/simple-tree/fieldSchema.d.ts +7 -7
  983. package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
  984. package/lib/simple-tree/fieldSchema.js.map +1 -1
  985. package/lib/simple-tree/index.d.ts +8 -7
  986. package/lib/simple-tree/index.d.ts.map +1 -1
  987. package/lib/simple-tree/index.js +6 -5
  988. package/lib/simple-tree/index.js.map +1 -1
  989. package/lib/simple-tree/leafNodeSchema.d.ts +5 -5
  990. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  991. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  992. package/lib/simple-tree/node-kinds/array/arrayNode.js +6 -4
  993. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  994. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
  995. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  996. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  997. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
  998. package/lib/simple-tree/node-kinds/common.js +2 -2
  999. package/lib/simple-tree/node-kinds/common.js.map +1 -1
  1000. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  1001. package/lib/simple-tree/node-kinds/map/mapNode.js +2 -2
  1002. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  1003. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
  1004. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  1005. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  1006. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  1007. package/lib/simple-tree/node-kinds/object/objectNode.js +19 -19
  1008. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  1009. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +2 -2
  1010. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  1011. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  1012. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  1013. package/lib/simple-tree/node-kinds/record/recordNode.js +4 -2
  1014. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  1015. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +3 -3
  1016. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  1017. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  1018. package/lib/simple-tree/prepareForInsertion.d.ts +54 -47
  1019. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  1020. package/lib/simple-tree/prepareForInsertion.js +183 -124
  1021. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  1022. package/lib/simple-tree/simpleSchema.d.ts +55 -23
  1023. package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
  1024. package/lib/simple-tree/simpleSchema.js +16 -1
  1025. package/lib/simple-tree/simpleSchema.js.map +1 -1
  1026. package/lib/simple-tree/simpleSchemaFormatV1.d.ts +1 -1
  1027. package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  1028. package/lib/simple-tree/simpleSchemaFormatV1.js +8 -1
  1029. package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  1030. package/lib/simple-tree/toStoredSchema.d.ts +58 -11
  1031. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  1032. package/lib/simple-tree/toStoredSchema.js +204 -31
  1033. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  1034. package/lib/simple-tree/treeSchema.d.ts +23 -0
  1035. package/lib/simple-tree/treeSchema.d.ts.map +1 -0
  1036. package/lib/simple-tree/treeSchema.js +21 -0
  1037. package/lib/simple-tree/treeSchema.js.map +1 -0
  1038. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +13 -4
  1039. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  1040. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +26 -9
  1041. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  1042. package/lib/tableSchema.d.ts +117 -63
  1043. package/lib/tableSchema.d.ts.map +1 -1
  1044. package/lib/tableSchema.js +160 -59
  1045. package/lib/tableSchema.js.map +1 -1
  1046. package/lib/treeFactory.d.ts.map +1 -1
  1047. package/lib/treeFactory.js +18 -4
  1048. package/lib/treeFactory.js.map +1 -1
  1049. package/lib/util/index.d.ts +2 -1
  1050. package/lib/util/index.d.ts.map +1 -1
  1051. package/lib/util/index.js +2 -1
  1052. package/lib/util/index.js.map +1 -1
  1053. package/lib/util/rangeMap.d.ts +24 -12
  1054. package/lib/util/rangeMap.d.ts.map +1 -1
  1055. package/lib/util/rangeMap.js +44 -5
  1056. package/lib/util/rangeMap.js.map +1 -1
  1057. package/lib/util/readSnapshotBlob.d.ts +13 -0
  1058. package/lib/util/readSnapshotBlob.d.ts.map +1 -0
  1059. package/lib/util/readSnapshotBlob.js +14 -0
  1060. package/lib/util/readSnapshotBlob.js.map +1 -0
  1061. package/package.json +21 -21
  1062. package/src/codec/codec.ts +15 -1
  1063. package/src/codec/versioned/codec.ts +1 -1
  1064. package/src/codec/versioned/format.ts +4 -1
  1065. package/src/core/change-family/changeFamily.ts +5 -0
  1066. package/src/core/change-family/index.ts +1 -0
  1067. package/src/core/index.ts +7 -2
  1068. package/src/core/rebase/changeRebaser.ts +6 -1
  1069. package/src/core/rebase/index.ts +1 -0
  1070. package/src/core/rebase/types.ts +8 -1
  1071. package/src/core/rebase/utils.ts +31 -7
  1072. package/src/core/tree/detachedFieldIndex.ts +71 -14
  1073. package/src/core/tree/index.ts +9 -3
  1074. package/src/core/tree/pathTree.ts +16 -4
  1075. package/src/feature-libraries/chunked-forest/basicChunk.ts +7 -1
  1076. package/src/feature-libraries/chunked-forest/chunkTree.ts +6 -1
  1077. package/src/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.ts +15 -7
  1078. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +9 -9
  1079. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +393 -127
  1080. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +35 -38
  1081. package/src/feature-libraries/default-schema/index.ts +16 -5
  1082. package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +180 -0
  1083. package/src/feature-libraries/default-schema/mappedEditBuilder.ts +35 -9
  1084. package/src/feature-libraries/deltaUtils.ts +6 -1
  1085. package/src/feature-libraries/detachedFieldIndexSummarizer.ts +62 -15
  1086. package/src/feature-libraries/flex-tree/context.ts +17 -0
  1087. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +7 -8
  1088. package/src/feature-libraries/flex-tree/lazyField.ts +66 -24
  1089. package/src/feature-libraries/forest-summary/codec.ts +8 -8
  1090. package/src/feature-libraries/forest-summary/forestSummarizer.ts +45 -37
  1091. package/src/feature-libraries/forest-summary/format.ts +4 -4
  1092. package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +23 -39
  1093. package/src/feature-libraries/forest-summary/index.ts +2 -1
  1094. package/src/feature-libraries/forest-summary/summaryTypes.ts +61 -0
  1095. package/src/feature-libraries/index.ts +22 -9
  1096. package/src/feature-libraries/mapTreeCursor.ts +2 -1
  1097. package/src/feature-libraries/mitigatedChangeFamily.ts +3 -1
  1098. package/src/feature-libraries/modular-schema/comparison.ts +63 -5
  1099. package/src/feature-libraries/modular-schema/crossFieldQueries.ts +142 -44
  1100. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +36 -57
  1101. package/src/feature-libraries/modular-schema/fieldKind.ts +24 -40
  1102. package/src/feature-libraries/modular-schema/genericFieldKind.ts +10 -19
  1103. package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +1 -1
  1104. package/src/feature-libraries/modular-schema/index.ts +21 -15
  1105. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +732 -0
  1106. package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +790 -0
  1107. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +29 -499
  1108. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +2542 -742
  1109. package/src/feature-libraries/modular-schema/{modularChangeFormat.ts → modularChangeFormatV1.ts} +2 -1
  1110. package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +62 -0
  1111. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +98 -10
  1112. package/src/feature-libraries/optional-field/index.ts +1 -3
  1113. package/src/feature-libraries/optional-field/optionalField.ts +317 -574
  1114. package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +24 -38
  1115. package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +89 -35
  1116. package/src/feature-libraries/schema-index/schemaSummarizer.ts +59 -18
  1117. package/src/feature-libraries/sequence-field/compose.ts +134 -519
  1118. package/src/feature-libraries/sequence-field/helperTypes.ts +34 -19
  1119. package/src/feature-libraries/sequence-field/index.ts +0 -9
  1120. package/src/feature-libraries/sequence-field/invert.ts +103 -228
  1121. package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
  1122. package/src/feature-libraries/sequence-field/moveEffectTable.ts +8 -191
  1123. package/src/feature-libraries/sequence-field/rebase.ts +168 -203
  1124. package/src/feature-libraries/sequence-field/replaceRevisions.ts +31 -52
  1125. package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +0 -2
  1126. package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +643 -220
  1127. package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +56 -68
  1128. package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +25 -27
  1129. package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +19 -129
  1130. package/src/feature-libraries/sequence-field/types.ts +34 -64
  1131. package/src/feature-libraries/sequence-field/utils.ts +133 -346
  1132. package/src/index.ts +3 -2
  1133. package/src/packageVersion.ts +1 -1
  1134. package/src/shared-tree/independentView.ts +1 -1
  1135. package/src/shared-tree/index.ts +3 -2
  1136. package/src/shared-tree/schematizeTree.ts +21 -8
  1137. package/src/shared-tree/schematizingTreeView.ts +50 -68
  1138. package/src/shared-tree/sharedTree.ts +39 -12
  1139. package/src/shared-tree/sharedTreeChangeCodecs.ts +5 -1
  1140. package/src/shared-tree/sharedTreeChangeEnricher.ts +31 -11
  1141. package/src/shared-tree/sharedTreeChangeFamily.ts +7 -4
  1142. package/src/shared-tree/sharedTreeEditBuilder.ts +46 -12
  1143. package/src/shared-tree/treeAlpha.ts +2 -3
  1144. package/src/shared-tree/treeCheckout.ts +104 -31
  1145. package/src/shared-tree-core/branch.ts +8 -2
  1146. package/src/shared-tree-core/editManager.ts +16 -2
  1147. package/src/shared-tree-core/editManagerCodecs.ts +17 -5
  1148. package/src/shared-tree-core/{editManagerCodecsV5.ts → editManagerCodecsVSharedBranches.ts} +3 -3
  1149. package/src/shared-tree-core/editManagerFormatCommons.ts +22 -7
  1150. package/src/shared-tree-core/editManagerFormatV1toV4.ts +3 -1
  1151. package/src/shared-tree-core/{editManagerFormatV5.ts → editManagerFormatVSharedBranches.ts} +2 -2
  1152. package/src/shared-tree-core/editManagerSummarizer.ts +58 -16
  1153. package/src/shared-tree-core/index.ts +11 -3
  1154. package/src/shared-tree-core/messageCodecV1ToV4.ts +2 -1
  1155. package/src/shared-tree-core/{messageCodecV5.ts → messageCodecVSharedBranches.ts} +3 -3
  1156. package/src/shared-tree-core/messageCodecs.ts +17 -5
  1157. package/src/shared-tree-core/messageFormat.ts +22 -7
  1158. package/src/shared-tree-core/messageFormatV1ToV4.ts +16 -2
  1159. package/src/shared-tree-core/{messageFormatV5.ts → messageFormatVSharedBranches.ts} +4 -6
  1160. package/src/shared-tree-core/sharedTreeCore.ts +67 -76
  1161. package/src/shared-tree-core/summaryTypes.ts +122 -0
  1162. package/src/shared-tree-core/versionedSummarizer.ts +107 -0
  1163. package/src/simple-tree/api/configuration.ts +21 -68
  1164. package/src/simple-tree/api/dirtyIndex.ts +11 -0
  1165. package/src/simple-tree/api/discrepancies.ts +1 -1
  1166. package/src/simple-tree/api/getSimpleSchema.ts +13 -6
  1167. package/src/simple-tree/api/incrementalAllowedTypes.ts +15 -3
  1168. package/src/simple-tree/api/index.ts +3 -4
  1169. package/src/simple-tree/api/schemaCompatibilityTester.ts +1 -1
  1170. package/src/simple-tree/api/schemaFactoryAlpha.ts +2 -2
  1171. package/src/simple-tree/api/schemaFactoryRecursive.ts +0 -2
  1172. package/src/simple-tree/api/schemaFromSimple.ts +11 -5
  1173. package/src/simple-tree/api/simpleSchemaCodec.ts +17 -3
  1174. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  1175. package/src/simple-tree/api/snapshotCompatibilityChecker.ts +18 -10
  1176. package/src/simple-tree/api/typesUnsafe.ts +7 -3
  1177. package/src/simple-tree/core/allowedTypes.ts +3 -3
  1178. package/src/simple-tree/core/index.ts +2 -2
  1179. package/src/simple-tree/core/toStored.ts +22 -55
  1180. package/src/simple-tree/core/unhydratedFlexTree.ts +87 -36
  1181. package/src/simple-tree/core/walkSchema.ts +6 -0
  1182. package/src/simple-tree/createContext.ts +26 -11
  1183. package/src/simple-tree/fieldSchema.ts +16 -7
  1184. package/src/simple-tree/index.ts +12 -11
  1185. package/src/simple-tree/node-kinds/array/arrayNode.ts +12 -7
  1186. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +3 -3
  1187. package/src/simple-tree/node-kinds/common.ts +2 -5
  1188. package/src/simple-tree/node-kinds/map/mapNode.ts +9 -6
  1189. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +3 -3
  1190. package/src/simple-tree/node-kinds/object/objectNode.ts +26 -26
  1191. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +6 -2
  1192. package/src/simple-tree/node-kinds/record/recordNode.ts +15 -11
  1193. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +3 -3
  1194. package/src/simple-tree/prepareForInsertion.ts +343 -200
  1195. package/src/simple-tree/simpleSchema.ts +79 -32
  1196. package/src/simple-tree/simpleSchemaFormatV1.ts +9 -1
  1197. package/src/simple-tree/toStoredSchema.ts +319 -61
  1198. package/src/simple-tree/treeSchema.ts +54 -0
  1199. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +42 -14
  1200. package/src/tableSchema.ts +485 -166
  1201. package/src/treeFactory.ts +19 -5
  1202. package/src/util/index.ts +5 -0
  1203. package/src/util/rangeMap.ts +72 -18
  1204. package/src/util/readSnapshotBlob.ts +23 -0
  1205. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +0 -1
  1206. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +0 -1
  1207. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
  1208. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
  1209. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -50
  1210. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
  1211. package/dist/shared-tree-core/editManagerCodecsV5.d.ts.map +0 -1
  1212. package/dist/shared-tree-core/editManagerCodecsV5.js.map +0 -1
  1213. package/dist/shared-tree-core/editManagerFormatV5.d.ts.map +0 -1
  1214. package/dist/shared-tree-core/editManagerFormatV5.js.map +0 -1
  1215. package/dist/shared-tree-core/messageCodecV5.d.ts.map +0 -1
  1216. package/dist/shared-tree-core/messageCodecV5.js.map +0 -1
  1217. package/dist/shared-tree-core/messageFormatV5.d.ts.map +0 -1
  1218. package/dist/shared-tree-core/messageFormatV5.js.map +0 -1
  1219. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +0 -40
  1220. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +0 -1
  1221. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +0 -177
  1222. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +0 -1
  1223. package/docs/main/sequence-field/move-composition.md +0 -46
  1224. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +0 -1
  1225. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +0 -1
  1226. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
  1227. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
  1228. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -46
  1229. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
  1230. package/lib/shared-tree-core/editManagerCodecsV5.d.ts.map +0 -1
  1231. package/lib/shared-tree-core/editManagerCodecsV5.js.map +0 -1
  1232. package/lib/shared-tree-core/editManagerFormatV5.d.ts.map +0 -1
  1233. package/lib/shared-tree-core/editManagerFormatV5.js.map +0 -1
  1234. package/lib/shared-tree-core/messageCodecV5.d.ts.map +0 -1
  1235. package/lib/shared-tree-core/messageCodecV5.js.map +0 -1
  1236. package/lib/shared-tree-core/messageFormatV5.d.ts.map +0 -1
  1237. package/lib/shared-tree-core/messageFormatV5.js.map +0 -1
  1238. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +0 -40
  1239. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +0 -1
  1240. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +0 -171
  1241. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +0 -1
  1242. package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +0 -57
  1243. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +0 -209
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerCodecs.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,OAAO,EACN,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAG3B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACX,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAS,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,wBAAwB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CACtD,aAAa,EAAE,uBAAuB,EACtC,oBAAoB,CAAC,EAAE,wBAAwB,GAC7C,wBAAwB,CAS1B;AAED;;GAEG;AACH,wBAAgB,iDAAiD,CAChE,aAAa,EAAE,uBAAuB,GACpC,wBAAwB,CAE1B;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,mBAAmB,EAAE,uBAAuB,KACxC,wBAAwB,CAAC;CAC9B;AAUD,wBAAgB,oBAAoB,CAAC,UAAU,EAC9C,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAC7D,4BAA4B,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,EAC9E,gBAAgB,EAAE,UAAU,CAC3B,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,CACrB,EACD,OAAO,EAAE,uBAAuB,GAAG,iBAAiB,GAClD,UAAU,CACZ,WAAW,CAAC,UAAU,CAAC,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,CAC1B,CASA;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAC/C,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAC7D,4BAA4B,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,EAC9E,gBAAgB,EAAE,UAAU,CAC3B,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,CACrB,EACD,OAAO,EAAE,aAAa,GACpB,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAkCnE;AAED,wBAAgB,0CAA0C,CACzD,aAAa,EAAE,uBAAuB,EACtC,YAAY,EAAE,SAAS,GACrB,SAAS,CAMX"}
1
+ {"version":3,"file":"editManagerCodecs.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,OAAO,EACN,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAG3B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACX,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAS,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,wBAAwB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CACtD,aAAa,EAAE,uBAAuB,EACtC,oBAAoB,CAAC,EAAE,wBAAwB,GAC7C,wBAAwB,CAS1B;AAED;;GAEG;AACH,wBAAgB,iDAAiD,CAChE,aAAa,EAAE,uBAAuB,GACpC,wBAAwB,CAE1B;AAED;;GAEG;AACH,wBAAgB,sDAAsD,CACrE,aAAa,EAAE,uBAAuB,GACpC,wBAAwB,CAE1B;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,mBAAmB,EAAE,uBAAuB,KACxC,wBAAwB,CAAC;CAC9B;AAUD,wBAAgB,oBAAoB,CAAC,UAAU,EAC9C,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAC7D,4BAA4B,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,EAC9E,gBAAgB,EAAE,UAAU,CAC3B,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,CACrB,EACD,OAAO,EAAE,uBAAuB,GAAG,iBAAiB,GAClD,UAAU,CACZ,WAAW,CAAC,UAAU,CAAC,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,CAC1B,CASA;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAC/C,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAC7D,4BAA4B,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,EAC9E,gBAAgB,EAAE,UAAU,CAC3B,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,CACrB,EACD,OAAO,EAAE,aAAa,GACpB,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAqCnE;AAED,wBAAgB,0CAA0C,CACzD,aAAa,EAAE,uBAAuB,EACtC,YAAY,EAAE,SAAS,GACrB,SAAS,CAMX"}
@@ -4,14 +4,14 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getCodecTreeForEditManagerFormatWithChange = exports.makeEditManagerCodecs = exports.makeEditManagerCodec = exports.editManagerFormatVersionSelectorForSharedBranches = exports.clientVersionToEditManagerFormatVersion = void 0;
7
+ exports.getCodecTreeForEditManagerFormatWithChange = exports.makeEditManagerCodecs = exports.makeEditManagerCodec = exports.editManagerFormatVersionSelectorForDetachedRootEditing = exports.editManagerFormatVersionSelectorForSharedBranches = exports.clientVersionToEditManagerFormatVersion = void 0;
8
8
  const internal_1 = require("@fluidframework/core-utils/internal");
9
9
  const internal_2 = require("@fluidframework/runtime-utils/internal");
10
10
  const index_js_1 = require("../codec/index.js");
11
11
  const index_js_2 = require("../codec/index.js");
12
12
  const index_js_3 = require("../util/index.js");
13
13
  const editManagerCodecsV1toV4_js_1 = require("./editManagerCodecsV1toV4.js");
14
- const editManagerCodecsV5_js_1 = require("./editManagerCodecsV5.js");
14
+ const editManagerCodecsVSharedBranches_js_1 = require("./editManagerCodecsVSharedBranches.js");
15
15
  const editManagerFormatCommons_js_1 = require("./editManagerFormatCommons.js");
16
16
  /**
17
17
  * Convert a MinimumVersionForCollab to an EditManagerFormatVersion.
@@ -30,9 +30,16 @@ exports.clientVersionToEditManagerFormatVersion = clientVersionToEditManagerForm
30
30
  * Returns the version that should be used for testing shared branches.
31
31
  */
32
32
  function editManagerFormatVersionSelectorForSharedBranches(clientVersion) {
33
- return (0, index_js_3.brand)(editManagerFormatCommons_js_1.EditManagerFormatVersion.v5);
33
+ return (0, index_js_3.brand)(editManagerFormatCommons_js_1.EditManagerFormatVersion.vSharedBranches);
34
34
  }
35
35
  exports.editManagerFormatVersionSelectorForSharedBranches = editManagerFormatVersionSelectorForSharedBranches;
36
+ /**
37
+ * Returns the version that should be used for testing shared branches.
38
+ */
39
+ function editManagerFormatVersionSelectorForDetachedRootEditing(clientVersion) {
40
+ return (0, index_js_3.brand)(editManagerFormatCommons_js_1.EditManagerFormatVersion.vDetachedRoots);
41
+ }
42
+ exports.editManagerFormatVersionSelectorForDetachedRootEditing = editManagerFormatVersionSelectorForDetachedRootEditing;
36
43
  function editManagerFormatVersionFromOptions(options) {
37
44
  const selector = options.editManagerFormatSelector ?? clientVersionToEditManagerFormatVersion;
38
45
  return selector(options.minVersionForCollab);
@@ -50,18 +57,21 @@ function makeEditManagerCodecs(changeCodecs, dependentChangeFormatVersion, revis
50
57
  case editManagerFormatCommons_js_1.EditManagerFormatVersion.v2:
51
58
  return [version, (0, index_js_1.makeDiscontinuedCodecVersion)(options, version, "2.73.0")];
52
59
  case editManagerFormatCommons_js_1.EditManagerFormatVersion.v3:
53
- case editManagerFormatCommons_js_1.EditManagerFormatVersion.v4: {
60
+ case editManagerFormatCommons_js_1.EditManagerFormatVersion.v4:
61
+ case editManagerFormatCommons_js_1.EditManagerFormatVersion.vDetachedRoots: {
54
62
  const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
55
63
  return [
56
64
  version,
57
65
  (0, editManagerCodecsV1toV4_js_1.makeV1CodecWithVersion)(changeCodec, revisionTagCodec, options, version),
58
66
  ];
59
67
  }
60
- case editManagerFormatCommons_js_1.EditManagerFormatVersion.v5: {
68
+ case editManagerFormatCommons_js_1.EditManagerFormatVersion.v5:
69
+ return [version, (0, index_js_1.makeDiscontinuedCodecVersion)(options, version, "2.74.0")];
70
+ case editManagerFormatCommons_js_1.EditManagerFormatVersion.vSharedBranches: {
61
71
  const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
62
72
  return [
63
73
  version,
64
- (0, editManagerCodecsV5_js_1.makeV5CodecWithVersion)(changeCodec, revisionTagCodec, options, version),
74
+ (0, editManagerCodecsVSharedBranches_js_1.makeSharedBranchesCodecWithVersion)(changeCodec, revisionTagCodec, options, version),
65
75
  ];
66
76
  }
67
77
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerCodecs.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecs.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\nimport { unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport {\n\tgetConfigForMinVersionForCollab,\n\tlowestMinVersionForCollab,\n} from \"@fluidframework/runtime-utils/internal\";\n\nimport {\n\ttype CodecTree,\n\ttype CodecWriteOptions,\n\ttype DependentFormatVersion,\n\tFluidClientVersion,\n\ttype FormatVersion,\n\ttype ICodecFamily,\n\ttype ICodecOptions,\n\ttype IJsonCodec,\n\tmakeCodecFamily,\n\tmakeDiscontinuedCodecVersion,\n} from \"../codec/index.js\";\nimport { makeVersionDispatchingCodec } from \"../codec/index.js\";\nimport type {\n\tChangeEncodingContext,\n\tEncodedRevisionTag,\n\tRevisionTag,\n\tSchemaAndPolicy,\n} from \"../core/index.js\";\nimport { brand, type JsonCompatibleReadOnly } from \"../util/index.js\";\n\nimport type { SummaryData } from \"./editManager.js\";\nimport { makeV1CodecWithVersion } from \"./editManagerCodecsV1toV4.js\";\nimport { makeV5CodecWithVersion } from \"./editManagerCodecsV5.js\";\nimport type { MinimumVersionForCollab } from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tEditManagerFormatVersion,\n\teditManagerFormatVersions,\n} from \"./editManagerFormatCommons.js\";\n\nexport interface EditManagerEncodingContext {\n\tidCompressor: IIdCompressor;\n\treadonly schema?: SchemaAndPolicy;\n}\n\n/**\n * Convert a MinimumVersionForCollab to an EditManagerFormatVersion.\n * @param clientVersion - The MinimumVersionForCollab to convert.\n * @returns The EditManagerFormatVersion that corresponds to the provided MinimumVersionForCollab.\n */\nexport function clientVersionToEditManagerFormatVersion(\n\tclientVersion: MinimumVersionForCollab,\n\twriteVersionOverride?: EditManagerFormatVersion,\n): EditManagerFormatVersion {\n\tconst compatibleVersion: EditManagerFormatVersion = brand(\n\t\tgetConfigForMinVersionForCollab(clientVersion, {\n\t\t\t[lowestMinVersionForCollab]: EditManagerFormatVersion.v3,\n\t\t\t[FluidClientVersion.v2_43]: EditManagerFormatVersion.v4,\n\t\t}),\n\t);\n\n\treturn writeVersionOverride ?? compatibleVersion;\n}\n\n/**\n * Returns the version that should be used for testing shared branches.\n */\nexport function editManagerFormatVersionSelectorForSharedBranches(\n\tclientVersion: MinimumVersionForCollab,\n): EditManagerFormatVersion {\n\treturn brand(EditManagerFormatVersion.v5);\n}\n\nexport interface EditManagerCodecOptions {\n\treadonly editManagerFormatSelector?: (\n\t\tminVersionForCollab: MinimumVersionForCollab,\n\t) => EditManagerFormatVersion;\n}\n\nfunction editManagerFormatVersionFromOptions(\n\toptions: EditManagerCodecOptions & CodecWriteOptions,\n): EditManagerFormatVersion {\n\tconst selector =\n\t\toptions.editManagerFormatSelector ?? clientVersionToEditManagerFormatVersion;\n\treturn selector(options.minVersionForCollab);\n}\n\nexport function makeEditManagerCodec<TChangeset>(\n\tchangeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,\n\tdependentChangeFormatVersion: DependentFormatVersion<EditManagerFormatVersion>,\n\trevisionTagCodec: IJsonCodec<\n\t\tRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tChangeEncodingContext\n\t>,\n\toptions: EditManagerCodecOptions & CodecWriteOptions,\n): IJsonCodec<\n\tSummaryData<TChangeset>,\n\tJsonCompatibleReadOnly,\n\tJsonCompatibleReadOnly,\n\tEditManagerEncodingContext\n> {\n\tconst family = makeEditManagerCodecs(\n\t\tchangeCodecs,\n\t\tdependentChangeFormatVersion,\n\t\trevisionTagCodec,\n\t\toptions,\n\t);\n\tconst writeVersion = editManagerFormatVersionFromOptions(options);\n\treturn makeVersionDispatchingCodec(family, { ...options, writeVersion });\n}\n\nexport function makeEditManagerCodecs<TChangeset>(\n\tchangeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,\n\tdependentChangeFormatVersion: DependentFormatVersion<EditManagerFormatVersion>,\n\trevisionTagCodec: IJsonCodec<\n\t\tRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tChangeEncodingContext\n\t>,\n\toptions: ICodecOptions,\n): ICodecFamily<SummaryData<TChangeset>, EditManagerEncodingContext> {\n\tconst registry: [\n\t\tFormatVersion,\n\t\tIJsonCodec<\n\t\t\tSummaryData<TChangeset>,\n\t\t\tJsonCompatibleReadOnly,\n\t\t\tJsonCompatibleReadOnly,\n\t\t\tEditManagerEncodingContext\n\t\t>,\n\t][] = Array.from(editManagerFormatVersions, (version) => {\n\t\tswitch (version) {\n\t\t\tcase EditManagerFormatVersion.v1:\n\t\t\tcase EditManagerFormatVersion.v2:\n\t\t\t\treturn [version, makeDiscontinuedCodecVersion(options, version, \"2.73.0\")];\n\t\t\tcase EditManagerFormatVersion.v3:\n\t\t\tcase EditManagerFormatVersion.v4: {\n\t\t\t\tconst changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));\n\t\t\t\treturn [\n\t\t\t\t\tversion,\n\t\t\t\t\tmakeV1CodecWithVersion(changeCodec, revisionTagCodec, options, version),\n\t\t\t\t];\n\t\t\t}\n\t\t\tcase EditManagerFormatVersion.v5: {\n\t\t\t\tconst changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));\n\t\t\t\treturn [\n\t\t\t\t\tversion,\n\t\t\t\t\tmakeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version),\n\t\t\t\t];\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tunreachableCase(version);\n\t\t}\n\t});\n\treturn makeCodecFamily(registry);\n}\n\nexport function getCodecTreeForEditManagerFormatWithChange(\n\tclientVersion: MinimumVersionForCollab,\n\tchangeFormat: CodecTree,\n): CodecTree {\n\treturn {\n\t\tname: \"EditManager\",\n\t\tversion: clientVersionToEditManagerFormatVersion(clientVersion),\n\t\tchildren: [changeFormat],\n\t};\n}\n"]}
1
+ {"version":3,"file":"editManagerCodecs.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecs.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\nimport { unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport {\n\tgetConfigForMinVersionForCollab,\n\tlowestMinVersionForCollab,\n} from \"@fluidframework/runtime-utils/internal\";\n\nimport {\n\ttype CodecTree,\n\ttype CodecWriteOptions,\n\ttype DependentFormatVersion,\n\tFluidClientVersion,\n\ttype FormatVersion,\n\ttype ICodecFamily,\n\ttype ICodecOptions,\n\ttype IJsonCodec,\n\tmakeCodecFamily,\n\tmakeDiscontinuedCodecVersion,\n} from \"../codec/index.js\";\nimport { makeVersionDispatchingCodec } from \"../codec/index.js\";\nimport type {\n\tChangeEncodingContext,\n\tEncodedRevisionTag,\n\tRevisionTag,\n\tSchemaAndPolicy,\n} from \"../core/index.js\";\nimport { brand, type JsonCompatibleReadOnly } from \"../util/index.js\";\n\nimport type { SummaryData } from \"./editManager.js\";\nimport { makeV1CodecWithVersion } from \"./editManagerCodecsV1toV4.js\";\nimport { makeSharedBranchesCodecWithVersion } from \"./editManagerCodecsVSharedBranches.js\";\nimport type { MinimumVersionForCollab } from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tEditManagerFormatVersion,\n\teditManagerFormatVersions,\n} from \"./editManagerFormatCommons.js\";\n\nexport interface EditManagerEncodingContext {\n\tidCompressor: IIdCompressor;\n\treadonly schema?: SchemaAndPolicy;\n}\n\n/**\n * Convert a MinimumVersionForCollab to an EditManagerFormatVersion.\n * @param clientVersion - The MinimumVersionForCollab to convert.\n * @returns The EditManagerFormatVersion that corresponds to the provided MinimumVersionForCollab.\n */\nexport function clientVersionToEditManagerFormatVersion(\n\tclientVersion: MinimumVersionForCollab,\n\twriteVersionOverride?: EditManagerFormatVersion,\n): EditManagerFormatVersion {\n\tconst compatibleVersion: EditManagerFormatVersion = brand(\n\t\tgetConfigForMinVersionForCollab(clientVersion, {\n\t\t\t[lowestMinVersionForCollab]: EditManagerFormatVersion.v3,\n\t\t\t[FluidClientVersion.v2_43]: EditManagerFormatVersion.v4,\n\t\t}),\n\t);\n\n\treturn writeVersionOverride ?? compatibleVersion;\n}\n\n/**\n * Returns the version that should be used for testing shared branches.\n */\nexport function editManagerFormatVersionSelectorForSharedBranches(\n\tclientVersion: MinimumVersionForCollab,\n): EditManagerFormatVersion {\n\treturn brand(EditManagerFormatVersion.vSharedBranches);\n}\n\n/**\n * Returns the version that should be used for testing shared branches.\n */\nexport function editManagerFormatVersionSelectorForDetachedRootEditing(\n\tclientVersion: MinimumVersionForCollab,\n): EditManagerFormatVersion {\n\treturn brand(EditManagerFormatVersion.vDetachedRoots);\n}\n\nexport interface EditManagerCodecOptions {\n\treadonly editManagerFormatSelector?: (\n\t\tminVersionForCollab: MinimumVersionForCollab,\n\t) => EditManagerFormatVersion;\n}\n\nfunction editManagerFormatVersionFromOptions(\n\toptions: EditManagerCodecOptions & CodecWriteOptions,\n): EditManagerFormatVersion {\n\tconst selector =\n\t\toptions.editManagerFormatSelector ?? clientVersionToEditManagerFormatVersion;\n\treturn selector(options.minVersionForCollab);\n}\n\nexport function makeEditManagerCodec<TChangeset>(\n\tchangeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,\n\tdependentChangeFormatVersion: DependentFormatVersion<EditManagerFormatVersion>,\n\trevisionTagCodec: IJsonCodec<\n\t\tRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tChangeEncodingContext\n\t>,\n\toptions: EditManagerCodecOptions & CodecWriteOptions,\n): IJsonCodec<\n\tSummaryData<TChangeset>,\n\tJsonCompatibleReadOnly,\n\tJsonCompatibleReadOnly,\n\tEditManagerEncodingContext\n> {\n\tconst family = makeEditManagerCodecs(\n\t\tchangeCodecs,\n\t\tdependentChangeFormatVersion,\n\t\trevisionTagCodec,\n\t\toptions,\n\t);\n\tconst writeVersion = editManagerFormatVersionFromOptions(options);\n\treturn makeVersionDispatchingCodec(family, { ...options, writeVersion });\n}\n\nexport function makeEditManagerCodecs<TChangeset>(\n\tchangeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,\n\tdependentChangeFormatVersion: DependentFormatVersion<EditManagerFormatVersion>,\n\trevisionTagCodec: IJsonCodec<\n\t\tRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tChangeEncodingContext\n\t>,\n\toptions: ICodecOptions,\n): ICodecFamily<SummaryData<TChangeset>, EditManagerEncodingContext> {\n\tconst registry: [\n\t\tFormatVersion,\n\t\tIJsonCodec<\n\t\t\tSummaryData<TChangeset>,\n\t\t\tJsonCompatibleReadOnly,\n\t\t\tJsonCompatibleReadOnly,\n\t\t\tEditManagerEncodingContext\n\t\t>,\n\t][] = Array.from(editManagerFormatVersions, (version) => {\n\t\tswitch (version) {\n\t\t\tcase EditManagerFormatVersion.v1:\n\t\t\tcase EditManagerFormatVersion.v2:\n\t\t\t\treturn [version, makeDiscontinuedCodecVersion(options, version, \"2.73.0\")];\n\t\t\tcase EditManagerFormatVersion.v3:\n\t\t\tcase EditManagerFormatVersion.v4:\n\t\t\tcase EditManagerFormatVersion.vDetachedRoots: {\n\t\t\t\tconst changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));\n\t\t\t\treturn [\n\t\t\t\t\tversion,\n\t\t\t\t\tmakeV1CodecWithVersion(changeCodec, revisionTagCodec, options, version),\n\t\t\t\t];\n\t\t\t}\n\t\t\tcase EditManagerFormatVersion.v5:\n\t\t\t\treturn [version, makeDiscontinuedCodecVersion(options, version, \"2.74.0\")];\n\t\t\tcase EditManagerFormatVersion.vSharedBranches: {\n\t\t\t\tconst changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));\n\t\t\t\treturn [\n\t\t\t\t\tversion,\n\t\t\t\t\tmakeSharedBranchesCodecWithVersion(changeCodec, revisionTagCodec, options, version),\n\t\t\t\t];\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tunreachableCase(version);\n\t\t}\n\t});\n\treturn makeCodecFamily(registry);\n}\n\nexport function getCodecTreeForEditManagerFormatWithChange(\n\tclientVersion: MinimumVersionForCollab,\n\tchangeFormat: CodecTree,\n): CodecTree {\n\treturn {\n\t\tname: \"EditManager\",\n\t\tversion: clientVersionToEditManagerFormatVersion(clientVersion),\n\t\tchildren: [changeFormat],\n\t};\n}\n"]}
@@ -7,10 +7,10 @@ import { type ICodecOptions, type IJsonCodec, type IMultiFormatCodec } from "../
7
7
  import type { ChangeEncodingContext, EncodedRevisionTag, RevisionTag, SchemaAndPolicy } from "../core/index.js";
8
8
  import { type JsonCompatibleReadOnly } from "../util/index.js";
9
9
  import type { SummaryData } from "./editManager.js";
10
- import { EncodedEditManager } from "./editManagerFormatV5.js";
10
+ import { EncodedEditManager } from "./editManagerFormatVSharedBranches.js";
11
11
  export interface EditManagerEncodingContext {
12
12
  idCompressor: IIdCompressor;
13
13
  readonly schema?: SchemaAndPolicy;
14
14
  }
15
- export declare function makeV5CodecWithVersion<TChangeset>(changeCodec: IMultiFormatCodec<TChangeset, JsonCompatibleReadOnly, JsonCompatibleReadOnly, ChangeEncodingContext>, revisionTagCodec: IJsonCodec<RevisionTag, EncodedRevisionTag, EncodedRevisionTag, ChangeEncodingContext>, options: ICodecOptions, version: EncodedEditManager<TChangeset>["version"]): IJsonCodec<SummaryData<TChangeset>, JsonCompatibleReadOnly, JsonCompatibleReadOnly, EditManagerEncodingContext>;
16
- //# sourceMappingURL=editManagerCodecsV5.d.ts.map
15
+ export declare function makeSharedBranchesCodecWithVersion<TChangeset>(changeCodec: IMultiFormatCodec<TChangeset, JsonCompatibleReadOnly, JsonCompatibleReadOnly, ChangeEncodingContext>, revisionTagCodec: IJsonCodec<RevisionTag, EncodedRevisionTag, EncodedRevisionTag, ChangeEncodingContext>, options: ICodecOptions, version: EncodedEditManager<TChangeset>["version"]): IJsonCodec<SummaryData<TChangeset>, JsonCompatibleReadOnly, JsonCompatibleReadOnly, EditManagerEncodingContext>;
16
+ //# sourceMappingURL=editManagerCodecsVSharedBranches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editManagerCodecsVSharedBranches.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecsVSharedBranches.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAA2B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAK3E,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAC5D,WAAW,EAAE,iBAAiB,CAC7B,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,CACrB,EACD,gBAAgB,EAAE,UAAU,CAC3B,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,CACrB,EACD,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAChD,UAAU,CACZ,WAAW,CAAC,UAAU,CAAC,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,CAC1B,CAkGA"}
@@ -4,18 +4,18 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.makeV5CodecWithVersion = void 0;
7
+ exports.makeSharedBranchesCodecWithVersion = void 0;
8
8
  const internal_1 = require("@fluidframework/core-utils/internal");
9
9
  const index_js_1 = require("../codec/index.js");
10
10
  const index_js_2 = require("../util/index.js");
11
- const editManagerFormatV5_js_1 = require("./editManagerFormatV5.js");
11
+ const editManagerFormatVSharedBranches_js_1 = require("./editManagerFormatVSharedBranches.js");
12
12
  const editManagerCodecsCommons_js_1 = require("./editManagerCodecsCommons.js");
13
- function makeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version) {
14
- const format = (0, editManagerFormatV5_js_1.EncodedEditManager)(changeCodec.json.encodedSchema ?? index_js_2.JsonCompatibleReadOnlySchema);
13
+ function makeSharedBranchesCodecWithVersion(changeCodec, revisionTagCodec, options, version) {
14
+ const format = (0, editManagerFormatVSharedBranches_js_1.EncodedEditManager)(changeCodec.json.encodedSchema ?? index_js_2.JsonCompatibleReadOnlySchema);
15
15
  const codec = (0, index_js_1.withSchemaValidation)(format, {
16
16
  encode: (data, context) => {
17
17
  const mainBranch = (0, editManagerCodecsCommons_js_1.encodeSharedBranch)(changeCodec, revisionTagCodec, data.main, context, data.originator);
18
- (0, internal_1.assert)(data.originator !== undefined, 0xc65 /* Cannot encode V5 summary without originator */);
18
+ (0, internal_1.assert)(data.originator !== undefined, "Cannot encode vSharedBranches summary without originator");
19
19
  const json = {
20
20
  main: mainBranch,
21
21
  originator: data.originator,
@@ -54,5 +54,5 @@ function makeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version)
54
54
  // Fixing that would remove the need for this cast.
55
55
  return codec;
56
56
  }
57
- exports.makeV5CodecWithVersion = makeV5CodecWithVersion;
58
- //# sourceMappingURL=editManagerCodecsV5.js.map
57
+ exports.makeSharedBranchesCodecWithVersion = makeSharedBranchesCodecWithVersion;
58
+ //# sourceMappingURL=editManagerCodecsVSharedBranches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editManagerCodecsVSharedBranches.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerCodecsVSharedBranches.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,kEAA6D;AAG7D,gDAK2B;AAO3B,+CAI0B;AAG1B,+FAA2E;AAC3E,+EAAuF;AASvF,SAAgB,kCAAkC,CACjD,WAKC,EACD,gBAKC,EACD,OAAsB,EACtB,OAAkD;IAOlD,MAAM,MAAM,GAAG,IAAA,wDAAkB,EAChC,WAAW,CAAC,IAAI,CAAC,aAAa,IAAI,uCAA4B,CAC9D,CAAC;IAEF,MAAM,KAAK,GAKP,IAAA,+BAAoB,EACvB,MAAM,EACN;QACC,MAAM,EAAE,CAAC,IAA6B,EAAE,OAAmC,EAAE,EAAE;YAC9E,MAAM,UAAU,GAAG,IAAA,gDAAkB,EACpC,WAAW,EACX,gBAAgB,EAChB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;YACF,IAAA,iBAAM,EACL,IAAI,CAAC,UAAU,KAAK,SAAS,EAC7B,0DAA0D,CAC1D,CAAC;YACF,MAAM,IAAI,GAA4C;gBACrD,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO;aACP,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAsC,EAAE,CAAC;gBACvD,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzC,QAAQ,CAAC,IAAI,CACZ,IAAA,gDAAkB,EACjB,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CACD,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,EAAE,CACP,IAAoC,EACpC,OAAmC,EACT,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAA,gDAAkB,EACpC,WAAW,EACX,gBAAgB,EAChB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;YAEF,MAAM,OAAO,GAAqC;gBACjD,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiD,CAAC;gBAC1E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,MAAM,aAAa,GAAG,IAAA,gDAAkB,EACvC,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;oBACF,IAAA,iBAAM,EACL,aAAa,CAAC,EAAE,KAAK,SAAS,EAC9B,KAAK,CAAC,qCAAqC,CAC3C,CAAC;oBACF,IAAA,iBAAM,EAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAChF,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;KACD,EACD,OAAO,CAAC,aAAa,CACrB,CAAC;IACF,2JAA2J;IAC3J,+DAA+D;IAC/D,mDAAmD;IACnD,OAAO,KAKN,CAAC;AACH,CAAC;AAtHD,gFAsHC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport type { IIdCompressor } from \"@fluidframework/id-compressor\";\n\nimport {\n\ttype ICodecOptions,\n\ttype IJsonCodec,\n\ttype IMultiFormatCodec,\n\twithSchemaValidation,\n} from \"../codec/index.js\";\nimport type {\n\tChangeEncodingContext,\n\tEncodedRevisionTag,\n\tRevisionTag,\n\tSchemaAndPolicy,\n} from \"../core/index.js\";\nimport {\n\ttype JsonCompatibleReadOnly,\n\tJsonCompatibleReadOnlySchema,\n\ttype Mutable,\n} from \"../util/index.js\";\n\nimport type { SharedBranchSummaryData, SummaryData } from \"./editManager.js\";\nimport { EncodedEditManager } from \"./editManagerFormatVSharedBranches.js\";\nimport { decodeSharedBranch, encodeSharedBranch } from \"./editManagerCodecsCommons.js\";\nimport type { EncodedSharedBranch } from \"./editManagerFormatCommons.js\";\nimport type { BranchId } from \"./branch.js\";\n\nexport interface EditManagerEncodingContext {\n\tidCompressor: IIdCompressor;\n\treadonly schema?: SchemaAndPolicy;\n}\n\nexport function makeSharedBranchesCodecWithVersion<TChangeset>(\n\tchangeCodec: IMultiFormatCodec<\n\t\tTChangeset,\n\t\tJsonCompatibleReadOnly,\n\t\tJsonCompatibleReadOnly,\n\t\tChangeEncodingContext\n\t>,\n\trevisionTagCodec: IJsonCodec<\n\t\tRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tEncodedRevisionTag,\n\t\tChangeEncodingContext\n\t>,\n\toptions: ICodecOptions,\n\tversion: EncodedEditManager<TChangeset>[\"version\"],\n): IJsonCodec<\n\tSummaryData<TChangeset>,\n\tJsonCompatibleReadOnly,\n\tJsonCompatibleReadOnly,\n\tEditManagerEncodingContext\n> {\n\tconst format = EncodedEditManager(\n\t\tchangeCodec.json.encodedSchema ?? JsonCompatibleReadOnlySchema,\n\t);\n\n\tconst codec: IJsonCodec<\n\t\tSummaryData<TChangeset>,\n\t\tEncodedEditManager<TChangeset>,\n\t\tEncodedEditManager<TChangeset>,\n\t\tEditManagerEncodingContext\n\t> = withSchemaValidation(\n\t\tformat,\n\t\t{\n\t\t\tencode: (data: SummaryData<TChangeset>, context: EditManagerEncodingContext) => {\n\t\t\t\tconst mainBranch = encodeSharedBranch(\n\t\t\t\t\tchangeCodec,\n\t\t\t\t\trevisionTagCodec,\n\t\t\t\t\tdata.main,\n\t\t\t\t\tcontext,\n\t\t\t\t\tdata.originator,\n\t\t\t\t);\n\t\t\t\tassert(\n\t\t\t\t\tdata.originator !== undefined,\n\t\t\t\t\t\"Cannot encode vSharedBranches summary without originator\",\n\t\t\t\t);\n\t\t\t\tconst json: Mutable<EncodedEditManager<TChangeset>> = {\n\t\t\t\t\tmain: mainBranch,\n\t\t\t\t\toriginator: data.originator,\n\t\t\t\t\tversion,\n\t\t\t\t};\n\t\t\t\tif (data.branches !== undefined && data.branches.size > 0) {\n\t\t\t\t\tconst branches: EncodedSharedBranch<TChangeset>[] = [];\n\t\t\t\t\tfor (const [_, branch] of data.branches) {\n\t\t\t\t\t\tbranches.push(\n\t\t\t\t\t\t\tencodeSharedBranch(\n\t\t\t\t\t\t\t\tchangeCodec,\n\t\t\t\t\t\t\t\trevisionTagCodec,\n\t\t\t\t\t\t\t\tbranch,\n\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\tdata.originator,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tjson.branches = branches;\n\t\t\t\t}\n\t\t\t\treturn json;\n\t\t\t},\n\t\t\tdecode: (\n\t\t\t\tjson: EncodedEditManager<TChangeset>,\n\t\t\t\tcontext: EditManagerEncodingContext,\n\t\t\t): SummaryData<TChangeset> => {\n\t\t\t\tconst mainBranch = decodeSharedBranch(\n\t\t\t\t\tchangeCodec,\n\t\t\t\t\trevisionTagCodec,\n\t\t\t\t\tjson.main,\n\t\t\t\t\tcontext,\n\t\t\t\t\tjson.originator,\n\t\t\t\t);\n\n\t\t\t\tconst decoded: Mutable<SummaryData<TChangeset>> = {\n\t\t\t\t\tmain: mainBranch,\n\t\t\t\t\toriginator: json.originator,\n\t\t\t\t};\n\n\t\t\t\tif (json.branches !== undefined) {\n\t\t\t\t\tconst branches = new Map<BranchId, SharedBranchSummaryData<TChangeset>>();\n\t\t\t\t\tfor (const branch of json.branches) {\n\t\t\t\t\t\tconst decodedBranch = decodeSharedBranch(\n\t\t\t\t\t\t\tchangeCodec,\n\t\t\t\t\t\t\trevisionTagCodec,\n\t\t\t\t\t\t\tbranch,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tjson.originator,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tassert(\n\t\t\t\t\t\t\tdecodedBranch.id !== undefined,\n\t\t\t\t\t\t\t0xc66 /* Shared branches must have an id */,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tassert(!branches.has(decodedBranch.id), 0xc67 /* Duplicate shared branch id */);\n\t\t\t\t\t\tbranches.set(decodedBranch.id, decodedBranch);\n\t\t\t\t\t}\n\n\t\t\t\t\tdecoded.branches = branches;\n\t\t\t\t}\n\t\t\t\treturn decoded;\n\t\t\t},\n\t\t},\n\t\toptions.jsonValidator,\n\t);\n\t// TODO: makeVersionedValidatedCodec and withSchemaValidation should allow the codec to decode JsonCompatibleReadOnly, or Versioned or something like that,\n\t// and not leak the internal encoded format in the API surface.\n\t// Fixing that would remove the need for this cast.\n\treturn codec as unknown as IJsonCodec<\n\t\tSummaryData<TChangeset>,\n\t\tJsonCompatibleReadOnly,\n\t\tJsonCompatibleReadOnly,\n\t\tEditManagerEncodingContext\n\t>;\n}\n"]}
@@ -111,22 +111,36 @@ export declare const EditManagerFormatVersion: {
111
111
  readonly v2: 2;
112
112
  /**
113
113
  * Introduced prior to 2.0 and used beyond.
114
- * Reading capability is currently maintained for backwards compatibility, but it could be removed in the future.
115
- * Writing capability needs to be maintained.
114
+ * Reading capability must be maintained for backwards compatibility.
115
+ * Writing capability needs to be maintained so long as {@link lowestMinVersionForCollab} is less than 2.2.0.
116
116
  */
117
117
  readonly v3: 3;
118
118
  /**
119
- * Was inadvertently released in 2.43.0 (through usages of configuredSharedTree) and remains available.
119
+ * Introduced in 2.2.0.
120
+ * Was inadvertently made usable for writing in 2.43.0 (through configuredSharedTree) and remains available.
120
121
  * Reading capability must be maintained for backwards compatibility.
121
- * Writing capability needs to be maintained.
122
- * @privateRemarks TODO: stop writing this version.
122
+ * Writing capability could be dropped in favor of {@link EditManagerFormatVersion.v3},
123
+ * but doing so would make the pattern of writable versions more complex and gain little
124
+ * because most of the logic for this format is shared with {@link EditManagerFormatVersion.v3}.
123
125
  */
124
126
  readonly v4: 4;
127
+ /**
128
+ * This version number was used internally for testing shared branches.
129
+ * This format was never made stable.
130
+ * This version number is kept here solely to avoid reusing the number: it is not supported for either reading or writing.
131
+ * @deprecated Use {@link EditManagerFormatVersion.vSharedBranches} for testing shared branches.
132
+ */
133
+ readonly v5: 5;
125
134
  /**
126
135
  * Not yet released.
127
136
  * Only used for testing shared branches.
128
137
  */
129
- readonly v5: 5;
138
+ readonly vSharedBranches: "shared-branches|v0.1";
139
+ /**
140
+ * Not yet released.
141
+ * Only used for testing detached roots.
142
+ */
143
+ readonly vDetachedRoots: "detached-roots|v0.1";
130
144
  };
131
145
  export type EditManagerFormatVersion = Brand<(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion], "EditManagerFormatVersion">;
132
146
  export declare const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion>;
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerFormatCommons.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatCommons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editManagerFormatCommons.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatCommons.ts"],"names":[],"mappings":"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"}
@@ -59,27 +59,42 @@ exports.EditManagerFormatVersion = {
59
59
  v2: 2,
60
60
  /**
61
61
  * Introduced prior to 2.0 and used beyond.
62
- * Reading capability is currently maintained for backwards compatibility, but it could be removed in the future.
63
- * Writing capability needs to be maintained.
62
+ * Reading capability must be maintained for backwards compatibility.
63
+ * Writing capability needs to be maintained so long as {@link lowestMinVersionForCollab} is less than 2.2.0.
64
64
  */
65
65
  v3: 3,
66
66
  /**
67
- * Was inadvertently released in 2.43.0 (through usages of configuredSharedTree) and remains available.
67
+ * Introduced in 2.2.0.
68
+ * Was inadvertently made usable for writing in 2.43.0 (through configuredSharedTree) and remains available.
68
69
  * Reading capability must be maintained for backwards compatibility.
69
- * Writing capability needs to be maintained.
70
- * @privateRemarks TODO: stop writing this version.
70
+ * Writing capability could be dropped in favor of {@link EditManagerFormatVersion.v3},
71
+ * but doing so would make the pattern of writable versions more complex and gain little
72
+ * because most of the logic for this format is shared with {@link EditManagerFormatVersion.v3}.
71
73
  */
72
74
  v4: 4,
75
+ /**
76
+ * This version number was used internally for testing shared branches.
77
+ * This format was never made stable.
78
+ * This version number is kept here solely to avoid reusing the number: it is not supported for either reading or writing.
79
+ * @deprecated Use {@link EditManagerFormatVersion.vSharedBranches} for testing shared branches.
80
+ */
81
+ v5: 5,
73
82
  /**
74
83
  * Not yet released.
75
84
  * Only used for testing shared branches.
76
85
  */
77
- v5: 5,
86
+ vSharedBranches: "shared-branches|v0.1",
87
+ /**
88
+ * Not yet released.
89
+ * Only used for testing detached roots.
90
+ */
91
+ vDetachedRoots: "detached-roots|v0.1",
78
92
  };
79
93
  exports.supportedEditManagerFormatVersions = new Set([
80
94
  exports.EditManagerFormatVersion.v3,
81
95
  exports.EditManagerFormatVersion.v4,
82
- exports.EditManagerFormatVersion.v5,
96
+ exports.EditManagerFormatVersion.vSharedBranches,
97
+ exports.EditManagerFormatVersion.vDetachedRoots,
83
98
  ]);
84
99
  exports.editManagerFormatVersions = new Set(Object.values(exports.EditManagerFormatVersion));
85
100
  /* eslint-enable @typescript-eslint/explicit-function-return-type */
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerFormatCommons.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatCommons.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+CAAwF;AAExF,+CAK0B;AAC1B,+CAAiE;AAuBjE,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAEzE,uGAAuG;AACvG,qEAAqE;AAErE,MAAM,UAAU,GAAG,CAA+B,OAAqB,EAAE,EAAE,CAC1E,cAAI,CAAC,MAAM,CAAC;IACX,QAAQ,EAAE,4BAAiB;IAC3B,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,0BAAe;CAC1B,CAAC,CAAC;AACJ;;;GAGG;AACH,MAAM,MAAM,GAAG,CAA+B,OAAqB,EAAE,EAAE,CACtE,cAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAG1D,MAAM,SAAS,GAAG,IAAA,4BAAiB,EAAY,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AAElE,MAAM,UAAU,GAAG,cAAI,CAAC,MAAM,CAAC;IAC9B,cAAc,EAAE,SAAS;IACzB,YAAY,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACvE,CAAC,CAAC;AASI,MAAM,eAAe,GAAG,CAA+B,OAAqB,EAAE,EAAE,CACtF,cAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;AADzD,QAAA,eAAe,mBAC0C;AAkB/D,MAAM,oBAAoB,GAAG,CAA+B,OAAqB,EAAE,EAAE,CAC3F,cAAI,CAAC,MAAM,CACV;IACC,IAAI,EAAE,4BAAiB;IACvB,OAAO,EAAE,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACpC,EACD,iBAAiB,CACjB,CAAC;AAPU,QAAA,oBAAoB,wBAO9B;AAYI,MAAM,mBAAmB,GAAG,CAA+B,OAAqB,EAAE,EAAE,CAC1F,cAAI,CAAC,MAAM,CACV;IACC,EAAE,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,EAAE,cAAI,CAAC,QAAQ,CAAC,0BAAe,CAAC;IACvC,MAAM,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,EAAE,cAAI,CAAC,QAAQ,CAAC,4BAAiB,CAAC;IACtC,KAAK,EAAE,cAAI,CAAC,KAAK,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,EAAE,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,0BAAe,EAAE,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E,EACD,iBAAiB,CACjB,CAAC;AAZU,QAAA,mBAAmB,uBAY7B;AAEH;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACvC;;;OAGG;IACH,EAAE,EAAE,CAAC;IACL;;;OAGG;IACH,EAAE,EAAE,CAAC;IACL;;;;OAIG;IACH,EAAE,EAAE,CAAC;IACL;;;;;OAKG;IACH,EAAE,EAAE,CAAC;IACL;;;OAGG;IACH,EAAE,EAAE,CAAC;CACI,CAAC;AAKE,QAAA,kCAAkC,GAC9C,IAAI,GAAG,CAAC;IACP,gCAAwB,CAAC,EAAE;IAC3B,gCAAwB,CAAC,EAAE;IAC3B,gCAAwB,CAAC,EAAE;CACG,CAAC,CAAC;AACrB,QAAA,yBAAyB,GAA0C,IAAI,GAAG,CACtF,MAAM,CAAC,MAAM,CAAC,gCAAwB,CAA+B,CACrE,CAAC;AACF,oEAAoE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SessionId } from \"@fluidframework/id-compressor\";\nimport { type ObjectOptions, type Static, type TSchema, Type } from \"@sinclair/typebox\";\n\nimport {\n\ttype EncodedRevisionTag,\n\ttype RevisionTag,\n\tRevisionTagSchema,\n\tSessionIdSchema,\n} from \"../core/index.js\";\nimport { type Brand, brandedNumberType } from \"../util/index.js\";\nimport type { EncodedBranchId } from \"./branch.js\";\n\n/**\n * Contains a single change to the `SharedTree` and associated metadata.\n *\n * TODO: if this type is not used in the encoded format, move it out of this file, and stop using it in EncodedEditManager.\n * If this is an encoded format, clarify the difference between it and EncodedCommit.\n */\nexport interface Commit<TChangeset> {\n\treadonly revision: RevisionTag;\n\treadonly change: TChangeset;\n\t/** An identifier representing the session/user/client that made this commit */\n\treadonly sessionId: SessionId;\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport type EncodedCommit<TChangeset> = {\n\treadonly revision: EncodedRevisionTag;\n\treadonly change: TChangeset;\n\treadonly sessionId: SessionId;\n};\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\n// Many of the return types in this module are intentionally derived, rather than explicitly specified.\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nconst CommitBase = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object({\n\t\trevision: RevisionTagSchema,\n\t\tchange: tChange,\n\t\tsessionId: SessionIdSchema,\n\t});\n/**\n * @privateRemarks Commits are generally encoded from `GraphCommit`s, which often contain extra data.\n * This `noAdditionalProps` is especially important in that light.\n */\nconst Commit = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Composite([CommitBase(tChange)], noAdditionalProps);\n\nexport type SeqNumber = Brand<number, \"edit-manager.SeqNumber\">;\nconst SeqNumber = brandedNumberType<SeqNumber>({ multipleOf: 1 });\n\nconst SequenceId = Type.Object({\n\tsequenceNumber: SeqNumber,\n\tindexInBatch: Type.Optional(Type.Number({ multipleOf: 1, minimum: 0 })),\n});\n\nexport type SequenceId = Static<typeof SequenceId>;\n\n/**\n * A commit with a sequence number but no parentage; used for serializing the `EditManager` into a summary\n */\nexport interface SequencedCommit<TChangeset> extends Commit<TChangeset>, SequenceId {}\n\nexport const SequencedCommit = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Composite([CommitBase(tChange), SequenceId], noAdditionalProps);\n\n/**\n * A branch off of the trunk for use in summaries.\n *\n * TODO: if this type is not used in the encoded format, move it out of this file, and stop using it in EncodedEditManager.\n * If this is an encoded format, use EncodedCommit instead of Commit or clarify that Commit is also an encoded format.\n */\nexport interface SummarySessionBranch<TChangeset> {\n\treadonly base: RevisionTag;\n\treadonly commits: Commit<TChangeset>[];\n}\n\nexport interface EncodedSummarySessionBranch<TChangeset> {\n\treadonly base: EncodedRevisionTag;\n\treadonly commits: Commit<TChangeset>[];\n}\n\nexport const SummarySessionBranch = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tbase: RevisionTagSchema,\n\t\t\tcommits: Type.Array(Commit(tChange)),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\nexport interface EncodedSharedBranch<TChangeset> {\n\treadonly id?: EncodedBranchId;\n\treadonly name?: string;\n\treadonly author?: string;\n\treadonly session?: SessionId;\n\treadonly base?: EncodedRevisionTag;\n\treadonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];\n\treadonly peers: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];\n}\n\nexport const EncodedSharedBranch = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tid: Type.Optional(Type.Number()),\n\t\t\tname: Type.Optional(Type.String()),\n\t\t\tsession: Type.Optional(SessionIdSchema),\n\t\t\tauthor: Type.Optional(Type.String()),\n\t\t\tbase: Type.Optional(RevisionTagSchema),\n\t\t\ttrunk: Type.Array(SequencedCommit(tChange)),\n\t\t\tpeers: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n/**\n * The format version for the EditManager.\n */\nexport const EditManagerFormatVersion = {\n\t/**\n\t * Introduced and retired prior to 2.0.\n\t * Reading and writing capability removed in 2.73.0.\n\t */\n\tv1: 1,\n\t/**\n\t * Introduced and retired prior to 2.0.\n\t * Reading and writing capability removed in 2.73.0.\n\t */\n\tv2: 2,\n\t/**\n\t * Introduced prior to 2.0 and used beyond.\n\t * Reading capability is currently maintained for backwards compatibility, but it could be removed in the future.\n\t * Writing capability needs to be maintained.\n\t */\n\tv3: 3,\n\t/**\n\t * Was inadvertently released in 2.43.0 (through usages of configuredSharedTree) and remains available.\n\t * Reading capability must be maintained for backwards compatibility.\n\t * Writing capability needs to be maintained.\n\t * @privateRemarks TODO: stop writing this version.\n\t */\n\tv4: 4,\n\t/**\n\t * Not yet released.\n\t * Only used for testing shared branches.\n\t */\n\tv5: 5,\n} as const;\nexport type EditManagerFormatVersion = Brand<\n\t(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion],\n\t\"EditManagerFormatVersion\"\n>;\nexport const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =\n\tnew Set([\n\t\tEditManagerFormatVersion.v3,\n\t\tEditManagerFormatVersion.v4,\n\t\tEditManagerFormatVersion.v5,\n\t] as EditManagerFormatVersion[]);\nexport const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(\n\tObject.values(EditManagerFormatVersion) as EditManagerFormatVersion[],\n);\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n"]}
1
+ {"version":3,"file":"editManagerFormatCommons.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatCommons.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SessionId } from \"@fluidframework/id-compressor\";\nimport { type ObjectOptions, type Static, type TSchema, Type } from \"@sinclair/typebox\";\n\nimport {\n\ttype EncodedRevisionTag,\n\ttype RevisionTag,\n\tRevisionTagSchema,\n\tSessionIdSchema,\n} from \"../core/index.js\";\nimport { type Brand, brandedNumberType } from \"../util/index.js\";\nimport type { EncodedBranchId } from \"./branch.js\";\n\n/**\n * Contains a single change to the `SharedTree` and associated metadata.\n *\n * TODO: if this type is not used in the encoded format, move it out of this file, and stop using it in EncodedEditManager.\n * If this is an encoded format, clarify the difference between it and EncodedCommit.\n */\nexport interface Commit<TChangeset> {\n\treadonly revision: RevisionTag;\n\treadonly change: TChangeset;\n\t/** An identifier representing the session/user/client that made this commit */\n\treadonly sessionId: SessionId;\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport type EncodedCommit<TChangeset> = {\n\treadonly revision: EncodedRevisionTag;\n\treadonly change: TChangeset;\n\treadonly sessionId: SessionId;\n};\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\n// Many of the return types in this module are intentionally derived, rather than explicitly specified.\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nconst CommitBase = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object({\n\t\trevision: RevisionTagSchema,\n\t\tchange: tChange,\n\t\tsessionId: SessionIdSchema,\n\t});\n/**\n * @privateRemarks Commits are generally encoded from `GraphCommit`s, which often contain extra data.\n * This `noAdditionalProps` is especially important in that light.\n */\nconst Commit = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Composite([CommitBase(tChange)], noAdditionalProps);\n\nexport type SeqNumber = Brand<number, \"edit-manager.SeqNumber\">;\nconst SeqNumber = brandedNumberType<SeqNumber>({ multipleOf: 1 });\n\nconst SequenceId = Type.Object({\n\tsequenceNumber: SeqNumber,\n\tindexInBatch: Type.Optional(Type.Number({ multipleOf: 1, minimum: 0 })),\n});\n\nexport type SequenceId = Static<typeof SequenceId>;\n\n/**\n * A commit with a sequence number but no parentage; used for serializing the `EditManager` into a summary\n */\nexport interface SequencedCommit<TChangeset> extends Commit<TChangeset>, SequenceId {}\n\nexport const SequencedCommit = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Composite([CommitBase(tChange), SequenceId], noAdditionalProps);\n\n/**\n * A branch off of the trunk for use in summaries.\n *\n * TODO: if this type is not used in the encoded format, move it out of this file, and stop using it in EncodedEditManager.\n * If this is an encoded format, use EncodedCommit instead of Commit or clarify that Commit is also an encoded format.\n */\nexport interface SummarySessionBranch<TChangeset> {\n\treadonly base: RevisionTag;\n\treadonly commits: Commit<TChangeset>[];\n}\n\nexport interface EncodedSummarySessionBranch<TChangeset> {\n\treadonly base: EncodedRevisionTag;\n\treadonly commits: Commit<TChangeset>[];\n}\n\nexport const SummarySessionBranch = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tbase: RevisionTagSchema,\n\t\t\tcommits: Type.Array(Commit(tChange)),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\nexport interface EncodedSharedBranch<TChangeset> {\n\treadonly id?: EncodedBranchId;\n\treadonly name?: string;\n\treadonly author?: string;\n\treadonly session?: SessionId;\n\treadonly base?: EncodedRevisionTag;\n\treadonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];\n\treadonly peers: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];\n}\n\nexport const EncodedSharedBranch = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tid: Type.Optional(Type.Number()),\n\t\t\tname: Type.Optional(Type.String()),\n\t\t\tsession: Type.Optional(SessionIdSchema),\n\t\t\tauthor: Type.Optional(Type.String()),\n\t\t\tbase: Type.Optional(RevisionTagSchema),\n\t\t\ttrunk: Type.Array(SequencedCommit(tChange)),\n\t\t\tpeers: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n/**\n * The format version for the EditManager.\n */\nexport const EditManagerFormatVersion = {\n\t/**\n\t * Introduced and retired prior to 2.0.\n\t * Reading and writing capability removed in 2.73.0.\n\t */\n\tv1: 1,\n\t/**\n\t * Introduced and retired prior to 2.0.\n\t * Reading and writing capability removed in 2.73.0.\n\t */\n\tv2: 2,\n\t/**\n\t * Introduced prior to 2.0 and used beyond.\n\t * Reading capability must be maintained for backwards compatibility.\n\t * Writing capability needs to be maintained so long as {@link lowestMinVersionForCollab} is less than 2.2.0.\n\t */\n\tv3: 3,\n\t/**\n\t * Introduced in 2.2.0.\n\t * Was inadvertently made usable for writing in 2.43.0 (through configuredSharedTree) and remains available.\n\t * Reading capability must be maintained for backwards compatibility.\n\t * Writing capability could be dropped in favor of {@link EditManagerFormatVersion.v3},\n\t * but doing so would make the pattern of writable versions more complex and gain little\n\t * because most of the logic for this format is shared with {@link EditManagerFormatVersion.v3}.\n\t */\n\tv4: 4,\n\t/**\n\t * This version number was used internally for testing shared branches.\n\t * This format was never made stable.\n\t * This version number is kept here solely to avoid reusing the number: it is not supported for either reading or writing.\n\t * @deprecated Use {@link EditManagerFormatVersion.vSharedBranches} for testing shared branches.\n\t */\n\tv5: 5,\n\t/**\n\t * Not yet released.\n\t * Only used for testing shared branches.\n\t */\n\tvSharedBranches: \"shared-branches|v0.1\",\n\t/**\n\t * Not yet released.\n\t * Only used for testing detached roots.\n\t */\n\tvDetachedRoots: \"detached-roots|v0.1\",\n} as const;\nexport type EditManagerFormatVersion = Brand<\n\t(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion],\n\t\"EditManagerFormatVersion\"\n>;\nexport const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =\n\tnew Set([\n\t\tEditManagerFormatVersion.v3,\n\t\tEditManagerFormatVersion.v4,\n\t\tEditManagerFormatVersion.vSharedBranches,\n\t\tEditManagerFormatVersion.vDetachedRoots,\n\t] as EditManagerFormatVersion[]);\nexport const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(\n\tObject.values(EditManagerFormatVersion) as EditManagerFormatVersion[],\n);\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n"]}
@@ -8,10 +8,10 @@ import { EditManagerFormatVersion, type EncodedSummarySessionBranch, SequencedCo
8
8
  export interface EncodedEditManager<TChangeset> {
9
9
  readonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];
10
10
  readonly branches: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];
11
- readonly version: typeof EditManagerFormatVersion.v1 | typeof EditManagerFormatVersion.v2 | typeof EditManagerFormatVersion.v3 | typeof EditManagerFormatVersion.v4;
11
+ readonly version: typeof EditManagerFormatVersion.v1 | typeof EditManagerFormatVersion.v2 | typeof EditManagerFormatVersion.v3 | typeof EditManagerFormatVersion.v4 | typeof EditManagerFormatVersion.vDetachedRoots;
12
12
  }
13
13
  export declare const EncodedEditManager: <ChangeSchema extends TSchema>(tChange: ChangeSchema) => import("@sinclair/typebox").TObject<{
14
- version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<1>, import("@sinclair/typebox").TLiteral<2>, import("@sinclair/typebox").TLiteral<3>, import("@sinclair/typebox").TLiteral<4>]>;
14
+ version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<1>, import("@sinclair/typebox").TLiteral<2>, import("@sinclair/typebox").TLiteral<3>, import("@sinclair/typebox").TLiteral<4>, import("@sinclair/typebox").TLiteral<"detached-roots|v0.1">]>;
15
15
  trunk: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
16
16
  revision: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>;
17
17
  change: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<ChangeSchema, TSchema> extends infer T ? T extends import("@sinclair/typebox").Assert<ChangeSchema, TSchema> ? T extends import("@sinclair/typebox").TNever ? [] : [T] : never : never>;
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerFormatV1toV4.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatV1toV4.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAsB,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EACN,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,eAAe,EAEf,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,kBAAkB,CAAC,UAAU;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,OAAO,EACb,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,kBAAkB,0CAA2C,YAAY;;;;;;;;;;;;;;;;;EAapF,CAAC"}
1
+ {"version":3,"file":"editManagerFormatV1toV4.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatV1toV4.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAsB,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EACN,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,eAAe,EAEf,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,kBAAkB,CAAC,UAAU;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,OAAO,EACb,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,EAAE,GAClC,OAAO,wBAAwB,CAAC,cAAc,CAAC;CAClD;AAED,eAAO,MAAM,kBAAkB,0CAA2C,YAAY;;;;;;;;;;;;;;;;;EAcpF,CAAC"}
@@ -15,6 +15,7 @@ const EncodedEditManager = (tChange) => typebox_1.Type.Object({
15
15
  typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v2),
16
16
  typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v3),
17
17
  typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v4),
18
+ typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.vDetachedRoots),
18
19
  ]),
19
20
  trunk: typebox_1.Type.Array((0, editManagerFormatCommons_js_1.SequencedCommit)(tChange)),
20
21
  branches: typebox_1.Type.Array(typebox_1.Type.Tuple([index_js_1.SessionIdSchema, (0, editManagerFormatCommons_js_1.SummarySessionBranch)(tChange)])),
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerFormatV1toV4.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatV1toV4.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+CAA2E;AAE3E,+CAAmD;AACnD,+EAKuC;AAEvC,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAelE,MAAM,kBAAkB,GAAG,CAA+B,OAAqB,EAAE,EAAE,CACzF,cAAI,CAAC,MAAM,CACV;IACC,OAAO,EAAE,cAAI,CAAC,KAAK,CAAC;QACnB,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;KACzC,CAAC;IACF,KAAK,EAAE,cAAI,CAAC,KAAK,CAAC,IAAA,6CAAe,EAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,EAAE,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,0BAAe,EAAE,IAAA,kDAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAClF,EACD,iBAAiB,CACjB,CAAC;AAbU,QAAA,kBAAkB,sBAa5B;AAEH,oEAAoE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SessionId } from \"@fluidframework/id-compressor\";\nimport { type ObjectOptions, type TSchema, Type } from \"@sinclair/typebox\";\n\nimport { SessionIdSchema } from \"../core/index.js\";\nimport {\n\tEditManagerFormatVersion,\n\ttype EncodedSummarySessionBranch,\n\tSequencedCommit,\n\tSummarySessionBranch,\n} from \"./editManagerFormatCommons.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\n// Many of the return types in this module are intentionally derived, rather than explicitly specified.\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nexport interface EncodedEditManager<TChangeset> {\n\treadonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];\n\treadonly branches: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];\n\treadonly version:\n\t\t| typeof EditManagerFormatVersion.v1\n\t\t| typeof EditManagerFormatVersion.v2\n\t\t| typeof EditManagerFormatVersion.v3\n\t\t| typeof EditManagerFormatVersion.v4;\n}\n\nexport const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tversion: Type.Union([\n\t\t\t\tType.Literal(EditManagerFormatVersion.v1),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v2),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v3),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v4),\n\t\t\t]),\n\t\t\ttrunk: Type.Array(SequencedCommit(tChange)),\n\t\t\tbranches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n"]}
1
+ {"version":3,"file":"editManagerFormatV1toV4.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatV1toV4.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+CAA2E;AAE3E,+CAAmD;AACnD,+EAKuC;AAEvC,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAgBlE,MAAM,kBAAkB,GAAG,CAA+B,OAAqB,EAAE,EAAE,CACzF,cAAI,CAAC,MAAM,CACV;IACC,OAAO,EAAE,cAAI,CAAC,KAAK,CAAC;QACnB,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,EAAE,CAAC;QACzC,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,cAAc,CAAC;KACrD,CAAC;IACF,KAAK,EAAE,cAAI,CAAC,KAAK,CAAC,IAAA,6CAAe,EAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,EAAE,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,0BAAe,EAAE,IAAA,kDAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAClF,EACD,iBAAiB,CACjB,CAAC;AAdU,QAAA,kBAAkB,sBAc5B;AAEH,oEAAoE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { SessionId } from \"@fluidframework/id-compressor\";\nimport { type ObjectOptions, type TSchema, Type } from \"@sinclair/typebox\";\n\nimport { SessionIdSchema } from \"../core/index.js\";\nimport {\n\tEditManagerFormatVersion,\n\ttype EncodedSummarySessionBranch,\n\tSequencedCommit,\n\tSummarySessionBranch,\n} from \"./editManagerFormatCommons.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\n// Many of the return types in this module are intentionally derived, rather than explicitly specified.\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nexport interface EncodedEditManager<TChangeset> {\n\treadonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];\n\treadonly branches: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];\n\treadonly version:\n\t\t| typeof EditManagerFormatVersion.v1\n\t\t| typeof EditManagerFormatVersion.v2\n\t\t| typeof EditManagerFormatVersion.v3\n\t\t| typeof EditManagerFormatVersion.v4\n\t\t| typeof EditManagerFormatVersion.vDetachedRoots;\n}\n\nexport const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tversion: Type.Union([\n\t\t\t\tType.Literal(EditManagerFormatVersion.v1),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v2),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v3),\n\t\t\t\tType.Literal(EditManagerFormatVersion.v4),\n\t\t\t\tType.Literal(EditManagerFormatVersion.vDetachedRoots),\n\t\t\t]),\n\t\t\ttrunk: Type.Array(SequencedCommit(tChange)),\n\t\t\tbranches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n"]}
@@ -6,13 +6,13 @@ import { type TSchema } from "@sinclair/typebox";
6
6
  import type { SessionId } from "@fluidframework/id-compressor";
7
7
  import { EncodedSharedBranch, EditManagerFormatVersion } from "./editManagerFormatCommons.js";
8
8
  export interface EncodedEditManager<TChangeset> {
9
- readonly version: typeof EditManagerFormatVersion.v5;
9
+ readonly version: typeof EditManagerFormatVersion.vSharedBranches;
10
10
  readonly originator: SessionId;
11
11
  readonly main: EncodedSharedBranch<TChangeset>;
12
12
  readonly branches?: readonly EncodedSharedBranch<TChangeset>[];
13
13
  }
14
14
  export declare const EncodedEditManager: <ChangeSchema extends TSchema>(tChange: ChangeSchema) => import("@sinclair/typebox").TObject<{
15
- version: import("@sinclair/typebox").TLiteral<5>;
15
+ version: import("@sinclair/typebox").TLiteral<"shared-branches|v0.1">;
16
16
  originator: import("@sinclair/typebox").TUnsafe<SessionId>;
17
17
  main: import("@sinclair/typebox").TObject<{
18
18
  id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
@@ -59,4 +59,4 @@ export declare const EncodedEditManager: <ChangeSchema extends TSchema>(tChange:
59
59
  }>]>>;
60
60
  }>>>;
61
61
  }>;
62
- //# sourceMappingURL=editManagerFormatV5.d.ts.map
62
+ //# sourceMappingURL=editManagerFormatVSharedBranches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editManagerFormatVSharedBranches.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatVSharedBranches.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQ9F,MAAM,WAAW,kBAAkB,CAAC,UAAU;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAC,eAAe,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;CAC/D;AAED,eAAO,MAAM,kBAAkB,0CAA2C,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpF,CAAC"}
@@ -10,11 +10,11 @@ const editManagerFormatCommons_js_1 = require("./editManagerFormatCommons.js");
10
10
  const index_js_1 = require("../core/index.js");
11
11
  const noAdditionalProps = { additionalProperties: false };
12
12
  const EncodedEditManager = (tChange) => typebox_1.Type.Object({
13
- version: typebox_1.Type.Union([typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v5)]),
13
+ version: typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.vSharedBranches),
14
14
  originator: index_js_1.SessionIdSchema,
15
15
  main: (0, editManagerFormatCommons_js_1.EncodedSharedBranch)(tChange),
16
16
  branches: typebox_1.Type.Optional(typebox_1.Type.Array((0, editManagerFormatCommons_js_1.EncodedSharedBranch)(tChange))),
17
17
  }, noAdditionalProps);
18
18
  exports.EncodedEditManager = EncodedEditManager;
19
19
  /* eslint-enable @typescript-eslint/explicit-function-return-type */
20
- //# sourceMappingURL=editManagerFormatV5.js.map
20
+ //# sourceMappingURL=editManagerFormatVSharedBranches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editManagerFormatVSharedBranches.js","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerFormatVSharedBranches.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAA2E;AAG3E,+EAA8F;AAC9F,+CAAmD;AAEnD,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAYlE,MAAM,kBAAkB,GAAG,CAA+B,OAAqB,EAAE,EAAE,CACzF,cAAI,CAAC,MAAM,CACV;IACC,OAAO,EAAE,cAAI,CAAC,OAAO,CAAC,sDAAwB,CAAC,eAAe,CAAC;IAC/D,UAAU,EAAE,0BAAe;IAC3B,IAAI,EAAE,IAAA,iDAAmB,EAAC,OAAO,CAAC;IAClC,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,IAAA,iDAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;CACjE,EACD,iBAAiB,CACjB,CAAC;AATU,QAAA,kBAAkB,sBAS5B;AAEH,oEAAoE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type ObjectOptions, type TSchema, Type } from \"@sinclair/typebox\";\nimport type { SessionId } from \"@fluidframework/id-compressor\";\n\nimport { EncodedSharedBranch, EditManagerFormatVersion } from \"./editManagerFormatCommons.js\";\nimport { SessionIdSchema } from \"../core/index.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\n// Many of the return types in this module are intentionally derived, rather than explicitly specified.\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nexport interface EncodedEditManager<TChangeset> {\n\treadonly version: typeof EditManagerFormatVersion.vSharedBranches;\n\treadonly originator: SessionId;\n\treadonly main: EncodedSharedBranch<TChangeset>;\n\treadonly branches?: readonly EncodedSharedBranch<TChangeset>[];\n}\n\nexport const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>\n\tType.Object(\n\t\t{\n\t\t\tversion: Type.Literal(EditManagerFormatVersion.vSharedBranches),\n\t\t\toriginator: SessionIdSchema,\n\t\t\tmain: EncodedSharedBranch(tChange),\n\t\t\tbranches: Type.Optional(Type.Array(EncodedSharedBranch(tChange))),\n\t\t},\n\t\tnoAdditionalProps,\n\t);\n\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n"]}
@@ -4,31 +4,51 @@
4
4
  */
5
5
  import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
6
6
  import type { IIdCompressor } from "@fluidframework/id-compressor";
7
- import type { IExperimentalIncrementalSummaryContext, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
7
+ import type { IExperimentalIncrementalSummaryContext, ITelemetryContext, MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
8
+ import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal";
8
9
  import type { IJsonCodec } from "../codec/index.js";
9
10
  import type { ChangeFamily, ChangeFamilyEditor, SchemaAndPolicy } from "../core/index.js";
10
11
  import type { JsonCompatibleReadOnly } from "../util/index.js";
11
12
  import type { EditManager, SummaryData } from "./editManager.js";
12
13
  import type { EditManagerEncodingContext } from "./editManagerCodecs.js";
13
- import type { Summarizable, SummaryElementParser, SummaryElementStringifier } from "./sharedTreeCore.js";
14
+ import type { Summarizable, SummaryElementParser, SummaryElementStringifier } from "./summaryTypes.js";
15
+ import { VersionedSummarizer } from "./versionedSummarizer.js";
16
+ export declare const stringKey = "String";
17
+ /**
18
+ * The versions for the edit manager summary format.
19
+ */
20
+ export declare const enum EditManagerSummaryFormatVersion {
21
+ /**
22
+ * This version represents summary format before summary versioning was introduced.
23
+ */
24
+ v1 = 1,
25
+ /**
26
+ * This version adds metadata to the summary. This is backward compatible with version 1.
27
+ */
28
+ v2 = 2,
29
+ /**
30
+ * The latest version of the summary. Must be updated when a new version is added.
31
+ */
32
+ vLatest = 2
33
+ }
14
34
  /**
15
35
  * Provides methods for summarizing and loading an `EditManager`
16
36
  */
17
- export declare class EditManagerSummarizer<TChangeset> implements Summarizable {
37
+ export declare class EditManagerSummarizer<TChangeset> extends VersionedSummarizer<EditManagerSummaryFormatVersion> implements Summarizable {
18
38
  private readonly editManager;
19
39
  private readonly codec;
20
40
  private readonly idCompressor;
21
41
  private readonly schemaAndPolicy?;
22
- readonly key = "EditManager";
23
- constructor(editManager: EditManager<ChangeFamilyEditor, TChangeset, ChangeFamily<ChangeFamilyEditor, TChangeset>>, codec: IJsonCodec<SummaryData<TChangeset>, JsonCompatibleReadOnly, JsonCompatibleReadOnly, EditManagerEncodingContext>, idCompressor: IIdCompressor, schemaAndPolicy?: SchemaAndPolicy | undefined);
24
- summarize(props: {
42
+ static readonly key = "EditManager";
43
+ constructor(editManager: EditManager<ChangeFamilyEditor, TChangeset, ChangeFamily<ChangeFamilyEditor, TChangeset>>, codec: IJsonCodec<SummaryData<TChangeset>, JsonCompatibleReadOnly, JsonCompatibleReadOnly, EditManagerEncodingContext>, idCompressor: IIdCompressor, minVersionForCollab: MinimumVersionForCollab, schemaAndPolicy?: SchemaAndPolicy | undefined);
44
+ protected summarizeInternal(props: {
25
45
  stringify: SummaryElementStringifier;
26
46
  fullTree?: boolean;
27
47
  trackState?: boolean;
28
48
  telemetryContext?: ITelemetryContext;
29
49
  incrementalSummaryContext?: IExperimentalIncrementalSummaryContext;
30
- }): ISummaryTreeWithStats;
31
- private summarizeCore;
32
- load(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
50
+ builder: SummaryTreeBuilder;
51
+ }): void;
52
+ protected loadInternal(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
33
53
  }
34
54
  //# sourceMappingURL=editManagerSummarizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editManagerSummarizer.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerSummarizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EACX,sCAAsC,EACtC,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EACX,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,qBAAqB,CAAC;AAI7B;;GAEG;AACH,qBAAa,qBAAqB,CAAC,UAAU,CAAE,YAAW,YAAY;IAIpE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAK5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAMtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAflC,SAAgB,GAAG,iBAAiB;gBAGlB,WAAW,EAAE,WAAW,CACxC,kBAAkB,EAClB,UAAU,EACV,YAAY,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAC5C,EACgB,KAAK,EAAE,UAAU,CACjC,WAAW,CAAC,UAAU,CAAC,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,CAC1B,EACgB,YAAY,EAAE,aAAa,EAC3B,eAAe,CAAC,6BAAiB;IAG5C,SAAS,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,yBAAyB,CAAC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;QACrC,yBAAyB,CAAC,EAAE,sCAAsC,CAAC;KACnE,GAAG,qBAAqB;IAIzB,OAAO,CAAC,aAAa;IAUR,IAAI,CAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;CAehB"}
1
+ {"version":3,"file":"editManagerSummarizer.d.ts","sourceRoot":"","sources":["../../src/shared-tree-core/editManagerSummarizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EACX,sCAAsC,EACtC,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EACX,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,SAAS,WAAW,CAAC;AAElC;;GAEG;AACH,0BAAkB,+BAA+B;IAChD;;OAEG;IACH,EAAE,IAAI;IACN;;OAEG;IACH,EAAE,IAAI;IACN;;OAEG;IACH,OAAO,IAAK;CACZ;AAiBD;;GAEG;AACH,qBAAa,qBAAqB,CAAC,UAAU,CAC5C,SAAQ,mBAAmB,CAAC,+BAA+B,CAC3D,YAAW,YAAY;IAItB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAK5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAMtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAflC,gBAAuB,GAAG,iBAAiB;gBAEzB,WAAW,EAAE,WAAW,CACxC,kBAAkB,EAClB,UAAU,EACV,YAAY,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAC5C,EACgB,KAAK,EAAE,UAAU,CACjC,WAAW,CAAC,UAAU,CAAC,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,CAC1B,EACgB,YAAY,EAAE,aAAa,EAC5C,mBAAmB,EAAE,uBAAuB,EAC3B,eAAe,CAAC,6BAAiB;IAUnD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE;QAClC,SAAS,EAAE,yBAAyB,CAAC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;QACrC,yBAAyB,CAAC,EAAE,sCAAsC,CAAC;QACnE,OAAO,EAAE,kBAAkB,CAAC;KAC5B,GAAG,IAAI;cAWQ,YAAY,CAC3B,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;CAehB"}
@@ -4,35 +4,62 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.EditManagerSummarizer = void 0;
7
+ exports.EditManagerSummarizer = exports.EditManagerSummaryFormatVersion = exports.stringKey = void 0;
8
8
  const client_utils_1 = require("@fluid-internal/client-utils");
9
9
  const internal_1 = require("@fluidframework/core-utils/internal");
10
- const internal_2 = require("@fluidframework/shared-object-base/internal");
11
- const stringKey = "String";
10
+ const versionedSummarizer_js_1 = require("./versionedSummarizer.js");
11
+ exports.stringKey = "String";
12
+ /**
13
+ * The versions for the edit manager summary format.
14
+ */
15
+ var EditManagerSummaryFormatVersion;
16
+ (function (EditManagerSummaryFormatVersion) {
17
+ /**
18
+ * This version represents summary format before summary versioning was introduced.
19
+ */
20
+ EditManagerSummaryFormatVersion[EditManagerSummaryFormatVersion["v1"] = 1] = "v1";
21
+ /**
22
+ * This version adds metadata to the summary. This is backward compatible with version 1.
23
+ */
24
+ EditManagerSummaryFormatVersion[EditManagerSummaryFormatVersion["v2"] = 2] = "v2";
25
+ /**
26
+ * The latest version of the summary. Must be updated when a new version is added.
27
+ */
28
+ EditManagerSummaryFormatVersion[EditManagerSummaryFormatVersion["vLatest"] = 2] = "vLatest";
29
+ })(EditManagerSummaryFormatVersion || (exports.EditManagerSummaryFormatVersion = EditManagerSummaryFormatVersion = {}));
30
+ const supportedVersions = new Set([
31
+ 1 /* EditManagerSummaryFormatVersion.v1 */,
32
+ 2 /* EditManagerSummaryFormatVersion.v2 */,
33
+ ]);
34
+ /**
35
+ * Returns the summary version to use as per the given minimum version for collab.
36
+ */
37
+ function minVersionToEditManagerSummaryFormatVersion(version) {
38
+ // Currently, version 2 is written which adds metadata blob to the summary.
39
+ return 2 /* EditManagerSummaryFormatVersion.v2 */;
40
+ }
12
41
  /**
13
42
  * Provides methods for summarizing and loading an `EditManager`
14
43
  */
15
- class EditManagerSummarizer {
16
- constructor(editManager, codec, idCompressor, schemaAndPolicy) {
44
+ class EditManagerSummarizer extends versionedSummarizer_js_1.VersionedSummarizer {
45
+ constructor(editManager, codec, idCompressor, minVersionForCollab, schemaAndPolicy) {
46
+ super(EditManagerSummarizer.key, minVersionToEditManagerSummaryFormatVersion(minVersionForCollab), supportedVersions, true /* supportPreVersioningFormat */);
17
47
  this.editManager = editManager;
18
48
  this.codec = codec;
19
49
  this.idCompressor = idCompressor;
20
50
  this.schemaAndPolicy = schemaAndPolicy;
21
- this.key = "EditManager";
22
- }
23
- summarize(props) {
24
- return this.summarizeCore(props.stringify);
25
51
  }
26
- summarizeCore(stringify) {
52
+ summarizeInternal(props) {
53
+ const { stringify, builder } = props;
27
54
  const context = this.schemaAndPolicy !== undefined
28
55
  ? { schema: this.schemaAndPolicy, idCompressor: this.idCompressor }
29
56
  : { idCompressor: this.idCompressor };
30
57
  const jsonCompatible = this.codec.encode(this.editManager.getSummaryData(), context);
31
58
  const dataString = stringify(jsonCompatible);
32
- return (0, internal_2.createSingleBlobSummary)(stringKey, dataString);
59
+ builder.addBlob(exports.stringKey, dataString);
33
60
  }
34
- async load(services, parse) {
35
- const schemaBuffer = await services.readBlob(stringKey);
61
+ async loadInternal(services, parse) {
62
+ const schemaBuffer = await services.readBlob(exports.stringKey);
36
63
  // After the awaits, validate that the data is in a clean state.
37
64
  // This detects any data that could have been accidentally added through
38
65
  // invalid means and is about to be overwritten.
@@ -43,4 +70,5 @@ class EditManagerSummarizer {
43
70
  }
44
71
  }
45
72
  exports.EditManagerSummarizer = EditManagerSummarizer;
73
+ EditManagerSummarizer.key = "EditManager";
46
74
  //# sourceMappingURL=editManagerSummarizer.js.map