@fluidframework/tree 2.91.0 → 2.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (866) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/api-report/tree.alpha.api.md +60 -22
  3. package/dist/api.d.ts +6 -1
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/codec/codec.d.ts +28 -2
  7. package/dist/codec/codec.d.ts.map +1 -1
  8. package/dist/codec/codec.js +1 -0
  9. package/dist/codec/codec.js.map +1 -1
  10. package/dist/codec/index.d.ts +2 -2
  11. package/dist/codec/index.d.ts.map +1 -1
  12. package/dist/codec/index.js +2 -4
  13. package/dist/codec/index.js.map +1 -1
  14. package/dist/codec/versioned/codec.d.ts +18 -36
  15. package/dist/codec/versioned/codec.d.ts.map +1 -1
  16. package/dist/codec/versioned/codec.js +46 -59
  17. package/dist/codec/versioned/codec.js.map +1 -1
  18. package/dist/codec/versioned/index.d.ts +1 -1
  19. package/dist/codec/versioned/index.d.ts.map +1 -1
  20. package/dist/codec/versioned/index.js +2 -4
  21. package/dist/codec/versioned/index.js.map +1 -1
  22. package/dist/core/forest/forest.d.ts +5 -2
  23. package/dist/core/forest/forest.d.ts.map +1 -1
  24. package/dist/core/forest/forest.js.map +1 -1
  25. package/dist/core/index.d.ts +1 -1
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +6 -2
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/rebase/changeRebaser.d.ts +8 -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/revisionTagCodec.d.ts +4 -3
  33. package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
  34. package/dist/core/rebase/revisionTagCodec.js +2 -0
  35. package/dist/core/rebase/revisionTagCodec.js.map +1 -1
  36. package/dist/core/rebase/utils.d.ts +2 -2
  37. package/dist/core/rebase/utils.d.ts.map +1 -1
  38. package/dist/core/rebase/utils.js +4 -4
  39. package/dist/core/rebase/utils.js.map +1 -1
  40. package/dist/core/schema-stored/formatV2.d.ts +1 -1
  41. package/dist/core/schema-stored/formatV2.js +1 -1
  42. package/dist/core/schema-stored/formatV2.js.map +1 -1
  43. package/dist/core/tree/anchorSet.d.ts +8 -0
  44. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  45. package/dist/core/tree/anchorSet.js +42 -7
  46. package/dist/core/tree/anchorSet.js.map +1 -1
  47. package/dist/core/tree/cursor.d.ts +25 -1
  48. package/dist/core/tree/cursor.d.ts.map +1 -1
  49. package/dist/core/tree/cursor.js +45 -1
  50. package/dist/core/tree/cursor.js.map +1 -1
  51. package/dist/core/tree/deltaUtil.d.ts +13 -1
  52. package/dist/core/tree/deltaUtil.d.ts.map +1 -1
  53. package/dist/core/tree/deltaUtil.js +34 -1
  54. package/dist/core/tree/deltaUtil.js.map +1 -1
  55. package/dist/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
  56. package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
  57. package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
  58. package/dist/core/tree/index.d.ts +2 -2
  59. package/dist/core/tree/index.d.ts.map +1 -1
  60. package/dist/core/tree/index.js +6 -2
  61. package/dist/core/tree/index.js.map +1 -1
  62. package/dist/core/tree/visitDelta.d.ts +11 -0
  63. package/dist/core/tree/visitDelta.d.ts.map +1 -1
  64. package/dist/core/tree/visitDelta.js +1 -1
  65. package/dist/core/tree/visitDelta.js.map +1 -1
  66. package/dist/core/tree/visitorUtils.d.ts.map +1 -1
  67. package/dist/core/tree/visitorUtils.js +5 -0
  68. package/dist/core/tree/visitorUtils.js.map +1 -1
  69. package/dist/entrypoints/alpha.d.ts +1 -1
  70. package/dist/entrypoints/alpha.d.ts.map +1 -1
  71. package/dist/entrypoints/alpha.js +2 -3
  72. package/dist/entrypoints/alpha.js.map +1 -1
  73. package/dist/entrypoints/beta.js +1 -1
  74. package/dist/entrypoints/beta.js.map +1 -1
  75. package/dist/entrypoints/legacy.d.ts +1 -1
  76. package/dist/entrypoints/legacy.d.ts.map +1 -1
  77. package/dist/entrypoints/legacy.js +1 -1
  78. package/dist/entrypoints/legacy.js.map +1 -1
  79. package/dist/entrypoints/public.js +1 -1
  80. package/dist/entrypoints/public.js.map +1 -1
  81. package/dist/feature-libraries/changeAtomIdCodec.d.ts +4 -3
  82. package/dist/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
  83. package/dist/feature-libraries/changeAtomIdCodec.js +2 -0
  84. package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
  85. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
  86. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  87. package/dist/feature-libraries/chunked-forest/chunkedForest.js +2 -2
  88. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  89. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
  90. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  91. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +6 -6
  92. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  93. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
  94. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
  95. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
  96. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
  97. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
  98. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
  99. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
  100. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  101. package/dist/feature-libraries/chunked-forest/codec/codecs.js +6 -6
  102. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  103. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
  104. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  105. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
  106. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  107. package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
  108. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
  109. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
  110. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
  111. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
  112. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +115 -0
  113. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
  114. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
  115. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
  116. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +16 -0
  117. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
  118. package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
  119. package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
  120. package/dist/feature-libraries/chunked-forest/codec/format/index.js +18 -0
  121. package/dist/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
  122. package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
  123. package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
  124. package/dist/feature-libraries/chunked-forest/codec/format/versions.js +29 -0
  125. package/dist/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
  126. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
  127. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  128. package/dist/feature-libraries/chunked-forest/codec/index.js +2 -2
  129. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  130. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
  131. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  132. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  133. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
  134. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
  135. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +6 -4
  136. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  137. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
  138. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
  139. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +3 -3
  140. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
  141. package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
  142. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  143. package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
  144. package/dist/feature-libraries/cursorComparator.d.ts +23 -0
  145. package/dist/feature-libraries/cursorComparator.d.ts.map +1 -0
  146. package/dist/feature-libraries/cursorComparator.js +65 -0
  147. package/dist/feature-libraries/cursorComparator.js.map +1 -0
  148. package/dist/feature-libraries/forest-summary/codec.d.ts +1 -1
  149. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
  150. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  151. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  152. package/dist/feature-libraries/index.d.ts +3 -2
  153. package/dist/feature-libraries/index.d.ts.map +1 -1
  154. package/dist/feature-libraries/index.js +5 -5
  155. package/dist/feature-libraries/index.js.map +1 -1
  156. package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
  157. package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
  158. package/dist/feature-libraries/indexing/anchorTreeIndex.js +12 -7
  159. package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  160. package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  161. package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
  162. package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  163. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
  164. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  165. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  166. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  167. package/dist/feature-libraries/modular-schema/genericFieldKind.js +0 -1
  168. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  169. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
  170. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  171. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
  172. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  173. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
  174. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  175. package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  176. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
  177. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  178. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  179. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
  180. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  181. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
  182. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  183. package/dist/feature-libraries/object-forest/objectForest.d.ts +1 -1
  184. package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  185. package/dist/feature-libraries/object-forest/objectForest.js +2 -2
  186. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  187. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
  188. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  189. package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  190. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
  191. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  192. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  193. package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
  194. package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
  195. package/dist/feature-libraries/schema-edits/index.js +2 -3
  196. package/dist/feature-libraries/schema-edits/index.js.map +1 -1
  197. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
  198. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  199. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +8 -54
  200. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  201. package/dist/feature-libraries/schema-index/codec.d.ts +3 -16
  202. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  203. package/dist/feature-libraries/schema-index/codec.js +1 -21
  204. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  205. package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
  206. package/dist/feature-libraries/schema-index/formatV2.js +1 -1
  207. package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
  208. package/dist/feature-libraries/schema-index/index.d.ts +1 -1
  209. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
  210. package/dist/feature-libraries/schema-index/index.js +1 -2
  211. package/dist/feature-libraries/schema-index/index.js.map +1 -1
  212. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
  213. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  214. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  215. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
  216. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  217. package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  218. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
  219. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  220. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  221. package/dist/index.d.ts +2 -2
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +2 -3
  224. package/dist/index.js.map +1 -1
  225. package/dist/packageVersion.d.ts +1 -1
  226. package/dist/packageVersion.js +1 -1
  227. package/dist/packageVersion.js.map +1 -1
  228. package/dist/shared-tree/independentView.d.ts +1 -1
  229. package/dist/shared-tree/independentView.d.ts.map +1 -1
  230. package/dist/shared-tree/independentView.js +14 -21
  231. package/dist/shared-tree/independentView.js.map +1 -1
  232. package/dist/shared-tree/index.d.ts +2 -2
  233. package/dist/shared-tree/index.d.ts.map +1 -1
  234. package/dist/shared-tree/index.js +1 -2
  235. package/dist/shared-tree/index.js.map +1 -1
  236. package/dist/shared-tree/schematizingTreeView.d.ts +2 -36
  237. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  238. package/dist/shared-tree/schematizingTreeView.js +15 -117
  239. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  240. package/dist/shared-tree/sharedTree.d.ts +3 -22
  241. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  242. package/dist/shared-tree/sharedTree.js +10 -27
  243. package/dist/shared-tree/sharedTree.js.map +1 -1
  244. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
  245. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  246. package/dist/shared-tree/sharedTreeChangeCodecs.js +23 -16
  247. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  248. package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  249. package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
  250. package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  251. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
  252. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  253. package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
  254. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  255. package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  256. package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  257. package/dist/shared-tree/sharedTreeChangeFormat.js +13 -5
  258. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  259. package/dist/shared-tree/tree.d.ts.map +1 -1
  260. package/dist/shared-tree/tree.js +2 -1
  261. package/dist/shared-tree/tree.js.map +1 -1
  262. package/dist/shared-tree/treeAlpha.d.ts +13 -1
  263. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  264. package/dist/shared-tree/treeAlpha.js +3 -0
  265. package/dist/shared-tree/treeAlpha.js.map +1 -1
  266. package/dist/shared-tree/treeCheckout.d.ts +34 -69
  267. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  268. package/dist/shared-tree/treeCheckout.js +885 -678
  269. package/dist/shared-tree/treeCheckout.js.map +1 -1
  270. package/dist/shared-tree/unhydratedTreeContext.js +3 -3
  271. package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
  272. package/dist/shared-tree-core/editManagerCodecs.d.ts +23 -12
  273. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  274. package/dist/shared-tree-core/editManagerCodecs.js +40 -67
  275. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  276. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  277. package/dist/shared-tree-core/editManagerCodecsCommons.js +0 -1
  278. package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  279. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
  280. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  281. package/dist/shared-tree-core/editManagerCodecsV1toV4.js +18 -13
  282. package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  283. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
  284. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  285. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +6 -9
  286. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  287. package/dist/shared-tree-core/index.d.ts +3 -3
  288. package/dist/shared-tree-core/index.d.ts.map +1 -1
  289. package/dist/shared-tree-core/index.js +5 -8
  290. package/dist/shared-tree-core/index.js.map +1 -1
  291. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
  292. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  293. package/dist/shared-tree-core/messageCodecV1ToV4.js +8 -8
  294. package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  295. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
  296. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  297. package/dist/shared-tree-core/messageCodecVSharedBranches.js +5 -4
  298. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  299. package/dist/shared-tree-core/messageCodecs.d.ts +15 -14
  300. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  301. package/dist/shared-tree-core/messageCodecs.js +38 -74
  302. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  303. package/dist/shared-tree-core/messageFormat.d.ts +0 -1
  304. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
  305. package/dist/shared-tree-core/messageFormat.js +1 -2
  306. package/dist/shared-tree-core/messageFormat.js.map +1 -1
  307. package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -3
  308. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  309. package/dist/shared-tree-core/sharedTreeCore.js +12 -2
  310. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  311. package/dist/sharedTreeAttributes.d.ts.map +1 -1
  312. package/dist/sharedTreeAttributes.js +3 -0
  313. package/dist/sharedTreeAttributes.js.map +1 -1
  314. package/dist/simple-tree/api/index.d.ts +1 -0
  315. package/dist/simple-tree/api/index.d.ts.map +1 -1
  316. package/dist/simple-tree/api/index.js.map +1 -1
  317. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  318. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  319. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
  320. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  321. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  322. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  323. package/dist/simple-tree/api/storedSchema.js +6 -6
  324. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  325. package/dist/simple-tree/api/tree.d.ts +7 -19
  326. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  327. package/dist/simple-tree/api/tree.js.map +1 -1
  328. package/dist/simple-tree/api/treeAlpha.d.ts +69 -0
  329. package/dist/simple-tree/api/treeAlpha.d.ts.map +1 -0
  330. package/dist/simple-tree/api/treeAlpha.js +7 -0
  331. package/dist/simple-tree/api/treeAlpha.js.map +1 -0
  332. package/dist/simple-tree/api/treeBeta.d.ts +1 -1
  333. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  334. package/dist/simple-tree/api/treeChangeEvents.d.ts +3 -0
  335. package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
  336. package/dist/simple-tree/api/treeChangeEvents.js.map +1 -1
  337. package/dist/simple-tree/api/treeNodeApi.d.ts +49 -0
  338. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  339. package/dist/simple-tree/api/treeNodeApi.js +41 -2
  340. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  341. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  342. package/dist/simple-tree/core/treeNodeKernel.js +45 -8
  343. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  344. package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  345. package/dist/simple-tree/core/unhydratedFlexTree.js +5 -1
  346. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  347. package/dist/simple-tree/index.d.ts +2 -2
  348. package/dist/simple-tree/index.d.ts.map +1 -1
  349. package/dist/simple-tree/index.js.map +1 -1
  350. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
  351. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  352. package/dist/simple-tree/node-kinds/array/arrayNode.js +23 -0
  353. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  354. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
  355. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  356. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  357. package/dist/simple-tree/node-kinds/array/index.d.ts +2 -2
  358. package/dist/simple-tree/node-kinds/array/index.d.ts.map +1 -1
  359. package/dist/simple-tree/node-kinds/array/index.js.map +1 -1
  360. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  361. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  362. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  363. package/dist/text/textDomainFormatted.d.ts +319 -9
  364. package/dist/text/textDomainFormatted.d.ts.map +1 -1
  365. package/dist/text/textDomainFormatted.js +100 -25
  366. package/dist/text/textDomainFormatted.js.map +1 -1
  367. package/dist/treeFactory.d.ts.map +1 -1
  368. package/dist/treeFactory.js +5 -2
  369. package/dist/treeFactory.js.map +1 -1
  370. package/dist/util/referenceCounting.d.ts.map +1 -1
  371. package/dist/util/referenceCounting.js +0 -1
  372. package/dist/util/referenceCounting.js.map +1 -1
  373. package/legacy.d.ts +2 -3
  374. package/lib/api.d.ts +6 -1
  375. package/lib/api.d.ts.map +1 -1
  376. package/lib/api.js.map +1 -1
  377. package/lib/codec/codec.d.ts +28 -2
  378. package/lib/codec/codec.d.ts.map +1 -1
  379. package/lib/codec/codec.js +1 -0
  380. package/lib/codec/codec.js.map +1 -1
  381. package/lib/codec/index.d.ts +2 -2
  382. package/lib/codec/index.d.ts.map +1 -1
  383. package/lib/codec/index.js +1 -1
  384. package/lib/codec/index.js.map +1 -1
  385. package/lib/codec/versioned/codec.d.ts +18 -36
  386. package/lib/codec/versioned/codec.d.ts.map +1 -1
  387. package/lib/codec/versioned/codec.js +45 -56
  388. package/lib/codec/versioned/codec.js.map +1 -1
  389. package/lib/codec/versioned/index.d.ts +1 -1
  390. package/lib/codec/versioned/index.d.ts.map +1 -1
  391. package/lib/codec/versioned/index.js +1 -1
  392. package/lib/codec/versioned/index.js.map +1 -1
  393. package/lib/core/forest/forest.d.ts +5 -2
  394. package/lib/core/forest/forest.d.ts.map +1 -1
  395. package/lib/core/forest/forest.js.map +1 -1
  396. package/lib/core/index.d.ts +1 -1
  397. package/lib/core/index.d.ts.map +1 -1
  398. package/lib/core/index.js +1 -1
  399. package/lib/core/index.js.map +1 -1
  400. package/lib/core/rebase/changeRebaser.d.ts +8 -1
  401. package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
  402. package/lib/core/rebase/changeRebaser.js.map +1 -1
  403. package/lib/core/rebase/revisionTagCodec.d.ts +4 -3
  404. package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
  405. package/lib/core/rebase/revisionTagCodec.js +2 -0
  406. package/lib/core/rebase/revisionTagCodec.js.map +1 -1
  407. package/lib/core/rebase/utils.d.ts +2 -2
  408. package/lib/core/rebase/utils.d.ts.map +1 -1
  409. package/lib/core/rebase/utils.js +4 -4
  410. package/lib/core/rebase/utils.js.map +1 -1
  411. package/lib/core/schema-stored/formatV2.d.ts +1 -1
  412. package/lib/core/schema-stored/formatV2.js +1 -1
  413. package/lib/core/schema-stored/formatV2.js.map +1 -1
  414. package/lib/core/tree/anchorSet.d.ts +8 -0
  415. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  416. package/lib/core/tree/anchorSet.js +42 -7
  417. package/lib/core/tree/anchorSet.js.map +1 -1
  418. package/lib/core/tree/cursor.d.ts +25 -1
  419. package/lib/core/tree/cursor.d.ts.map +1 -1
  420. package/lib/core/tree/cursor.js +43 -0
  421. package/lib/core/tree/cursor.js.map +1 -1
  422. package/lib/core/tree/deltaUtil.d.ts +13 -1
  423. package/lib/core/tree/deltaUtil.d.ts.map +1 -1
  424. package/lib/core/tree/deltaUtil.js +31 -0
  425. package/lib/core/tree/deltaUtil.js.map +1 -1
  426. package/lib/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
  427. package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
  428. package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
  429. package/lib/core/tree/index.d.ts +2 -2
  430. package/lib/core/tree/index.d.ts.map +1 -1
  431. package/lib/core/tree/index.js +2 -2
  432. package/lib/core/tree/index.js.map +1 -1
  433. package/lib/core/tree/visitDelta.d.ts +11 -0
  434. package/lib/core/tree/visitDelta.d.ts.map +1 -1
  435. package/lib/core/tree/visitDelta.js +1 -1
  436. package/lib/core/tree/visitDelta.js.map +1 -1
  437. package/lib/core/tree/visitorUtils.d.ts.map +1 -1
  438. package/lib/core/tree/visitorUtils.js +5 -0
  439. package/lib/core/tree/visitorUtils.js.map +1 -1
  440. package/lib/entrypoints/alpha.d.ts +1 -1
  441. package/lib/entrypoints/alpha.d.ts.map +1 -1
  442. package/lib/entrypoints/alpha.js +2 -2
  443. package/lib/entrypoints/alpha.js.map +1 -1
  444. package/lib/entrypoints/beta.js +1 -1
  445. package/lib/entrypoints/beta.js.map +1 -1
  446. package/lib/entrypoints/legacy.d.ts +1 -1
  447. package/lib/entrypoints/legacy.d.ts.map +1 -1
  448. package/lib/entrypoints/legacy.js +1 -1
  449. package/lib/entrypoints/legacy.js.map +1 -1
  450. package/lib/entrypoints/public.js +1 -1
  451. package/lib/entrypoints/public.js.map +1 -1
  452. package/lib/feature-libraries/changeAtomIdCodec.d.ts +4 -3
  453. package/lib/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
  454. package/lib/feature-libraries/changeAtomIdCodec.js +2 -0
  455. package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
  456. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
  457. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  458. package/lib/feature-libraries/chunked-forest/chunkedForest.js +2 -2
  459. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  460. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
  461. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  462. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +4 -4
  463. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  464. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
  465. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
  466. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
  467. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
  468. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
  469. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
  470. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
  471. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  472. package/lib/feature-libraries/chunked-forest/codec/codecs.js +1 -1
  473. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  474. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
  475. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  476. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
  477. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  478. package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
  479. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
  480. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
  481. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
  482. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
  483. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +112 -0
  484. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
  485. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
  486. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
  487. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +13 -0
  488. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
  489. package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
  490. package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
  491. package/lib/feature-libraries/chunked-forest/codec/format/index.js +8 -0
  492. package/lib/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
  493. package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
  494. package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
  495. package/lib/feature-libraries/chunked-forest/codec/format/versions.js +26 -0
  496. package/lib/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
  497. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
  498. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  499. package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
  500. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  501. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
  502. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  503. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  504. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
  505. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
  506. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +4 -2
  507. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
  508. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
  509. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
  510. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +1 -1
  511. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
  512. package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
  513. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  514. package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
  515. package/lib/feature-libraries/cursorComparator.d.ts +23 -0
  516. package/lib/feature-libraries/cursorComparator.d.ts.map +1 -0
  517. package/lib/feature-libraries/cursorComparator.js +61 -0
  518. package/lib/feature-libraries/cursorComparator.js.map +1 -0
  519. package/lib/feature-libraries/forest-summary/codec.d.ts +1 -1
  520. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
  521. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
  522. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  523. package/lib/feature-libraries/index.d.ts +3 -2
  524. package/lib/feature-libraries/index.d.ts.map +1 -1
  525. package/lib/feature-libraries/index.js +3 -2
  526. package/lib/feature-libraries/index.js.map +1 -1
  527. package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
  528. package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
  529. package/lib/feature-libraries/indexing/anchorTreeIndex.js +12 -7
  530. package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
  531. package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
  532. package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
  533. package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
  534. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
  535. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  536. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  537. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  538. package/lib/feature-libraries/modular-schema/genericFieldKind.js +0 -1
  539. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  540. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
  541. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  542. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
  543. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  544. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
  545. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
  546. package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
  547. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
  548. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  549. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  550. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
  551. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  552. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +4 -3
  553. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  554. package/lib/feature-libraries/object-forest/objectForest.d.ts +1 -1
  555. package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  556. package/lib/feature-libraries/object-forest/objectForest.js +2 -2
  557. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  558. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
  559. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
  560. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +1 -1
  561. package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
  562. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
  563. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  564. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  565. package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
  566. package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
  567. package/lib/feature-libraries/schema-edits/index.js +1 -1
  568. package/lib/feature-libraries/schema-edits/index.js.map +1 -1
  569. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
  570. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  571. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -50
  572. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  573. package/lib/feature-libraries/schema-index/codec.d.ts +3 -16
  574. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  575. package/lib/feature-libraries/schema-index/codec.js +0 -19
  576. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  577. package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
  578. package/lib/feature-libraries/schema-index/formatV2.js +1 -1
  579. package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
  580. package/lib/feature-libraries/schema-index/index.d.ts +1 -1
  581. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
  582. package/lib/feature-libraries/schema-index/index.js +1 -1
  583. package/lib/feature-libraries/schema-index/index.js.map +1 -1
  584. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
  585. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
  586. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
  587. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
  588. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
  589. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +1 -1
  590. package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
  591. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
  592. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  593. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  594. package/lib/index.d.ts +2 -2
  595. package/lib/index.d.ts.map +1 -1
  596. package/lib/index.js +1 -1
  597. package/lib/index.js.map +1 -1
  598. package/lib/packageVersion.d.ts +1 -1
  599. package/lib/packageVersion.js +1 -1
  600. package/lib/packageVersion.js.map +1 -1
  601. package/lib/shared-tree/independentView.d.ts +1 -1
  602. package/lib/shared-tree/independentView.d.ts.map +1 -1
  603. package/lib/shared-tree/independentView.js +4 -11
  604. package/lib/shared-tree/independentView.js.map +1 -1
  605. package/lib/shared-tree/index.d.ts +2 -2
  606. package/lib/shared-tree/index.d.ts.map +1 -1
  607. package/lib/shared-tree/index.js +1 -1
  608. package/lib/shared-tree/index.js.map +1 -1
  609. package/lib/shared-tree/schematizingTreeView.d.ts +2 -36
  610. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  611. package/lib/shared-tree/schematizingTreeView.js +17 -116
  612. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  613. package/lib/shared-tree/sharedTree.d.ts +3 -22
  614. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  615. package/lib/shared-tree/sharedTree.js +11 -27
  616. package/lib/shared-tree/sharedTree.js.map +1 -1
  617. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
  618. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  619. package/lib/shared-tree/sharedTreeChangeCodecs.js +19 -12
  620. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  621. package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
  622. package/lib/shared-tree/sharedTreeChangeEnricher.js +2 -2
  623. package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
  624. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
  625. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  626. package/lib/shared-tree/sharedTreeChangeFamily.js +2 -2
  627. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  628. package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  629. package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  630. package/lib/shared-tree/sharedTreeChangeFormat.js +11 -5
  631. package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  632. package/lib/shared-tree/tree.d.ts.map +1 -1
  633. package/lib/shared-tree/tree.js +2 -1
  634. package/lib/shared-tree/tree.js.map +1 -1
  635. package/lib/shared-tree/treeAlpha.d.ts +13 -1
  636. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  637. package/lib/shared-tree/treeAlpha.js +3 -0
  638. package/lib/shared-tree/treeAlpha.js.map +1 -1
  639. package/lib/shared-tree/treeCheckout.d.ts +34 -69
  640. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  641. package/lib/shared-tree/treeCheckout.js +889 -683
  642. package/lib/shared-tree/treeCheckout.js.map +1 -1
  643. package/lib/shared-tree/unhydratedTreeContext.js +1 -1
  644. package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
  645. package/lib/shared-tree-core/editManagerCodecs.d.ts +23 -12
  646. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  647. package/lib/shared-tree-core/editManagerCodecs.js +41 -65
  648. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  649. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  650. package/lib/shared-tree-core/editManagerCodecsCommons.js +0 -1
  651. package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  652. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
  653. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  654. package/lib/shared-tree-core/editManagerCodecsV1toV4.js +16 -11
  655. package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  656. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
  657. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  658. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +5 -8
  659. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  660. package/lib/shared-tree-core/index.d.ts +3 -3
  661. package/lib/shared-tree-core/index.d.ts.map +1 -1
  662. package/lib/shared-tree-core/index.js +3 -3
  663. package/lib/shared-tree-core/index.js.map +1 -1
  664. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
  665. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  666. package/lib/shared-tree-core/messageCodecV1ToV4.js +8 -8
  667. package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  668. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
  669. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  670. package/lib/shared-tree-core/messageCodecVSharedBranches.js +5 -4
  671. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  672. package/lib/shared-tree-core/messageCodecs.d.ts +15 -14
  673. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  674. package/lib/shared-tree-core/messageCodecs.js +38 -71
  675. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  676. package/lib/shared-tree-core/messageFormat.d.ts +0 -1
  677. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
  678. package/lib/shared-tree-core/messageFormat.js +0 -1
  679. package/lib/shared-tree-core/messageFormat.js.map +1 -1
  680. package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -3
  681. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  682. package/lib/shared-tree-core/sharedTreeCore.js +14 -4
  683. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  684. package/lib/sharedTreeAttributes.d.ts.map +1 -1
  685. package/lib/sharedTreeAttributes.js +3 -0
  686. package/lib/sharedTreeAttributes.js.map +1 -1
  687. package/lib/simple-tree/api/index.d.ts +1 -0
  688. package/lib/simple-tree/api/index.d.ts.map +1 -1
  689. package/lib/simple-tree/api/index.js.map +1 -1
  690. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  691. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  692. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +2 -2
  693. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  694. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  695. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  696. package/lib/simple-tree/api/storedSchema.js +7 -7
  697. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  698. package/lib/simple-tree/api/tree.d.ts +7 -19
  699. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  700. package/lib/simple-tree/api/tree.js.map +1 -1
  701. package/lib/simple-tree/api/treeAlpha.d.ts +69 -0
  702. package/lib/simple-tree/api/treeAlpha.d.ts.map +1 -0
  703. package/lib/simple-tree/api/treeAlpha.js +6 -0
  704. package/lib/simple-tree/api/treeAlpha.js.map +1 -0
  705. package/lib/simple-tree/api/treeBeta.d.ts +1 -1
  706. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  707. package/lib/simple-tree/api/treeChangeEvents.d.ts +3 -0
  708. package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
  709. package/lib/simple-tree/api/treeChangeEvents.js.map +1 -1
  710. package/lib/simple-tree/api/treeNodeApi.d.ts +49 -0
  711. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  712. package/lib/simple-tree/api/treeNodeApi.js +41 -2
  713. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  714. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  715. package/lib/simple-tree/core/treeNodeKernel.js +45 -8
  716. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  717. package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
  718. package/lib/simple-tree/core/unhydratedFlexTree.js +5 -1
  719. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  720. package/lib/simple-tree/index.d.ts +2 -2
  721. package/lib/simple-tree/index.d.ts.map +1 -1
  722. package/lib/simple-tree/index.js.map +1 -1
  723. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
  724. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  725. package/lib/simple-tree/node-kinds/array/arrayNode.js +23 -0
  726. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  727. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
  728. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  729. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  730. package/lib/simple-tree/node-kinds/array/index.d.ts +2 -2
  731. package/lib/simple-tree/node-kinds/array/index.d.ts.map +1 -1
  732. package/lib/simple-tree/node-kinds/array/index.js.map +1 -1
  733. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  734. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  735. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  736. package/lib/text/textDomainFormatted.d.ts +319 -9
  737. package/lib/text/textDomainFormatted.d.ts.map +1 -1
  738. package/lib/text/textDomainFormatted.js +103 -28
  739. package/lib/text/textDomainFormatted.js.map +1 -1
  740. package/lib/treeFactory.d.ts.map +1 -1
  741. package/lib/treeFactory.js +6 -3
  742. package/lib/treeFactory.js.map +1 -1
  743. package/lib/util/referenceCounting.d.ts.map +1 -1
  744. package/lib/util/referenceCounting.js +0 -1
  745. package/lib/util/referenceCounting.js.map +1 -1
  746. package/package.json +27 -27
  747. package/scripts/generate-entrypoint-sources.sh +4 -2
  748. package/src/api.ts +11 -0
  749. package/src/codec/codec.ts +32 -2
  750. package/src/codec/index.ts +2 -3
  751. package/src/codec/versioned/codec.ts +99 -109
  752. package/src/codec/versioned/index.ts +1 -3
  753. package/src/core/forest/forest.ts +5 -2
  754. package/src/core/index.ts +4 -0
  755. package/src/core/rebase/changeRebaser.ts +8 -0
  756. package/src/core/rebase/revisionTagCodec.ts +4 -4
  757. package/src/core/rebase/utils.ts +9 -2
  758. package/src/core/schema-stored/formatV2.ts +1 -1
  759. package/src/core/tree/anchorSet.ts +67 -10
  760. package/src/core/tree/cursor.ts +52 -1
  761. package/src/core/tree/deltaUtil.ts +37 -1
  762. package/src/core/tree/detachedFieldIndexCodecs.ts +4 -4
  763. package/src/core/tree/index.ts +4 -0
  764. package/src/core/tree/visitDelta.ts +13 -1
  765. package/src/core/tree/visitorUtils.ts +5 -0
  766. package/src/entrypoints/alpha.ts +13 -6
  767. package/src/entrypoints/beta.ts +2 -2
  768. package/src/entrypoints/legacy.ts +11 -3
  769. package/src/entrypoints/public.ts +1 -1
  770. package/src/feature-libraries/changeAtomIdCodec.ts +8 -7
  771. package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -2
  772. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +18 -13
  773. package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +1 -1
  774. package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -2
  775. package/src/feature-libraries/chunked-forest/codec/codecs.ts +16 -10
  776. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +16 -14
  777. package/src/feature-libraries/chunked-forest/codec/{formatGeneric.ts → format/formatGeneric.ts} +1 -1
  778. package/src/feature-libraries/chunked-forest/codec/{format.ts → format/formatV1.ts} +41 -111
  779. package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +31 -0
  780. package/src/feature-libraries/chunked-forest/codec/format/index.ts +31 -0
  781. package/src/feature-libraries/chunked-forest/codec/format/versions.ts +81 -0
  782. package/src/feature-libraries/chunked-forest/codec/index.ts +6 -2
  783. package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +19 -12
  784. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +6 -4
  785. package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +10 -10
  786. package/src/feature-libraries/chunked-forest/index.ts +2 -1
  787. package/src/feature-libraries/cursorComparator.ts +77 -0
  788. package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +5 -5
  789. package/src/feature-libraries/index.ts +5 -3
  790. package/src/feature-libraries/indexing/anchorTreeIndex.ts +20 -10
  791. package/src/feature-libraries/mitigatedChangeFamily.ts +4 -1
  792. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +4 -5
  793. package/src/feature-libraries/modular-schema/genericFieldKind.ts +0 -1
  794. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +19 -26
  795. package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +4 -4
  796. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -5
  797. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +6 -2
  798. package/src/feature-libraries/object-forest/objectForest.ts +8 -2
  799. package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +11 -13
  800. package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +4 -5
  801. package/src/feature-libraries/schema-edits/index.ts +1 -4
  802. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +10 -78
  803. package/src/feature-libraries/schema-index/codec.ts +0 -25
  804. package/src/feature-libraries/schema-index/formatV2.ts +1 -1
  805. package/src/feature-libraries/schema-index/index.ts +1 -4
  806. package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +6 -6
  807. package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +8 -5
  808. package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +4 -5
  809. package/src/index.ts +10 -3
  810. package/src/packageVersion.ts +1 -1
  811. package/src/shared-tree/independentView.ts +5 -18
  812. package/src/shared-tree/index.ts +0 -4
  813. package/src/shared-tree/schematizingTreeView.ts +19 -165
  814. package/src/shared-tree/sharedTree.ts +16 -59
  815. package/src/shared-tree/sharedTreeChangeCodecs.ts +23 -29
  816. package/src/shared-tree/sharedTreeChangeEnricher.ts +1 -2
  817. package/src/shared-tree/sharedTreeChangeFamily.ts +2 -0
  818. package/src/shared-tree/sharedTreeChangeFormat.ts +23 -8
  819. package/src/shared-tree/tree.ts +2 -5
  820. package/src/shared-tree/treeAlpha.ts +26 -0
  821. package/src/shared-tree/treeCheckout.ts +275 -99
  822. package/src/shared-tree/unhydratedTreeContext.ts +1 -1
  823. package/src/shared-tree-core/editManagerCodecs.ts +99 -124
  824. package/src/shared-tree-core/editManagerCodecsCommons.ts +0 -1
  825. package/src/shared-tree-core/editManagerCodecsV1toV4.ts +54 -59
  826. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +72 -95
  827. package/src/shared-tree-core/index.ts +4 -8
  828. package/src/shared-tree-core/messageCodecV1ToV4.ts +56 -71
  829. package/src/shared-tree-core/messageCodecVSharedBranches.ts +76 -92
  830. package/src/shared-tree-core/messageCodecs.ts +88 -126
  831. package/src/shared-tree-core/messageFormat.ts +0 -3
  832. package/src/shared-tree-core/sharedTreeCore.ts +14 -21
  833. package/src/sharedTreeAttributes.ts +3 -0
  834. package/src/simple-tree/api/index.ts +10 -0
  835. package/src/simple-tree/api/schemaFactory.ts +0 -2
  836. package/src/simple-tree/api/schemaFactoryAlpha.ts +13 -2
  837. package/src/simple-tree/api/storedSchema.ts +8 -19
  838. package/src/simple-tree/api/tree.ts +7 -20
  839. package/src/simple-tree/api/treeAlpha.ts +90 -0
  840. package/src/simple-tree/api/treeBeta.ts +1 -1
  841. package/src/simple-tree/api/treeChangeEvents.ts +3 -0
  842. package/src/simple-tree/api/treeNodeApi.ts +95 -3
  843. package/src/simple-tree/core/treeNodeKernel.ts +53 -7
  844. package/src/simple-tree/core/unhydratedFlexTree.ts +5 -1
  845. package/src/simple-tree/index.ts +10 -0
  846. package/src/simple-tree/node-kinds/array/arrayNode.ts +64 -0
  847. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +25 -1
  848. package/src/simple-tree/node-kinds/array/index.ts +2 -0
  849. package/src/simple-tree/node-kinds/index.ts +2 -0
  850. package/src/text/textDomainFormatted.ts +113 -11
  851. package/src/treeFactory.ts +10 -5
  852. package/src/util/referenceCounting.ts +0 -1
  853. package/dist/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
  854. package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
  855. package/dist/feature-libraries/chunked-forest/codec/format.js +0 -191
  856. package/dist/feature-libraries/chunked-forest/codec/format.js.map +0 -1
  857. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
  858. package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
  859. package/lib/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
  860. package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
  861. package/lib/feature-libraries/chunked-forest/codec/format.js +0 -188
  862. package/lib/feature-libraries/chunked-forest/codec/format.js.map +0 -1
  863. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
  864. package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
  865. /package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
  866. /package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
@@ -60,33 +60,29 @@ import {
60
60
  forestCodecBuilder,
61
61
  jsonableTreeFromFieldCursor,
62
62
  makeMitigatedChangeFamily,
63
- makeSchemaCodec,
64
63
  makeTreeChunker,
65
64
  type IncrementalEncodingPolicy,
66
65
  } from "../feature-libraries/index.js";
67
- // eslint-disable-next-line import-x/no-internal-modules
68
- import { schemaCodecBuilder, type FormatV1 } from "../feature-libraries/schema-index/index.js";
66
+ import { schemaCodecBuilder } from "../feature-libraries/index.js";
69
67
  import {
70
68
  type BranchId,
71
- clientVersionToEditManagerFormatVersion,
72
- clientVersionToMessageFormatVersion,
73
69
  type ClonableSchemaAndPolicy,
74
70
  getCodecTreeForEditManagerFormatWithChange,
75
71
  getCodecTreeForMessageFormatWithChange,
72
+ makeMessageCodecBuilder,
76
73
  type SharedTreeCoreOptionsInternal,
77
74
  MessageFormatVersion,
78
75
  SharedTreeCore,
79
76
  EditManagerFormatVersion,
77
+ makeEditManagerCodecBuilder,
80
78
  } from "../shared-tree-core/index.js";
81
79
  import {
82
- type ITree,
83
80
  type ImplicitFieldSchema,
84
81
  NodeKind,
85
82
  type ReadSchema,
86
83
  type SimpleFieldSchema,
87
84
  type SimpleTreeSchema,
88
85
  type TreeView,
89
- type TreeViewAlpha,
90
86
  type TreeViewConfiguration,
91
87
  type UnsafeUnknownSchema,
92
88
  type VerboseTree,
@@ -105,7 +101,7 @@ import {
105
101
  throwIfBroken,
106
102
  } from "../util/index.js";
107
103
 
108
- import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
104
+ import type { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
109
105
  import {
110
106
  getCodecTreeForChangeFormat,
111
107
  SharedTreeChangeFormatVersion,
@@ -113,7 +109,7 @@ import {
113
109
  import { SharedTreeChangeFamily } from "./sharedTreeChangeFamily.js";
114
110
  import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
115
111
  import type { SharedTreeEditBuilder } from "./sharedTreeEditBuilder.js";
116
- import { type TreeCheckout, type BranchableTree, createTreeCheckout } from "./treeCheckout.js";
112
+ import { type TreeCheckout, createTreeCheckout } from "./treeCheckout.js";
117
113
 
118
114
  /**
119
115
  * Copy of data from an {@link ITreePrivate} at some point in time.
@@ -231,7 +227,7 @@ export class SharedTreeKernel
231
227
  idCompressor,
232
228
  options,
233
229
  );
234
- const schemaCodec = makeSchemaCodec(options);
230
+ const schemaCodec = schemaCodecBuilder.build(options);
235
231
  const schemaSummarizer = new SchemaSummarizer(
236
232
  schema,
237
233
  {
@@ -404,7 +400,7 @@ export class SharedTreeKernel
404
400
  }
405
401
 
406
402
  private checkoutBranch(branchId: BranchId): TreeCheckout {
407
- const checkout = this.checkout.branch();
403
+ const checkout = this.checkout.fork();
408
404
  checkout.switchBranch(this.getSharedBranch(branchId));
409
405
  this.registerSharedBranchForEditing(branchId, checkout);
410
406
  this.registerCheckout(branchId, checkout);
@@ -498,56 +494,17 @@ export function persistedToSimpleSchema(
498
494
  persisted: JsonCompatible,
499
495
  options: ICodecOptions,
500
496
  ): SimpleTreeSchema {
501
- // Any version can be passed down to makeSchemaCodec here.
502
- // We only use the decode part, which always dispatches to the correct codec based on the version in the data, not the version passed to `makeSchemaCodec`.
503
- const schemaCodec = makeSchemaCodec({
504
- ...options,
505
- minVersionForCollab: FluidClientVersion.v2_0,
506
- });
507
- const stored = schemaCodec.decode(persisted as FormatV1);
497
+ const schemaCodec = schemaCodecBuilder.buildDecoder(options);
498
+ const stored = schemaCodec.decode(persisted);
508
499
  return exportSimpleSchema(stored);
509
500
  }
510
501
 
511
- /**
512
- * Get a {@link BranchableTree} from a {@link ITree}.
513
- * @remarks The branch can be used for "version control"-style coordination of edits on the tree.
514
- * @privateRemarks This function will be removed if/when the branching API becomes public,
515
- * but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
516
- * @alpha
517
- * @deprecated This API is superseded by {@link TreeBranch}, which should be used instead.
518
- */
519
- export function getBranch(tree: ITree): BranchableTree;
520
- /**
521
- * Get a {@link BranchableTree} from a {@link TreeView}.
522
- * @remarks The branch can be used for "version control"-style coordination of edits on the tree.
523
- * Branches are currently an unstable "alpha" API and are subject to change in the future.
524
- * @privateRemarks This function will be removed if/when the branching API becomes public,
525
- * but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
526
- * @alpha
527
- * @deprecated This API is superseded by {@link TreeBranch}, which should be used instead.
528
- */
529
- export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
530
- view: TreeViewAlpha<T>,
531
- ): BranchableTree;
532
- export function getBranch<T extends ImplicitFieldSchema | UnsafeUnknownSchema>(
533
- treeOrView: ITree | TreeViewAlpha<T>,
534
- ): BranchableTree {
535
- if (treeOrView instanceof SchematizingSimpleTreeView) {
536
- return treeOrView.checkout as unknown as BranchableTree;
537
- }
538
- const kernel = (treeOrView as ITree as ITreePrivate).kernel;
539
- assert(kernel instanceof SharedTreeKernel, 0xb56 /* Invalid ITree */);
540
- // This cast is safe so long as TreeCheckout supports all the operations on the branch interface.
541
- return kernel.checkout as unknown as BranchableTree;
542
- }
543
-
544
502
  /**
545
503
  * Defines for each EditManagerFormatVersion the SharedTreeChangeFormatVersion to use.
546
504
  * This is an arbitrary mapping that is injected in the EditManger codec.
547
505
  * Once an entry is defined and used in production, it cannot be changed.
548
506
  * This is because the format for SharedTree changes are not explicitly versioned.
549
507
  */
550
- // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison -- intentional comparison
551
508
  export const changeFormatVersionForEditManager = DependentFormatVersion.fromPairs<
552
509
  EditManagerFormatVersion,
553
510
  SharedTreeChangeFormatVersion
@@ -575,17 +532,19 @@ export const changeFormatVersionForMessage = DependentFormatVersion.fromPairs<
575
532
  ]);
576
533
 
577
534
  function getCodecTreeForEditManagerFormat(clientVersion: MinimumVersionForCollab): CodecTree {
578
- const change = changeFormatVersionForEditManager.lookup(
579
- clientVersionToEditManagerFormatVersion(clientVersion),
580
- );
535
+ const editManagerVersion = makeEditManagerCodecBuilder().getCodecTree(clientVersion).version;
536
+ const change = changeFormatVersionForEditManager.lookup(editManagerVersion);
581
537
  const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
582
538
  return getCodecTreeForEditManagerFormatWithChange(clientVersion, changeCodecTree);
583
539
  }
584
540
 
585
541
  function getCodecTreeForMessageFormat(clientVersion: MinimumVersionForCollab): CodecTree {
586
- const change = changeFormatVersionForMessage.lookup(
587
- clientVersionToMessageFormatVersion(clientVersion),
542
+ const messageVersion = makeMessageCodecBuilder().getCodecTree(clientVersion).version;
543
+ assert(
544
+ messageVersion !== undefined,
545
+ 0xce3 /* Deprecated 'undefined' version shouldn't be selected */,
588
546
  );
547
+ const change = changeFormatVersionForMessage.lookup(messageVersion);
589
548
  const changeCodecTree = getCodecTreeForChangeFormat(change, clientVersion);
590
549
  return getCodecTreeForMessageFormatWithChange(clientVersion, changeCodecTree);
591
550
  }
@@ -764,8 +723,6 @@ export const defaultSharedTreeOptions: Required<SharedTreeOptionsInternal> = {
764
723
  treeEncodeType: TreeCompressionStrategy.Compressed,
765
724
  disposeForksAfterTransaction: true,
766
725
  shouldEncodeIncrementally: defaultIncrementalEncodingPolicy,
767
- editManagerFormatSelector: clientVersionToEditManagerFormatVersion,
768
- messageFormatSelector: clientVersionToMessageFormatVersion,
769
726
  enableSharedBranches: false,
770
727
  writeVersionOverrides: new Map(),
771
728
  allowPossiblyIncompatibleWriteVersionOverrides: false,
@@ -12,24 +12,18 @@ import {
12
12
  DiscriminatedUnionDispatcher,
13
13
  type FormatVersion,
14
14
  type ICodecFamily,
15
- type ICodecOptions,
16
15
  type IJsonCodec,
17
16
  makeCodecFamily,
18
17
  withSchemaValidation,
19
18
  } from "../codec/index.js";
20
- import {
21
- type ChangeEncodingContext,
22
- SchemaFormatVersion,
23
- type TreeStoredSchema,
24
- } from "../core/index.js";
19
+ import type { ChangeEncodingContext, TreeStoredSchema } from "../core/index.js";
25
20
  import {
26
21
  ModularChangeFormatVersion,
27
22
  type ModularChangeset,
28
- type SchemaChange,
29
23
  defaultSchemaPolicy,
30
24
  getCodecTreeForModularChangeFormat,
31
- getCodecTreeForSchemaChangeFormat,
32
- makeSchemaChangeCodecs,
25
+ makeSchemaChangeCodec,
26
+ schemaCodecBuilder,
33
27
  } from "../feature-libraries/index.js";
34
28
  import {
35
29
  strictEnum,
@@ -48,7 +42,6 @@ export function makeSharedTreeChangeCodecFamily(
48
42
  modularChangeCodecFamily: ICodecFamily<ModularChangeset, ChangeEncodingContext>,
49
43
  options: CodecWriteOptions,
50
44
  ): ICodecFamily<SharedTreeChange, ChangeEncodingContext> {
51
- const schemaChangeCodecs = makeSchemaChangeCodecs(options);
52
45
  const versions: [
53
46
  FormatVersion,
54
47
  IJsonCodec<
@@ -57,22 +50,15 @@ export function makeSharedTreeChangeCodecFamily(
57
50
  EncodedSharedTreeChange,
58
51
  ChangeEncodingContext
59
52
  >,
60
- ][] = [...dependenciesForChangeFormat.entries()].map(
61
- ([format, { modularChange, schemaChange }]) => [
62
- format,
63
- makeSharedTreeChangeCodec(
64
- modularChangeCodecFamily.resolve(modularChange),
65
- schemaChangeCodecs.resolve(schemaChange),
66
- options,
67
- ),
68
- ],
69
- );
53
+ ][] = [...dependenciesForChangeFormat.entries()].map(([format, { modularChange }]) => [
54
+ format,
55
+ makeSharedTreeChangeCodec(modularChangeCodecFamily.resolve(modularChange), options),
56
+ ]);
70
57
  return makeCodecFamily(versions);
71
58
  }
72
59
 
73
60
  interface ChangeFormatDependencies {
74
61
  readonly modularChange: ModularChangeFormatVersion;
75
- readonly schemaChange: SchemaFormatVersion;
76
62
  }
77
63
 
78
64
  /**
@@ -107,6 +93,8 @@ export type SharedTreeChangeFormatVersion = Values<typeof SharedTreeChangeFormat
107
93
  * This is an arbitrary mapping that is injected in the SharedTree change codec.
108
94
  * Once an entry is defined and used in production, it cannot be changed.
109
95
  * This is because the format for the dependent formats are not explicitly versioned.
96
+ * @remarks
97
+ * SchemaFormatVersion (used by SchemaChangeFormat) is not included here since it is explicitly versioned.
110
98
  */
111
99
  export const dependenciesForChangeFormat = new Map<
112
100
  SharedTreeChangeFormatVersion,
@@ -114,15 +102,21 @@ export const dependenciesForChangeFormat = new Map<
114
102
  >([
115
103
  [
116
104
  SharedTreeChangeFormatVersion.v3,
117
- { modularChange: ModularChangeFormatVersion.v3, schemaChange: SchemaFormatVersion.v1 },
105
+ {
106
+ modularChange: ModularChangeFormatVersion.v3,
107
+ },
118
108
  ],
119
109
  [
120
110
  SharedTreeChangeFormatVersion.v4,
121
- { modularChange: ModularChangeFormatVersion.v4, schemaChange: SchemaFormatVersion.v1 },
111
+ {
112
+ modularChange: ModularChangeFormatVersion.v4,
113
+ },
122
114
  ],
123
115
  [
124
116
  SharedTreeChangeFormatVersion.v5,
125
- { modularChange: ModularChangeFormatVersion.v5, schemaChange: SchemaFormatVersion.v1 },
117
+ {
118
+ modularChange: ModularChangeFormatVersion.v5,
119
+ },
126
120
  ],
127
121
  ]);
128
122
 
@@ -130,14 +124,14 @@ export function getCodecTreeForChangeFormat(
130
124
  version: SharedTreeChangeFormatVersion,
131
125
  clientVersion: MinimumVersionForCollab,
132
126
  ): CodecTree {
133
- const { modularChange, schemaChange } =
127
+ const { modularChange } =
134
128
  dependenciesForChangeFormat.get(version) ?? fail(0xc78 /* Unknown change format */);
135
129
  return {
136
130
  name: "SharedTreeChange",
137
131
  version,
138
132
  children: [
139
133
  getCodecTreeForModularChangeFormat(modularChange),
140
- getCodecTreeForSchemaChangeFormat(schemaChange, clientVersion),
134
+ schemaCodecBuilder.getCodecTree(clientVersion),
141
135
  ],
142
136
  };
143
137
  }
@@ -149,14 +143,14 @@ function makeSharedTreeChangeCodec(
149
143
  JsonCompatibleReadOnly,
150
144
  ChangeEncodingContext
151
145
  >,
152
- schemaChangeCodec: IJsonCodec<SchemaChange>,
153
- codecOptions: ICodecOptions,
146
+ codecOptions: CodecWriteOptions,
154
147
  ): IJsonCodec<
155
148
  SharedTreeChange,
156
149
  EncodedSharedTreeChange,
157
150
  EncodedSharedTreeChange,
158
151
  ChangeEncodingContext
159
152
  > {
153
+ const schemaChangeCodec = makeSchemaChangeCodec(codecOptions);
160
154
  const decoderLibrary = new DiscriminatedUnionDispatcher<
161
155
  EncodedSharedTreeInnerChange,
162
156
  [context: ChangeEncodingContext],
@@ -177,7 +171,7 @@ function makeSharedTreeChangeCodec(
177
171
  });
178
172
 
179
173
  return withSchemaValidation(
180
- EncodedSharedTreeChange,
174
+ EncodedSharedTreeChange(schemaChangeCodec.encodedSchema),
181
175
  {
182
176
  encode: (change, context) => {
183
177
  const changes: EncodedSharedTreeInnerChange[] = [];
@@ -7,7 +7,6 @@ import { unreachableCase } from "@fluidframework/core-utils/internal";
7
7
  import type { IIdCompressor } from "@fluidframework/id-compressor";
8
8
 
9
9
  import {
10
- AnchorSet,
11
10
  type DeltaDetachedNodeId,
12
11
  type DetachedFieldIndex,
13
12
  type IEditableForest,
@@ -118,7 +117,7 @@ export class SharedTreeChangeEnricher {
118
117
  if (this.owned === undefined) {
119
118
  this.onForkState?.();
120
119
  this.owned = {
121
- forest: this.borrowed.forest.clone(this.schema, new AnchorSet()),
120
+ forest: this.borrowed.forest.clone(this.schema),
122
121
  removedRoots: this.borrowed.removedRoots.clone(),
123
122
  };
124
123
  }
@@ -168,6 +168,7 @@ export class SharedTreeChangeFamily
168
168
  change: TaggedChange<SharedTreeChange>,
169
169
  over: TaggedChange<SharedTreeChange>,
170
170
  revisionMetadata: RevisionMetadataSource,
171
+ ignoreNoChangeViolation?: boolean,
171
172
  ): SharedTreeChange {
172
173
  if (change.change.changes.length === 0 || over.change.changes.length === 0) {
173
174
  return change.change;
@@ -204,6 +205,7 @@ export class SharedTreeChangeFamily
204
205
  mapTaggedChange(change, dataChangeIntention.innerChange),
205
206
  mapTaggedChange(over, dataChangeOver.innerChange),
206
207
  revisionMetadata,
208
+ ignoreNoChangeViolation,
207
209
  ),
208
210
  },
209
211
  ],
@@ -3,17 +3,32 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { type Static, Type } from "@sinclair/typebox";
6
+ import { type Static, type TSchema, Type } from "@sinclair/typebox";
7
7
 
8
+ import type { EncodedSchemaChange } from "../feature-libraries/index.js";
8
9
  import { JsonCompatibleReadOnlySchema } from "../util/index.js";
9
10
 
10
- export const EncodedSharedTreeInnerChange = Type.Object({
11
- schema: Type.Optional(JsonCompatibleReadOnlySchema),
12
- data: Type.Optional(JsonCompatibleReadOnlySchema),
13
- });
11
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
12
+ export function EncodedSharedTreeInnerChange<TEncodedSchema extends TSchema>(
13
+ encodedSchemaSchema: TEncodedSchema,
14
+ ) {
15
+ return Type.Object({
16
+ schema: Type.Optional(encodedSchemaSchema),
17
+ data: Type.Optional(JsonCompatibleReadOnlySchema),
18
+ });
19
+ }
14
20
 
15
- export type EncodedSharedTreeInnerChange = Static<typeof EncodedSharedTreeInnerChange>;
21
+ export type EncodedSharedTreeInnerChange<
22
+ TEncodedSchema extends TSchema = typeof EncodedSchemaChange,
23
+ > = Static<ReturnType<typeof EncodedSharedTreeInnerChange<TEncodedSchema>>>;
16
24
 
17
- export const EncodedSharedTreeChange = Type.Array(EncodedSharedTreeInnerChange);
25
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26
+ export function EncodedSharedTreeChange<TEncodedSchema extends TSchema>(
27
+ encodedSchemaSchema: TEncodedSchema,
28
+ ) {
29
+ return Type.Array(EncodedSharedTreeInnerChange(encodedSchemaSchema));
30
+ }
18
31
 
19
- export type EncodedSharedTreeChange = Static<typeof EncodedSharedTreeChange>;
32
+ export type EncodedSharedTreeChange<
33
+ TEncodedSchema extends TSchema = typeof EncodedSchemaChange,
34
+ > = Static<ReturnType<typeof EncodedSharedTreeChange<TEncodedSchema>>>;
@@ -18,11 +18,8 @@ import {
18
18
  type TransactionConstraint,
19
19
  } from "../simple-tree/index.js";
20
20
 
21
- import {
22
- addConstraintsToTransaction,
23
- SchematizingSimpleTreeView,
24
- } from "./schematizingTreeView.js";
25
- import type { ITreeCheckout } from "./treeCheckout.js";
21
+ import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
22
+ import { addConstraintsToTransaction, type ITreeCheckout } from "./treeCheckout.js";
26
23
 
27
24
  /**
28
25
  * Provides various functions for interacting with {@link TreeNode}s.
@@ -75,6 +75,7 @@ import {
75
75
  toInitialSchema,
76
76
  type TreeParsingOptions,
77
77
  type NodeChangedData,
78
+ type TreeChangeEventsAlpha,
78
79
  type ConciseTree,
79
80
  importConcise,
80
81
  exportConcise,
@@ -231,6 +232,23 @@ export interface TreeIdentifierUtils {
231
232
  * @sealed @alpha
232
233
  */
233
234
  export interface TreeAlpha {
235
+ /**
236
+ * Register an event listener on the given node.
237
+ * @param node - The node whose events should be subscribed to.
238
+ * @param eventName - Which event to subscribe to.
239
+ * @param listener - The callback to trigger for the event. The tree can be read during the callback, but it is invalid to modify the tree during this callback.
240
+ * @returns A callback function which will deregister the event.
241
+ * This callback should be called only once.
242
+ * @remarks
243
+ * Provides a richer `nodeChanged` event than {@link (TreeBeta:interface).on} — for array nodes the
244
+ * event data includes a {@link NodeChangedDataDelta.delta | delta} payload.
245
+ */
246
+ on<K extends keyof TreeChangeEventsAlpha<TNode>, TNode extends TreeNode>(
247
+ node: TNode,
248
+ eventName: K,
249
+ listener: NoInfer<TreeChangeEventsAlpha<TNode>[K]>,
250
+ ): () => void;
251
+
234
252
  /**
235
253
  * Retrieve the {@link TreeBranch | branch}, if any, for the given node.
236
254
  * @param node - The node to query
@@ -787,6 +805,14 @@ function trackObservations<TResult>(
787
805
  * @alpha
788
806
  */
789
807
  export const TreeAlpha: TreeAlpha = {
808
+ on<K extends keyof TreeChangeEventsAlpha<TNode>, TNode extends TreeNode>(
809
+ node: TNode,
810
+ eventName: K,
811
+ listener: NoInfer<TreeChangeEventsAlpha<TNode>[K]>,
812
+ ): () => void {
813
+ return treeNodeApi.on(node, eventName, listener);
814
+ },
815
+
790
816
  trackObservations<TResult>(
791
817
  onInvalidation: () => void,
792
818
  trackDuring: () => TResult,