@fluidframework/tree 2.116.1 → 2.118.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 (421) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/api-report/tree.alpha.api.md +122 -31
  3. package/api-report/tree.beta.api.md +50 -9
  4. package/api-report/tree.legacy.beta.api.md +50 -9
  5. package/dist/codec/codec.d.ts +18 -0
  6. package/dist/codec/codec.d.ts.map +1 -1
  7. package/dist/codec/codec.js +18 -0
  8. package/dist/codec/codec.js.map +1 -1
  9. package/dist/core/index.d.ts +2 -2
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +3 -2
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/rebase/index.d.ts +1 -1
  14. package/dist/core/rebase/index.d.ts.map +1 -1
  15. package/dist/core/rebase/index.js +2 -1
  16. package/dist/core/rebase/index.js.map +1 -1
  17. package/dist/core/rebase/types.d.ts +39 -2
  18. package/dist/core/rebase/types.d.ts.map +1 -1
  19. package/dist/core/rebase/types.js +37 -2
  20. package/dist/core/rebase/types.js.map +1 -1
  21. package/dist/core/rebase/utils.d.ts.map +1 -1
  22. package/dist/core/rebase/utils.js +1 -0
  23. package/dist/core/rebase/utils.js.map +1 -1
  24. package/dist/core/revertible.d.ts +62 -6
  25. package/dist/core/revertible.d.ts.map +1 -1
  26. package/dist/core/revertible.js.map +1 -1
  27. package/dist/entrypoints/alpha.d.ts +1 -1
  28. package/dist/entrypoints/alpha.d.ts.map +1 -1
  29. package/dist/entrypoints/alpha.js.map +1 -1
  30. package/dist/entrypoints/beta.d.ts +1 -1
  31. package/dist/entrypoints/beta.d.ts.map +1 -1
  32. package/dist/entrypoints/beta.js.map +1 -1
  33. package/dist/entrypoints/legacy.d.ts +1 -1
  34. package/dist/entrypoints/legacy.d.ts.map +1 -1
  35. package/dist/entrypoints/legacy.js.map +1 -1
  36. package/dist/feature-libraries/index.d.ts +1 -1
  37. package/dist/feature-libraries/index.js.map +1 -1
  38. package/dist/feature-libraries/indexing/types.d.ts +1 -1
  39. package/dist/feature-libraries/indexing/types.js.map +1 -1
  40. package/dist/feature-libraries/schemaChecker.d.ts +9 -19
  41. package/dist/feature-libraries/schemaChecker.d.ts.map +1 -1
  42. package/dist/feature-libraries/schemaChecker.js +130 -46
  43. package/dist/feature-libraries/schemaChecker.js.map +1 -1
  44. package/dist/index.d.ts +2 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/packageVersion.d.ts +1 -1
  48. package/dist/packageVersion.js +1 -1
  49. package/dist/packageVersion.js.map +1 -1
  50. package/dist/shared-tree/history.d.ts +22 -0
  51. package/dist/shared-tree/history.d.ts.map +1 -0
  52. package/dist/shared-tree/history.js +66 -0
  53. package/dist/shared-tree/history.js.map +1 -0
  54. package/dist/shared-tree/schematizingTreeView.d.ts +24 -9
  55. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  56. package/dist/shared-tree/schematizingTreeView.js +61 -11
  57. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  58. package/dist/shared-tree/sharedTree.d.ts +3 -2
  59. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  60. package/dist/shared-tree/sharedTree.js +2 -0
  61. package/dist/shared-tree/sharedTree.js.map +1 -1
  62. package/dist/shared-tree/tree.js +1 -1
  63. package/dist/shared-tree/tree.js.map +1 -1
  64. package/dist/shared-tree/treeAlpha.d.ts +8 -20
  65. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  66. package/dist/shared-tree/treeAlpha.js +9 -12
  67. package/dist/shared-tree/treeAlpha.js.map +1 -1
  68. package/dist/shared-tree/treeCheckout.d.ts +16 -9
  69. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  70. package/dist/shared-tree/treeCheckout.js +122 -25
  71. package/dist/shared-tree/treeCheckout.js.map +1 -1
  72. package/dist/shared-tree/unhydratedTreeContext.d.ts +3 -2
  73. package/dist/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  74. package/dist/shared-tree/unhydratedTreeContext.js +3 -0
  75. package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
  76. package/dist/shared-tree-core/branch.d.ts +16 -2
  77. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  78. package/dist/shared-tree-core/branch.js +20 -2
  79. package/dist/shared-tree-core/branch.js.map +1 -1
  80. package/dist/shared-tree-core/branchCommitCounter.d.ts +31 -0
  81. package/dist/shared-tree-core/branchCommitCounter.d.ts.map +1 -0
  82. package/dist/shared-tree-core/branchCommitCounter.js +79 -0
  83. package/dist/shared-tree-core/branchCommitCounter.js.map +1 -0
  84. package/dist/shared-tree-core/customMetadataCodec.d.ts +9 -0
  85. package/dist/shared-tree-core/customMetadataCodec.d.ts.map +1 -0
  86. package/dist/shared-tree-core/customMetadataCodec.js +37 -0
  87. package/dist/shared-tree-core/customMetadataCodec.js.map +1 -0
  88. package/dist/shared-tree-core/customMetadataFormat.d.ts +18 -0
  89. package/dist/shared-tree-core/customMetadataFormat.d.ts.map +1 -0
  90. package/dist/shared-tree-core/customMetadataFormat.js +15 -0
  91. package/dist/shared-tree-core/customMetadataFormat.js.map +1 -0
  92. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  93. package/dist/shared-tree-core/editManager.js +15 -3
  94. package/dist/shared-tree-core/editManager.js.map +1 -1
  95. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  96. package/dist/shared-tree-core/editManagerCodecs.js +5 -0
  97. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  98. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts +1 -1
  99. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  100. package/dist/shared-tree-core/editManagerCodecsCommons.js +17 -5
  101. package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  102. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  103. package/dist/shared-tree-core/editManagerCodecsV1toV4.js +4 -2
  104. package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  105. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  106. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +2 -2
  107. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  108. package/dist/shared-tree-core/editManagerFormatCommons.d.ts +17 -6
  109. package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  110. package/dist/shared-tree-core/editManagerFormatCommons.js +18 -8
  111. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  112. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +7 -5
  113. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  114. package/dist/shared-tree-core/editManagerFormatV1toV4.js +4 -3
  115. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  116. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +4 -0
  117. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  118. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +2 -2
  119. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  120. package/dist/shared-tree-core/index.d.ts +2 -1
  121. package/dist/shared-tree-core/index.d.ts.map +1 -1
  122. package/dist/shared-tree-core/index.js +3 -1
  123. package/dist/shared-tree-core/index.js.map +1 -1
  124. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -2
  125. package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  126. package/dist/shared-tree-core/messageCodecV1ToV4.js +12 -3
  127. package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  128. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  129. package/dist/shared-tree-core/messageCodecVSharedBranches.js +8 -2
  130. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  131. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  132. package/dist/shared-tree-core/messageCodecs.js +5 -0
  133. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  134. package/dist/shared-tree-core/messageFormat.d.ts +1 -0
  135. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
  136. package/dist/shared-tree-core/messageFormat.js +6 -0
  137. package/dist/shared-tree-core/messageFormat.js.map +1 -1
  138. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +10 -3
  139. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  140. package/dist/shared-tree-core/messageFormatV1ToV4.js +10 -2
  141. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  142. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -0
  143. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  144. package/dist/shared-tree-core/messageFormatVSharedBranches.js +2 -0
  145. package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  146. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  147. package/dist/shared-tree-core/sharedTreeCore.js +4 -2
  148. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  149. package/dist/shared-tree-core/transaction.d.ts +9 -0
  150. package/dist/shared-tree-core/transaction.d.ts.map +1 -1
  151. package/dist/shared-tree-core/transaction.js +26 -4
  152. package/dist/shared-tree-core/transaction.js.map +1 -1
  153. package/dist/simple-tree/api/configuration.d.ts +4 -4
  154. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  155. package/dist/simple-tree/api/configuration.js.map +1 -1
  156. package/dist/simple-tree/api/discrepancies.d.ts +36 -3
  157. package/dist/simple-tree/api/discrepancies.d.ts.map +1 -1
  158. package/dist/simple-tree/api/discrepancies.js +40 -14
  159. package/dist/simple-tree/api/discrepancies.js.map +1 -1
  160. package/dist/simple-tree/api/index.d.ts +3 -2
  161. package/dist/simple-tree/api/index.d.ts.map +1 -1
  162. package/dist/simple-tree/api/index.js +3 -2
  163. package/dist/simple-tree/api/index.js.map +1 -1
  164. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +22 -3
  165. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  166. package/dist/simple-tree/api/schemaCompatibilityTester.js +140 -10
  167. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  168. package/dist/simple-tree/api/transactionTypes.d.ts +28 -2
  169. package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -1
  170. package/dist/simple-tree/api/transactionTypes.js.map +1 -1
  171. package/dist/simple-tree/api/tree.d.ts +353 -68
  172. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  173. package/dist/simple-tree/api/tree.js.map +1 -1
  174. package/dist/simple-tree/core/toStored.d.ts +7 -0
  175. package/dist/simple-tree/core/toStored.d.ts.map +1 -1
  176. package/dist/simple-tree/core/toStored.js.map +1 -1
  177. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  178. package/dist/simple-tree/core/treeNodeValid.js +2 -2
  179. package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
  180. package/dist/simple-tree/index.d.ts +1 -1
  181. package/dist/simple-tree/index.d.ts.map +1 -1
  182. package/dist/simple-tree/index.js +4 -3
  183. package/dist/simple-tree/index.js.map +1 -1
  184. package/dist/tableSchema.js +10 -10
  185. package/dist/tableSchema.js.map +1 -1
  186. package/docs/main/glossary.md +163 -0
  187. package/lib/codec/codec.d.ts +18 -0
  188. package/lib/codec/codec.d.ts.map +1 -1
  189. package/lib/codec/codec.js +18 -0
  190. package/lib/codec/codec.js.map +1 -1
  191. package/lib/core/index.d.ts +2 -2
  192. package/lib/core/index.d.ts.map +1 -1
  193. package/lib/core/index.js +1 -1
  194. package/lib/core/index.js.map +1 -1
  195. package/lib/core/rebase/index.d.ts +1 -1
  196. package/lib/core/rebase/index.d.ts.map +1 -1
  197. package/lib/core/rebase/index.js +1 -1
  198. package/lib/core/rebase/index.js.map +1 -1
  199. package/lib/core/rebase/types.d.ts +39 -2
  200. package/lib/core/rebase/types.d.ts.map +1 -1
  201. package/lib/core/rebase/types.js +35 -1
  202. package/lib/core/rebase/types.js.map +1 -1
  203. package/lib/core/rebase/utils.d.ts.map +1 -1
  204. package/lib/core/rebase/utils.js +1 -0
  205. package/lib/core/rebase/utils.js.map +1 -1
  206. package/lib/core/revertible.d.ts +62 -6
  207. package/lib/core/revertible.d.ts.map +1 -1
  208. package/lib/core/revertible.js.map +1 -1
  209. package/lib/entrypoints/alpha.d.ts +1 -1
  210. package/lib/entrypoints/alpha.d.ts.map +1 -1
  211. package/lib/entrypoints/alpha.js.map +1 -1
  212. package/lib/entrypoints/beta.d.ts +1 -1
  213. package/lib/entrypoints/beta.d.ts.map +1 -1
  214. package/lib/entrypoints/beta.js.map +1 -1
  215. package/lib/entrypoints/legacy.d.ts +1 -1
  216. package/lib/entrypoints/legacy.d.ts.map +1 -1
  217. package/lib/entrypoints/legacy.js.map +1 -1
  218. package/lib/feature-libraries/index.d.ts +1 -1
  219. package/lib/feature-libraries/index.js.map +1 -1
  220. package/lib/feature-libraries/indexing/types.d.ts +1 -1
  221. package/lib/feature-libraries/indexing/types.js.map +1 -1
  222. package/lib/feature-libraries/schemaChecker.d.ts +9 -19
  223. package/lib/feature-libraries/schemaChecker.d.ts.map +1 -1
  224. package/lib/feature-libraries/schemaChecker.js +133 -49
  225. package/lib/feature-libraries/schemaChecker.js.map +1 -1
  226. package/lib/index.d.ts +2 -2
  227. package/lib/index.d.ts.map +1 -1
  228. package/lib/index.js.map +1 -1
  229. package/lib/packageVersion.d.ts +1 -1
  230. package/lib/packageVersion.js +1 -1
  231. package/lib/packageVersion.js.map +1 -1
  232. package/lib/shared-tree/history.d.ts +22 -0
  233. package/lib/shared-tree/history.d.ts.map +1 -0
  234. package/lib/shared-tree/history.js +62 -0
  235. package/lib/shared-tree/history.js.map +1 -0
  236. package/lib/shared-tree/schematizingTreeView.d.ts +24 -9
  237. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  238. package/lib/shared-tree/schematizingTreeView.js +62 -12
  239. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  240. package/lib/shared-tree/sharedTree.d.ts +3 -2
  241. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  242. package/lib/shared-tree/sharedTree.js +2 -0
  243. package/lib/shared-tree/sharedTree.js.map +1 -1
  244. package/lib/shared-tree/tree.js +1 -1
  245. package/lib/shared-tree/tree.js.map +1 -1
  246. package/lib/shared-tree/treeAlpha.d.ts +8 -20
  247. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  248. package/lib/shared-tree/treeAlpha.js +9 -12
  249. package/lib/shared-tree/treeAlpha.js.map +1 -1
  250. package/lib/shared-tree/treeCheckout.d.ts +16 -9
  251. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  252. package/lib/shared-tree/treeCheckout.js +123 -26
  253. package/lib/shared-tree/treeCheckout.js.map +1 -1
  254. package/lib/shared-tree/unhydratedTreeContext.d.ts +3 -2
  255. package/lib/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  256. package/lib/shared-tree/unhydratedTreeContext.js +3 -0
  257. package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
  258. package/lib/shared-tree-core/branch.d.ts +16 -2
  259. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  260. package/lib/shared-tree-core/branch.js +20 -2
  261. package/lib/shared-tree-core/branch.js.map +1 -1
  262. package/lib/shared-tree-core/branchCommitCounter.d.ts +31 -0
  263. package/lib/shared-tree-core/branchCommitCounter.d.ts.map +1 -0
  264. package/lib/shared-tree-core/branchCommitCounter.js +75 -0
  265. package/lib/shared-tree-core/branchCommitCounter.js.map +1 -0
  266. package/lib/shared-tree-core/customMetadataCodec.d.ts +9 -0
  267. package/lib/shared-tree-core/customMetadataCodec.d.ts.map +1 -0
  268. package/lib/shared-tree-core/customMetadataCodec.js +32 -0
  269. package/lib/shared-tree-core/customMetadataCodec.js.map +1 -0
  270. package/lib/shared-tree-core/customMetadataFormat.d.ts +18 -0
  271. package/lib/shared-tree-core/customMetadataFormat.d.ts.map +1 -0
  272. package/lib/shared-tree-core/customMetadataFormat.js +11 -0
  273. package/lib/shared-tree-core/customMetadataFormat.js.map +1 -0
  274. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  275. package/lib/shared-tree-core/editManager.js +16 -4
  276. package/lib/shared-tree-core/editManager.js.map +1 -1
  277. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  278. package/lib/shared-tree-core/editManagerCodecs.js +5 -0
  279. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  280. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts +1 -1
  281. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  282. package/lib/shared-tree-core/editManagerCodecsCommons.js +17 -5
  283. package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  284. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  285. package/lib/shared-tree-core/editManagerCodecsV1toV4.js +4 -2
  286. package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  287. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  288. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +2 -2
  289. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  290. package/lib/shared-tree-core/editManagerFormatCommons.d.ts +17 -6
  291. package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  292. package/lib/shared-tree-core/editManagerFormatCommons.js +18 -8
  293. package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  294. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +7 -5
  295. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  296. package/lib/shared-tree-core/editManagerFormatV1toV4.js +4 -3
  297. package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  298. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +4 -0
  299. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  300. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js +2 -2
  301. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  302. package/lib/shared-tree-core/index.d.ts +2 -1
  303. package/lib/shared-tree-core/index.d.ts.map +1 -1
  304. package/lib/shared-tree-core/index.js +1 -0
  305. package/lib/shared-tree-core/index.js.map +1 -1
  306. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -2
  307. package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
  308. package/lib/shared-tree-core/messageCodecV1ToV4.js +12 -3
  309. package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
  310. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  311. package/lib/shared-tree-core/messageCodecVSharedBranches.js +8 -2
  312. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  313. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  314. package/lib/shared-tree-core/messageCodecs.js +5 -0
  315. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  316. package/lib/shared-tree-core/messageFormat.d.ts +1 -0
  317. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
  318. package/lib/shared-tree-core/messageFormat.js +6 -0
  319. package/lib/shared-tree-core/messageFormat.js.map +1 -1
  320. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +10 -3
  321. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  322. package/lib/shared-tree-core/messageFormatV1ToV4.js +10 -2
  323. package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  324. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -0
  325. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  326. package/lib/shared-tree-core/messageFormatVSharedBranches.js +2 -0
  327. package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  328. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  329. package/lib/shared-tree-core/sharedTreeCore.js +5 -3
  330. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  331. package/lib/shared-tree-core/transaction.d.ts +9 -0
  332. package/lib/shared-tree-core/transaction.d.ts.map +1 -1
  333. package/lib/shared-tree-core/transaction.js +27 -5
  334. package/lib/shared-tree-core/transaction.js.map +1 -1
  335. package/lib/simple-tree/api/configuration.d.ts +4 -4
  336. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  337. package/lib/simple-tree/api/configuration.js.map +1 -1
  338. package/lib/simple-tree/api/discrepancies.d.ts +36 -3
  339. package/lib/simple-tree/api/discrepancies.d.ts.map +1 -1
  340. package/lib/simple-tree/api/discrepancies.js +40 -14
  341. package/lib/simple-tree/api/discrepancies.js.map +1 -1
  342. package/lib/simple-tree/api/index.d.ts +3 -2
  343. package/lib/simple-tree/api/index.d.ts.map +1 -1
  344. package/lib/simple-tree/api/index.js +1 -1
  345. package/lib/simple-tree/api/index.js.map +1 -1
  346. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +22 -3
  347. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  348. package/lib/simple-tree/api/schemaCompatibilityTester.js +136 -7
  349. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  350. package/lib/simple-tree/api/transactionTypes.d.ts +28 -2
  351. package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -1
  352. package/lib/simple-tree/api/transactionTypes.js.map +1 -1
  353. package/lib/simple-tree/api/tree.d.ts +353 -68
  354. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  355. package/lib/simple-tree/api/tree.js.map +1 -1
  356. package/lib/simple-tree/core/toStored.d.ts +7 -0
  357. package/lib/simple-tree/core/toStored.d.ts.map +1 -1
  358. package/lib/simple-tree/core/toStored.js.map +1 -1
  359. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  360. package/lib/simple-tree/core/treeNodeValid.js +3 -3
  361. package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
  362. package/lib/simple-tree/index.d.ts +1 -1
  363. package/lib/simple-tree/index.d.ts.map +1 -1
  364. package/lib/simple-tree/index.js +1 -1
  365. package/lib/simple-tree/index.js.map +1 -1
  366. package/lib/tableSchema.js +10 -10
  367. package/lib/tableSchema.js.map +1 -1
  368. package/package.json +22 -22
  369. package/src/codec/codec.ts +19 -0
  370. package/src/core/index.ts +4 -0
  371. package/src/core/rebase/index.ts +2 -0
  372. package/src/core/rebase/types.ts +72 -2
  373. package/src/core/rebase/utils.ts +1 -0
  374. package/src/core/revertible.ts +67 -6
  375. package/src/entrypoints/alpha.ts +11 -0
  376. package/src/entrypoints/beta.ts +3 -0
  377. package/src/entrypoints/legacy.ts +3 -0
  378. package/src/feature-libraries/index.ts +1 -1
  379. package/src/feature-libraries/indexing/types.ts +1 -1
  380. package/src/feature-libraries/schemaChecker.ts +198 -82
  381. package/src/index.ts +11 -0
  382. package/src/packageVersion.ts +1 -1
  383. package/src/shared-tree/history.ts +99 -0
  384. package/src/shared-tree/schematizingTreeView.ts +100 -29
  385. package/src/shared-tree/sharedTree.ts +5 -2
  386. package/src/shared-tree/tree.ts +1 -1
  387. package/src/shared-tree/treeAlpha.ts +17 -35
  388. package/src/shared-tree/treeCheckout.ts +170 -31
  389. package/src/shared-tree/unhydratedTreeContext.ts +6 -2
  390. package/src/shared-tree-core/branch.ts +34 -2
  391. package/src/shared-tree-core/branchCommitCounter.ts +103 -0
  392. package/src/shared-tree-core/customMetadataCodec.ts +42 -0
  393. package/src/shared-tree-core/customMetadataFormat.ts +39 -0
  394. package/src/shared-tree-core/editManager.ts +22 -3
  395. package/src/shared-tree-core/editManagerCodecs.ts +12 -0
  396. package/src/shared-tree-core/editManagerCodecsCommons.ts +41 -15
  397. package/src/shared-tree-core/editManagerCodecsV1toV4.ts +7 -1
  398. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +2 -0
  399. package/src/shared-tree-core/editManagerFormatCommons.ts +46 -12
  400. package/src/shared-tree-core/editManagerFormatV1toV4.ts +13 -5
  401. package/src/shared-tree-core/editManagerFormatVSharedBranches.ts +2 -2
  402. package/src/shared-tree-core/index.ts +3 -0
  403. package/src/shared-tree-core/messageCodecV1ToV4.ts +18 -5
  404. package/src/shared-tree-core/messageCodecVSharedBranches.ts +9 -2
  405. package/src/shared-tree-core/messageCodecs.ts +12 -0
  406. package/src/shared-tree-core/messageFormat.ts +6 -0
  407. package/src/shared-tree-core/messageFormatV1ToV4.ts +21 -3
  408. package/src/shared-tree-core/messageFormatVSharedBranches.ts +8 -0
  409. package/src/shared-tree-core/sharedTreeCore.ts +5 -2
  410. package/src/shared-tree-core/transaction.ts +56 -4
  411. package/src/simple-tree/api/configuration.ts +4 -4
  412. package/src/simple-tree/api/discrepancies.ts +100 -5
  413. package/src/simple-tree/api/index.ts +12 -1
  414. package/src/simple-tree/api/schemaCompatibilityTester.ts +185 -11
  415. package/src/simple-tree/api/transactionTypes.ts +29 -2
  416. package/src/simple-tree/api/tree.ts +384 -68
  417. package/src/simple-tree/core/toStored.ts +8 -0
  418. package/src/simple-tree/core/treeNodeValid.ts +3 -1
  419. package/src/simple-tree/index.ts +9 -0
  420. package/src/tableSchema.ts +9 -9
  421. package/docs/main/runtime-schema-upgrade.md +0 -208
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/tree",
3
- "version": "2.116.1",
3
+ "version": "2.118.0",
4
4
  "description": "Distributed tree",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -101,17 +101,17 @@
101
101
  "temp-directory": "nyc/.nyc_output"
102
102
  },
103
103
  "dependencies": {
104
- "@fluid-internal/client-utils": "~2.116.1",
105
- "@fluidframework/core-interfaces": "~2.116.1",
106
- "@fluidframework/core-utils": "~2.116.1",
107
- "@fluidframework/datastore-definitions": "~2.116.1",
108
- "@fluidframework/driver-definitions": "~2.116.1",
109
- "@fluidframework/id-compressor": "~2.116.1",
110
- "@fluidframework/runtime-definitions": "~2.116.1",
111
- "@fluidframework/runtime-utils": "~2.116.1",
112
- "@fluidframework/shared-object-base": "~2.116.1",
113
- "@fluidframework/telemetry-utils": "~2.116.1",
114
- "@fluidframework/type-factory": "~2.116.1",
104
+ "@fluid-internal/client-utils": "~2.118.0",
105
+ "@fluidframework/core-interfaces": "~2.118.0",
106
+ "@fluidframework/core-utils": "~2.118.0",
107
+ "@fluidframework/datastore-definitions": "~2.118.0",
108
+ "@fluidframework/driver-definitions": "~2.118.0",
109
+ "@fluidframework/id-compressor": "~2.118.0",
110
+ "@fluidframework/runtime-definitions": "~2.118.0",
111
+ "@fluidframework/runtime-utils": "~2.118.0",
112
+ "@fluidframework/shared-object-base": "~2.118.0",
113
+ "@fluidframework/telemetry-utils": "~2.118.0",
114
+ "@fluidframework/type-factory": "~2.118.0",
115
115
  "@sinclair/typebox": "^0.34.13",
116
116
  "@tylerbu/sorted-btree-es6": "^2.1.1",
117
117
  "semver-ts": "^1.0.3",
@@ -121,21 +121,21 @@
121
121
  "devDependencies": {
122
122
  "@arethetypeswrong/cli": "^0.18.5",
123
123
  "@biomejs/biome": "~2.4.5",
124
- "@fluid-internal/mocha-test-setup": "~2.116.1",
125
- "@fluid-private/stochastic-test-utils": "~2.116.1",
126
- "@fluid-private/test-dds-utils": "~2.116.1",
127
- "@fluid-private/test-drivers": "~2.116.1",
124
+ "@fluid-internal/mocha-test-setup": "~2.118.0",
125
+ "@fluid-private/stochastic-test-utils": "~2.118.0",
126
+ "@fluid-private/test-dds-utils": "~2.118.0",
127
+ "@fluid-private/test-drivers": "~2.118.0",
128
128
  "@fluid-tools/benchmark": "^0.59.0",
129
129
  "@fluid-tools/build-cli": "^0.67.0",
130
130
  "@fluidframework/build-common": "^2.0.3",
131
131
  "@fluidframework/build-tools": "^0.67.0",
132
- "@fluidframework/container-definitions": "~2.116.1",
133
- "@fluidframework/container-loader": "~2.116.1",
134
- "@fluidframework/container-runtime": "~2.116.1",
132
+ "@fluidframework/container-definitions": "~2.118.0",
133
+ "@fluidframework/container-loader": "~2.118.0",
134
+ "@fluidframework/container-runtime": "~2.118.0",
135
135
  "@fluidframework/eslint-config-fluid": "^14.0.0",
136
- "@fluidframework/local-driver": "~2.116.1",
137
- "@fluidframework/test-runtime-utils": "~2.116.1",
138
- "@fluidframework/test-utils": "~2.116.1",
136
+ "@fluidframework/local-driver": "~2.118.0",
137
+ "@fluidframework/test-runtime-utils": "~2.118.0",
138
+ "@fluidframework/test-utils": "~2.118.0",
139
139
  "@fluidframework/tree-previous": "npm:@fluidframework/tree@2.116.0",
140
140
  "@microsoft/api-extractor": "7.58.1",
141
141
  "@types/diff": "^3.5.1",
@@ -540,6 +540,25 @@ export const FluidClientVersion = {
540
540
  * - ModularChangeFormatVersion.v5 - written when minVersionForCollab \>= 2.80
541
541
  */
542
542
  v2_80: "2.80.0",
543
+
544
+ /**
545
+ * Fluid Framework Client 2.117 and newer.
546
+ * @remarks
547
+ * New formats introduced in 2.117:
548
+ * - MessageFormatVersion.v7 - written when minVersionForCollab \>= 2.117
549
+ * - EditManagerFormatVersion.v7 - written when minVersionForCollab \>= 2.117
550
+ *
551
+ * @privateRemarks
552
+ * These formats are gated at 2.117.0 rather than 3.0.0 so that they can also be carried by a
553
+ * 2.117.0 minor cut from the last pre-3.0 commit on main, should one be needed for consumers
554
+ * that cannot yet absorb the 3.0 breaking changes. Since 3.0.0 \> 2.117.0, 3.x clients select
555
+ * these formats for any minVersionForCollab at or above 2.117.0 whether or not that release
556
+ * ever ships.
557
+ *
558
+ * Every client at or above 2.117.0 must therefore be able to read and write these formats. A
559
+ * client that maps 2.117.0 to an older format would silently strip metadata when encoding.
560
+ */
561
+ v2_117: "2.117.0",
543
562
  } as const satisfies Record<string, OldestSupportedClientVersion>;
544
563
 
545
564
  /**
package/src/core/index.ts CHANGED
@@ -188,6 +188,7 @@ export {
188
188
  type RemoteChangeMetadata,
189
189
  type ChangeMetadata,
190
190
  type LabelTree,
191
+ type CustomMetadataTree,
191
192
  type TransactionLabels,
192
193
  type RevisionTag,
193
194
  RevisionTagSchema,
@@ -202,6 +203,7 @@ export {
202
203
  tagRollbackInverse,
203
204
  SessionIdSchema,
204
205
  mintCommit,
206
+ flattenCustomMetadata,
205
207
  rebaseBranch,
206
208
  type BranchRebaseResult,
207
209
  rebaseChange,
@@ -236,4 +238,6 @@ export {
236
238
  type RevertibleFactory,
237
239
  type RevertibleAlphaFactory,
238
240
  type RevertibleAlpha,
241
+ type RevertOptionsAlpha,
242
+ type RevertToOptionsAlpha,
239
243
  } from "./revertible.js";
@@ -9,6 +9,7 @@ export {
9
9
  makeChangeAtomId,
10
10
  asChangeAtomId,
11
11
  mintCommit,
12
+ flattenCustomMetadata,
12
13
  type GraphCommit,
13
14
  CommitKind,
14
15
  type CommitMetadata,
@@ -18,6 +19,7 @@ export {
18
19
  type RemoteChangeMetadata,
19
20
  type ChangeMetadata,
20
21
  type LabelTree,
22
+ type CustomMetadataTree,
21
23
  type TransactionLabels,
22
24
  type RevisionTag,
23
25
  RevisionTagSchema,
@@ -15,6 +15,7 @@ import * as Type from "@sinclair/typebox";
15
15
  import {
16
16
  type Brand,
17
17
  type JsonCompatibleReadOnly,
18
+ type JsonCompatibleReadOnlyObject,
18
19
  type NestedMap,
19
20
  RangeMap,
20
21
  brand,
@@ -166,6 +167,74 @@ export interface GraphCommit<TChange> {
166
167
  readonly change: TChange;
167
168
  /** The parent of this commit, on whose change this commit's change is based */
168
169
  readonly parent?: GraphCommit<TChange>;
170
+ /**
171
+ * Arbitrary, application-defined metadata that is persisted alongside this commit.
172
+ * @remarks
173
+ * Set via {@link RunTransactionParamsAlpha.customMetadata}. This is a tree rather than a single
174
+ * object because a commit may be produced by nested transactions.
175
+ * @privateRemarks
176
+ * Always copy this property when copying a commit.
177
+ */
178
+ readonly customMetadata: CustomMetadataTree | undefined;
179
+ }
180
+
181
+ /**
182
+ * A tree representing the nesting structure of transaction metadata.
183
+ *
184
+ * @remarks
185
+ * Each transaction contributes a node whose {@link CustomMetadataTree.metadata} is its
186
+ * {@link RunTransactionParamsAlpha.customMetadata | metadata} (or `undefined` if none was provided).
187
+ * When transactions are nested, inner transaction nodes become
188
+ * {@link CustomMetadataTree.children | children} of outer ones.
189
+ *
190
+ * @sealed @alpha
191
+ */
192
+ export interface CustomMetadataTree {
193
+ /**
194
+ * The metadata supplied by this transaction, or `undefined` if it supplied none.
195
+ */
196
+ readonly metadata: JsonCompatibleReadOnlyObject | undefined;
197
+
198
+ /**
199
+ * The metadata trees of any nested transactions within this one.
200
+ */
201
+ readonly children: readonly CustomMetadataTree[];
202
+ }
203
+
204
+ /**
205
+ * Flattens a {@link CustomMetadataTree} into a single object.
206
+ * @remarks
207
+ * Where two transactions used the same property, the outermost one wins. Among siblings, the later one
208
+ * wins. Returns `undefined` if no transaction in the tree supplied any metadata.
209
+ */
210
+ export function flattenCustomMetadata(
211
+ tree: CustomMetadataTree | undefined,
212
+ ): JsonCompatibleReadOnlyObject | undefined {
213
+ if (tree === undefined) {
214
+ return undefined;
215
+ }
216
+ let flattened: Record<string, JsonCompatibleReadOnly | undefined> | undefined;
217
+ const visit = (node: CustomMetadataTree): void => {
218
+ // Descendants first, so that a containing transaction's metadata wins on conflict.
219
+ for (const child of node.children) {
220
+ visit(child);
221
+ }
222
+ if (node.metadata !== undefined) {
223
+ flattened ??= {};
224
+ // `defineProperty` rather than assignment: assigning the valid JSON key "__proto__" would
225
+ // invoke the inherited setter and set the prototype instead of creating a property.
226
+ for (const key of Object.keys(node.metadata)) {
227
+ Object.defineProperty(flattened, key, {
228
+ value: node.metadata[key],
229
+ writable: true,
230
+ enumerable: true,
231
+ configurable: true,
232
+ });
233
+ }
234
+ }
235
+ };
236
+ visit(tree);
237
+ return flattened;
169
238
  }
170
239
 
171
240
  /**
@@ -210,7 +279,7 @@ export interface LocalChangeMetadata extends CommitMetadata {
210
279
  /**
211
280
  * Returns a serializable object that encodes the change.
212
281
  * @remarks This is only available for local changes.
213
- * This change object can be {@link TreeBranchAlpha.applyChange | applied to another branch} in the same state as the one which generated it.
282
+ * This change object can be {@link UntypedTreeViewAlpha.applyChange | applied to another view} in the same state as the one which generated it.
214
283
  * The change object must be applied to a SharedTree with the same IdCompressor session ID as it was created from.
215
284
  * @privateRemarks
216
285
  * This is a `SerializedChange` from treeCheckout.ts.
@@ -473,11 +542,12 @@ export function mintCommit<TChange>(
473
542
  parent: GraphCommit<TChange>,
474
543
  commit: Omit<GraphCommit<TChange>, "parent">,
475
544
  ): GraphCommit<TChange> {
476
- const { revision, change } = commit;
545
+ const { revision, change, customMetadata } = commit;
477
546
  return {
478
547
  revision,
479
548
  change,
480
549
  parent,
550
+ customMetadata,
481
551
  };
482
552
  }
483
553
 
@@ -303,6 +303,7 @@ export function rebaseBranch<TChange>(
303
303
  revision: c.revision,
304
304
  change,
305
305
  parent: newHead,
306
+ customMetadata: c.customMetadata,
306
307
  };
307
308
  sourceCommits.push(newHead);
308
309
  editsToCompose.push(tagChange(change, c.revision));
@@ -3,7 +3,9 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import type { TreeBranch } from "../simple-tree/index.js";
6
+ import type { JsonCompatibleReadOnlyObject } from "../util/index.js";
7
+
8
+ import type { UntypedTreeView } from "../simple-tree/index.js";
7
9
 
8
10
  /**
9
11
  * Allows reversion of a change made to SharedTree.
@@ -21,6 +23,9 @@ export interface Revertible {
21
23
 
22
24
  /**
23
25
  * Reverts the associated change and disposes it.
26
+ *
27
+ * @remarks
28
+ * Concurrent changes that are sequenced before the revert will not be overwritten by the revert if they affect different parts of the document.
24
29
  */
25
30
  revert(): void;
26
31
  /**
@@ -29,6 +34,9 @@ export interface Revertible {
29
34
  * @param dispose - If true, the revertible will be disposed after being reverted.
30
35
  * If false, the revertible will remain valid. This can be useful for scenarios where the revert may be dropped
31
36
  * due to merge conflicts, and one wants to attempt reverting again.
37
+ *
38
+ * @remarks
39
+ * Concurrent changes that are sequenced before the revert will not be overwritten by the revert if they affect different parts of the document.
32
40
  */
33
41
  revert(dispose: boolean): void;
34
42
 
@@ -38,6 +46,43 @@ export interface Revertible {
38
46
  dispose(): void;
39
47
  }
40
48
 
49
+ /**
50
+ * Options for {@link RevertibleAlpha.(revert:3) | RevertibleAlpha.revert}.
51
+ *
52
+ * @sealed @alpha
53
+ */
54
+ export interface RevertOptionsAlpha {
55
+ /**
56
+ * If true (the default), the revertible will be disposed after being reverted.
57
+ * If false, the revertible will remain valid. This can be useful for scenarios where the revert may be dropped
58
+ * due to merge conflicts, and one wants to attempt reverting again.
59
+ */
60
+ readonly dispose?: boolean;
61
+
62
+ /**
63
+ * Arbitrary, application-defined metadata to attach to the commit that the revert produces.
64
+ *
65
+ * @remarks
66
+ * See {@link RunTransactionParamsAlpha.customMetadata} for how this metadata is persisted and read back.
67
+ */
68
+ readonly customMetadata?: JsonCompatibleReadOnlyObject;
69
+ }
70
+
71
+ /**
72
+ * Options for {@link UntypedTreeViewAlpha.revertTo}.
73
+ *
74
+ * @sealed @alpha
75
+ */
76
+ export interface RevertToOptionsAlpha {
77
+ /**
78
+ * Arbitrary, application-defined metadata to attach to the commit that the revert produces.
79
+ *
80
+ * @remarks
81
+ * See {@link RunTransactionParamsAlpha.customMetadata} for how this metadata is persisted and read back.
82
+ */
83
+ readonly customMetadata?: JsonCompatibleReadOnlyObject;
84
+ }
85
+
41
86
  /**
42
87
  * A {@link Revertible} with features that are not yet stable.
43
88
  *
@@ -45,14 +90,30 @@ export interface Revertible {
45
90
  */
46
91
  export interface RevertibleAlpha extends Revertible {
47
92
  /**
48
- * Clones the {@link Revertible} to a target branch.
93
+ * {@inheritDoc Revertible.(revert:1)}
94
+ */
95
+ revert(): void;
96
+ /**
97
+ * {@inheritDoc Revertible.(revert:2)}
98
+ */
99
+ revert(dispose: boolean): void;
100
+ /**
101
+ * Reverts the associated change according to the given options.
102
+ *
103
+ * @remarks
104
+ * Concurrent changes that are sequenced before the revert will not be overwritten by the revert if they affect different parts of the document.
105
+ */
106
+ revert(options: RevertOptionsAlpha): void;
107
+
108
+ /**
109
+ * Clones the {@link Revertible} to a target view.
49
110
  *
50
- * @param branch - A target branch to apply the revertible to.
51
- * The target branch must contain the same commit that this revertible is meant to revert, otherwise will throw an error.
111
+ * @param view - A target view to apply the revertible to.
112
+ * The target view must contain the same commit that this revertible is meant to revert, otherwise will throw an error.
52
113
  * @returns A cloned revertible is independent of the original, meaning disposing of one will not affect the other,
53
- * provided they do not belong to the same branch. Both revertibles can be reverted independently.
114
+ * provided they do not belong to the same view. Both revertibles can be reverted independently.
54
115
  */
55
- clone: (branch: TreeBranch) => RevertibleAlpha;
116
+ clone: (view: UntypedTreeView) => RevertibleAlpha;
56
117
  }
57
118
 
58
119
  /**
@@ -121,6 +121,8 @@ export {
121
121
  PopUnion,
122
122
  RecordNodeInsertableData,
123
123
  RunTransactionParamsBeta,
124
+ SchemaCompatibilityStatusBeta,
125
+ SchemaDiscrepancy,
124
126
  SchemaFactoryBeta,
125
127
  SchemaStaticsBeta,
126
128
  SchemaUpgrade,
@@ -148,6 +150,7 @@ export {
148
150
  UnannotateAllowedTypesList,
149
151
  UnannotateAllowedTypesListUnsafe,
150
152
  UnionToTuple,
153
+ UntypedTreeView,
151
154
  VoidTransactionCallbackStatusBeta,
152
155
  WithValue,
153
156
  adaptEnum,
@@ -179,8 +182,10 @@ export {
179
182
  CodecName,
180
183
  CodecWriteOptions,
181
184
  CommitOutcome,
185
+ CommitRevision,
182
186
  Component,
183
187
  CreateIndependentTreeAlphaOptions,
188
+ CustomMetadataTree,
184
189
  DirtyTreeMap,
185
190
  DirtyTreeStatus,
186
191
  ErasedNode,
@@ -256,6 +261,8 @@ export {
256
261
  RemoteChangeMetadata,
257
262
  RevertibleAlpha,
258
263
  RevertibleAlphaFactory,
264
+ RevertOptionsAlpha,
265
+ RevertToOptionsAlpha,
259
266
  RunTransactionParamsAlpha,
260
267
  SchemaFactoryAlpha,
261
268
  SchemaStaticsAlpha,
@@ -276,6 +283,7 @@ export {
276
283
  SimpleTreeSchema,
277
284
  StagedSchemaUpgradePolicy,
278
285
  StagedSchemaUpgradePolicyFactory,
286
+ StagedUpgradeStatus,
279
287
  StringSchema,
280
288
  TransactionCallbackStatusAlpha,
281
289
  TransactionConstraintAlpha,
@@ -284,7 +292,9 @@ export {
284
292
  TreeAlpha,
285
293
  TreeArrayNodeAlpha,
286
294
  TreeBranchAlpha,
295
+ TreeBranchCommitMetadata,
287
296
  TreeBranchEvents,
297
+ TreeBranchHistory,
288
298
  TreeChangeEventsAlpha,
289
299
  TreeCompressionStrategy,
290
300
  TreeContextAlpha,
@@ -297,6 +307,7 @@ export {
297
307
  TreeViewAlpha,
298
308
  TreeViewConfigurationAlpha,
299
309
  UnsafeUnknownSchema,
310
+ UntypedTreeViewAlpha,
300
311
  ValueSchema,
301
312
  VerboseTree,
302
313
  VerboseTreeNode,
@@ -121,6 +121,8 @@ export {
121
121
  PopUnion,
122
122
  RecordNodeInsertableData,
123
123
  RunTransactionParamsBeta,
124
+ SchemaCompatibilityStatusBeta,
125
+ SchemaDiscrepancy,
124
126
  SchemaFactoryBeta,
125
127
  SchemaStaticsBeta,
126
128
  SchemaUpgrade,
@@ -148,6 +150,7 @@ export {
148
150
  UnannotateAllowedTypesList,
149
151
  UnannotateAllowedTypesListUnsafe,
150
152
  UnionToTuple,
153
+ UntypedTreeView,
151
154
  VoidTransactionCallbackStatusBeta,
152
155
  WithValue,
153
156
  adaptEnum,
@@ -121,6 +121,8 @@ export {
121
121
  PopUnion,
122
122
  RecordNodeInsertableData,
123
123
  RunTransactionParamsBeta,
124
+ SchemaCompatibilityStatusBeta,
125
+ SchemaDiscrepancy,
124
126
  SchemaFactoryBeta,
125
127
  SchemaStaticsBeta,
126
128
  SchemaUpgrade,
@@ -148,6 +150,7 @@ export {
148
150
  UnannotateAllowedTypesList,
149
151
  UnannotateAllowedTypesListUnsafe,
150
152
  UnionToTuple,
153
+ UntypedTreeView,
151
154
  VoidTransactionCallbackStatusBeta,
152
155
  WithValue,
153
156
  adaptEnum,
@@ -155,7 +155,7 @@ export {
155
155
 
156
156
  export {
157
157
  SchemaValidationError,
158
- type SchemaValidationErrorContext,
158
+ type SchemaValidationErrorDetails,
159
159
  isNodeInSchema,
160
160
  isFieldInSchema,
161
161
  throwOutOfSchema,
@@ -15,7 +15,7 @@ export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
15
15
  /**
16
16
  * An index allows lookup content from a tree using keys.
17
17
  * @remarks
18
- * The index will be kept up to date with the {@link TreeBranchAlpha} it is associated with.
18
+ * The index will be kept up to date with the {@link UntypedTreeViewAlpha} it is associated with.
19
19
  * Keeping an index up to date incurs overhead.
20
20
  * Therefore, indexes should only be created when needed and disposed when no longer needed.
21
21
  * @privateRemarks