@fluidframework/tree 2.0.0-dev-rc.3.0.0.250606 → 2.0.0-dev-rc.3.0.0.254274

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 (2271) hide show
  1. package/api-report/tree.api.md +99 -64
  2. package/dist/codec/codec.d.ts +9 -3
  3. package/dist/codec/codec.d.ts.map +1 -1
  4. package/dist/codec/codec.js +2 -2
  5. package/dist/codec/codec.js.map +1 -1
  6. package/dist/codec/discriminatedUnions.d.ts.map +1 -1
  7. package/dist/codec/discriminatedUnions.js +2 -2
  8. package/dist/codec/discriminatedUnions.js.map +1 -1
  9. package/dist/codec/index.d.ts +2 -2
  10. package/dist/codec/index.d.ts.map +1 -1
  11. package/dist/codec/index.js +2 -1
  12. package/dist/codec/index.js.map +1 -1
  13. package/dist/codec/noopValidator.d.ts.map +1 -1
  14. package/dist/codec/noopValidator.js.map +1 -1
  15. package/dist/codec/versioned/codec.d.ts +10 -2
  16. package/dist/codec/versioned/codec.d.ts.map +1 -1
  17. package/dist/codec/versioned/codec.js +28 -6
  18. package/dist/codec/versioned/codec.js.map +1 -1
  19. package/dist/codec/versioned/index.d.ts +1 -1
  20. package/dist/codec/versioned/index.d.ts.map +1 -1
  21. package/dist/codec/versioned/index.js +2 -1
  22. package/dist/codec/versioned/index.js.map +1 -1
  23. package/dist/core/change-family/changeFamily.d.ts +1 -1
  24. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  25. package/dist/core/change-family/changeFamily.js.map +1 -1
  26. package/dist/core/forest/editableForest.d.ts.map +1 -1
  27. package/dist/core/forest/editableForest.js +2 -2
  28. package/dist/core/forest/editableForest.js.map +1 -1
  29. package/dist/core/forest/forest.d.ts.map +1 -1
  30. package/dist/core/forest/forest.js +2 -2
  31. package/dist/core/forest/forest.js.map +1 -1
  32. package/dist/core/index.d.ts +2 -2
  33. package/dist/core/index.d.ts.map +1 -1
  34. package/dist/core/index.js +4 -1
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
  37. package/dist/core/rebase/changeRebaser.js.map +1 -1
  38. package/dist/core/rebase/index.d.ts +1 -1
  39. package/dist/core/rebase/index.d.ts.map +1 -1
  40. package/dist/core/rebase/index.js +3 -1
  41. package/dist/core/rebase/index.js.map +1 -1
  42. package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
  43. package/dist/core/rebase/revisionTagCodec.js +2 -2
  44. package/dist/core/rebase/revisionTagCodec.js.map +1 -1
  45. package/dist/core/rebase/types.d.ts +4 -2
  46. package/dist/core/rebase/types.d.ts.map +1 -1
  47. package/dist/core/rebase/types.js +12 -1
  48. package/dist/core/rebase/types.js.map +1 -1
  49. package/dist/core/rebase/utils.d.ts.map +1 -1
  50. package/dist/core/rebase/utils.js +11 -10
  51. package/dist/core/rebase/utils.js.map +1 -1
  52. package/dist/core/revertible/revertible.d.ts +12 -3
  53. package/dist/core/revertible/revertible.d.ts.map +1 -1
  54. package/dist/core/revertible/revertible.js +1 -0
  55. package/dist/core/revertible/revertible.js.map +1 -1
  56. package/dist/core/schema-stored/format.d.ts.map +1 -1
  57. package/dist/core/schema-stored/format.js.map +1 -1
  58. package/dist/core/schema-stored/index.d.ts +2 -1
  59. package/dist/core/schema-stored/index.d.ts.map +1 -1
  60. package/dist/core/schema-stored/index.js +3 -1
  61. package/dist/core/schema-stored/index.js.map +1 -1
  62. package/dist/core/schema-stored/multiplicity.d.ts.map +1 -0
  63. package/dist/core/schema-stored/multiplicity.js.map +1 -0
  64. package/dist/core/schema-stored/schema.d.ts +27 -5
  65. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  66. package/dist/core/schema-stored/schema.js +3 -3
  67. package/dist/core/schema-stored/schema.js.map +1 -1
  68. package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  69. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  70. package/dist/core/tree/anchorSet.d.ts +29 -14
  71. package/dist/core/tree/anchorSet.d.ts.map +1 -1
  72. package/dist/core/tree/anchorSet.js +37 -62
  73. package/dist/core/tree/anchorSet.js.map +1 -1
  74. package/dist/core/tree/cursor.d.ts.map +1 -1
  75. package/dist/core/tree/cursor.js +4 -4
  76. package/dist/core/tree/cursor.js.map +1 -1
  77. package/dist/core/tree/delta.d.ts.map +1 -1
  78. package/dist/core/tree/delta.js.map +1 -1
  79. package/dist/core/tree/deltaUtil.d.ts.map +1 -1
  80. package/dist/core/tree/deltaUtil.js.map +1 -1
  81. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  82. package/dist/core/tree/detachedFieldIndex.js +5 -5
  83. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  84. package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
  85. package/dist/core/tree/detachedFieldIndexCodec.js +4 -4
  86. package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -1
  87. package/dist/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
  88. package/dist/core/tree/detachedFieldIndexFormat.js.map +1 -1
  89. package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
  90. package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
  91. package/dist/core/tree/mapTree.d.ts.map +1 -1
  92. package/dist/core/tree/mapTree.js.map +1 -1
  93. package/dist/core/tree/pathTree.d.ts.map +1 -1
  94. package/dist/core/tree/pathTree.js.map +1 -1
  95. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  96. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
  97. package/dist/core/tree/sparseTree.d.ts.map +1 -1
  98. package/dist/core/tree/sparseTree.js +5 -5
  99. package/dist/core/tree/sparseTree.js.map +1 -1
  100. package/dist/core/tree/treeTextFormat.d.ts.map +1 -1
  101. package/dist/core/tree/treeTextFormat.js.map +1 -1
  102. package/dist/core/tree/types.d.ts.map +1 -1
  103. package/dist/core/tree/types.js.map +1 -1
  104. package/dist/core/tree/visitDelta.d.ts +7 -0
  105. package/dist/core/tree/visitDelta.d.ts.map +1 -1
  106. package/dist/core/tree/visitDelta.js +16 -12
  107. package/dist/core/tree/visitDelta.js.map +1 -1
  108. package/dist/core/tree/visitorUtils.d.ts.map +1 -1
  109. package/dist/core/tree/visitorUtils.js +2 -2
  110. package/dist/core/tree/visitorUtils.js.map +1 -1
  111. package/dist/domains/json/jsonCursor.d.ts.map +1 -1
  112. package/dist/domains/json/jsonCursor.js +7 -7
  113. package/dist/domains/json/jsonCursor.js.map +1 -1
  114. package/dist/domains/json/jsonDomainSchema.d.ts.map +1 -1
  115. package/dist/domains/json/jsonDomainSchema.js.map +1 -1
  116. package/dist/domains/nodeKey/nodeKeySchema.d.ts.map +1 -1
  117. package/dist/domains/nodeKey/nodeKeySchema.js +2 -2
  118. package/dist/domains/nodeKey/nodeKeySchema.js.map +1 -1
  119. package/dist/domains/schemaBuilder.d.ts +21 -71
  120. package/dist/domains/schemaBuilder.d.ts.map +1 -1
  121. package/dist/domains/schemaBuilder.js +24 -81
  122. package/dist/domains/schemaBuilder.js.map +1 -1
  123. package/dist/domains/testRecursiveDomain.d.ts.map +1 -1
  124. package/dist/domains/testRecursiveDomain.js.map +1 -1
  125. package/dist/events/events.d.ts.map +1 -1
  126. package/dist/events/events.js +2 -2
  127. package/dist/events/events.js.map +1 -1
  128. package/dist/external-utilities/typeboxValidator.d.ts.map +1 -1
  129. package/dist/external-utilities/typeboxValidator.js.map +1 -1
  130. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts +1 -1
  131. package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  132. package/dist/feature-libraries/chunked-forest/basicChunk.js +29 -29
  133. package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  134. package/dist/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
  135. package/dist/feature-libraries/chunked-forest/chunk.js +2 -2
  136. package/dist/feature-libraries/chunked-forest/chunk.js.map +1 -1
  137. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  138. package/dist/feature-libraries/chunked-forest/chunkTree.js +11 -12
  139. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  140. package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  141. package/dist/feature-libraries/chunked-forest/chunkedForest.js +15 -15
  142. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  143. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
  144. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +4 -4
  145. package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
  146. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  147. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +8 -8
  148. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  149. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
  150. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +3 -3
  151. package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
  152. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
  153. package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
  154. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +2 -7
  155. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  156. package/dist/feature-libraries/chunked-forest/codec/codecs.js +5 -4
  157. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  158. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  159. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +8 -8
  160. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  161. package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
  162. package/dist/feature-libraries/chunked-forest/codec/format.js +1 -2
  163. package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
  164. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  165. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  166. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  167. package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
  168. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +3 -3
  169. package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
  170. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
  171. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +4 -5
  172. package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
  173. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
  174. package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
  175. package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -1
  176. package/dist/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
  177. package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
  178. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  179. package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
  180. package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts +1 -1
  181. package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -1
  182. package/dist/feature-libraries/chunked-forest/sequenceChunk.js +1 -1
  183. package/dist/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -1
  184. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +1 -1
  185. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  186. package/dist/feature-libraries/chunked-forest/uniformChunk.js +21 -21
  187. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  188. package/dist/feature-libraries/contextuallyTyped.d.ts +1 -5
  189. package/dist/feature-libraries/contextuallyTyped.d.ts.map +1 -1
  190. package/dist/feature-libraries/contextuallyTyped.js +23 -38
  191. package/dist/feature-libraries/contextuallyTyped.js.map +1 -1
  192. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -5
  193. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  194. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +4 -4
  195. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  196. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +18 -4
  197. package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  198. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +44 -20
  199. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  200. package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
  201. package/dist/feature-libraries/default-schema/defaultSchema.js.map +1 -1
  202. package/dist/feature-libraries/default-schema/index.d.ts +1 -1
  203. package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
  204. package/dist/feature-libraries/default-schema/index.js +2 -1
  205. package/dist/feature-libraries/default-schema/index.js.map +1 -1
  206. package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts +8 -0
  207. package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -0
  208. package/dist/feature-libraries/default-schema/noChangeCodecs.js +10 -0
  209. package/dist/feature-libraries/default-schema/noChangeCodecs.js.map +1 -0
  210. package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  211. package/dist/feature-libraries/detachedFieldIndexSummarizer.js +2 -2
  212. package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  213. package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  214. package/dist/feature-libraries/editableTreeBinder.js +6 -6
  215. package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
  216. package/dist/feature-libraries/fieldGenerator.d.ts.map +1 -1
  217. package/dist/feature-libraries/fieldGenerator.js.map +1 -1
  218. package/dist/feature-libraries/flex-tree/context.d.ts +8 -0
  219. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  220. package/dist/feature-libraries/flex-tree/context.js +20 -8
  221. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  222. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +28 -9
  223. package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  224. package/dist/feature-libraries/flex-tree/flexTreeTypes.js +1 -0
  225. package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  226. package/dist/feature-libraries/flex-tree/index.d.ts +2 -2
  227. package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
  228. package/dist/feature-libraries/flex-tree/index.js +2 -1
  229. package/dist/feature-libraries/flex-tree/index.js.map +1 -1
  230. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +5 -2
  231. package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  232. package/dist/feature-libraries/flex-tree/lazyEntity.js +11 -8
  233. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  234. package/dist/feature-libraries/flex-tree/lazyField.d.ts +17 -3
  235. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  236. package/dist/feature-libraries/flex-tree/lazyField.js +52 -29
  237. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  238. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +7 -4
  239. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  240. package/dist/feature-libraries/flex-tree/lazyNode.js +26 -51
  241. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  242. package/dist/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -1
  243. package/dist/feature-libraries/flex-tree/nodeKeys.js.map +1 -1
  244. package/dist/feature-libraries/flex-tree/treeEvents.d.ts +2 -65
  245. package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
  246. package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -1
  247. package/dist/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
  248. package/dist/feature-libraries/flex-tree/unboxed.js.map +1 -1
  249. package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
  250. package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
  251. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  252. package/dist/feature-libraries/forest-summary/codec.js +2 -2
  253. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  254. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  255. package/dist/feature-libraries/forest-summary/forestSummarizer.js +6 -6
  256. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  257. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
  258. package/dist/feature-libraries/forest-summary/format.js.map +1 -1
  259. package/dist/feature-libraries/index.d.ts +8 -9
  260. package/dist/feature-libraries/index.d.ts.map +1 -1
  261. package/dist/feature-libraries/index.js +8 -8
  262. package/dist/feature-libraries/index.js.map +1 -1
  263. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  264. package/dist/feature-libraries/mapTreeCursor.js +2 -2
  265. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  266. package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  267. package/dist/feature-libraries/modular-schema/comparison.js +8 -8
  268. package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
  269. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +18 -12
  270. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  271. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  272. package/dist/feature-libraries/modular-schema/fieldKind.d.ts +17 -3
  273. package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  274. package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  275. package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +21 -0
  276. package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -0
  277. package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js +7 -0
  278. package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -0
  279. package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +1 -2
  280. package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +1 -1
  281. package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js +3 -3
  282. package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js.map +1 -1
  283. package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  284. package/dist/feature-libraries/modular-schema/genericFieldKind.js +3 -7
  285. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  286. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +3 -5
  287. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  288. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +7 -7
  289. package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  290. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  291. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
  292. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  293. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +4 -4
  294. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
  295. package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
  296. package/dist/feature-libraries/modular-schema/index.d.ts +5 -4
  297. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  298. package/dist/feature-libraries/modular-schema/index.js +3 -2
  299. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  300. package/dist/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
  301. package/dist/feature-libraries/modular-schema/isNeverTree.js +6 -7
  302. package/dist/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
  303. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +4 -5
  304. package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  305. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +73 -37
  306. package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  307. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -21
  308. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  309. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +253 -163
  310. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  311. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +1 -0
  312. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  313. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  314. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +6 -4
  315. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  316. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  317. package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
  318. package/dist/feature-libraries/node-key/nodeKey.js.map +1 -1
  319. package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -1
  320. package/dist/feature-libraries/node-key/nodeKeyIndex.js +2 -2
  321. package/dist/feature-libraries/node-key/nodeKeyIndex.js.map +1 -1
  322. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +1 -1
  323. package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
  324. package/dist/feature-libraries/node-key/nodeKeyManager.js +9 -9
  325. package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
  326. package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  327. package/dist/feature-libraries/object-forest/objectForest.js +39 -39
  328. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  329. package/dist/feature-libraries/optional-field/index.d.ts +1 -1
  330. package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
  331. package/dist/feature-libraries/optional-field/index.js +1 -2
  332. package/dist/feature-libraries/optional-field/index.js.map +1 -1
  333. package/dist/feature-libraries/optional-field/optionalField.d.ts +1 -3
  334. package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  335. package/dist/feature-libraries/optional-field/optionalField.js +21 -32
  336. package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
  337. package/dist/feature-libraries/optional-field/{optionalFieldChangeFormat.d.ts → optionalFieldChangeFormatV0.d.ts} +1 -1
  338. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV0.d.ts.map +1 -0
  339. package/dist/feature-libraries/optional-field/{optionalFieldChangeFormat.js → optionalFieldChangeFormatV0.js} +11 -2
  340. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV0.js.map +1 -0
  341. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +25 -0
  342. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -0
  343. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +44 -0
  344. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -0
  345. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +4 -7
  346. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  347. package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  348. package/dist/feature-libraries/optional-field/optionalFieldCodecV0.d.ts +12 -0
  349. package/dist/feature-libraries/optional-field/optionalFieldCodecV0.d.ts.map +1 -0
  350. package/dist/feature-libraries/optional-field/optionalFieldCodecV0.js +158 -0
  351. package/dist/feature-libraries/optional-field/optionalFieldCodecV0.js.map +1 -0
  352. package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +12 -0
  353. package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -0
  354. package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js +87 -0
  355. package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -0
  356. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -4
  357. package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  358. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +7 -150
  359. package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  360. package/dist/feature-libraries/schema-aware/schemaAware.d.ts +1 -2
  361. package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
  362. package/dist/feature-libraries/schema-aware/schemaAware.js +1 -1
  363. package/dist/feature-libraries/schema-aware/schemaAware.js.map +1 -1
  364. package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
  365. package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
  366. package/dist/feature-libraries/schema-edits/index.js +2 -2
  367. package/dist/feature-libraries/schema-edits/index.js.map +1 -1
  368. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +2 -3
  369. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  370. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +13 -5
  371. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  372. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  373. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  374. package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts +5 -0
  375. package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -1
  376. package/dist/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -1
  377. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  378. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  379. package/dist/feature-libraries/schema-index/format.d.ts.map +1 -1
  380. package/dist/feature-libraries/schema-index/format.js.map +1 -1
  381. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  382. package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
  383. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  384. package/dist/feature-libraries/schemaBuilder.d.ts.map +1 -1
  385. package/dist/feature-libraries/schemaBuilder.js.map +1 -1
  386. package/dist/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
  387. package/dist/feature-libraries/schemaBuilderBase.js +4 -4
  388. package/dist/feature-libraries/schemaBuilderBase.js.map +1 -1
  389. package/dist/feature-libraries/sequence-field/compose.d.ts +8 -12
  390. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  391. package/dist/feature-libraries/sequence-field/compose.js +18 -18
  392. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  393. package/dist/feature-libraries/sequence-field/format.d.ts.map +1 -1
  394. package/dist/feature-libraries/sequence-field/format.js.map +1 -1
  395. package/dist/feature-libraries/sequence-field/helperTypes.d.ts +2 -2
  396. package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  397. package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  398. package/dist/feature-libraries/sequence-field/index.d.ts +5 -5
  399. package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
  400. package/dist/feature-libraries/sequence-field/index.js.map +1 -1
  401. package/dist/feature-libraries/sequence-field/invert.d.ts +1 -2
  402. package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  403. package/dist/feature-libraries/sequence-field/invert.js +27 -36
  404. package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
  405. package/dist/feature-libraries/sequence-field/markListFactory.d.ts +4 -4
  406. package/dist/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -1
  407. package/dist/feature-libraries/sequence-field/markListFactory.js.map +1 -1
  408. package/dist/feature-libraries/sequence-field/markQueue.d.ts +6 -6
  409. package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  410. package/dist/feature-libraries/sequence-field/markQueue.js +2 -2
  411. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
  412. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +12 -12
  413. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  414. package/dist/feature-libraries/sequence-field/moveEffectTable.js +3 -3
  415. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  416. package/dist/feature-libraries/sequence-field/prune.d.ts +2 -2
  417. package/dist/feature-libraries/sequence-field/prune.d.ts.map +1 -1
  418. package/dist/feature-libraries/sequence-field/prune.js.map +1 -1
  419. package/dist/feature-libraries/sequence-field/rebase.d.ts +2 -3
  420. package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  421. package/dist/feature-libraries/sequence-field/rebase.js +24 -24
  422. package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
  423. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
  424. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
  425. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +2 -2
  426. package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
  427. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  428. package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  429. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
  430. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
  431. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -3
  432. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  433. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +12 -14
  434. package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  435. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -17
  436. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  437. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +2 -2
  438. package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  439. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -3
  440. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  441. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +6 -6
  442. package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  443. package/dist/feature-libraries/sequence-field/types.d.ts +7 -8
  444. package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
  445. package/dist/feature-libraries/sequence-field/types.js.map +1 -1
  446. package/dist/feature-libraries/sequence-field/utils.d.ts +32 -32
  447. package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  448. package/dist/feature-libraries/sequence-field/utils.js +14 -14
  449. package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
  450. package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -1
  451. package/dist/feature-libraries/storedToViewSchema.js +3 -3
  452. package/dist/feature-libraries/storedToViewSchema.js.map +1 -1
  453. package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  454. package/dist/feature-libraries/treeCursorUtils.js +8 -8
  455. package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
  456. package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -1
  457. package/dist/feature-libraries/treeTextCursor.js +3 -3
  458. package/dist/feature-libraries/treeTextCursor.js.map +1 -1
  459. package/dist/feature-libraries/typed-schema/flexList.d.ts +1 -2
  460. package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  461. package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
  462. package/dist/feature-libraries/typed-schema/index.d.ts +0 -1
  463. package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
  464. package/dist/feature-libraries/typed-schema/index.js.map +1 -1
  465. package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
  466. package/dist/feature-libraries/typed-schema/schemaCollection.js +13 -13
  467. package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
  468. package/dist/feature-libraries/typed-schema/typeUtils.d.ts +0 -5
  469. package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -1
  470. package/dist/feature-libraries/typed-schema/typeUtils.js.map +1 -1
  471. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +2 -1
  472. package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  473. package/dist/feature-libraries/typed-schema/typedTreeSchema.js +19 -11
  474. package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  475. package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -1
  476. package/dist/feature-libraries/typed-schema/view.js.map +1 -1
  477. package/dist/feature-libraries/valueUtilities.d.ts +5 -2
  478. package/dist/feature-libraries/valueUtilities.d.ts.map +1 -1
  479. package/dist/feature-libraries/valueUtilities.js +11 -10
  480. package/dist/feature-libraries/valueUtilities.js.map +1 -1
  481. package/dist/index.d.ts +5 -5
  482. package/dist/index.d.ts.map +1 -1
  483. package/dist/index.js +4 -3
  484. package/dist/index.js.map +1 -1
  485. package/dist/packageVersion.d.ts +1 -1
  486. package/dist/packageVersion.js +1 -1
  487. package/dist/packageVersion.js.map +1 -1
  488. package/dist/shared-tree/index.d.ts +2 -2
  489. package/dist/shared-tree/index.d.ts.map +1 -1
  490. package/dist/shared-tree/index.js +2 -1
  491. package/dist/shared-tree/index.js.map +1 -1
  492. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  493. package/dist/shared-tree/schematizeTree.js +11 -11
  494. package/dist/shared-tree/schematizeTree.js.map +1 -1
  495. package/dist/shared-tree/schematizingTreeView.d.ts +4 -2
  496. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  497. package/dist/shared-tree/schematizingTreeView.js +21 -27
  498. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  499. package/dist/shared-tree/sharedTree.d.ts +47 -4
  500. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  501. package/dist/shared-tree/sharedTree.js +29 -6
  502. package/dist/shared-tree/sharedTree.js.map +1 -1
  503. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -5
  504. package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  505. package/dist/shared-tree/sharedTreeChangeCodecs.js +14 -11
  506. package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  507. package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -0
  508. package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  509. package/dist/shared-tree/sharedTreeChangeFamily.js +9 -6
  510. package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  511. package/dist/shared-tree/sharedTreeChangeFormat.d.ts +4 -188
  512. package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  513. package/dist/shared-tree/sharedTreeChangeFormat.js +3 -3
  514. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  515. package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  516. package/dist/shared-tree/sharedTreeEditBuilder.js +4 -1
  517. package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  518. package/dist/shared-tree/treeApi.d.ts +18 -2
  519. package/dist/shared-tree/treeApi.d.ts.map +1 -1
  520. package/dist/shared-tree/treeApi.js +12 -2
  521. package/dist/shared-tree/treeApi.js.map +1 -1
  522. package/dist/shared-tree/treeCheckout.d.ts +35 -21
  523. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  524. package/dist/shared-tree/treeCheckout.js +111 -37
  525. package/dist/shared-tree/treeCheckout.js.map +1 -1
  526. package/dist/shared-tree/treeView.d.ts.map +1 -1
  527. package/dist/shared-tree/treeView.js.map +1 -1
  528. package/dist/shared-tree-core/branch.d.ts +4 -31
  529. package/dist/shared-tree-core/branch.d.ts.map +1 -1
  530. package/dist/shared-tree-core/branch.js +9 -108
  531. package/dist/shared-tree-core/branch.js.map +1 -1
  532. package/dist/shared-tree-core/editManager.d.ts +0 -13
  533. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  534. package/dist/shared-tree-core/editManager.js +15 -59
  535. package/dist/shared-tree-core/editManager.js.map +1 -1
  536. package/dist/shared-tree-core/editManagerCodecs.d.ts +4 -4
  537. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  538. package/dist/shared-tree-core/editManagerCodecs.js +20 -9
  539. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  540. package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -1
  541. package/dist/shared-tree-core/editManagerFormat.js.map +1 -1
  542. package/dist/shared-tree-core/editManagerSummarizer.d.ts +7 -6
  543. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  544. package/dist/shared-tree-core/editManagerSummarizer.js +6 -9
  545. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  546. package/dist/shared-tree-core/index.d.ts +1 -1
  547. package/dist/shared-tree-core/index.d.ts.map +1 -1
  548. package/dist/shared-tree-core/index.js.map +1 -1
  549. package/dist/shared-tree-core/messageCodecs.d.ts +7 -4
  550. package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
  551. package/dist/shared-tree-core/messageCodecs.js +20 -4
  552. package/dist/shared-tree-core/messageCodecs.js.map +1 -1
  553. package/dist/shared-tree-core/messageFormat.d.ts +8 -0
  554. package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
  555. package/dist/shared-tree-core/messageFormat.js +1 -0
  556. package/dist/shared-tree-core/messageFormat.js.map +1 -1
  557. package/dist/shared-tree-core/messageTypes.d.ts.map +1 -1
  558. package/dist/shared-tree-core/messageTypes.js.map +1 -1
  559. package/dist/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
  560. package/dist/shared-tree-core/sequenceIdUtils.js.map +1 -1
  561. package/dist/shared-tree-core/sharedTreeCore.d.ts +9 -4
  562. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  563. package/dist/shared-tree-core/sharedTreeCore.js +17 -17
  564. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  565. package/dist/simple-tree/arrayNode.d.ts +187 -0
  566. package/dist/simple-tree/arrayNode.d.ts.map +1 -0
  567. package/dist/simple-tree/arrayNode.js +438 -0
  568. package/dist/simple-tree/arrayNode.js.map +1 -0
  569. package/dist/simple-tree/index.d.ts +8 -6
  570. package/dist/simple-tree/index.d.ts.map +1 -1
  571. package/dist/simple-tree/index.js +7 -4
  572. package/dist/simple-tree/index.js.map +1 -1
  573. package/dist/simple-tree/leafNodeSchema.d.ts +1 -1
  574. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  575. package/dist/simple-tree/leafNodeSchema.js +4 -4
  576. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  577. package/dist/simple-tree/mapNode.d.ts +86 -0
  578. package/dist/simple-tree/mapNode.d.ts.map +1 -0
  579. package/dist/simple-tree/mapNode.js +204 -0
  580. package/dist/simple-tree/mapNode.js.map +1 -0
  581. package/dist/simple-tree/objectNode.d.ts +61 -0
  582. package/dist/simple-tree/objectNode.d.ts.map +1 -0
  583. package/dist/simple-tree/objectNode.js +226 -0
  584. package/dist/simple-tree/objectNode.js.map +1 -0
  585. package/dist/simple-tree/proxies.d.ts +6 -42
  586. package/dist/simple-tree/proxies.d.ts.map +1 -1
  587. package/dist/simple-tree/proxies.js +20 -529
  588. package/dist/simple-tree/proxies.js.map +1 -1
  589. package/dist/simple-tree/proxyBinding.d.ts +11 -5
  590. package/dist/simple-tree/proxyBinding.d.ts.map +1 -1
  591. package/dist/simple-tree/proxyBinding.js +14 -54
  592. package/dist/simple-tree/proxyBinding.js.map +1 -1
  593. package/dist/simple-tree/rawNode.d.ts +5 -47
  594. package/dist/simple-tree/rawNode.d.ts.map +1 -1
  595. package/dist/simple-tree/rawNode.js +10 -88
  596. package/dist/simple-tree/rawNode.js.map +1 -1
  597. package/dist/simple-tree/schemaCaching.d.ts +26 -0
  598. package/dist/simple-tree/schemaCaching.d.ts.map +1 -0
  599. package/dist/simple-tree/schemaCaching.js +69 -0
  600. package/dist/simple-tree/schemaCaching.js.map +1 -0
  601. package/dist/simple-tree/schemaCreationUtilities.d.ts +2 -1
  602. package/dist/simple-tree/schemaCreationUtilities.d.ts.map +1 -1
  603. package/dist/simple-tree/schemaCreationUtilities.js +3 -3
  604. package/dist/simple-tree/schemaCreationUtilities.js.map +1 -1
  605. package/dist/simple-tree/schemaFactory.d.ts +28 -8
  606. package/dist/simple-tree/schemaFactory.d.ts.map +1 -1
  607. package/dist/simple-tree/schemaFactory.js +42 -103
  608. package/dist/simple-tree/schemaFactory.js.map +1 -1
  609. package/dist/simple-tree/schemaFactoryRecursive.d.ts +6 -5
  610. package/dist/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
  611. package/dist/simple-tree/schemaFactoryRecursive.js.map +1 -1
  612. package/dist/simple-tree/schemaTypes.d.ts +122 -70
  613. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  614. package/dist/simple-tree/schemaTypes.js +86 -5
  615. package/dist/simple-tree/schemaTypes.js.map +1 -1
  616. package/dist/simple-tree/testRecursiveDomain.d.ts +7 -7
  617. package/dist/simple-tree/toFlexSchema.d.ts +2 -9
  618. package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
  619. package/dist/simple-tree/toFlexSchema.js +30 -39
  620. package/dist/simple-tree/toFlexSchema.js.map +1 -1
  621. package/dist/simple-tree/toMapTree.d.ts +11 -21
  622. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  623. package/dist/simple-tree/toMapTree.js +176 -144
  624. package/dist/simple-tree/toMapTree.js.map +1 -1
  625. package/dist/simple-tree/tree.d.ts +7 -11
  626. package/dist/simple-tree/tree.d.ts.map +1 -1
  627. package/dist/simple-tree/tree.js.map +1 -1
  628. package/dist/simple-tree/treeApi.d.ts +82 -5
  629. package/dist/simple-tree/treeApi.d.ts.map +1 -1
  630. package/dist/simple-tree/treeApi.js +93 -14
  631. package/dist/simple-tree/treeApi.js.map +1 -1
  632. package/dist/simple-tree/types.d.ts +0 -141
  633. package/dist/simple-tree/types.d.ts.map +1 -1
  634. package/dist/simple-tree/types.js.map +1 -1
  635. package/dist/simple-tree/typesUnsafe.d.ts +19 -4
  636. package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
  637. package/dist/simple-tree/typesUnsafe.js.map +1 -1
  638. package/dist/tree-alpha.d.ts +295 -51
  639. package/dist/tree-beta.d.ts +295 -51
  640. package/dist/tree-public.d.ts +277 -47
  641. package/dist/tree-untrimmed.d.ts +439 -182
  642. package/dist/treeFactory.d.ts.map +1 -1
  643. package/dist/treeFactory.js.map +1 -1
  644. package/dist/util/brand.d.ts.map +1 -1
  645. package/dist/util/brand.js +3 -3
  646. package/dist/util/brand.js.map +1 -1
  647. package/dist/util/idAllocator.d.ts.map +1 -1
  648. package/dist/util/idAllocator.js +2 -2
  649. package/dist/util/idAllocator.js.map +1 -1
  650. package/dist/util/referenceCounting.d.ts +1 -1
  651. package/dist/util/referenceCounting.d.ts.map +1 -1
  652. package/dist/util/referenceCounting.js +3 -3
  653. package/dist/util/referenceCounting.js.map +1 -1
  654. package/dist/util/utils.js +9 -9
  655. package/dist/util/utils.js.map +1 -1
  656. package/docs/main/compatibility.md +95 -0
  657. package/lib/codec/codec.d.ts +9 -3
  658. package/lib/codec/codec.d.ts.map +1 -1
  659. package/lib/codec/codec.js +1 -1
  660. package/lib/codec/codec.js.map +1 -1
  661. package/lib/codec/discriminatedUnions.d.ts.map +1 -1
  662. package/lib/codec/discriminatedUnions.js +1 -1
  663. package/lib/codec/discriminatedUnions.js.map +1 -1
  664. package/lib/codec/index.d.ts +2 -2
  665. package/lib/codec/index.d.ts.map +1 -1
  666. package/lib/codec/index.js +1 -1
  667. package/lib/codec/index.js.map +1 -1
  668. package/lib/codec/noopValidator.d.ts.map +1 -1
  669. package/lib/codec/noopValidator.js.map +1 -1
  670. package/lib/codec/versioned/codec.d.ts +10 -2
  671. package/lib/codec/versioned/codec.d.ts.map +1 -1
  672. package/lib/codec/versioned/codec.js +25 -4
  673. package/lib/codec/versioned/codec.js.map +1 -1
  674. package/lib/codec/versioned/index.d.ts +1 -1
  675. package/lib/codec/versioned/index.d.ts.map +1 -1
  676. package/lib/codec/versioned/index.js +1 -1
  677. package/lib/codec/versioned/index.js.map +1 -1
  678. package/lib/core/change-family/changeFamily.d.ts +1 -1
  679. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  680. package/lib/core/change-family/changeFamily.js.map +1 -1
  681. package/lib/core/forest/editableForest.d.ts.map +1 -1
  682. package/lib/core/forest/editableForest.js +1 -1
  683. package/lib/core/forest/editableForest.js.map +1 -1
  684. package/lib/core/forest/forest.d.ts.map +1 -1
  685. package/lib/core/forest/forest.js +1 -1
  686. package/lib/core/forest/forest.js.map +1 -1
  687. package/lib/core/index.d.ts +2 -2
  688. package/lib/core/index.d.ts.map +1 -1
  689. package/lib/core/index.js +2 -2
  690. package/lib/core/index.js.map +1 -1
  691. package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
  692. package/lib/core/rebase/changeRebaser.js.map +1 -1
  693. package/lib/core/rebase/index.d.ts +1 -1
  694. package/lib/core/rebase/index.d.ts.map +1 -1
  695. package/lib/core/rebase/index.js +1 -1
  696. package/lib/core/rebase/index.js.map +1 -1
  697. package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
  698. package/lib/core/rebase/revisionTagCodec.js +1 -1
  699. package/lib/core/rebase/revisionTagCodec.js.map +1 -1
  700. package/lib/core/rebase/types.d.ts +4 -2
  701. package/lib/core/rebase/types.d.ts.map +1 -1
  702. package/lib/core/rebase/types.js +9 -0
  703. package/lib/core/rebase/types.js.map +1 -1
  704. package/lib/core/rebase/utils.d.ts.map +1 -1
  705. package/lib/core/rebase/utils.js +6 -5
  706. package/lib/core/rebase/utils.js.map +1 -1
  707. package/lib/core/revertible/revertible.d.ts +12 -3
  708. package/lib/core/revertible/revertible.d.ts.map +1 -1
  709. package/lib/core/revertible/revertible.js +1 -0
  710. package/lib/core/revertible/revertible.js.map +1 -1
  711. package/lib/core/schema-stored/format.d.ts.map +1 -1
  712. package/lib/core/schema-stored/format.js.map +1 -1
  713. package/lib/core/schema-stored/index.d.ts +2 -1
  714. package/lib/core/schema-stored/index.d.ts.map +1 -1
  715. package/lib/core/schema-stored/index.js +1 -0
  716. package/lib/core/schema-stored/index.js.map +1 -1
  717. package/lib/core/schema-stored/multiplicity.d.ts.map +1 -0
  718. package/lib/core/schema-stored/multiplicity.js.map +1 -0
  719. package/lib/core/schema-stored/schema.d.ts +27 -5
  720. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  721. package/lib/core/schema-stored/schema.js +3 -3
  722. package/lib/core/schema-stored/schema.js.map +1 -1
  723. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  724. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  725. package/lib/core/tree/anchorSet.d.ts +29 -14
  726. package/lib/core/tree/anchorSet.d.ts.map +1 -1
  727. package/lib/core/tree/anchorSet.js +9 -34
  728. package/lib/core/tree/anchorSet.js.map +1 -1
  729. package/lib/core/tree/cursor.d.ts.map +1 -1
  730. package/lib/core/tree/cursor.js +1 -1
  731. package/lib/core/tree/cursor.js.map +1 -1
  732. package/lib/core/tree/delta.d.ts.map +1 -1
  733. package/lib/core/tree/delta.js.map +1 -1
  734. package/lib/core/tree/deltaUtil.d.ts.map +1 -1
  735. package/lib/core/tree/deltaUtil.js.map +1 -1
  736. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  737. package/lib/core/tree/detachedFieldIndex.js +1 -1
  738. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  739. package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
  740. package/lib/core/tree/detachedFieldIndexCodec.js +1 -1
  741. package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -1
  742. package/lib/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
  743. package/lib/core/tree/detachedFieldIndexFormat.js.map +1 -1
  744. package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
  745. package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
  746. package/lib/core/tree/mapTree.d.ts.map +1 -1
  747. package/lib/core/tree/mapTree.js.map +1 -1
  748. package/lib/core/tree/pathTree.d.ts.map +1 -1
  749. package/lib/core/tree/pathTree.js.map +1 -1
  750. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  751. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  752. package/lib/core/tree/sparseTree.d.ts.map +1 -1
  753. package/lib/core/tree/sparseTree.js +1 -1
  754. package/lib/core/tree/sparseTree.js.map +1 -1
  755. package/lib/core/tree/treeTextFormat.d.ts.map +1 -1
  756. package/lib/core/tree/treeTextFormat.js.map +1 -1
  757. package/lib/core/tree/types.d.ts.map +1 -1
  758. package/lib/core/tree/types.js.map +1 -1
  759. package/lib/core/tree/visitDelta.d.ts +7 -0
  760. package/lib/core/tree/visitDelta.d.ts.map +1 -1
  761. package/lib/core/tree/visitDelta.js +12 -8
  762. package/lib/core/tree/visitDelta.js.map +1 -1
  763. package/lib/core/tree/visitorUtils.d.ts.map +1 -1
  764. package/lib/core/tree/visitorUtils.js +1 -1
  765. package/lib/core/tree/visitorUtils.js.map +1 -1
  766. package/lib/domains/json/jsonCursor.d.ts.map +1 -1
  767. package/lib/domains/json/jsonCursor.js +1 -1
  768. package/lib/domains/json/jsonCursor.js.map +1 -1
  769. package/lib/domains/json/jsonDomainSchema.d.ts.map +1 -1
  770. package/lib/domains/json/jsonDomainSchema.js.map +1 -1
  771. package/lib/domains/nodeKey/nodeKeySchema.d.ts.map +1 -1
  772. package/lib/domains/nodeKey/nodeKeySchema.js +1 -1
  773. package/lib/domains/nodeKey/nodeKeySchema.js.map +1 -1
  774. package/lib/domains/schemaBuilder.d.ts +21 -71
  775. package/lib/domains/schemaBuilder.d.ts.map +1 -1
  776. package/lib/domains/schemaBuilder.js +24 -80
  777. package/lib/domains/schemaBuilder.js.map +1 -1
  778. package/lib/domains/testRecursiveDomain.d.ts.map +1 -1
  779. package/lib/domains/testRecursiveDomain.js.map +1 -1
  780. package/lib/events/events.d.ts.map +1 -1
  781. package/lib/events/events.js +1 -1
  782. package/lib/events/events.js.map +1 -1
  783. package/lib/external-utilities/typeboxValidator.d.ts.map +1 -1
  784. package/lib/external-utilities/typeboxValidator.js.map +1 -1
  785. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts +1 -1
  786. package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
  787. package/lib/feature-libraries/chunked-forest/basicChunk.js +2 -2
  788. package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
  789. package/lib/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
  790. package/lib/feature-libraries/chunked-forest/chunk.js +1 -1
  791. package/lib/feature-libraries/chunked-forest/chunk.js.map +1 -1
  792. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  793. package/lib/feature-libraries/chunked-forest/chunkTree.js +3 -4
  794. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  795. package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
  796. package/lib/feature-libraries/chunked-forest/chunkedForest.js +1 -1
  797. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  798. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
  799. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +1 -1
  800. package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
  801. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  802. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +1 -1
  803. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  804. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
  805. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +1 -1
  806. package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
  807. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
  808. package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
  809. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +2 -7
  810. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  811. package/lib/feature-libraries/chunked-forest/codec/codecs.js +3 -2
  812. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  813. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  814. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
  815. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  816. package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
  817. package/lib/feature-libraries/chunked-forest/codec/format.js +1 -2
  818. package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
  819. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  820. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  821. package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
  822. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  823. package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
  824. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +1 -1
  825. package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
  826. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
  827. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +3 -4
  828. package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
  829. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
  830. package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
  831. package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -1
  832. package/lib/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
  833. package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
  834. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  835. package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
  836. package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts +1 -1
  837. package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -1
  838. package/lib/feature-libraries/chunked-forest/sequenceChunk.js +1 -1
  839. package/lib/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -1
  840. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +1 -1
  841. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  842. package/lib/feature-libraries/chunked-forest/uniformChunk.js +2 -2
  843. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  844. package/lib/feature-libraries/contextuallyTyped.d.ts +1 -5
  845. package/lib/feature-libraries/contextuallyTyped.d.ts.map +1 -1
  846. package/lib/feature-libraries/contextuallyTyped.js +4 -18
  847. package/lib/feature-libraries/contextuallyTyped.js.map +1 -1
  848. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -5
  849. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  850. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +3 -3
  851. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  852. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +18 -4
  853. package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
  854. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +43 -19
  855. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  856. package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
  857. package/lib/feature-libraries/default-schema/defaultSchema.js.map +1 -1
  858. package/lib/feature-libraries/default-schema/index.d.ts +1 -1
  859. package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
  860. package/lib/feature-libraries/default-schema/index.js +1 -1
  861. package/lib/feature-libraries/default-schema/index.js.map +1 -1
  862. package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts +8 -0
  863. package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -0
  864. package/lib/feature-libraries/default-schema/noChangeCodecs.js +7 -0
  865. package/lib/feature-libraries/default-schema/noChangeCodecs.js.map +1 -0
  866. package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
  867. package/lib/feature-libraries/detachedFieldIndexSummarizer.js +1 -1
  868. package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
  869. package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
  870. package/lib/feature-libraries/editableTreeBinder.js +1 -1
  871. package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
  872. package/lib/feature-libraries/fieldGenerator.d.ts.map +1 -1
  873. package/lib/feature-libraries/fieldGenerator.js.map +1 -1
  874. package/lib/feature-libraries/flex-tree/context.d.ts +8 -0
  875. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  876. package/lib/feature-libraries/flex-tree/context.js +14 -2
  877. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  878. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +28 -9
  879. package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
  880. package/lib/feature-libraries/flex-tree/flexTreeTypes.js +1 -0
  881. package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
  882. package/lib/feature-libraries/flex-tree/index.d.ts +2 -2
  883. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
  884. package/lib/feature-libraries/flex-tree/index.js +1 -1
  885. package/lib/feature-libraries/flex-tree/index.js.map +1 -1
  886. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +5 -2
  887. package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
  888. package/lib/feature-libraries/flex-tree/lazyEntity.js +6 -3
  889. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  890. package/lib/feature-libraries/flex-tree/lazyField.d.ts +17 -3
  891. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  892. package/lib/feature-libraries/flex-tree/lazyField.js +37 -16
  893. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  894. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +7 -4
  895. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  896. package/lib/feature-libraries/flex-tree/lazyNode.js +16 -40
  897. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  898. package/lib/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -1
  899. package/lib/feature-libraries/flex-tree/nodeKeys.js.map +1 -1
  900. package/lib/feature-libraries/flex-tree/treeEvents.d.ts +2 -65
  901. package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
  902. package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -1
  903. package/lib/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
  904. package/lib/feature-libraries/flex-tree/unboxed.js.map +1 -1
  905. package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
  906. package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
  907. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  908. package/lib/feature-libraries/forest-summary/codec.js +1 -1
  909. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  910. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  911. package/lib/feature-libraries/forest-summary/forestSummarizer.js +2 -2
  912. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  913. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
  914. package/lib/feature-libraries/forest-summary/format.js.map +1 -1
  915. package/lib/feature-libraries/index.d.ts +8 -9
  916. package/lib/feature-libraries/index.d.ts.map +1 -1
  917. package/lib/feature-libraries/index.js +6 -7
  918. package/lib/feature-libraries/index.js.map +1 -1
  919. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  920. package/lib/feature-libraries/mapTreeCursor.js +1 -1
  921. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  922. package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  923. package/lib/feature-libraries/modular-schema/comparison.js +2 -2
  924. package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
  925. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +18 -12
  926. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  927. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  928. package/lib/feature-libraries/modular-schema/fieldKind.d.ts +17 -3
  929. package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
  930. package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
  931. package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +21 -0
  932. package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -0
  933. package/lib/{test/codec/codec.spec.d.ts → feature-libraries/modular-schema/fieldKindConfiguration.js} +1 -1
  934. package/lib/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -0
  935. package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +1 -2
  936. package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +1 -1
  937. package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js +2 -2
  938. package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js.map +1 -1
  939. package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
  940. package/lib/feature-libraries/modular-schema/genericFieldKind.js +3 -7
  941. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  942. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +3 -5
  943. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
  944. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +7 -7
  945. package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
  946. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  947. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
  948. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  949. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +4 -4
  950. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
  951. package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
  952. package/lib/feature-libraries/modular-schema/index.d.ts +5 -4
  953. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  954. package/lib/feature-libraries/modular-schema/index.js +2 -2
  955. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  956. package/lib/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
  957. package/lib/feature-libraries/modular-schema/isNeverTree.js +6 -7
  958. package/lib/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
  959. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +4 -5
  960. package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
  961. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +63 -27
  962. package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
  963. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -21
  964. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  965. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +192 -102
  966. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  967. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +1 -0
  968. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  969. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  970. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +6 -4
  971. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  972. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  973. package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
  974. package/lib/feature-libraries/node-key/nodeKey.js.map +1 -1
  975. package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -1
  976. package/lib/feature-libraries/node-key/nodeKeyIndex.js +1 -1
  977. package/lib/feature-libraries/node-key/nodeKeyIndex.js.map +1 -1
  978. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +1 -1
  979. package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
  980. package/lib/feature-libraries/node-key/nodeKeyManager.js +2 -2
  981. package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
  982. package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
  983. package/lib/feature-libraries/object-forest/objectForest.js +1 -1
  984. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  985. package/lib/feature-libraries/optional-field/index.d.ts +1 -1
  986. package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
  987. package/lib/feature-libraries/optional-field/index.js +1 -1
  988. package/lib/feature-libraries/optional-field/index.js.map +1 -1
  989. package/lib/feature-libraries/optional-field/optionalField.d.ts +1 -3
  990. package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  991. package/lib/feature-libraries/optional-field/optionalField.js +4 -13
  992. package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
  993. package/lib/feature-libraries/optional-field/{optionalFieldChangeFormat.d.ts → optionalFieldChangeFormatV0.d.ts} +1 -1
  994. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV0.d.ts.map +1 -0
  995. package/lib/feature-libraries/optional-field/{optionalFieldChangeFormat.js → optionalFieldChangeFormatV0.js} +11 -2
  996. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV0.js.map +1 -0
  997. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +25 -0
  998. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -0
  999. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +40 -0
  1000. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -0
  1001. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +4 -7
  1002. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
  1003. package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
  1004. package/lib/feature-libraries/optional-field/optionalFieldCodecV0.d.ts +12 -0
  1005. package/lib/feature-libraries/optional-field/optionalFieldCodecV0.d.ts.map +1 -0
  1006. package/lib/feature-libraries/optional-field/optionalFieldCodecV0.js +154 -0
  1007. package/lib/feature-libraries/optional-field/optionalFieldCodecV0.js.map +1 -0
  1008. package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +12 -0
  1009. package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -0
  1010. package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js +83 -0
  1011. package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -0
  1012. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -4
  1013. package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
  1014. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +7 -150
  1015. package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
  1016. package/lib/feature-libraries/schema-aware/schemaAware.d.ts +1 -2
  1017. package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
  1018. package/lib/feature-libraries/schema-aware/schemaAware.js +1 -1
  1019. package/lib/feature-libraries/schema-aware/schemaAware.js.map +1 -1
  1020. package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
  1021. package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
  1022. package/lib/feature-libraries/schema-edits/index.js +1 -1
  1023. package/lib/feature-libraries/schema-edits/index.js.map +1 -1
  1024. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +2 -3
  1025. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  1026. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +10 -2
  1027. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  1028. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  1029. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  1030. package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts +5 -0
  1031. package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -1
  1032. package/lib/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -1
  1033. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  1034. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  1035. package/lib/feature-libraries/schema-index/format.d.ts.map +1 -1
  1036. package/lib/feature-libraries/schema-index/format.js.map +1 -1
  1037. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  1038. package/lib/feature-libraries/schema-index/schemaSummarizer.js +2 -2
  1039. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  1040. package/lib/feature-libraries/schemaBuilder.d.ts.map +1 -1
  1041. package/lib/feature-libraries/schemaBuilder.js.map +1 -1
  1042. package/lib/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
  1043. package/lib/feature-libraries/schemaBuilderBase.js +1 -1
  1044. package/lib/feature-libraries/schemaBuilderBase.js.map +1 -1
  1045. package/lib/feature-libraries/sequence-field/compose.d.ts +8 -12
  1046. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  1047. package/lib/feature-libraries/sequence-field/compose.js +2 -2
  1048. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  1049. package/lib/feature-libraries/sequence-field/format.d.ts.map +1 -1
  1050. package/lib/feature-libraries/sequence-field/format.js.map +1 -1
  1051. package/lib/feature-libraries/sequence-field/helperTypes.d.ts +2 -2
  1052. package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
  1053. package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
  1054. package/lib/feature-libraries/sequence-field/index.d.ts +5 -5
  1055. package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
  1056. package/lib/feature-libraries/sequence-field/index.js.map +1 -1
  1057. package/lib/feature-libraries/sequence-field/invert.d.ts +1 -2
  1058. package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
  1059. package/lib/feature-libraries/sequence-field/invert.js +16 -25
  1060. package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
  1061. package/lib/feature-libraries/sequence-field/markListFactory.d.ts +4 -4
  1062. package/lib/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -1
  1063. package/lib/feature-libraries/sequence-field/markListFactory.js.map +1 -1
  1064. package/lib/feature-libraries/sequence-field/markQueue.d.ts +6 -6
  1065. package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  1066. package/lib/feature-libraries/sequence-field/markQueue.js +1 -1
  1067. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
  1068. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +12 -12
  1069. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  1070. package/lib/feature-libraries/sequence-field/moveEffectTable.js +1 -1
  1071. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  1072. package/lib/feature-libraries/sequence-field/prune.d.ts +2 -2
  1073. package/lib/feature-libraries/sequence-field/prune.d.ts.map +1 -1
  1074. package/lib/feature-libraries/sequence-field/prune.js.map +1 -1
  1075. package/lib/feature-libraries/sequence-field/rebase.d.ts +2 -3
  1076. package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
  1077. package/lib/feature-libraries/sequence-field/rebase.js +1 -1
  1078. package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
  1079. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
  1080. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
  1081. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +1 -1
  1082. package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
  1083. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
  1084. package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
  1085. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
  1086. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
  1087. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -3
  1088. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
  1089. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +11 -13
  1090. package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
  1091. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -17
  1092. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
  1093. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +1 -1
  1094. package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
  1095. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -3
  1096. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
  1097. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +1 -1
  1098. package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
  1099. package/lib/feature-libraries/sequence-field/types.d.ts +7 -8
  1100. package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
  1101. package/lib/feature-libraries/sequence-field/types.js.map +1 -1
  1102. package/lib/feature-libraries/sequence-field/utils.d.ts +32 -32
  1103. package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
  1104. package/lib/feature-libraries/sequence-field/utils.js +1 -1
  1105. package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
  1106. package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -1
  1107. package/lib/feature-libraries/storedToViewSchema.js +2 -2
  1108. package/lib/feature-libraries/storedToViewSchema.js.map +1 -1
  1109. package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
  1110. package/lib/feature-libraries/treeCursorUtils.js +1 -1
  1111. package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
  1112. package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -1
  1113. package/lib/feature-libraries/treeTextCursor.js +1 -1
  1114. package/lib/feature-libraries/treeTextCursor.js.map +1 -1
  1115. package/lib/feature-libraries/typed-schema/flexList.d.ts +1 -2
  1116. package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
  1117. package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
  1118. package/lib/feature-libraries/typed-schema/index.d.ts +0 -1
  1119. package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
  1120. package/lib/feature-libraries/typed-schema/index.js.map +1 -1
  1121. package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
  1122. package/lib/feature-libraries/typed-schema/schemaCollection.js +2 -2
  1123. package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
  1124. package/lib/feature-libraries/typed-schema/typeUtils.d.ts +0 -5
  1125. package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -1
  1126. package/lib/feature-libraries/typed-schema/typeUtils.js.map +1 -1
  1127. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +2 -1
  1128. package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
  1129. package/lib/feature-libraries/typed-schema/typedTreeSchema.js +14 -6
  1130. package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
  1131. package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -1
  1132. package/lib/feature-libraries/typed-schema/view.js.map +1 -1
  1133. package/lib/feature-libraries/valueUtilities.d.ts +5 -2
  1134. package/lib/feature-libraries/valueUtilities.d.ts.map +1 -1
  1135. package/lib/feature-libraries/valueUtilities.js +8 -7
  1136. package/lib/feature-libraries/valueUtilities.js.map +1 -1
  1137. package/lib/index.d.ts +5 -5
  1138. package/lib/index.d.ts.map +1 -1
  1139. package/lib/index.js +3 -3
  1140. package/lib/index.js.map +1 -1
  1141. package/lib/packageVersion.d.ts +1 -1
  1142. package/lib/packageVersion.js +1 -1
  1143. package/lib/packageVersion.js.map +1 -1
  1144. package/lib/shared-tree/index.d.ts +2 -2
  1145. package/lib/shared-tree/index.d.ts.map +1 -1
  1146. package/lib/shared-tree/index.js +1 -1
  1147. package/lib/shared-tree/index.js.map +1 -1
  1148. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  1149. package/lib/shared-tree/schematizeTree.js +4 -4
  1150. package/lib/shared-tree/schematizeTree.js.map +1 -1
  1151. package/lib/shared-tree/schematizingTreeView.d.ts +4 -2
  1152. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  1153. package/lib/shared-tree/schematizingTreeView.js +16 -22
  1154. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  1155. package/lib/shared-tree/sharedTree.d.ts +47 -4
  1156. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  1157. package/lib/shared-tree/sharedTree.js +27 -4
  1158. package/lib/shared-tree/sharedTree.js.map +1 -1
  1159. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -5
  1160. package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
  1161. package/lib/shared-tree/sharedTreeChangeCodecs.js +14 -10
  1162. package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
  1163. package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -0
  1164. package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
  1165. package/lib/shared-tree/sharedTreeChangeFamily.js +7 -5
  1166. package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
  1167. package/lib/shared-tree/sharedTreeChangeFormat.d.ts +4 -188
  1168. package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  1169. package/lib/shared-tree/sharedTreeChangeFormat.js +3 -3
  1170. package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  1171. package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
  1172. package/lib/shared-tree/sharedTreeEditBuilder.js +4 -1
  1173. package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
  1174. package/lib/shared-tree/treeApi.d.ts +18 -2
  1175. package/lib/shared-tree/treeApi.d.ts.map +1 -1
  1176. package/lib/shared-tree/treeApi.js +12 -2
  1177. package/lib/shared-tree/treeApi.js.map +1 -1
  1178. package/lib/shared-tree/treeCheckout.d.ts +35 -21
  1179. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  1180. package/lib/shared-tree/treeCheckout.js +113 -39
  1181. package/lib/shared-tree/treeCheckout.js.map +1 -1
  1182. package/lib/shared-tree/treeView.d.ts.map +1 -1
  1183. package/lib/shared-tree/treeView.js.map +1 -1
  1184. package/lib/shared-tree-core/branch.d.ts +4 -31
  1185. package/lib/shared-tree-core/branch.d.ts.map +1 -1
  1186. package/lib/shared-tree-core/branch.js +6 -105
  1187. package/lib/shared-tree-core/branch.js.map +1 -1
  1188. package/lib/shared-tree-core/editManager.d.ts +0 -13
  1189. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  1190. package/lib/shared-tree-core/editManager.js +1 -45
  1191. package/lib/shared-tree-core/editManager.js.map +1 -1
  1192. package/lib/shared-tree-core/editManagerCodecs.d.ts +4 -4
  1193. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  1194. package/lib/shared-tree-core/editManagerCodecs.js +15 -5
  1195. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  1196. package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -1
  1197. package/lib/shared-tree-core/editManagerFormat.js.map +1 -1
  1198. package/lib/shared-tree-core/editManagerSummarizer.d.ts +7 -6
  1199. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  1200. package/lib/shared-tree-core/editManagerSummarizer.js +4 -7
  1201. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  1202. package/lib/shared-tree-core/index.d.ts +1 -1
  1203. package/lib/shared-tree-core/index.d.ts.map +1 -1
  1204. package/lib/shared-tree-core/index.js.map +1 -1
  1205. package/lib/shared-tree-core/messageCodecs.d.ts +7 -4
  1206. package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
  1207. package/lib/shared-tree-core/messageCodecs.js +18 -3
  1208. package/lib/shared-tree-core/messageCodecs.js.map +1 -1
  1209. package/lib/shared-tree-core/messageFormat.d.ts +8 -0
  1210. package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
  1211. package/lib/shared-tree-core/messageFormat.js +1 -0
  1212. package/lib/shared-tree-core/messageFormat.js.map +1 -1
  1213. package/lib/shared-tree-core/messageTypes.d.ts.map +1 -1
  1214. package/lib/shared-tree-core/messageTypes.js.map +1 -1
  1215. package/lib/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
  1216. package/lib/shared-tree-core/sequenceIdUtils.js.map +1 -1
  1217. package/lib/shared-tree-core/sharedTreeCore.d.ts +9 -4
  1218. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  1219. package/lib/shared-tree-core/sharedTreeCore.js +11 -11
  1220. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  1221. package/lib/simple-tree/arrayNode.d.ts +187 -0
  1222. package/lib/simple-tree/arrayNode.d.ts.map +1 -0
  1223. package/lib/simple-tree/arrayNode.js +433 -0
  1224. package/lib/simple-tree/arrayNode.js.map +1 -0
  1225. package/lib/simple-tree/index.d.ts +8 -6
  1226. package/lib/simple-tree/index.d.ts.map +1 -1
  1227. package/lib/simple-tree/index.js +3 -2
  1228. package/lib/simple-tree/index.js.map +1 -1
  1229. package/lib/simple-tree/leafNodeSchema.d.ts +1 -1
  1230. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  1231. package/lib/simple-tree/leafNodeSchema.js +2 -2
  1232. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  1233. package/lib/simple-tree/mapNode.d.ts +86 -0
  1234. package/lib/simple-tree/mapNode.d.ts.map +1 -0
  1235. package/lib/simple-tree/mapNode.js +198 -0
  1236. package/lib/simple-tree/mapNode.js.map +1 -0
  1237. package/lib/simple-tree/objectNode.d.ts +61 -0
  1238. package/lib/simple-tree/objectNode.d.ts.map +1 -0
  1239. package/lib/simple-tree/objectNode.js +220 -0
  1240. package/lib/simple-tree/objectNode.js.map +1 -0
  1241. package/lib/simple-tree/proxies.d.ts +6 -42
  1242. package/lib/simple-tree/proxies.d.ts.map +1 -1
  1243. package/lib/simple-tree/proxies.js +19 -524
  1244. package/lib/simple-tree/proxies.js.map +1 -1
  1245. package/lib/simple-tree/proxyBinding.d.ts +11 -5
  1246. package/lib/simple-tree/proxyBinding.d.ts.map +1 -1
  1247. package/lib/simple-tree/proxyBinding.js +11 -51
  1248. package/lib/simple-tree/proxyBinding.js.map +1 -1
  1249. package/lib/simple-tree/rawNode.d.ts +5 -47
  1250. package/lib/simple-tree/rawNode.d.ts.map +1 -1
  1251. package/lib/simple-tree/rawNode.js +7 -82
  1252. package/lib/simple-tree/rawNode.js.map +1 -1
  1253. package/lib/simple-tree/schemaCaching.d.ts +26 -0
  1254. package/lib/simple-tree/schemaCaching.d.ts.map +1 -0
  1255. package/lib/simple-tree/schemaCaching.js +61 -0
  1256. package/lib/simple-tree/schemaCaching.js.map +1 -0
  1257. package/lib/simple-tree/schemaCreationUtilities.d.ts +2 -1
  1258. package/lib/simple-tree/schemaCreationUtilities.d.ts.map +1 -1
  1259. package/lib/simple-tree/schemaCreationUtilities.js +1 -1
  1260. package/lib/simple-tree/schemaCreationUtilities.js.map +1 -1
  1261. package/lib/simple-tree/schemaFactory.d.ts +28 -8
  1262. package/lib/simple-tree/schemaFactory.d.ts.map +1 -1
  1263. package/lib/simple-tree/schemaFactory.js +40 -101
  1264. package/lib/simple-tree/schemaFactory.js.map +1 -1
  1265. package/lib/simple-tree/schemaFactoryRecursive.d.ts +6 -5
  1266. package/lib/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
  1267. package/lib/simple-tree/schemaFactoryRecursive.js.map +1 -1
  1268. package/lib/simple-tree/schemaTypes.d.ts +122 -70
  1269. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  1270. package/lib/simple-tree/schemaTypes.js +81 -4
  1271. package/lib/simple-tree/schemaTypes.js.map +1 -1
  1272. package/lib/simple-tree/testRecursiveDomain.d.ts +7 -7
  1273. package/lib/simple-tree/toFlexSchema.d.ts +2 -9
  1274. package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
  1275. package/lib/simple-tree/toFlexSchema.js +19 -26
  1276. package/lib/simple-tree/toFlexSchema.js.map +1 -1
  1277. package/lib/simple-tree/toMapTree.d.ts +11 -21
  1278. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  1279. package/lib/simple-tree/toMapTree.js +174 -141
  1280. package/lib/simple-tree/toMapTree.js.map +1 -1
  1281. package/lib/simple-tree/tree.d.ts +7 -11
  1282. package/lib/simple-tree/tree.d.ts.map +1 -1
  1283. package/lib/simple-tree/tree.js.map +1 -1
  1284. package/lib/simple-tree/treeApi.d.ts +82 -5
  1285. package/lib/simple-tree/treeApi.d.ts.map +1 -1
  1286. package/lib/simple-tree/treeApi.js +90 -11
  1287. package/lib/simple-tree/treeApi.js.map +1 -1
  1288. package/lib/simple-tree/types.d.ts +0 -141
  1289. package/lib/simple-tree/types.d.ts.map +1 -1
  1290. package/lib/simple-tree/types.js.map +1 -1
  1291. package/lib/simple-tree/typesUnsafe.d.ts +19 -4
  1292. package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
  1293. package/lib/simple-tree/typesUnsafe.js.map +1 -1
  1294. package/lib/tree-alpha.d.ts +295 -51
  1295. package/lib/tree-beta.d.ts +295 -51
  1296. package/lib/tree-public.d.ts +277 -47
  1297. package/lib/tree-untrimmed.d.ts +439 -182
  1298. package/lib/treeFactory.d.ts.map +1 -1
  1299. package/lib/treeFactory.js.map +1 -1
  1300. package/lib/tsdoc-metadata.json +11 -0
  1301. package/lib/util/brand.d.ts.map +1 -1
  1302. package/lib/util/brand.js +1 -1
  1303. package/lib/util/brand.js.map +1 -1
  1304. package/lib/util/idAllocator.d.ts.map +1 -1
  1305. package/lib/util/idAllocator.js +1 -1
  1306. package/lib/util/idAllocator.js.map +1 -1
  1307. package/lib/util/referenceCounting.d.ts +1 -1
  1308. package/lib/util/referenceCounting.d.ts.map +1 -1
  1309. package/lib/util/referenceCounting.js +2 -2
  1310. package/lib/util/referenceCounting.js.map +1 -1
  1311. package/lib/util/utils.js +1 -1
  1312. package/lib/util/utils.js.map +1 -1
  1313. package/package.json +29 -31
  1314. package/src/codec/codec.ts +13 -5
  1315. package/src/codec/discriminatedUnions.ts +2 -1
  1316. package/src/codec/index.ts +7 -1
  1317. package/src/codec/noopValidator.ts +1 -0
  1318. package/src/codec/versioned/codec.ts +55 -25
  1319. package/src/codec/versioned/index.ts +5 -1
  1320. package/src/core/README.md +1 -5
  1321. package/src/core/change-family/changeFamily.ts +2 -1
  1322. package/src/core/forest/editableForest.ts +3 -1
  1323. package/src/core/forest/forest.ts +3 -1
  1324. package/src/core/index.ts +5 -1
  1325. package/src/core/rebase/changeRebaser.ts +1 -0
  1326. package/src/core/rebase/index.ts +2 -0
  1327. package/src/core/rebase/revisionTagCodec.ts +3 -1
  1328. package/src/core/rebase/types.ts +17 -2
  1329. package/src/core/rebase/utils.ts +8 -5
  1330. package/src/core/revertible/revertible.ts +15 -3
  1331. package/src/core/schema-stored/format.ts +1 -0
  1332. package/src/core/schema-stored/index.ts +3 -1
  1333. package/src/core/schema-stored/schema.ts +32 -8
  1334. package/src/core/schema-stored/storedSchemaRepository.ts +2 -0
  1335. package/src/core/tree/anchorSet.ts +42 -53
  1336. package/src/core/tree/cursor.ts +3 -1
  1337. package/src/core/tree/delta.ts +1 -0
  1338. package/src/core/tree/deltaUtil.ts +1 -0
  1339. package/src/core/tree/detachedFieldIndex.ts +3 -1
  1340. package/src/core/tree/detachedFieldIndexCodec.ts +3 -1
  1341. package/src/core/tree/detachedFieldIndexFormat.ts +2 -0
  1342. package/src/core/tree/detachedFieldIndexTypes.ts +1 -0
  1343. package/src/core/tree/mapTree.ts +1 -0
  1344. package/src/core/tree/pathTree.ts +1 -0
  1345. package/src/core/tree/persistedTreeTextFormat.ts +1 -0
  1346. package/src/core/tree/sparseTree.ts +3 -1
  1347. package/src/core/tree/treeTextFormat.ts +1 -0
  1348. package/src/core/tree/types.ts +1 -0
  1349. package/src/core/tree/visitDelta.ts +14 -10
  1350. package/src/core/tree/visitorUtils.ts +3 -1
  1351. package/src/domains/json/jsonCursor.ts +3 -1
  1352. package/src/domains/json/jsonDomainSchema.ts +0 -1
  1353. package/src/domains/nodeKey/nodeKeySchema.ts +2 -1
  1354. package/src/domains/schemaBuilder.ts +22 -197
  1355. package/src/domains/testRecursiveDomain.ts +1 -0
  1356. package/src/events/events.ts +2 -1
  1357. package/src/external-utilities/typeboxValidator.ts +1 -0
  1358. package/src/feature-libraries/chunked-forest/basicChunk.ts +4 -2
  1359. package/src/feature-libraries/chunked-forest/chunk.ts +2 -1
  1360. package/src/feature-libraries/chunked-forest/chunkTree.ts +5 -3
  1361. package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -1
  1362. package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +2 -1
  1363. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +3 -1
  1364. package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +3 -1
  1365. package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -0
  1366. package/src/feature-libraries/chunked-forest/codec/codecs.ts +6 -9
  1367. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +3 -1
  1368. package/src/feature-libraries/chunked-forest/codec/format.ts +3 -2
  1369. package/src/feature-libraries/chunked-forest/codec/index.ts +1 -6
  1370. package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +3 -1
  1371. package/src/feature-libraries/chunked-forest/codec/schemaBasedEncoding.ts +5 -3
  1372. package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +1 -0
  1373. package/src/feature-libraries/chunked-forest/emptyChunk.ts +1 -0
  1374. package/src/feature-libraries/chunked-forest/index.ts +0 -1
  1375. package/src/feature-libraries/chunked-forest/sequenceChunk.ts +2 -1
  1376. package/src/feature-libraries/chunked-forest/uniformChunk.ts +4 -2
  1377. package/src/feature-libraries/contextuallyTyped.ts +6 -19
  1378. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +6 -18
  1379. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +60 -18
  1380. package/src/feature-libraries/default-schema/defaultSchema.ts +1 -0
  1381. package/src/feature-libraries/default-schema/index.ts +2 -0
  1382. package/src/feature-libraries/default-schema/noChangeCodecs.ts +12 -0
  1383. package/src/feature-libraries/detachedFieldIndexSummarizer.ts +2 -1
  1384. package/src/feature-libraries/editableTreeBinder.ts +3 -1
  1385. package/src/feature-libraries/fieldGenerator.ts +1 -0
  1386. package/src/feature-libraries/flex-tree/context.ts +22 -1
  1387. package/src/feature-libraries/flex-tree/flexTreeTypes.ts +31 -8
  1388. package/src/feature-libraries/flex-tree/index.ts +2 -2
  1389. package/src/feature-libraries/flex-tree/lazyEntity.ts +9 -5
  1390. package/src/feature-libraries/flex-tree/lazyField.ts +69 -21
  1391. package/src/feature-libraries/flex-tree/lazyNode.ts +20 -55
  1392. package/src/feature-libraries/flex-tree/nodeKeys.ts +1 -0
  1393. package/src/feature-libraries/flex-tree/treeEvents.ts +2 -68
  1394. package/src/feature-libraries/flex-tree/unboxed.ts +1 -0
  1395. package/src/feature-libraries/flex-tree/utilities.ts +1 -0
  1396. package/src/feature-libraries/forest-summary/codec.ts +3 -1
  1397. package/src/feature-libraries/forest-summary/forestSummarizer.ts +4 -2
  1398. package/src/feature-libraries/forest-summary/format.ts +1 -0
  1399. package/src/feature-libraries/index.ts +11 -10
  1400. package/src/feature-libraries/mapTreeCursor.ts +3 -1
  1401. package/src/feature-libraries/modular-schema/comparison.ts +4 -2
  1402. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +22 -21
  1403. package/src/feature-libraries/modular-schema/fieldKind.ts +18 -3
  1404. package/src/feature-libraries/modular-schema/fieldKindConfiguration.ts +24 -0
  1405. package/src/feature-libraries/modular-schema/fieldKindWithEditor.ts +5 -3
  1406. package/src/feature-libraries/modular-schema/genericFieldKind.ts +8 -16
  1407. package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +18 -31
  1408. package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +1 -1
  1409. package/src/feature-libraries/modular-schema/genericFieldKindTypes.ts +4 -4
  1410. package/src/feature-libraries/modular-schema/index.ts +5 -2
  1411. package/src/feature-libraries/modular-schema/isNeverTree.ts +8 -8
  1412. package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +138 -43
  1413. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +424 -212
  1414. package/src/feature-libraries/modular-schema/modularChangeFormat.ts +2 -0
  1415. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +7 -3
  1416. package/src/feature-libraries/node-key/nodeKey.ts +1 -0
  1417. package/src/feature-libraries/node-key/nodeKeyIndex.ts +3 -1
  1418. package/src/feature-libraries/node-key/nodeKeyManager.ts +4 -2
  1419. package/src/feature-libraries/object-forest/objectForest.ts +2 -1
  1420. package/src/feature-libraries/optional-field/index.ts +1 -1
  1421. package/src/feature-libraries/optional-field/optionalField.ts +10 -22
  1422. package/src/feature-libraries/optional-field/{optionalFieldChangeFormat.ts → optionalFieldChangeFormatV0.ts} +9 -0
  1423. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV1.ts +60 -0
  1424. package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +4 -7
  1425. package/src/feature-libraries/optional-field/optionalFieldCodecV0.ts +204 -0
  1426. package/src/feature-libraries/optional-field/optionalFieldCodecV1.ts +135 -0
  1427. package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +11 -207
  1428. package/src/feature-libraries/schema-aware/schemaAware.ts +6 -2
  1429. package/src/feature-libraries/schema-edits/index.ts +1 -1
  1430. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +20 -3
  1431. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +1 -0
  1432. package/src/feature-libraries/schema-edits/schemaChangeTypes.ts +6 -0
  1433. package/src/feature-libraries/schema-index/codec.ts +1 -0
  1434. package/src/feature-libraries/schema-index/format.ts +1 -0
  1435. package/src/feature-libraries/schema-index/schemaSummarizer.ts +4 -2
  1436. package/src/feature-libraries/schemaBuilder.ts +1 -0
  1437. package/src/feature-libraries/schemaBuilderBase.ts +3 -1
  1438. package/src/feature-libraries/sequence-field/compose.ts +82 -83
  1439. package/src/feature-libraries/sequence-field/format.ts +1 -0
  1440. package/src/feature-libraries/sequence-field/helperTypes.ts +2 -2
  1441. package/src/feature-libraries/sequence-field/index.ts +4 -5
  1442. package/src/feature-libraries/sequence-field/invert.ts +40 -73
  1443. package/src/feature-libraries/sequence-field/markListFactory.ts +4 -4
  1444. package/src/feature-libraries/sequence-field/markQueue.ts +11 -9
  1445. package/src/feature-libraries/sequence-field/moveEffectTable.ts +27 -25
  1446. package/src/feature-libraries/sequence-field/prune.ts +3 -7
  1447. package/src/feature-libraries/sequence-field/rebase.ts +76 -82
  1448. package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +8 -9
  1449. package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +1 -0
  1450. package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +1 -0
  1451. package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +28 -35
  1452. package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +35 -56
  1453. package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +7 -7
  1454. package/src/feature-libraries/sequence-field/types.ts +7 -9
  1455. package/src/feature-libraries/sequence-field/utils.ts +47 -55
  1456. package/src/feature-libraries/storedToViewSchema.ts +4 -3
  1457. package/src/feature-libraries/treeCursorUtils.ts +2 -1
  1458. package/src/feature-libraries/treeTextCursor.ts +3 -1
  1459. package/src/feature-libraries/typed-schema/flexList.ts +1 -3
  1460. package/src/feature-libraries/typed-schema/index.ts +0 -2
  1461. package/src/feature-libraries/typed-schema/schemaCollection.ts +4 -3
  1462. package/src/feature-libraries/typed-schema/typeUtils.ts +0 -6
  1463. package/src/feature-libraries/typed-schema/typedTreeSchema.ts +22 -8
  1464. package/src/feature-libraries/typed-schema/view.ts +1 -0
  1465. package/src/feature-libraries/valueUtilities.ts +10 -8
  1466. package/src/index.ts +10 -5
  1467. package/src/packageVersion.ts +1 -1
  1468. package/src/shared-tree/index.ts +3 -0
  1469. package/src/shared-tree/schematizeTree.ts +6 -4
  1470. package/src/shared-tree/schematizingTreeView.ts +29 -26
  1471. package/src/shared-tree/sharedTree.ts +104 -25
  1472. package/src/shared-tree/sharedTreeChangeCodecs.ts +67 -58
  1473. package/src/shared-tree/sharedTreeChangeFamily.ts +11 -5
  1474. package/src/shared-tree/sharedTreeChangeFormat.ts +4 -3
  1475. package/src/shared-tree/sharedTreeEditBuilder.ts +5 -1
  1476. package/src/shared-tree/treeApi.ts +43 -6
  1477. package/src/shared-tree/treeCheckout.ts +183 -46
  1478. package/src/shared-tree/treeView.ts +1 -0
  1479. package/src/shared-tree-core/branch.ts +8 -161
  1480. package/src/shared-tree-core/editManager.ts +3 -61
  1481. package/src/shared-tree-core/editManagerCodecs.ts +106 -56
  1482. package/src/shared-tree-core/editManagerFormat.ts +1 -0
  1483. package/src/shared-tree-core/editManagerSummarizer.ts +13 -35
  1484. package/src/shared-tree-core/index.ts +1 -0
  1485. package/src/shared-tree-core/messageCodecs.ts +53 -3
  1486. package/src/shared-tree-core/messageFormat.ts +10 -0
  1487. package/src/shared-tree-core/messageTypes.ts +1 -0
  1488. package/src/shared-tree-core/sequenceIdUtils.ts +1 -0
  1489. package/src/shared-tree-core/sharedTreeCore.ts +34 -16
  1490. package/src/simple-tree/ProxyBinding.md +3 -4
  1491. package/src/simple-tree/arrayNode.ts +769 -0
  1492. package/src/simple-tree/index.ts +14 -7
  1493. package/src/simple-tree/leafNodeSchema.ts +4 -2
  1494. package/src/simple-tree/mapNode.ts +343 -0
  1495. package/src/simple-tree/objectNode.ts +391 -0
  1496. package/src/simple-tree/proxies.ts +29 -671
  1497. package/src/simple-tree/proxyBinding.ts +24 -66
  1498. package/src/simple-tree/rawNode.ts +8 -125
  1499. package/src/simple-tree/schemaCaching.ts +90 -0
  1500. package/src/simple-tree/schemaCreationUtilities.ts +5 -8
  1501. package/src/simple-tree/schemaFactory.ts +80 -169
  1502. package/src/simple-tree/schemaFactoryRecursive.ts +11 -6
  1503. package/src/simple-tree/schemaTypes.ts +148 -80
  1504. package/src/simple-tree/toFlexSchema.ts +27 -38
  1505. package/src/simple-tree/toMapTree.ts +222 -204
  1506. package/src/simple-tree/tree.ts +10 -12
  1507. package/src/simple-tree/treeApi.ts +208 -22
  1508. package/src/simple-tree/types.ts +0 -172
  1509. package/src/simple-tree/typesUnsafe.ts +25 -3
  1510. package/src/treeFactory.ts +1 -0
  1511. package/src/util/brand.ts +2 -1
  1512. package/src/util/idAllocator.ts +2 -1
  1513. package/src/util/referenceCounting.ts +3 -3
  1514. package/src/util/utils.ts +1 -1
  1515. package/dist/feature-libraries/multiplicity.d.ts.map +0 -1
  1516. package/dist/feature-libraries/multiplicity.js.map +0 -1
  1517. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +0 -1
  1518. package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +0 -1
  1519. package/dist/simple-tree/treeArrayNode.d.ts +0 -46
  1520. package/dist/simple-tree/treeArrayNode.d.ts.map +0 -1
  1521. package/dist/simple-tree/treeArrayNode.js +0 -50
  1522. package/dist/simple-tree/treeArrayNode.js.map +0 -1
  1523. package/lib/feature-libraries/multiplicity.d.ts.map +0 -1
  1524. package/lib/feature-libraries/multiplicity.js.map +0 -1
  1525. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +0 -1
  1526. package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +0 -1
  1527. package/lib/simple-tree/treeArrayNode.d.ts +0 -46
  1528. package/lib/simple-tree/treeArrayNode.d.ts.map +0 -1
  1529. package/lib/simple-tree/treeArrayNode.js +0 -46
  1530. package/lib/simple-tree/treeArrayNode.js.map +0 -1
  1531. package/lib/test/codec/ajvValidator.cjs +0 -70
  1532. package/lib/test/codec/ajvValidator.cjs.map +0 -1
  1533. package/lib/test/codec/ajvValidator.d.cts +0 -13
  1534. package/lib/test/codec/ajvValidator.d.cts.map +0 -1
  1535. package/lib/test/codec/codec.spec.d.ts.map +0 -1
  1536. package/lib/test/codec/codec.spec.js +0 -36
  1537. package/lib/test/codec/codec.spec.js.map +0 -1
  1538. package/lib/test/codec/index.d.ts +0 -7
  1539. package/lib/test/codec/index.d.ts.map +0 -1
  1540. package/lib/test/codec/index.js +0 -7
  1541. package/lib/test/codec/index.js.map +0 -1
  1542. package/lib/test/codec/utils.d.ts +0 -58
  1543. package/lib/test/codec/utils.d.ts.map +0 -1
  1544. package/lib/test/codec/utils.js +0 -61
  1545. package/lib/test/codec/utils.js.map +0 -1
  1546. package/lib/test/cursorTestSuite.d.ts +0 -106
  1547. package/lib/test/cursorTestSuite.d.ts.map +0 -1
  1548. package/lib/test/cursorTestSuite.js +0 -680
  1549. package/lib/test/cursorTestSuite.js.map +0 -1
  1550. package/lib/test/domains/json/benchmarks.d.ts +0 -17
  1551. package/lib/test/domains/json/benchmarks.d.ts.map +0 -1
  1552. package/lib/test/domains/json/benchmarks.js +0 -61
  1553. package/lib/test/domains/json/benchmarks.js.map +0 -1
  1554. package/lib/test/domains/json/canada.d.ts +0 -33
  1555. package/lib/test/domains/json/canada.d.ts.map +0 -1
  1556. package/lib/test/domains/json/canada.js +0 -81
  1557. package/lib/test/domains/json/canada.js.map +0 -1
  1558. package/lib/test/domains/json/citm.d.ts +0 -81
  1559. package/lib/test/domains/json/citm.d.ts.map +0 -1
  1560. package/lib/test/domains/json/citm.js +0 -515
  1561. package/lib/test/domains/json/citm.js.map +0 -1
  1562. package/lib/test/domains/json/jsDirectObject.bench.d.ts +0 -13
  1563. package/lib/test/domains/json/jsDirectObject.bench.d.ts.map +0 -1
  1564. package/lib/test/domains/json/jsDirectObject.bench.js +0 -74
  1565. package/lib/test/domains/json/jsDirectObject.bench.js.map +0 -1
  1566. package/lib/test/domains/json/jsObjectUtil.d.ts +0 -12
  1567. package/lib/test/domains/json/jsObjectUtil.d.ts.map +0 -1
  1568. package/lib/test/domains/json/jsObjectUtil.js +0 -36
  1569. package/lib/test/domains/json/jsObjectUtil.js.map +0 -1
  1570. package/lib/test/domains/json/jsonCursor.bench.d.ts +0 -11
  1571. package/lib/test/domains/json/jsonCursor.bench.d.ts.map +0 -1
  1572. package/lib/test/domains/json/jsonCursor.bench.js +0 -220
  1573. package/lib/test/domains/json/jsonCursor.bench.js.map +0 -1
  1574. package/lib/test/domains/json/jsonCursor.spec.d.ts +0 -6
  1575. package/lib/test/domains/json/jsonCursor.spec.d.ts.map +0 -1
  1576. package/lib/test/domains/json/jsonCursor.spec.js +0 -75
  1577. package/lib/test/domains/json/jsonCursor.spec.js.map +0 -1
  1578. package/lib/test/domains/json/jsonGeneratorUtils.d.ts +0 -9
  1579. package/lib/test/domains/json/jsonGeneratorUtils.d.ts.map +0 -1
  1580. package/lib/test/domains/json/jsonGeneratorUtils.js +0 -36
  1581. package/lib/test/domains/json/jsonGeneratorUtils.js.map +0 -1
  1582. package/lib/test/domains/json/twitter.d.ts +0 -204
  1583. package/lib/test/domains/json/twitter.d.ts.map +0 -1
  1584. package/lib/test/domains/json/twitter.js +0 -7413
  1585. package/lib/test/domains/json/twitter.js.map +0 -1
  1586. package/lib/test/domains/schemaBuilder.spec.d.ts +0 -6
  1587. package/lib/test/domains/schemaBuilder.spec.d.ts.map +0 -1
  1588. package/lib/test/domains/schemaBuilder.spec.js +0 -134
  1589. package/lib/test/domains/schemaBuilder.spec.js.map +0 -1
  1590. package/lib/test/editMinter.d.ts +0 -8
  1591. package/lib/test/editMinter.d.ts.map +0 -1
  1592. package/lib/test/editMinter.js +0 -21
  1593. package/lib/test/editMinter.js.map +0 -1
  1594. package/lib/test/events/eventEmitter.spec.d.ts +0 -6
  1595. package/lib/test/events/eventEmitter.spec.d.ts.map +0 -1
  1596. package/lib/test/events/eventEmitter.spec.js +0 -159
  1597. package/lib/test/events/eventEmitter.spec.js.map +0 -1
  1598. package/lib/test/exhaustiveRebaserUtils.d.ts +0 -80
  1599. package/lib/test/exhaustiveRebaserUtils.d.ts.map +0 -1
  1600. package/lib/test/exhaustiveRebaserUtils.js +0 -53
  1601. package/lib/test/exhaustiveRebaserUtils.js.map +0 -1
  1602. package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.d.ts +0 -6
  1603. package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.d.ts.map +0 -1
  1604. package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.js +0 -161
  1605. package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.js.map +0 -1
  1606. package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.d.ts +0 -6
  1607. package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.d.ts.map +0 -1
  1608. package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.js +0 -102
  1609. package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.js.map +0 -1
  1610. package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.d.ts +0 -6
  1611. package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.d.ts.map +0 -1
  1612. package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.js +0 -259
  1613. package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.js.map +0 -1
  1614. package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.d.ts +0 -6
  1615. package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.d.ts.map +0 -1
  1616. package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.js +0 -47
  1617. package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.js.map +0 -1
  1618. package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.d.ts +0 -9
  1619. package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.d.ts.map +0 -1
  1620. package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.js +0 -124
  1621. package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.js.map +0 -1
  1622. package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.d.ts +0 -6
  1623. package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.d.ts.map +0 -1
  1624. package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.js +0 -187
  1625. package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.js.map +0 -1
  1626. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.d.ts +0 -6
  1627. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.d.ts.map +0 -1
  1628. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.js +0 -308
  1629. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.js.map +0 -1
  1630. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.d.ts +0 -6
  1631. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.d.ts.map +0 -1
  1632. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.js +0 -123
  1633. package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.js.map +0 -1
  1634. package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.d.ts +0 -7
  1635. package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.d.ts.map +0 -1
  1636. package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.js +0 -135
  1637. package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.js.map +0 -1
  1638. package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.d.ts +0 -11
  1639. package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.d.ts.map +0 -1
  1640. package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.js +0 -211
  1641. package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.js.map +0 -1
  1642. package/lib/test/feature-libraries/chunked-forest/codec/format.spec.d.ts +0 -6
  1643. package/lib/test/feature-libraries/chunked-forest/codec/format.spec.d.ts.map +0 -1
  1644. package/lib/test/feature-libraries/chunked-forest/codec/format.spec.js +0 -15
  1645. package/lib/test/feature-libraries/chunked-forest/codec/format.spec.js.map +0 -1
  1646. package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.d.ts +0 -6
  1647. package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.d.ts.map +0 -1
  1648. package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.js +0 -98
  1649. package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.js.map +0 -1
  1650. package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.d.ts +0 -6
  1651. package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.d.ts.map +0 -1
  1652. package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.js +0 -176
  1653. package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.js.map +0 -1
  1654. package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.d.ts +0 -6
  1655. package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.d.ts.map +0 -1
  1656. package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.js +0 -29
  1657. package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.js.map +0 -1
  1658. package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.d.ts +0 -12
  1659. package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.d.ts.map +0 -1
  1660. package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.js +0 -38
  1661. package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.js.map +0 -1
  1662. package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.d.ts +0 -6
  1663. package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.d.ts.map +0 -1
  1664. package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.js +0 -138
  1665. package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.js.map +0 -1
  1666. package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.d.ts +0 -34
  1667. package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.d.ts.map +0 -1
  1668. package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.js +0 -114
  1669. package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.js.map +0 -1
  1670. package/lib/test/feature-libraries/contextuallyTyped.spec.d.ts +0 -6
  1671. package/lib/test/feature-libraries/contextuallyTyped.spec.d.ts.map +0 -1
  1672. package/lib/test/feature-libraries/contextuallyTyped.spec.js +0 -105
  1673. package/lib/test/feature-libraries/contextuallyTyped.spec.js.map +0 -1
  1674. package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.d.ts +0 -6
  1675. package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.d.ts.map +0 -1
  1676. package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.js +0 -850
  1677. package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.js.map +0 -1
  1678. package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.d.ts +0 -6
  1679. package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.d.ts.map +0 -1
  1680. package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.js +0 -110
  1681. package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.js.map +0 -1
  1682. package/lib/test/feature-libraries/deltaUtils.spec.d.ts +0 -6
  1683. package/lib/test/feature-libraries/deltaUtils.spec.d.ts.map +0 -1
  1684. package/lib/test/feature-libraries/deltaUtils.spec.js +0 -87
  1685. package/lib/test/feature-libraries/deltaUtils.spec.js.map +0 -1
  1686. package/lib/test/feature-libraries/fieldKindTestUtils.d.ts +0 -20
  1687. package/lib/test/feature-libraries/fieldKindTestUtils.d.ts.map +0 -1
  1688. package/lib/test/feature-libraries/fieldKindTestUtils.js +0 -42
  1689. package/lib/test/feature-libraries/fieldKindTestUtils.js.map +0 -1
  1690. package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.d.ts +0 -6
  1691. package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.d.ts.map +0 -1
  1692. package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.js +0 -91
  1693. package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.js.map +0 -1
  1694. package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.d.ts +0 -6
  1695. package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.d.ts.map +0 -1
  1696. package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.js +0 -225
  1697. package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.js.map +0 -1
  1698. package/lib/test/feature-libraries/flex-tree/events.spec.d.ts +0 -6
  1699. package/lib/test/feature-libraries/flex-tree/events.spec.d.ts.map +0 -1
  1700. package/lib/test/feature-libraries/flex-tree/events.spec.js +0 -547
  1701. package/lib/test/feature-libraries/flex-tree/events.spec.js.map +0 -1
  1702. package/lib/test/feature-libraries/flex-tree/lazyField.spec.d.ts +0 -6
  1703. package/lib/test/feature-libraries/flex-tree/lazyField.spec.d.ts.map +0 -1
  1704. package/lib/test/feature-libraries/flex-tree/lazyField.spec.js +0 -326
  1705. package/lib/test/feature-libraries/flex-tree/lazyField.spec.js.map +0 -1
  1706. package/lib/test/feature-libraries/flex-tree/lazyNode.spec.d.ts +0 -6
  1707. package/lib/test/feature-libraries/flex-tree/lazyNode.spec.d.ts.map +0 -1
  1708. package/lib/test/feature-libraries/flex-tree/lazyNode.spec.js +0 -381
  1709. package/lib/test/feature-libraries/flex-tree/lazyNode.spec.js.map +0 -1
  1710. package/lib/test/feature-libraries/flex-tree/navigation.spec.d.ts +0 -6
  1711. package/lib/test/feature-libraries/flex-tree/navigation.spec.d.ts.map +0 -1
  1712. package/lib/test/feature-libraries/flex-tree/navigation.spec.js +0 -50
  1713. package/lib/test/feature-libraries/flex-tree/navigation.spec.js.map +0 -1
  1714. package/lib/test/feature-libraries/flex-tree/unboxed.spec.d.ts +0 -6
  1715. package/lib/test/feature-libraries/flex-tree/unboxed.spec.d.ts.map +0 -1
  1716. package/lib/test/feature-libraries/flex-tree/unboxed.spec.js +0 -197
  1717. package/lib/test/feature-libraries/flex-tree/unboxed.spec.js.map +0 -1
  1718. package/lib/test/feature-libraries/flex-tree/utilities.spec.d.ts +0 -6
  1719. package/lib/test/feature-libraries/flex-tree/utilities.spec.d.ts.map +0 -1
  1720. package/lib/test/feature-libraries/flex-tree/utilities.spec.js +0 -109
  1721. package/lib/test/feature-libraries/flex-tree/utilities.spec.js.map +0 -1
  1722. package/lib/test/feature-libraries/flex-tree/utils.d.ts +0 -32
  1723. package/lib/test/feature-libraries/flex-tree/utils.d.ts.map +0 -1
  1724. package/lib/test/feature-libraries/flex-tree/utils.js +0 -50
  1725. package/lib/test/feature-libraries/flex-tree/utils.js.map +0 -1
  1726. package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.d.ts +0 -6
  1727. package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.d.ts.map +0 -1
  1728. package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.js +0 -115
  1729. package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.js.map +0 -1
  1730. package/lib/test/feature-libraries/mapTreeCursor.spec.d.ts +0 -6
  1731. package/lib/test/feature-libraries/mapTreeCursor.spec.d.ts.map +0 -1
  1732. package/lib/test/feature-libraries/mapTreeCursor.spec.js +0 -8
  1733. package/lib/test/feature-libraries/mapTreeCursor.spec.js.map +0 -1
  1734. package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.d.ts +0 -6
  1735. package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.d.ts.map +0 -1
  1736. package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.js +0 -80
  1737. package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.js.map +0 -1
  1738. package/lib/test/feature-libraries/mitigatedChangeFamily.spec.d.ts +0 -6
  1739. package/lib/test/feature-libraries/mitigatedChangeFamily.spec.d.ts.map +0 -1
  1740. package/lib/test/feature-libraries/mitigatedChangeFamily.spec.js +0 -96
  1741. package/lib/test/feature-libraries/mitigatedChangeFamily.spec.js.map +0 -1
  1742. package/lib/test/feature-libraries/modular-schema/basicRebasers.d.ts +0 -44
  1743. package/lib/test/feature-libraries/modular-schema/basicRebasers.d.ts.map +0 -1
  1744. package/lib/test/feature-libraries/modular-schema/basicRebasers.js +0 -77
  1745. package/lib/test/feature-libraries/modular-schema/basicRebasers.js.map +0 -1
  1746. package/lib/test/feature-libraries/modular-schema/comparison.spec.d.ts +0 -6
  1747. package/lib/test/feature-libraries/modular-schema/comparison.spec.d.ts.map +0 -1
  1748. package/lib/test/feature-libraries/modular-schema/comparison.spec.js +0 -264
  1749. package/lib/test/feature-libraries/modular-schema/comparison.spec.js.map +0 -1
  1750. package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.d.ts +0 -6
  1751. package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.d.ts.map +0 -1
  1752. package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.js +0 -345
  1753. package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.js.map +0 -1
  1754. package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.d.ts +0 -6
  1755. package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.d.ts.map +0 -1
  1756. package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.js +0 -49
  1757. package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.js.map +0 -1
  1758. package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.d.ts +0 -6
  1759. package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.d.ts.map +0 -1
  1760. package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.js +0 -126
  1761. package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.js.map +0 -1
  1762. package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.d.ts +0 -6
  1763. package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.d.ts.map +0 -1
  1764. package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.js +0 -1088
  1765. package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.js.map +0 -1
  1766. package/lib/test/feature-libraries/modular-schema/rangeMap.spec.d.ts +0 -6
  1767. package/lib/test/feature-libraries/modular-schema/rangeMap.spec.d.ts.map +0 -1
  1768. package/lib/test/feature-libraries/modular-schema/rangeMap.spec.js +0 -182
  1769. package/lib/test/feature-libraries/modular-schema/rangeMap.spec.js.map +0 -1
  1770. package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.d.ts +0 -6
  1771. package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.d.ts.map +0 -1
  1772. package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.js +0 -390
  1773. package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.js.map +0 -1
  1774. package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.d.ts +0 -6
  1775. package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.d.ts.map +0 -1
  1776. package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.js +0 -558
  1777. package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.js.map +0 -1
  1778. package/lib/test/feature-libraries/node-key/nodeKey.spec.d.ts +0 -6
  1779. package/lib/test/feature-libraries/node-key/nodeKey.spec.d.ts.map +0 -1
  1780. package/lib/test/feature-libraries/node-key/nodeKey.spec.js +0 -74
  1781. package/lib/test/feature-libraries/node-key/nodeKey.spec.js.map +0 -1
  1782. package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.d.ts +0 -6
  1783. package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.d.ts.map +0 -1
  1784. package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.js +0 -258
  1785. package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.js.map +0 -1
  1786. package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.d.ts +0 -6
  1787. package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.d.ts.map +0 -1
  1788. package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.js +0 -262
  1789. package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.js.map +0 -1
  1790. package/lib/test/feature-libraries/objectForest.spec.d.ts +0 -6
  1791. package/lib/test/feature-libraries/objectForest.spec.d.ts.map +0 -1
  1792. package/lib/test/feature-libraries/objectForest.spec.js +0 -62
  1793. package/lib/test/feature-libraries/objectForest.spec.js.map +0 -1
  1794. package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.d.ts +0 -6
  1795. package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.d.ts.map +0 -1
  1796. package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.js +0 -360
  1797. package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.js.map +0 -1
  1798. package/lib/test/feature-libraries/optional-field/optionalField.spec.d.ts +0 -6
  1799. package/lib/test/feature-libraries/optional-field/optionalField.spec.d.ts.map +0 -1
  1800. package/lib/test/feature-libraries/optional-field/optionalField.spec.js +0 -396
  1801. package/lib/test/feature-libraries/optional-field/optionalField.spec.js.map +0 -1
  1802. package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.d.ts +0 -6
  1803. package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.d.ts.map +0 -1
  1804. package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.js +0 -50
  1805. package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.js.map +0 -1
  1806. package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.d.ts +0 -6
  1807. package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.d.ts.map +0 -1
  1808. package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.js +0 -59
  1809. package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.js.map +0 -1
  1810. package/lib/test/feature-libraries/optional-field/optionalFieldUtils.d.ts +0 -62
  1811. package/lib/test/feature-libraries/optional-field/optionalFieldUtils.d.ts.map +0 -1
  1812. package/lib/test/feature-libraries/optional-field/optionalFieldUtils.js +0 -232
  1813. package/lib/test/feature-libraries/optional-field/optionalFieldUtils.js.map +0 -1
  1814. package/lib/test/feature-libraries/schema-aware/schemaAware.spec.d.ts +0 -6
  1815. package/lib/test/feature-libraries/schema-aware/schemaAware.spec.d.ts.map +0 -1
  1816. package/lib/test/feature-libraries/schema-aware/schemaAware.spec.js +0 -133
  1817. package/lib/test/feature-libraries/schema-aware/schemaAware.spec.js.map +0 -1
  1818. package/lib/test/feature-libraries/schema-aware/schemaComplex.d.ts +0 -16
  1819. package/lib/test/feature-libraries/schema-aware/schemaComplex.d.ts.map +0 -1
  1820. package/lib/test/feature-libraries/schema-aware/schemaComplex.js +0 -40
  1821. package/lib/test/feature-libraries/schema-aware/schemaComplex.js.map +0 -1
  1822. package/lib/test/feature-libraries/schema-aware/schemaSimple.d.ts +0 -13
  1823. package/lib/test/feature-libraries/schema-aware/schemaSimple.d.ts.map +0 -1
  1824. package/lib/test/feature-libraries/schema-aware/schemaSimple.js +0 -28
  1825. package/lib/test/feature-libraries/schema-aware/schemaSimple.js.map +0 -1
  1826. package/lib/test/feature-libraries/schema-index/codec.spec.d.ts +0 -6
  1827. package/lib/test/feature-libraries/schema-index/codec.spec.d.ts.map +0 -1
  1828. package/lib/test/feature-libraries/schema-index/codec.spec.js +0 -81
  1829. package/lib/test/feature-libraries/schema-index/codec.spec.js.map +0 -1
  1830. package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.d.ts +0 -6
  1831. package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.d.ts.map +0 -1
  1832. package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.js +0 -28
  1833. package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.js.map +0 -1
  1834. package/lib/test/feature-libraries/schemaBuilder.spec.d.ts +0 -6
  1835. package/lib/test/feature-libraries/schemaBuilder.spec.d.ts.map +0 -1
  1836. package/lib/test/feature-libraries/schemaBuilder.spec.js +0 -67
  1837. package/lib/test/feature-libraries/schemaBuilder.spec.js.map +0 -1
  1838. package/lib/test/feature-libraries/sequence-field/compose.test.d.ts +0 -6
  1839. package/lib/test/feature-libraries/sequence-field/compose.test.d.ts.map +0 -1
  1840. package/lib/test/feature-libraries/sequence-field/compose.test.js +0 -1431
  1841. package/lib/test/feature-libraries/sequence-field/compose.test.js.map +0 -1
  1842. package/lib/test/feature-libraries/sequence-field/invert.test.d.ts +0 -6
  1843. package/lib/test/feature-libraries/sequence-field/invert.test.d.ts.map +0 -1
  1844. package/lib/test/feature-libraries/sequence-field/invert.test.js +0 -418
  1845. package/lib/test/feature-libraries/sequence-field/invert.test.js.map +0 -1
  1846. package/lib/test/feature-libraries/sequence-field/markListFactory.test.d.ts +0 -6
  1847. package/lib/test/feature-libraries/sequence-field/markListFactory.test.d.ts.map +0 -1
  1848. package/lib/test/feature-libraries/sequence-field/markListFactory.test.js +0 -239
  1849. package/lib/test/feature-libraries/sequence-field/markListFactory.test.js.map +0 -1
  1850. package/lib/test/feature-libraries/sequence-field/populatedMarks.d.ts +0 -18
  1851. package/lib/test/feature-libraries/sequence-field/populatedMarks.d.ts.map +0 -1
  1852. package/lib/test/feature-libraries/sequence-field/populatedMarks.js +0 -95
  1853. package/lib/test/feature-libraries/sequence-field/populatedMarks.js.map +0 -1
  1854. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.d.ts +0 -12
  1855. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.d.ts.map +0 -1
  1856. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.js +0 -35
  1857. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.js.map +0 -1
  1858. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.d.ts +0 -6
  1859. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.d.ts.map +0 -1
  1860. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.js +0 -42
  1861. package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.js.map +0 -1
  1862. package/lib/test/feature-libraries/sequence-field/rebase.test.d.ts +0 -6
  1863. package/lib/test/feature-libraries/sequence-field/rebase.test.d.ts.map +0 -1
  1864. package/lib/test/feature-libraries/sequence-field/rebase.test.js +0 -1038
  1865. package/lib/test/feature-libraries/sequence-field/rebase.test.js.map +0 -1
  1866. package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.d.ts +0 -6
  1867. package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.d.ts.map +0 -1
  1868. package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.js +0 -211
  1869. package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.js.map +0 -1
  1870. package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.d.ts +0 -11
  1871. package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.d.ts.map +0 -1
  1872. package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.js +0 -794
  1873. package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.js.map +0 -1
  1874. package/lib/test/feature-libraries/sequence-field/sequenceField.spec.d.ts +0 -6
  1875. package/lib/test/feature-libraries/sequence-field/sequenceField.spec.d.ts.map +0 -1
  1876. package/lib/test/feature-libraries/sequence-field/sequenceField.spec.js +0 -36
  1877. package/lib/test/feature-libraries/sequence-field/sequenceField.spec.js.map +0 -1
  1878. package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.d.ts +0 -6
  1879. package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.d.ts.map +0 -1
  1880. package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.js +0 -34
  1881. package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.js.map +0 -1
  1882. package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.d.ts +0 -6
  1883. package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.d.ts.map +0 -1
  1884. package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.js +0 -38
  1885. package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.js.map +0 -1
  1886. package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.d.ts +0 -6
  1887. package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.d.ts.map +0 -1
  1888. package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.js +0 -34
  1889. package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.js.map +0 -1
  1890. package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.d.ts +0 -6
  1891. package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.d.ts.map +0 -1
  1892. package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.js +0 -417
  1893. package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.js.map +0 -1
  1894. package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.d.ts +0 -6
  1895. package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.d.ts.map +0 -1
  1896. package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.js +0 -40
  1897. package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.js.map +0 -1
  1898. package/lib/test/feature-libraries/sequence-field/testEdits.d.ts +0 -124
  1899. package/lib/test/feature-libraries/sequence-field/testEdits.d.ts.map +0 -1
  1900. package/lib/test/feature-libraries/sequence-field/testEdits.js +0 -270
  1901. package/lib/test/feature-libraries/sequence-field/testEdits.js.map +0 -1
  1902. package/lib/test/feature-libraries/sequence-field/utils.d.ts +0 -106
  1903. package/lib/test/feature-libraries/sequence-field/utils.d.ts.map +0 -1
  1904. package/lib/test/feature-libraries/sequence-field/utils.js +0 -537
  1905. package/lib/test/feature-libraries/sequence-field/utils.js.map +0 -1
  1906. package/lib/test/feature-libraries/storedToViewSchema.spec.d.ts +0 -6
  1907. package/lib/test/feature-libraries/storedToViewSchema.spec.d.ts.map +0 -1
  1908. package/lib/test/feature-libraries/storedToViewSchema.spec.js +0 -117
  1909. package/lib/test/feature-libraries/storedToViewSchema.spec.js.map +0 -1
  1910. package/lib/test/feature-libraries/treeCursorUtils.spec.d.ts +0 -6
  1911. package/lib/test/feature-libraries/treeCursorUtils.spec.d.ts.map +0 -1
  1912. package/lib/test/feature-libraries/treeCursorUtils.spec.js +0 -237
  1913. package/lib/test/feature-libraries/treeCursorUtils.spec.js.map +0 -1
  1914. package/lib/test/feature-libraries/treeTextCursor.spec.d.ts +0 -6
  1915. package/lib/test/feature-libraries/treeTextCursor.spec.d.ts.map +0 -1
  1916. package/lib/test/feature-libraries/treeTextCursor.spec.js +0 -8
  1917. package/lib/test/feature-libraries/treeTextCursor.spec.js.map +0 -1
  1918. package/lib/test/feature-libraries/typedSchema/example.spec.d.ts +0 -6
  1919. package/lib/test/feature-libraries/typedSchema/example.spec.d.ts.map +0 -1
  1920. package/lib/test/feature-libraries/typedSchema/example.spec.js +0 -20
  1921. package/lib/test/feature-libraries/typedSchema/example.spec.js.map +0 -1
  1922. package/lib/test/feature-libraries/typedSchema/flexList.spec.d.ts +0 -6
  1923. package/lib/test/feature-libraries/typedSchema/flexList.spec.d.ts.map +0 -1
  1924. package/lib/test/feature-libraries/typedSchema/flexList.spec.js +0 -52
  1925. package/lib/test/feature-libraries/typedSchema/flexList.spec.js.map +0 -1
  1926. package/lib/test/feature-libraries/typedSchema/typeUtils.spec.d.ts +0 -6
  1927. package/lib/test/feature-libraries/typedSchema/typeUtils.spec.d.ts.map +0 -1
  1928. package/lib/test/feature-libraries/typedSchema/typeUtils.spec.js +0 -10
  1929. package/lib/test/feature-libraries/typedSchema/typeUtils.spec.js.map +0 -1
  1930. package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.d.ts +0 -6
  1931. package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.d.ts.map +0 -1
  1932. package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.js +0 -83
  1933. package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.js.map +0 -1
  1934. package/lib/test/feature-libraries/valueUtilities.spec.d.ts +0 -6
  1935. package/lib/test/feature-libraries/valueUtilities.spec.d.ts.map +0 -1
  1936. package/lib/test/feature-libraries/valueUtilities.spec.js +0 -69
  1937. package/lib/test/feature-libraries/valueUtilities.spec.js.map +0 -1
  1938. package/lib/test/forestTestSuite.d.ts +0 -26
  1939. package/lib/test/forestTestSuite.d.ts.map +0 -1
  1940. package/lib/test/forestTestSuite.js +0 -793
  1941. package/lib/test/forestTestSuite.js.map +0 -1
  1942. package/lib/test/objMerge.d.ts +0 -24
  1943. package/lib/test/objMerge.d.ts.map +0 -1
  1944. package/lib/test/objMerge.js +0 -181
  1945. package/lib/test/objMerge.js.map +0 -1
  1946. package/lib/test/rebase/findAncestor.spec.d.ts +0 -6
  1947. package/lib/test/rebase/findAncestor.spec.d.ts.map +0 -1
  1948. package/lib/test/rebase/findAncestor.spec.js +0 -139
  1949. package/lib/test/rebase/findAncestor.spec.js.map +0 -1
  1950. package/lib/test/rebase/fuzz.d.ts +0 -16
  1951. package/lib/test/rebase/fuzz.d.ts.map +0 -1
  1952. package/lib/test/rebase/fuzz.js +0 -57
  1953. package/lib/test/rebase/fuzz.js.map +0 -1
  1954. package/lib/test/rebase/generateFuzzyCombinedChange.spec.d.ts +0 -6
  1955. package/lib/test/rebase/generateFuzzyCombinedChange.spec.d.ts.map +0 -1
  1956. package/lib/test/rebase/generateFuzzyCombinedChange.spec.js +0 -42
  1957. package/lib/test/rebase/generateFuzzyCombinedChange.spec.js.map +0 -1
  1958. package/lib/test/rebase/rebaseBranch.spec.d.ts +0 -6
  1959. package/lib/test/rebase/rebaseBranch.spec.d.ts.map +0 -1
  1960. package/lib/test/rebase/rebaseBranch.spec.js +0 -208
  1961. package/lib/test/rebase/rebaseBranch.spec.js.map +0 -1
  1962. package/lib/test/rebase/rebaser.spec.d.ts +0 -14
  1963. package/lib/test/rebase/rebaser.spec.d.ts.map +0 -1
  1964. package/lib/test/rebase/rebaser.spec.js +0 -166
  1965. package/lib/test/rebase/rebaser.spec.js.map +0 -1
  1966. package/lib/test/rebase/revisionTagCodec.spec.d.ts +0 -6
  1967. package/lib/test/rebase/revisionTagCodec.spec.d.ts.map +0 -1
  1968. package/lib/test/rebase/revisionTagCodec.spec.js +0 -56
  1969. package/lib/test/rebase/revisionTagCodec.spec.js.map +0 -1
  1970. package/lib/test/rebase/verifyChangeRebaser.spec.d.ts +0 -6
  1971. package/lib/test/rebase/verifyChangeRebaser.spec.d.ts.map +0 -1
  1972. package/lib/test/rebase/verifyChangeRebaser.spec.js +0 -52
  1973. package/lib/test/rebase/verifyChangeRebaser.spec.js.map +0 -1
  1974. package/lib/test/rebaserAxiomaticTests.d.ts +0 -15
  1975. package/lib/test/rebaserAxiomaticTests.d.ts.map +0 -1
  1976. package/lib/test/rebaserAxiomaticTests.js +0 -421
  1977. package/lib/test/rebaserAxiomaticTests.js.map +0 -1
  1978. package/lib/test/scalableTestTrees.d.ts +0 -93
  1979. package/lib/test/scalableTestTrees.d.ts.map +0 -1
  1980. package/lib/test/scalableTestTrees.js +0 -188
  1981. package/lib/test/scalableTestTrees.js.map +0 -1
  1982. package/lib/test/shared-tree/editing.spec.d.ts +0 -6
  1983. package/lib/test/shared-tree/editing.spec.d.ts.map +0 -1
  1984. package/lib/test/shared-tree/editing.spec.js +0 -2091
  1985. package/lib/test/shared-tree/editing.spec.js.map +0 -1
  1986. package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.d.ts +0 -6
  1987. package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.d.ts.map +0 -1
  1988. package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.js +0 -161
  1989. package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.js.map +0 -1
  1990. package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.d.ts +0 -6
  1991. package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.d.ts.map +0 -1
  1992. package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.js +0 -105
  1993. package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.js.map +0 -1
  1994. package/lib/test/shared-tree/fuzz/fuzzEditGenerators.d.ts +0 -131
  1995. package/lib/test/shared-tree/fuzz/fuzzEditGenerators.d.ts.map +0 -1
  1996. package/lib/test/shared-tree/fuzz/fuzzEditGenerators.js +0 -439
  1997. package/lib/test/shared-tree/fuzz/fuzzEditGenerators.js.map +0 -1
  1998. package/lib/test/shared-tree/fuzz/fuzzEditReducers.d.ts +0 -21
  1999. package/lib/test/shared-tree/fuzz/fuzzEditReducers.d.ts.map +0 -1
  2000. package/lib/test/shared-tree/fuzz/fuzzEditReducers.js +0 -214
  2001. package/lib/test/shared-tree/fuzz/fuzzEditReducers.js.map +0 -1
  2002. package/lib/test/shared-tree/fuzz/fuzzUtils.d.ts +0 -37
  2003. package/lib/test/shared-tree/fuzz/fuzzUtils.d.ts.map +0 -1
  2004. package/lib/test/shared-tree/fuzz/fuzzUtils.js +0 -78
  2005. package/lib/test/shared-tree/fuzz/fuzzUtils.js.map +0 -1
  2006. package/lib/test/shared-tree/fuzz/operationTypes.d.ts +0 -116
  2007. package/lib/test/shared-tree/fuzz/operationTypes.d.ts.map +0 -1
  2008. package/lib/test/shared-tree/fuzz/operationTypes.js +0 -6
  2009. package/lib/test/shared-tree/fuzz/operationTypes.js.map +0 -1
  2010. package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.d.ts +0 -6
  2011. package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.d.ts.map +0 -1
  2012. package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.js +0 -110
  2013. package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.js.map +0 -1
  2014. package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.d.ts +0 -6
  2015. package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.d.ts.map +0 -1
  2016. package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.js +0 -220
  2017. package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.js.map +0 -1
  2018. package/lib/test/shared-tree/opSize.bench.d.ts +0 -6
  2019. package/lib/test/shared-tree/opSize.bench.d.ts.map +0 -1
  2020. package/lib/test/shared-tree/opSize.bench.js +0 -559
  2021. package/lib/test/shared-tree/opSize.bench.js.map +0 -1
  2022. package/lib/test/shared-tree/schematizeTree.spec.d.ts +0 -6
  2023. package/lib/test/shared-tree/schematizeTree.spec.d.ts.map +0 -1
  2024. package/lib/test/shared-tree/schematizeTree.spec.js +0 -331
  2025. package/lib/test/shared-tree/schematizeTree.spec.js.map +0 -1
  2026. package/lib/test/shared-tree/schematizingTreeView.spec.d.ts +0 -6
  2027. package/lib/test/shared-tree/schematizingTreeView.spec.d.ts.map +0 -1
  2028. package/lib/test/shared-tree/schematizingTreeView.spec.js +0 -171
  2029. package/lib/test/shared-tree/schematizingTreeView.spec.js.map +0 -1
  2030. package/lib/test/shared-tree/sharedTree.bench.d.ts +0 -6
  2031. package/lib/test/shared-tree/sharedTree.bench.d.ts.map +0 -1
  2032. package/lib/test/shared-tree/sharedTree.bench.js +0 -349
  2033. package/lib/test/shared-tree/sharedTree.bench.js.map +0 -1
  2034. package/lib/test/shared-tree/sharedTree.spec.d.ts +0 -6
  2035. package/lib/test/shared-tree/sharedTree.spec.d.ts.map +0 -1
  2036. package/lib/test/shared-tree/sharedTree.spec.js +0 -1374
  2037. package/lib/test/shared-tree/sharedTree.spec.js.map +0 -1
  2038. package/lib/test/shared-tree/sharedTreeChangeCodec.spec.d.ts +0 -6
  2039. package/lib/test/shared-tree/sharedTreeChangeCodec.spec.d.ts.map +0 -1
  2040. package/lib/test/shared-tree/sharedTreeChangeCodec.spec.js +0 -52
  2041. package/lib/test/shared-tree/sharedTreeChangeCodec.spec.js.map +0 -1
  2042. package/lib/test/shared-tree/sharedTreeChangeFamily.spec.d.ts +0 -6
  2043. package/lib/test/shared-tree/sharedTreeChangeFamily.spec.d.ts.map +0 -1
  2044. package/lib/test/shared-tree/sharedTreeChangeFamily.spec.js +0 -139
  2045. package/lib/test/shared-tree/sharedTreeChangeFamily.spec.js.map +0 -1
  2046. package/lib/test/shared-tree/summary.bench.d.ts +0 -6
  2047. package/lib/test/shared-tree/summary.bench.d.ts.map +0 -1
  2048. package/lib/test/shared-tree/summary.bench.js +0 -111
  2049. package/lib/test/shared-tree/summary.bench.js.map +0 -1
  2050. package/lib/test/shared-tree/treeApi.spec.d.ts +0 -6
  2051. package/lib/test/shared-tree/treeApi.spec.d.ts.map +0 -1
  2052. package/lib/test/shared-tree/treeApi.spec.js +0 -151
  2053. package/lib/test/shared-tree/treeApi.spec.js.map +0 -1
  2054. package/lib/test/shared-tree/treeCheckout.spec.d.ts +0 -6
  2055. package/lib/test/shared-tree/treeCheckout.spec.d.ts.map +0 -1
  2056. package/lib/test/shared-tree/treeCheckout.spec.js +0 -674
  2057. package/lib/test/shared-tree/treeCheckout.spec.js.map +0 -1
  2058. package/lib/test/shared-tree/treeView.spec.d.ts +0 -6
  2059. package/lib/test/shared-tree/treeView.spec.d.ts.map +0 -1
  2060. package/lib/test/shared-tree/treeView.spec.js +0 -16
  2061. package/lib/test/shared-tree/treeView.spec.js.map +0 -1
  2062. package/lib/test/shared-tree/undo.spec.d.ts +0 -6
  2063. package/lib/test/shared-tree/undo.spec.d.ts.map +0 -1
  2064. package/lib/test/shared-tree/undo.spec.js +0 -298
  2065. package/lib/test/shared-tree/undo.spec.js.map +0 -1
  2066. package/lib/test/shared-tree-core/branch.spec.d.ts +0 -6
  2067. package/lib/test/shared-tree-core/branch.spec.d.ts.map +0 -1
  2068. package/lib/test/shared-tree-core/branch.spec.js +0 -741
  2069. package/lib/test/shared-tree-core/branch.spec.js.map +0 -1
  2070. package/lib/test/shared-tree-core/edit-manager/editManager.bench.d.ts +0 -6
  2071. package/lib/test/shared-tree-core/edit-manager/editManager.bench.d.ts.map +0 -1
  2072. package/lib/test/shared-tree-core/edit-manager/editManager.bench.js +0 -227
  2073. package/lib/test/shared-tree-core/edit-manager/editManager.bench.js.map +0 -1
  2074. package/lib/test/shared-tree-core/edit-manager/editManager.spec.d.ts +0 -6
  2075. package/lib/test/shared-tree-core/edit-manager/editManager.spec.d.ts.map +0 -1
  2076. package/lib/test/shared-tree-core/edit-manager/editManager.spec.js +0 -13
  2077. package/lib/test/shared-tree-core/edit-manager/editManager.spec.js.map +0 -1
  2078. package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.d.ts +0 -6
  2079. package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.d.ts.map +0 -1
  2080. package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.js +0 -161
  2081. package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.js.map +0 -1
  2082. package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.d.ts +0 -6
  2083. package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.d.ts.map +0 -1
  2084. package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.js +0 -568
  2085. package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.js.map +0 -1
  2086. package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.d.ts +0 -6
  2087. package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.d.ts.map +0 -1
  2088. package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.js +0 -442
  2089. package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.js.map +0 -1
  2090. package/lib/test/shared-tree-core/edit-manager/editManagerScenario.d.ts +0 -80
  2091. package/lib/test/shared-tree-core/edit-manager/editManagerScenario.d.ts.map +0 -1
  2092. package/lib/test/shared-tree-core/edit-manager/editManagerScenario.js +0 -267
  2093. package/lib/test/shared-tree-core/edit-manager/editManagerScenario.js.map +0 -1
  2094. package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.d.ts +0 -210
  2095. package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.d.ts.map +0 -1
  2096. package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.js +0 -122
  2097. package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.js.map +0 -1
  2098. package/lib/test/shared-tree-core/message.spec.d.ts +0 -6
  2099. package/lib/test/shared-tree-core/message.spec.d.ts.map +0 -1
  2100. package/lib/test/shared-tree-core/message.spec.js +0 -99
  2101. package/lib/test/shared-tree-core/message.spec.js.map +0 -1
  2102. package/lib/test/shared-tree-core/sharedTreeCore.spec.d.ts +0 -6
  2103. package/lib/test/shared-tree-core/sharedTreeCore.spec.d.ts.map +0 -1
  2104. package/lib/test/shared-tree-core/sharedTreeCore.spec.js +0 -308
  2105. package/lib/test/shared-tree-core/sharedTreeCore.spec.js.map +0 -1
  2106. package/lib/test/shared-tree-core/utils.d.ts +0 -19
  2107. package/lib/test/shared-tree-core/utils.d.ts.map +0 -1
  2108. package/lib/test/shared-tree-core/utils.js +0 -30
  2109. package/lib/test/shared-tree-core/utils.js.map +0 -1
  2110. package/lib/test/simple-tree/list.spec.d.ts +0 -6
  2111. package/lib/test/simple-tree/list.spec.d.ts.map +0 -1
  2112. package/lib/test/simple-tree/list.spec.js +0 -613
  2113. package/lib/test/simple-tree/list.spec.js.map +0 -1
  2114. package/lib/test/simple-tree/object.spec.d.ts +0 -6
  2115. package/lib/test/simple-tree/object.spec.d.ts.map +0 -1
  2116. package/lib/test/simple-tree/object.spec.js +0 -389
  2117. package/lib/test/simple-tree/object.spec.js.map +0 -1
  2118. package/lib/test/simple-tree/objectFactory.spec.d.ts +0 -6
  2119. package/lib/test/simple-tree/objectFactory.spec.d.ts.map +0 -1
  2120. package/lib/test/simple-tree/objectFactory.spec.js +0 -207
  2121. package/lib/test/simple-tree/objectFactory.spec.js.map +0 -1
  2122. package/lib/test/simple-tree/primitives.spec.d.ts +0 -6
  2123. package/lib/test/simple-tree/primitives.spec.d.ts.map +0 -1
  2124. package/lib/test/simple-tree/primitives.spec.js +0 -134
  2125. package/lib/test/simple-tree/primitives.spec.js.map +0 -1
  2126. package/lib/test/simple-tree/proxies.spec.d.ts +0 -6
  2127. package/lib/test/simple-tree/proxies.spec.d.ts.map +0 -1
  2128. package/lib/test/simple-tree/proxies.spec.js +0 -704
  2129. package/lib/test/simple-tree/proxies.spec.js.map +0 -1
  2130. package/lib/test/simple-tree/rawObjectNode.spec.d.ts +0 -6
  2131. package/lib/test/simple-tree/rawObjectNode.spec.d.ts.map +0 -1
  2132. package/lib/test/simple-tree/rawObjectNode.spec.js +0 -73
  2133. package/lib/test/simple-tree/rawObjectNode.spec.js.map +0 -1
  2134. package/lib/test/simple-tree/schemaCreationUtilities.spec.d.ts +0 -6
  2135. package/lib/test/simple-tree/schemaCreationUtilities.spec.d.ts.map +0 -1
  2136. package/lib/test/simple-tree/schemaCreationUtilities.spec.js +0 -153
  2137. package/lib/test/simple-tree/schemaCreationUtilities.spec.js.map +0 -1
  2138. package/lib/test/simple-tree/schemaFactory.examples.spec.d.ts +0 -6
  2139. package/lib/test/simple-tree/schemaFactory.examples.spec.d.ts.map +0 -1
  2140. package/lib/test/simple-tree/schemaFactory.examples.spec.js +0 -107
  2141. package/lib/test/simple-tree/schemaFactory.examples.spec.js.map +0 -1
  2142. package/lib/test/simple-tree/schemaFactory.spec.d.ts +0 -6
  2143. package/lib/test/simple-tree/schemaFactory.spec.d.ts.map +0 -1
  2144. package/lib/test/simple-tree/schemaFactory.spec.js +0 -549
  2145. package/lib/test/simple-tree/schemaFactory.spec.js.map +0 -1
  2146. package/lib/test/simple-tree/schemaFactoryRecursive.spec.d.ts +0 -6
  2147. package/lib/test/simple-tree/schemaFactoryRecursive.spec.d.ts.map +0 -1
  2148. package/lib/test/simple-tree/schemaFactoryRecursive.spec.js +0 -282
  2149. package/lib/test/simple-tree/schemaFactoryRecursive.spec.js.map +0 -1
  2150. package/lib/test/simple-tree/schemaTypes.spec.d.ts +0 -6
  2151. package/lib/test/simple-tree/schemaTypes.spec.d.ts.map +0 -1
  2152. package/lib/test/simple-tree/schemaTypes.spec.js +0 -89
  2153. package/lib/test/simple-tree/schemaTypes.spec.js.map +0 -1
  2154. package/lib/test/simple-tree/toFlexSchema.spec.d.ts +0 -6
  2155. package/lib/test/simple-tree/toFlexSchema.spec.d.ts.map +0 -1
  2156. package/lib/test/simple-tree/toFlexSchema.spec.js +0 -30
  2157. package/lib/test/simple-tree/toFlexSchema.spec.js.map +0 -1
  2158. package/lib/test/simple-tree/toMapTree.spec.d.ts +0 -6
  2159. package/lib/test/simple-tree/toMapTree.spec.d.ts.map +0 -1
  2160. package/lib/test/simple-tree/toMapTree.spec.js +0 -435
  2161. package/lib/test/simple-tree/toMapTree.spec.js.map +0 -1
  2162. package/lib/test/simple-tree/tree.spec.d.ts +0 -6
  2163. package/lib/test/simple-tree/tree.spec.d.ts.map +0 -1
  2164. package/lib/test/simple-tree/tree.spec.js +0 -71
  2165. package/lib/test/simple-tree/tree.spec.js.map +0 -1
  2166. package/lib/test/simple-tree/treeApi.spec.d.ts +0 -6
  2167. package/lib/test/simple-tree/treeApi.spec.d.ts.map +0 -1
  2168. package/lib/test/simple-tree/treeApi.spec.js +0 -146
  2169. package/lib/test/simple-tree/treeApi.spec.js.map +0 -1
  2170. package/lib/test/simple-tree/utils.d.ts +0 -16
  2171. package/lib/test/simple-tree/utils.d.ts.map +0 -1
  2172. package/lib/test/simple-tree/utils.js +0 -32
  2173. package/lib/test/simple-tree/utils.js.map +0 -1
  2174. package/lib/test/snapshots/gc.spec.d.ts +0 -6
  2175. package/lib/test/snapshots/gc.spec.d.ts.map +0 -1
  2176. package/lib/test/snapshots/gc.spec.js +0 -106
  2177. package/lib/test/snapshots/gc.spec.js.map +0 -1
  2178. package/lib/test/snapshots/index.d.ts +0 -6
  2179. package/lib/test/snapshots/index.d.ts.map +0 -1
  2180. package/lib/test/snapshots/index.js +0 -6
  2181. package/lib/test/snapshots/index.js.map +0 -1
  2182. package/lib/test/snapshots/schema.spec.d.ts +0 -6
  2183. package/lib/test/snapshots/schema.spec.d.ts.map +0 -1
  2184. package/lib/test/snapshots/schema.spec.js +0 -17
  2185. package/lib/test/snapshots/schema.spec.js.map +0 -1
  2186. package/lib/test/snapshots/snapshotTools.d.ts +0 -25
  2187. package/lib/test/snapshots/snapshotTools.d.ts.map +0 -1
  2188. package/lib/test/snapshots/snapshotTools.js +0 -85
  2189. package/lib/test/snapshots/snapshotTools.js.map +0 -1
  2190. package/lib/test/snapshots/summary.spec.d.ts +0 -6
  2191. package/lib/test/snapshots/summary.spec.d.ts.map +0 -1
  2192. package/lib/test/snapshots/summary.spec.js +0 -26
  2193. package/lib/test/snapshots/summary.spec.js.map +0 -1
  2194. package/lib/test/snapshots/testTrees.d.ts +0 -15
  2195. package/lib/test/snapshots/testTrees.d.ts.map +0 -1
  2196. package/lib/test/snapshots/testTrees.js +0 -374
  2197. package/lib/test/snapshots/testTrees.js.map +0 -1
  2198. package/lib/test/snapshots/utils.d.ts +0 -7
  2199. package/lib/test/snapshots/utils.d.ts.map +0 -1
  2200. package/lib/test/snapshots/utils.js +0 -106
  2201. package/lib/test/snapshots/utils.js.map +0 -1
  2202. package/lib/test/testChange.d.ts +0 -90
  2203. package/lib/test/testChange.d.ts.map +0 -1
  2204. package/lib/test/testChange.js +0 -234
  2205. package/lib/test/testChange.js.map +0 -1
  2206. package/lib/test/testChange.spec.d.ts +0 -6
  2207. package/lib/test/testChange.spec.d.ts.map +0 -1
  2208. package/lib/test/testChange.spec.js +0 -118
  2209. package/lib/test/testChange.spec.js.map +0 -1
  2210. package/lib/test/testTrees.d.ts +0 -56
  2211. package/lib/test/testTrees.d.ts.map +0 -1
  2212. package/lib/test/testTrees.js +0 -175
  2213. package/lib/test/testTrees.js.map +0 -1
  2214. package/lib/test/tree/anchorSet.spec.d.ts +0 -6
  2215. package/lib/test/tree/anchorSet.spec.d.ts.map +0 -1
  2216. package/lib/test/tree/anchorSet.spec.js +0 -593
  2217. package/lib/test/tree/anchorSet.spec.js.map +0 -1
  2218. package/lib/test/tree/detachedFieldIndex.spec.d.ts +0 -11
  2219. package/lib/test/tree/detachedFieldIndex.spec.d.ts.map +0 -1
  2220. package/lib/test/tree/detachedFieldIndex.spec.js +0 -218
  2221. package/lib/test/tree/detachedFieldIndex.spec.js.map +0 -1
  2222. package/lib/test/tree/pathTree.spec.d.ts +0 -6
  2223. package/lib/test/tree/pathTree.spec.d.ts.map +0 -1
  2224. package/lib/test/tree/pathTree.spec.js +0 -122
  2225. package/lib/test/tree/pathTree.spec.js.map +0 -1
  2226. package/lib/test/tree/visitDelta.spec.d.ts +0 -6
  2227. package/lib/test/tree/visitDelta.spec.d.ts.map +0 -1
  2228. package/lib/test/tree/visitDelta.spec.js +0 -1243
  2229. package/lib/test/tree/visitDelta.spec.js.map +0 -1
  2230. package/lib/test/util/brand.spec.d.ts +0 -19
  2231. package/lib/test/util/brand.spec.d.ts.map +0 -1
  2232. package/lib/test/util/brand.spec.js +0 -18
  2233. package/lib/test/util/brand.spec.js.map +0 -1
  2234. package/lib/test/util/deepFreeze.spec.d.ts +0 -6
  2235. package/lib/test/util/deepFreeze.spec.d.ts.map +0 -1
  2236. package/lib/test/util/deepFreeze.spec.js +0 -176
  2237. package/lib/test/util/deepFreeze.spec.js.map +0 -1
  2238. package/lib/test/util/nestedMap.spec.d.ts +0 -6
  2239. package/lib/test/util/nestedMap.spec.d.ts.map +0 -1
  2240. package/lib/test/util/nestedMap.spec.js +0 -190
  2241. package/lib/test/util/nestedMap.spec.js.map +0 -1
  2242. package/lib/test/util/offsetList.spec.d.ts +0 -6
  2243. package/lib/test/util/offsetList.spec.d.ts.map +0 -1
  2244. package/lib/test/util/offsetList.spec.js +0 -35
  2245. package/lib/test/util/offsetList.spec.js.map +0 -1
  2246. package/lib/test/util/opaque.spec.d.ts +0 -19
  2247. package/lib/test/util/opaque.spec.d.ts.map +0 -1
  2248. package/lib/test/util/opaque.spec.js +0 -14
  2249. package/lib/test/util/opaque.spec.js.map +0 -1
  2250. package/lib/test/util/testTreeProvider.spec.d.ts +0 -6
  2251. package/lib/test/util/testTreeProvider.spec.d.ts.map +0 -1
  2252. package/lib/test/util/testTreeProvider.spec.js +0 -56
  2253. package/lib/test/util/testTreeProvider.spec.js.map +0 -1
  2254. package/lib/test/util/typeUtils.spec.d.ts +0 -6
  2255. package/lib/test/util/typeUtils.spec.d.ts.map +0 -1
  2256. package/lib/test/util/typeUtils.spec.js +0 -19
  2257. package/lib/test/util/typeUtils.spec.js.map +0 -1
  2258. package/lib/test/util/utils.spec.d.ts +0 -6
  2259. package/lib/test/util/utils.spec.d.ts.map +0 -1
  2260. package/lib/test/util/utils.spec.js +0 -27
  2261. package/lib/test/util/utils.spec.js.map +0 -1
  2262. package/lib/test/utils.d.ts +0 -314
  2263. package/lib/test/utils.d.ts.map +0 -1
  2264. package/lib/test/utils.js +0 -766
  2265. package/lib/test/utils.js.map +0 -1
  2266. package/src/simple-tree/treeArrayNode.ts +0 -69
  2267. /package/dist/{feature-libraries → core/schema-stored}/multiplicity.d.ts +0 -0
  2268. /package/dist/{feature-libraries → core/schema-stored}/multiplicity.js +0 -0
  2269. /package/lib/{feature-libraries → core/schema-stored}/multiplicity.d.ts +0 -0
  2270. /package/lib/{feature-libraries → core/schema-stored}/multiplicity.js +0 -0
  2271. /package/src/{feature-libraries → core/schema-stored}/multiplicity.ts +0 -0
@@ -63,11 +63,10 @@ export type Anchor = Brand<number, "rebaser.Anchor">;
63
63
 
64
64
  // @internal
65
65
  export interface AnchorEvents {
66
- afterChange(anchor: AnchorNode): void;
67
66
  afterDestroy(anchor: AnchorNode): void;
68
- beforeChange(anchor: AnchorNode): void;
69
67
  childrenChanged(anchor: AnchorNode): void;
70
68
  childrenChanging(anchor: AnchorNode): void;
69
+ subtreeChanged(anchor: AnchorNode): void;
71
70
  subtreeChanging(anchor: AnchorNode): PathVisitor | void;
72
71
  valueChanging(anchor: AnchorNode, value: Value): void;
73
72
  }
@@ -79,6 +78,7 @@ export interface AnchorLocator {
79
78
 
80
79
  // @internal
81
80
  export interface AnchorNode extends UpPath<AnchorNode>, ISubscribable<AnchorEvents> {
81
+ readonly anchorSet: AnchorSet;
82
82
  child(key: FieldKey, index: number): UpPath<AnchorNode>;
83
83
  getOrCreateChildRef(key: FieldKey, index: number): [Anchor, AnchorNode];
84
84
  readonly slots: BrandedMapSubset<AnchorSlot<any>>;
@@ -155,9 +155,6 @@ export interface ArrayLikeMut<TGet, TSet extends TGet = TGet> extends ArrayLike<
155
155
  [n: number]: TSet;
156
156
  }
157
157
 
158
- // @public
159
- export type ArrayToUnion<T extends readonly unknown[]> = T[number];
160
-
161
158
  // @internal
162
159
  export type AssignableFieldKinds = typeof FieldKinds.optional | typeof FieldKinds.required;
163
160
 
@@ -205,8 +202,7 @@ export type ChangesetLocalId = Brand<number, "ChangesetLocalId">;
205
202
  // @internal
206
203
  export interface CheckoutEvents {
207
204
  afterBatch(): void;
208
- commitApplied(data: CommitMetadata, getRevertible?: () => Revertible): void;
209
- revertibleDisposed(revertible: Revertible): void;
205
+ commitApplied(data: CommitMetadata, getRevertible?: RevertibleFactory): void;
210
206
  }
211
207
 
212
208
  // @internal
@@ -239,8 +235,8 @@ export enum CommitKind {
239
235
 
240
236
  // @public
241
237
  export interface CommitMetadata {
242
- isLocal: boolean;
243
- kind: CommitKind;
238
+ readonly isLocal: boolean;
239
+ readonly kind: CommitKind;
244
240
  }
245
241
 
246
242
  // @internal
@@ -475,10 +471,19 @@ export type FieldKey = Brand<string, "tree.FieldKey">;
475
471
 
476
472
  // @public
477
473
  export enum FieldKind {
474
+ Identifier = 2,
478
475
  Optional = 0,
479
476
  Required = 1
480
477
  }
481
478
 
479
+ // @internal
480
+ export interface FieldKindData {
481
+ // (undocumented)
482
+ readonly identifier: FieldKindIdentifier;
483
+ // (undocumented)
484
+ readonly multiplicity: Multiplicity;
485
+ }
486
+
482
487
  // @internal
483
488
  export type FieldKindIdentifier = Brand<string, "tree.FieldKindIdentifier">;
484
489
 
@@ -488,15 +493,10 @@ export const FieldKinds: {
488
493
  readonly optional: Optional;
489
494
  readonly sequence: Sequence;
490
495
  readonly nodeKey: NodeKeyFieldKind;
496
+ readonly identifier: Identifier;
491
497
  readonly forbidden: Forbidden;
492
498
  };
493
499
 
494
- // @internal
495
- export interface FieldKindSpecifier<T = FieldKindIdentifier> {
496
- // (undocumented)
497
- identifier: T;
498
- }
499
-
500
500
  // @internal
501
501
  export interface FieldLocation {
502
502
  // (undocumented)
@@ -511,21 +511,28 @@ export interface FieldMapObject<TChild> {
511
511
  [key: string]: TChild[];
512
512
  }
513
513
 
514
+ // @public
515
+ export interface FieldProps {
516
+ readonly key?: string;
517
+ }
518
+
514
519
  // @public @sealed
515
520
  export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
516
- constructor(kind: Kind, allowedTypes: Types);
517
- // (undocumented)
521
+ constructor(
522
+ kind: Kind,
523
+ allowedTypes: Types,
524
+ props?: FieldProps | undefined);
518
525
  readonly allowedTypes: Types;
519
- // (undocumented)
526
+ get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
520
527
  readonly kind: Kind;
528
+ readonly props?: FieldProps | undefined;
521
529
  protected _typeCheck?: MakeNominal;
522
530
  }
523
531
 
524
532
  // @beta
525
- export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends Unenforced<ImplicitAllowedTypes>> {
526
- // (undocumented)
533
+ export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends Unenforced<ImplicitAllowedTypes>> extends FieldSchema<Kind, any> {
527
534
  readonly allowedTypes: Types;
528
- // (undocumented)
535
+ readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
529
536
  readonly kind: Kind;
530
537
  }
531
538
 
@@ -544,7 +551,7 @@ export type FlattenKeys<T> = [{
544
551
  export type FlexAllowedTypes = readonly [Any] | readonly LazyItem<FlexTreeNodeSchema>[];
545
552
 
546
553
  // @internal @sealed
547
- export abstract class FlexFieldKind<TName extends string = string, TMultiplicity extends Multiplicity = Multiplicity> implements FieldKindSpecifier {
554
+ export abstract class FlexFieldKind<TName extends string = string, TMultiplicity extends Multiplicity = Multiplicity> implements FieldKindData {
548
555
  protected constructor(identifier: TName & FieldKindIdentifier, multiplicity: TMultiplicity);
549
556
  // (undocumented)
550
557
  readonly identifier: TName & FieldKindIdentifier;
@@ -563,7 +570,7 @@ export class FlexFieldNodeSchema<Name extends string = string, Specification ext
563
570
  }
564
571
 
565
572
  // @internal @sealed
566
- export class FlexFieldSchema<out TKind extends FlexFieldKind = FlexFieldKind, const out TTypes extends Unenforced<FlexAllowedTypes> = FlexAllowedTypes> implements TreeFieldStoredSchema {
573
+ export class FlexFieldSchema<out TKind extends FlexFieldKind = FlexFieldKind, const out TTypes extends Unenforced<FlexAllowedTypes> = FlexAllowedTypes> {
567
574
  // (undocumented)
568
575
  readonly allowedTypes: TTypes;
569
576
  get allowedTypeSet(): AllowedTypeSet;
@@ -575,6 +582,8 @@ export class FlexFieldSchema<out TKind extends FlexFieldKind = FlexFieldKind, co
575
582
  readonly kind: TKind;
576
583
  get monomorphicChildType(): FlexTreeNodeSchema | undefined;
577
584
  // (undocumented)
585
+ readonly stored: TreeFieldStoredSchema;
586
+ // (undocumented)
578
587
  protected _typeCheck?: MakeNominal;
579
588
  get types(): TreeTypeSet;
580
589
  }
@@ -598,7 +607,7 @@ export type FlexImplicitFieldSchema = FlexFieldSchema | FlexImplicitAllowedTypes
598
607
  export type FlexList<Item = unknown> = readonly LazyItem<Item>[];
599
608
 
600
609
  // @public
601
- export type FlexListToUnion<TList extends FlexList> = ExtractItemType<ArrayToUnion<TList>>;
610
+ export type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
602
611
 
603
612
  // @internal
604
613
  export type FlexMapFieldSchema = FlexFieldSchema<typeof FieldKinds.optional | typeof FieldKinds.sequence>;
@@ -665,6 +674,7 @@ export enum FlexTreeEntityKind {
665
674
  export interface FlexTreeField extends FlexTreeEntity<FlexFieldSchema> {
666
675
  // (undocumented)
667
676
  readonly [flexTreeMarker]: FlexTreeEntityKind.Field;
677
+ boxedAt(index: number): FlexTreeNode | undefined;
668
678
  // (undocumented)
669
679
  boxedIterator(): IterableIterator<FlexTreeNode>;
670
680
  is<TSchema extends FlexFieldSchema>(schema: TSchema): this is FlexTreeTypedField<TSchema>;
@@ -720,6 +730,7 @@ export interface FlexTreeNode extends FlexTreeEntity<FlexTreeNodeSchema> {
720
730
  readonly anchorNode: AnchorNode;
721
731
  // (undocumented)
722
732
  boxedIterator(): IterableIterator<FlexTreeField>;
733
+ getBoxed(key: FieldKey): FlexTreeField;
723
734
  is<TSchema extends FlexTreeNodeSchema>(schema: TSchema): this is FlexTreeTypedNode<TSchema>;
724
735
  on<K extends keyof FlexTreeNodeEvents>(eventName: K, listener: FlexTreeNodeEvents[K]): () => void;
725
736
  readonly parentField: {
@@ -732,8 +743,6 @@ export interface FlexTreeNode extends FlexTreeEntity<FlexTreeNodeSchema> {
732
743
 
733
744
  // @internal
734
745
  export interface FlexTreeNodeEvents {
735
- afterChange(event: TreeEvent): void;
736
- beforeChange(event: TreeEvent): void;
737
746
  changing(upPath: UpPath): void;
738
747
  subtreeChanging(upPath: UpPath): PathVisitor | void;
739
748
  }
@@ -938,6 +947,10 @@ export interface IDefaultEditBuilder {
938
947
  valueField(field: FieldUpPath): ValueFieldEditBuilder;
939
948
  }
940
949
 
950
+ // @internal (undocumented)
951
+ export interface Identifier extends FlexFieldKind<"Identifier", Multiplicity.Single> {
952
+ }
953
+
941
954
  // @public
942
955
  export interface IDisposable {
943
956
  [disposeSymbol](): void;
@@ -1077,7 +1090,7 @@ export interface ITransaction {
1077
1090
 
1078
1091
  // @public
1079
1092
  export interface ITree extends IChannel {
1080
- schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TreeFieldFromImplicitField<TRoot>>;
1093
+ schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
1081
1094
  }
1082
1095
 
1083
1096
  // @internal
@@ -1097,7 +1110,7 @@ export interface ITreeCheckout extends AnchorLocator {
1097
1110
  }
1098
1111
 
1099
1112
  // @internal
1100
- export interface ITreeCheckoutFork extends ITreeCheckout {
1113
+ export interface ITreeCheckoutFork extends ITreeCheckout, IDisposable {
1101
1114
  rebaseOnto(view: ITreeCheckout): void;
1102
1115
  }
1103
1116
 
@@ -1473,7 +1486,7 @@ export const reservedObjectNodeFieldPropertyNamePrefixes: readonly ["set", "boxe
1473
1486
  export type ReservedObjectNodeFieldPropertyNames = (typeof reservedObjectNodeFieldPropertyNames)[number];
1474
1487
 
1475
1488
  // @internal
1476
- export const reservedObjectNodeFieldPropertyNames: readonly ["anchorNode", "constructor", "context", "is", "on", "parentField", "schema", "treeStatus", "tryGetField", "type", "value", "localNodeKey", "boxedIterator", "iterator"];
1489
+ export const reservedObjectNodeFieldPropertyNames: readonly ["anchorNode", "constructor", "context", "is", "on", "parentField", "schema", "treeStatus", "tryGetField", "type", "value", "localNodeKey", "boxedIterator", "iterator", "getBoxed"];
1477
1490
 
1478
1491
  // @public
1479
1492
  export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
@@ -1482,11 +1495,15 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
1482
1495
 
1483
1496
  // @public
1484
1497
  export interface Revertible {
1485
- release(): void;
1498
+ [disposeSymbol](): void;
1486
1499
  revert(): void;
1500
+ revert(dispose: boolean): void;
1487
1501
  readonly status: RevertibleStatus;
1488
1502
  }
1489
1503
 
1504
+ // @public
1505
+ export type RevertibleFactory = (onRevertibleDisposed?: (revertible: Revertible) => void) => Revertible;
1506
+
1490
1507
  // @public
1491
1508
  export enum RevertibleStatus {
1492
1509
  Disposed = 1,
@@ -1567,15 +1584,17 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
1567
1584
  readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
1568
1585
  // @deprecated
1569
1586
  fixRecursiveReference<T extends AllowedTypes>(...types: T): void;
1570
- readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<FluidObject & IFluidLoadable>, IFluidHandle<FluidObject & IFluidLoadable>>;
1587
+ readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<FluidObject<unknown> & IFluidLoadable>, IFluidHandle<FluidObject<unknown> & IFluidLoadable>>;
1588
+ get identifier(): FieldSchema<FieldKind.Identifier>;
1571
1589
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
1572
1590
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
1573
1591
  namedArray_internal<Name extends TName | string, const T extends ImplicitAllowedTypes, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, string>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T>;
1574
1592
  namedMap_internal<Name extends TName | string, const T extends ImplicitAllowedTypes, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, ImplicitlyConstructable, T>;
1575
1593
  readonly null: TreeNodeSchema<"com.fluidframework.leaf.null", NodeKind.Leaf, null, null>;
1576
1594
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1577
- object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeNode & ObjectFromSchemaRecord<T> & WithType<ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
1578
- optional<const T extends ImplicitAllowedTypes>(t: T): FieldSchema<FieldKind.Optional, T>;
1595
+ object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
1596
+ optional<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Optional, T>;
1597
+ required<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Required, T>;
1579
1598
  // (undocumented)
1580
1599
  readonly scope: TScope;
1581
1600
  readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
@@ -1592,7 +1611,7 @@ export class SchemaFactoryRecursive<TScope extends string, TName extends number
1592
1611
  InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
1593
1612
  ]>;
1594
1613
  }, false, T>;
1595
- objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1614
+ objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1596
1615
  optionalRecursive<const T extends Unenforced<readonly (() => TreeNodeSchema)[]>>(t: T): FieldSchemaUnsafe<FieldKind.Optional, T>;
1597
1616
  }
1598
1617
 
@@ -1682,12 +1701,24 @@ export class SharedTreeFactory implements IChannelFactory<ISharedTree> {
1682
1701
  readonly type: string;
1683
1702
  }
1684
1703
 
1704
+ // @internal
1705
+ export interface SharedTreeFormatOptions {
1706
+ formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion];
1707
+ treeEncodeType: TreeCompressionStrategy;
1708
+ }
1709
+
1710
+ // @internal
1711
+ export const SharedTreeFormatVersion: {
1712
+ readonly v1: 1;
1713
+ };
1714
+
1715
+ // @internal
1716
+ export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
1717
+
1685
1718
  // @internal (undocumented)
1686
- export interface SharedTreeOptions extends Partial<ICodecOptions> {
1719
+ export type SharedTreeOptions = Partial<ICodecOptions> & Partial<SharedTreeFormatOptions> & {
1687
1720
  forest?: ForestType;
1688
- // (undocumented)
1689
- treeEncodeType?: TreeCompressionStrategy;
1690
- }
1721
+ };
1691
1722
 
1692
1723
  // @internal
1693
1724
  export function singletonSchema<TScope extends string, TName extends string | number>(factory: SchemaFactory<TScope, TName>, name: TName): TreeNodeSchemaClass<ScopedSchemaName<TScope, TName>, NodeKind.Object, object & TreeNode & ObjectFromSchemaRecord<EmptyObject> & {
@@ -1715,10 +1746,10 @@ export class test_RecursiveObject extends test_RecursiveObject_base {
1715
1746
  }
1716
1747
 
1717
1748
  // @internal
1718
- export const test_RecursiveObject_base: TreeNodeSchemaClass<"Test Recursive Domain.testObject", NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe< {
1749
+ export const test_RecursiveObject_base: TreeNodeSchemaClass<"Test Recursive Domain.testObject", NodeKind.Object, TreeObjectNodeUnsafe< {
1719
1750
  readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => typeof test_RecursiveObject]>;
1720
1751
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1721
- }> & WithType<"Test Recursive Domain.testObject">, object & InsertableObjectFromSchemaRecordUnsafe< {
1752
+ }, "Test Recursive Domain.testObject">, object & InsertableObjectFromSchemaRecordUnsafe< {
1722
1753
  readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => typeof test_RecursiveObject]>;
1723
1754
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1724
1755
  }>, false, {
@@ -1727,14 +1758,14 @@ readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf,
1727
1758
  }>;
1728
1759
 
1729
1760
  // @internal
1730
- export const test_RecursiveObjectPojoMode: TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe< {
1731
- readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe<any> & WithType<"Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1761
+ export const test_RecursiveObjectPojoMode: TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeObjectNodeUnsafe< {
1762
+ readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeObjectNodeUnsafe<any, "Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1732
1763
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1733
- }> & WithType<"Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe< {
1734
- readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe<any> & WithType<"Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1764
+ }, "Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe< {
1765
+ readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeObjectNodeUnsafe<any, "Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1735
1766
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1736
1767
  }>, false, {
1737
- readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe<any> & WithType<"Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1768
+ readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNodeSchemaClass<"Test Recursive Domain.testPOJOObject", NodeKind.Object, TreeObjectNodeUnsafe<any, "Test Recursive Domain.testPOJOObject">, object & InsertableObjectFromSchemaRecordUnsafe<any>, false, any>]>;
1738
1769
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
1739
1770
  }>;
1740
1771
 
@@ -1757,8 +1788,9 @@ export interface TreeAdapter {
1757
1788
 
1758
1789
  // @public
1759
1790
  export interface TreeApi extends TreeNodeApi {
1791
+ contains(node: TreeNode, other: TreeNode): boolean;
1760
1792
  runTransaction<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void | "rollback"): void;
1761
- runTransaction<TRoot>(tree: TreeView<TRoot>, transaction: (root: TRoot) => void | "rollback"): void;
1793
+ runTransaction<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void | "rollback"): void;
1762
1794
  }
1763
1795
 
1764
1796
  // @public
@@ -1795,6 +1827,12 @@ export interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends Readonl
1795
1827
  export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
1796
1828
  }
1797
1829
 
1830
+ // @public
1831
+ export interface TreeChangeEvents {
1832
+ nodeChanged(): void;
1833
+ treeChanged(): void;
1834
+ }
1835
+
1798
1836
  // @internal
1799
1837
  export enum TreeCompressionStrategy {
1800
1838
  Compressed = 0,
@@ -1821,11 +1859,6 @@ export interface TreeDataContext {
1821
1859
  readonly schema: FlexTreeSchema;
1822
1860
  }
1823
1861
 
1824
- // @internal
1825
- export interface TreeEvent {
1826
- readonly target: FlexTreeNode;
1827
- }
1828
-
1829
1862
  // @public
1830
1863
  export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
1831
1864
 
@@ -1835,7 +1868,7 @@ export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<Implicit
1835
1868
  // @internal
1836
1869
  export interface TreeFieldStoredSchema {
1837
1870
  // (undocumented)
1838
- readonly kind: FieldKindSpecifier;
1871
+ readonly kind: FieldKindIdentifier;
1839
1872
  readonly types?: TreeTypeSet;
1840
1873
  }
1841
1874
 
@@ -1878,17 +1911,13 @@ export abstract class TreeNode implements WithType {
1878
1911
  export interface TreeNodeApi {
1879
1912
  is<TSchema extends TreeNodeSchema>(value: unknown, schema: TSchema): value is NodeFromSchema<TSchema>;
1880
1913
  key(node: TreeNode): string | number;
1881
- on<K extends keyof TreeNodeEvents>(node: TreeNode, eventName: K, listener: TreeNodeEvents[K]): () => void;
1914
+ on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
1882
1915
  parent(node: TreeNode): TreeNode | undefined;
1883
1916
  schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
1917
+ shortId(node: TreeNode): number | undefined;
1884
1918
  readonly status: (node: TreeNode) => TreeStatus;
1885
1919
  }
1886
1920
 
1887
- // @public
1888
- export interface TreeNodeEvents {
1889
- afterChange(): void;
1890
- }
1891
-
1892
1921
  // @public
1893
1922
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
1894
1923
 
@@ -1948,6 +1977,12 @@ export abstract class TreeNodeStoredSchema {
1948
1977
  protected _typeCheck: MakeNominal;
1949
1978
  }
1950
1979
 
1980
+ // @public
1981
+ export type TreeObjectNode<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName>;
1982
+
1983
+ // @beta
1984
+ export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName>;
1985
+
1951
1986
  // @internal
1952
1987
  export function treeSchemaFromStoredSchema(schema: TreeStoredSchema): FlexTreeSchema;
1953
1988
 
@@ -1985,18 +2020,18 @@ export type TreeValue<TSchema extends ValueSchema = ValueSchema> = [
1985
2020
  ][_InlineTrick];
1986
2021
 
1987
2022
  // @public
1988
- export interface TreeView<in out TRoot> extends IDisposable {
2023
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
1989
2024
  readonly error?: SchemaIncompatible;
1990
2025
  readonly events: ISubscribable<TreeViewEvents>;
1991
- readonly root: TRoot;
2026
+ get root(): TreeFieldFromImplicitField<TSchema>;
2027
+ set root(newRoot: InsertableTreeFieldFromImplicitField<TSchema>);
1992
2028
  upgradeSchema(): void;
1993
2029
  }
1994
2030
 
1995
2031
  // @public
1996
2032
  export interface TreeViewEvents {
1997
2033
  afterBatch(): void;
1998
- commitApplied(data: CommitMetadata, getRevertible?: () => Revertible): void;
1999
- revertibleDisposed(revertible: Revertible): void;
2034
+ commitApplied(data: CommitMetadata, getRevertible?: RevertibleFactory): void;
2000
2035
  rootChanged(): void;
2001
2036
  }
2002
2037
 
@@ -2046,11 +2081,11 @@ export type UpPathDefault = UpPath;
2046
2081
 
2047
2082
  // @beta
2048
2083
  export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"]>, {
2049
- [NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, FieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
2084
+ [NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
2050
2085
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
2051
2086
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
2052
2087
  }[T["kind"]], false, {
2053
- [NodeKind.Object]: RestrictiveReadonlyRecord<string, FieldSchema>;
2088
+ [NodeKind.Object]: RestrictiveReadonlyRecord<string, ImplicitFieldSchema>;
2054
2089
  [NodeKind.Array]: ImplicitAllowedTypes;
2055
2090
  [NodeKind.Map]: ImplicitAllowedTypes;
2056
2091
  }[T["kind"]]>> = true;
@@ -141,18 +141,24 @@ export interface ICodecFamily<TDecoded, TContext = void> {
141
141
  * logged properties or directly using some logger) when a format version is requested that is not supported.
142
142
  * This ensures that applications can diagnose compatibility issues.
143
143
  */
144
- resolve(formatVersion: number): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>;
144
+ resolve(formatVersion: FormatVersion): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>;
145
145
  /**
146
146
  * @returns an iterable of all format versions supported by this family.
147
147
  */
148
- getSupportedFormats(): Iterable<number>;
148
+ getSupportedFormats(): Iterable<FormatVersion>;
149
149
  }
150
+ /**
151
+ * A version stamp for encoded data.
152
+ *
153
+ * Undefined is tolerated to enable the scenario where data was not initially versioned.
154
+ */
155
+ export type FormatVersion = number | undefined;
150
156
  /**
151
157
  * Creates a codec family from a registry of codecs.
152
158
  * Any codec that is not a {@link IMultiFormatCodec} will be wrapped with a default binary encoding.
153
159
  */
154
160
  export declare function makeCodecFamily<TDecoded, TContext>(registry: Iterable<[
155
- formatVersion: number,
161
+ formatVersion: FormatVersion,
156
162
  codec: IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> | IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>
157
163
  ]>): ICodecFamily<TDecoded, TContext>;
158
164
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/codec/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/codec/codec.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.withSchemaValidation = exports.unitCodec = exports.ensureBinaryEncoding = exports.withDefaultBinaryEncoding = exports.makeCodecFamily = void 0;
8
8
  const client_utils_1 = require("@fluid-internal/client-utils");
9
- const core_utils_1 = require("@fluidframework/core-utils");
9
+ const internal_1 = require("@fluidframework/core-utils/internal");
10
10
  const index_js_1 = require("../util/index.js");
11
11
  /**
12
12
  * Creates a codec family from a registry of codecs.
@@ -23,7 +23,7 @@ function makeCodecFamily(registry) {
23
23
  return {
24
24
  resolve(formatVersion) {
25
25
  const codec = codecs.get(formatVersion);
26
- (0, core_utils_1.assert)(codec !== undefined, 0x5e6 /* Requested coded for unsupported format. */);
26
+ (0, internal_1.assert)(codec !== undefined, 0x5e6 /* Requested coded for unsupported format. */);
27
27
  return codec;
28
28
  },
29
29
  getSupportedFormats() {
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec/codec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IsoBuffer, bufferToString } from \"@fluid-internal/client-utils\";\nimport { assert } from \"@fluidframework/core-utils\";\nimport type { Static, TAnySchema, TSchema } from \"@sinclair/typebox\";\nimport { ChangeEncodingContext } from \"../core/index.js\";\nimport { JsonCompatibleReadOnly, fail } from \"../util/index.js\";\n\n/**\n * Translates decoded data to encoded data.\n * @remarks Typically paired with an {@link IEncoder}.\n */\nexport interface IEncoder<TDecoded, TEncoded, TContext> {\n\t/**\n\t * Encodes `obj` into some encoded format.\n\t */\n\tencode(obj: TDecoded, context: TContext): TEncoded;\n}\n\n/**\n * Translates encoded data to decoded data.\n * @remarks Typically paired with an {@link IEncoder}.\n */\nexport interface IDecoder<TDecoded, TEncoded, TContext> {\n\t/**\n\t * Decodes `obj` from some encoded format.\n\t */\n\tdecode(obj: TEncoded, context: TContext): TDecoded;\n}\n\n/**\n * Validates data complies with some particular schema.\n * Implementations are typically created by a {@link JsonValidator}.\n * @internal\n */\nexport interface SchemaValidationFunction<Schema extends TSchema> {\n\t/**\n\t * @returns Whether the data matches a schema.\n\t */\n\tcheck(data: unknown): data is Static<Schema>;\n}\n\n/**\n * JSON schema validator compliant with draft 6 schema. See https://json-schema.org.\n * @internal\n */\nexport interface JsonValidator {\n\t/**\n\t * Compiles the provided JSON schema into a validator for that schema.\n\t * @param schema - A valid draft 6 JSON schema\n\t * @remarks IFluidHandles--which have circular property references--are used in various places in SharedTree's persisted\n\t * format. Handles should only be contained in sections of data which are validated against the empty schema `{}`\n\t * (see https://datatracker.ietf.org/doc/html/draft-wright-json-schema-01#section-4.4).\n\t *\n\t * Implementations of `JsonValidator` must therefore tolerate these values, despite the input not being valid JSON.\n\t */\n\tcompile<Schema extends TSchema>(schema: Schema): SchemaValidationFunction<Schema>;\n}\n\n/**\n * Options relating to handling of persisted data.\n * @internal\n */\nexport interface ICodecOptions {\n\t/**\n\t * {@link JsonValidator} which SharedTree uses to validate persisted data it reads & writes\n\t * matches the expected encoded format (i.e. the wire format for ops and summaries).\n\t *\n\t * See {@link noopValidator} and {@link typeboxValidator} for out-of-the-box implementations.\n\t *\n\t * This option is not \"on-by-default\" because JSON schema validation comes with a small but noticeable\n\t * runtime performance cost, and popular schema validation libraries have relatively large bundle size.\n\t *\n\t * SharedTree users are still encouraged to use a non-trivial validator (i.e. not `noopValidator`)\n\t * whenever reasonable: it gives better fail-fast behavior when unexpected encoded data is found,\n\t * which reduces the risk of unrecoverable data corruption.\n\t */\n\treadonly jsonValidator: JsonValidator;\n}\n\n/**\n * `TContext` allows passing context to the codec which may configure how data is encoded/decoded.\n * This parameter is typically used for:\n * - Codecs which can pick from multiple encoding options, and imbue the encoded data with information about which option was used.\n * The caller of such a codec can provide context about which encoding choice to make as part of the `encode` call without creating\n * additional codecs. Note that this pattern can always be implemented by having the caller create multiple codecs and selecting the\n * appropriate one, but depending on API layering this might be less ergonomic.\n * - Context for the object currently being encoded, which might enable more efficient encoding. When used in this fashion, the codec author\n * should be careful to include the context somewhere in the encoded data such that decoding can correctly round-trip.\n * For example, a composed set of codecs could implement a form of [dictionary coding](https://en.wikipedia.org/wiki/Dictionary_coder)\n * using a context map which was created by the top-level codec and passed to the inner codecs.\n * This pattern is used:\n * - To avoid repeatedly encoding session ids on commits (only recording it once at the top level)\n * @remarks `TEncoded` should always be valid Json (i.e. not contain functions), but due to TypeScript's handling\n * of index signatures and `JsonCompatibleReadOnly`'s index signature in the Json object case, specifying this as a\n * type-system level constraint makes code that uses this interface more difficult to write.\n *\n * If provided, `TValidate` allows the input type passed to `decode` to be different than `TEncoded`.\n * This is useful when, for example, the type being decoded is `unknown` and must be validated to be a `TEncoded` before being decoded to a `TDecoded`.\n */\nexport interface IJsonCodec<\n\tTDecoded,\n\tTEncoded = JsonCompatibleReadOnly,\n\tTValidate = TEncoded,\n\tTContext = void,\n> extends IEncoder<TDecoded, TEncoded, TContext>,\n\t\tIDecoder<TDecoded, TValidate, TContext> {\n\tencodedSchema?: TAnySchema;\n}\n\n/**\n * @remarks TODO: We might consider using DataView or some kind of writer instead of IsoBuffer.\n */\nexport interface IBinaryCodec<TDecoded, TContext = void>\n\textends IEncoder<TDecoded, IsoBuffer, TContext>,\n\t\tIDecoder<TDecoded, IsoBuffer, TContext> {}\n\n/**\n * Contains knowledge of how to encode some in-memory type into JSON and binary formats,\n * as well as how to decode those representations.\n *\n * @remarks Codecs are typically used in shared-tree to convert data into some persisted format.\n * For this common use case, any format for encoding that was ever actually used needs to\n * be supported for decoding in all future code versions.\n *\n * Using an {@link ICodecFamily} is the recommended strategy for managing this support, keeping in\n * mind evolution of encodings over time.\n */\nexport interface IMultiFormatCodec<\n\tTDecoded,\n\tTJsonEncoded extends JsonCompatibleReadOnly = JsonCompatibleReadOnly,\n\tTJsonValidate = TJsonEncoded,\n\tTContext = void,\n> {\n\tjson: IJsonCodec<TDecoded, TJsonEncoded, TJsonValidate, TContext>;\n\tbinary: IBinaryCodec<TDecoded, TContext>;\n\n\t/** Ensures multi-format codecs cannot also be single-format codecs. */\n\tencode?: never;\n\t/** Ensures multi-format codecs cannot also be single-format codecs. */\n\tdecode?: never;\n}\n\n/**\n * Represents a family of codecs that can be used to encode and decode data in different formats.\n * The family is identified by a format version, which is typically used to select the codec to use.\n *\n * Separating codecs into families rather than having a single codec support multiple versions (i.e. currying\n * the `formatVersion` parameter)\n * allows avoiding some duplicate work at encode/decode time, since the vast majority of document usage will not\n * involve mixed format versions.\n *\n * @privateRemarks - This interface currently assumes all codecs in a family require the same encode/decode context,\n * which isn't necessarily true.\n * This may need to be relaxed in the future.\n */\nexport interface ICodecFamily<TDecoded, TContext = void> {\n\t/**\n\t * @returns a codec that can be used to encode and decode data in the specified format.\n\t * @throws - if the format version is not supported by this family.\n\t * @remarks Implementations should typically emit telemetry (either indirectly by throwing a well-known error with\n\t * logged properties or directly using some logger) when a format version is requested that is not supported.\n\t * This ensures that applications can diagnose compatibility issues.\n\t */\n\tresolve(\n\t\tformatVersion: number,\n\t): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>;\n\n\t/**\n\t * @returns an iterable of all format versions supported by this family.\n\t */\n\tgetSupportedFormats(): Iterable<number>;\n}\n\n/**\n * Creates a codec family from a registry of codecs.\n * Any codec that is not a {@link IMultiFormatCodec} will be wrapped with a default binary encoding.\n */\nexport function makeCodecFamily<TDecoded, TContext>(\n\tregistry: Iterable<\n\t\t[\n\t\t\tformatVersion: number,\n\t\t\tcodec:\n\t\t\t\t| IMultiFormatCodec<\n\t\t\t\t\t\tTDecoded,\n\t\t\t\t\t\tJsonCompatibleReadOnly,\n\t\t\t\t\t\tJsonCompatibleReadOnly,\n\t\t\t\t\t\tTContext\n\t\t\t\t >\n\t\t\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n\t\t]\n\t>,\n): ICodecFamily<TDecoded, TContext> {\n\tconst codecs: Map<\n\t\tnumber,\n\t\tIMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t> = new Map();\n\tfor (const [formatVersion, codec] of registry) {\n\t\tif (codecs.has(formatVersion)) {\n\t\t\tfail(\"Duplicate codecs specified.\");\n\t\t}\n\t\tcodecs.set(formatVersion, ensureBinaryEncoding(codec));\n\t}\n\n\treturn {\n\t\tresolve(formatVersion: number) {\n\t\t\tconst codec = codecs.get(formatVersion);\n\t\t\tassert(codec !== undefined, 0x5e6 /* Requested coded for unsupported format. */);\n\t\t\treturn codec;\n\t\t},\n\t\tgetSupportedFormats() {\n\t\t\treturn codecs.keys();\n\t\t},\n\t};\n}\n\nclass DefaultBinaryCodec<TDecoded, TContext> implements IBinaryCodec<TDecoded, TContext> {\n\tpublic constructor(\n\t\tprivate readonly jsonCodec: IJsonCodec<TDecoded, unknown, unknown, TContext>,\n\t) {}\n\n\tpublic encode(change: TDecoded, context: TContext): IsoBuffer {\n\t\tconst jsonable = this.jsonCodec.encode(change, context);\n\t\tconst json = JSON.stringify(jsonable);\n\t\treturn IsoBuffer.from(json);\n\t}\n\n\tpublic decode(change: IsoBuffer, context: TContext): TDecoded {\n\t\tconst json = bufferToString(change, \"utf8\");\n\t\tconst jsonable = JSON.parse(json);\n\t\treturn this.jsonCodec.decode(jsonable, context);\n\t}\n}\n\nfunction isJsonCodec<TDecoded, TContext>(\n\tcodec:\n\t\t| IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): codec is IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn typeof codec.encode === \"function\" && typeof codec.decode === \"function\";\n}\n\n/**\n * Constructs a {@link IMultiFormatCodec} from a `IJsonCodec` using a generic binary encoding that simply writes\n * the json representation of the object to a buffer.\n */\nexport function withDefaultBinaryEncoding<TDecoded, TContext>(\n\tjsonCodec: IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn {\n\t\tjson: jsonCodec,\n\t\tbinary: new DefaultBinaryCodec(jsonCodec),\n\t};\n}\n\n/**\n * Ensures that the provided single or multi-format codec has a binary encoding.\n * Adapts the json encoding using {@link withDefaultBinaryEncoding} if necessary.\n */\nexport function ensureBinaryEncoding<TDecoded, TContext>(\n\tcodec:\n\t\t| IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn isJsonCodec(codec) ? withDefaultBinaryEncoding(codec) : codec;\n}\n\n/**\n * Codec for objects which carry no information.\n */\nexport const unitCodec: IMultiFormatCodec<0, JsonCompatibleReadOnly, JsonCompatibleReadOnly, any> =\n\t{\n\t\tjson: {\n\t\t\tencode: () => 0,\n\t\t\tdecode: () => 0,\n\t\t},\n\t\tbinary: {\n\t\t\tencode: () => IsoBuffer.from(\"\"),\n\t\t\tdecode: () => 0,\n\t\t},\n\t};\n\n/**\n * Wraps a codec with JSON schema validation for its encoded type.\n * @returns An {@link IJsonCodec} which validates the data it encodes and decodes matches the provided schema.\n */\nexport function withSchemaValidation<\n\tTInMemoryFormat,\n\tEncodedSchema extends TSchema,\n\tTEncodedFormat = JsonCompatibleReadOnly,\n\tTValidate = TEncodedFormat,\n\tTContext = ChangeEncodingContext,\n>(\n\tschema: EncodedSchema,\n\tcodec: IJsonCodec<TInMemoryFormat, TEncodedFormat, TValidate, TContext>,\n\tvalidator?: JsonValidator,\n): IJsonCodec<TInMemoryFormat, TEncodedFormat, TValidate, TContext> {\n\tif (!validator) {\n\t\treturn codec;\n\t}\n\tconst compiledFormat = validator.compile(schema);\n\treturn {\n\t\tencode: (obj: TInMemoryFormat, context: TContext) => {\n\t\t\tconst encoded = codec.encode(obj, context);\n\t\t\tif (!compiledFormat.check(encoded)) {\n\t\t\t\tfail(\"Encoded schema should validate\");\n\t\t\t}\n\t\t\treturn encoded;\n\t\t},\n\t\tdecode: (encoded: TValidate, context: TContext) => {\n\t\t\tif (!compiledFormat.check(encoded)) {\n\t\t\t\tfail(\"Encoded schema should validate\");\n\t\t\t}\n\t\t\t// TODO: would be nice to provide a more specific validate type to the inner codec than the outer one gets.\n\t\t\treturn codec.decode(encoded, context) as unknown as TInMemoryFormat;\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec/codec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IsoBuffer, bufferToString } from \"@fluid-internal/client-utils\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport type { Static, TAnySchema, TSchema } from \"@sinclair/typebox\";\n\nimport { ChangeEncodingContext } from \"../core/index.js\";\nimport { JsonCompatibleReadOnly, fail } from \"../util/index.js\";\n\n/**\n * Translates decoded data to encoded data.\n * @remarks Typically paired with an {@link IEncoder}.\n */\nexport interface IEncoder<TDecoded, TEncoded, TContext> {\n\t/**\n\t * Encodes `obj` into some encoded format.\n\t */\n\tencode(obj: TDecoded, context: TContext): TEncoded;\n}\n\n/**\n * Translates encoded data to decoded data.\n * @remarks Typically paired with an {@link IEncoder}.\n */\nexport interface IDecoder<TDecoded, TEncoded, TContext> {\n\t/**\n\t * Decodes `obj` from some encoded format.\n\t */\n\tdecode(obj: TEncoded, context: TContext): TDecoded;\n}\n\n/**\n * Validates data complies with some particular schema.\n * Implementations are typically created by a {@link JsonValidator}.\n * @internal\n */\nexport interface SchemaValidationFunction<Schema extends TSchema> {\n\t/**\n\t * @returns Whether the data matches a schema.\n\t */\n\tcheck(data: unknown): data is Static<Schema>;\n}\n\n/**\n * JSON schema validator compliant with draft 6 schema. See https://json-schema.org.\n * @internal\n */\nexport interface JsonValidator {\n\t/**\n\t * Compiles the provided JSON schema into a validator for that schema.\n\t * @param schema - A valid draft 6 JSON schema\n\t * @remarks IFluidHandles--which have circular property references--are used in various places in SharedTree's persisted\n\t * format. Handles should only be contained in sections of data which are validated against the empty schema `{}`\n\t * (see https://datatracker.ietf.org/doc/html/draft-wright-json-schema-01#section-4.4).\n\t *\n\t * Implementations of `JsonValidator` must therefore tolerate these values, despite the input not being valid JSON.\n\t */\n\tcompile<Schema extends TSchema>(schema: Schema): SchemaValidationFunction<Schema>;\n}\n\n/**\n * Options relating to handling of persisted data.\n * @internal\n */\nexport interface ICodecOptions {\n\t/**\n\t * {@link JsonValidator} which SharedTree uses to validate persisted data it reads & writes\n\t * matches the expected encoded format (i.e. the wire format for ops and summaries).\n\t *\n\t * See {@link noopValidator} and {@link typeboxValidator} for out-of-the-box implementations.\n\t *\n\t * This option is not \"on-by-default\" because JSON schema validation comes with a small but noticeable\n\t * runtime performance cost, and popular schema validation libraries have relatively large bundle size.\n\t *\n\t * SharedTree users are still encouraged to use a non-trivial validator (i.e. not `noopValidator`)\n\t * whenever reasonable: it gives better fail-fast behavior when unexpected encoded data is found,\n\t * which reduces the risk of unrecoverable data corruption.\n\t */\n\treadonly jsonValidator: JsonValidator;\n}\n\n/**\n * `TContext` allows passing context to the codec which may configure how data is encoded/decoded.\n * This parameter is typically used for:\n * - Codecs which can pick from multiple encoding options, and imbue the encoded data with information about which option was used.\n * The caller of such a codec can provide context about which encoding choice to make as part of the `encode` call without creating\n * additional codecs. Note that this pattern can always be implemented by having the caller create multiple codecs and selecting the\n * appropriate one, but depending on API layering this might be less ergonomic.\n * - Context for the object currently being encoded, which might enable more efficient encoding. When used in this fashion, the codec author\n * should be careful to include the context somewhere in the encoded data such that decoding can correctly round-trip.\n * For example, a composed set of codecs could implement a form of [dictionary coding](https://en.wikipedia.org/wiki/Dictionary_coder)\n * using a context map which was created by the top-level codec and passed to the inner codecs.\n * This pattern is used:\n * - To avoid repeatedly encoding session ids on commits (only recording it once at the top level)\n * @remarks `TEncoded` should always be valid Json (i.e. not contain functions), but due to TypeScript's handling\n * of index signatures and `JsonCompatibleReadOnly`'s index signature in the Json object case, specifying this as a\n * type-system level constraint makes code that uses this interface more difficult to write.\n *\n * If provided, `TValidate` allows the input type passed to `decode` to be different than `TEncoded`.\n * This is useful when, for example, the type being decoded is `unknown` and must be validated to be a `TEncoded` before being decoded to a `TDecoded`.\n */\nexport interface IJsonCodec<\n\tTDecoded,\n\tTEncoded = JsonCompatibleReadOnly,\n\tTValidate = TEncoded,\n\tTContext = void,\n> extends IEncoder<TDecoded, TEncoded, TContext>,\n\t\tIDecoder<TDecoded, TValidate, TContext> {\n\tencodedSchema?: TAnySchema;\n}\n\n/**\n * @remarks TODO: We might consider using DataView or some kind of writer instead of IsoBuffer.\n */\nexport interface IBinaryCodec<TDecoded, TContext = void>\n\textends IEncoder<TDecoded, IsoBuffer, TContext>,\n\t\tIDecoder<TDecoded, IsoBuffer, TContext> {}\n\n/**\n * Contains knowledge of how to encode some in-memory type into JSON and binary formats,\n * as well as how to decode those representations.\n *\n * @remarks Codecs are typically used in shared-tree to convert data into some persisted format.\n * For this common use case, any format for encoding that was ever actually used needs to\n * be supported for decoding in all future code versions.\n *\n * Using an {@link ICodecFamily} is the recommended strategy for managing this support, keeping in\n * mind evolution of encodings over time.\n */\nexport interface IMultiFormatCodec<\n\tTDecoded,\n\tTJsonEncoded extends JsonCompatibleReadOnly = JsonCompatibleReadOnly,\n\tTJsonValidate = TJsonEncoded,\n\tTContext = void,\n> {\n\tjson: IJsonCodec<TDecoded, TJsonEncoded, TJsonValidate, TContext>;\n\tbinary: IBinaryCodec<TDecoded, TContext>;\n\n\t/** Ensures multi-format codecs cannot also be single-format codecs. */\n\tencode?: never;\n\t/** Ensures multi-format codecs cannot also be single-format codecs. */\n\tdecode?: never;\n}\n\n/**\n * Represents a family of codecs that can be used to encode and decode data in different formats.\n * The family is identified by a format version, which is typically used to select the codec to use.\n *\n * Separating codecs into families rather than having a single codec support multiple versions (i.e. currying\n * the `formatVersion` parameter)\n * allows avoiding some duplicate work at encode/decode time, since the vast majority of document usage will not\n * involve mixed format versions.\n *\n * @privateRemarks - This interface currently assumes all codecs in a family require the same encode/decode context,\n * which isn't necessarily true.\n * This may need to be relaxed in the future.\n */\nexport interface ICodecFamily<TDecoded, TContext = void> {\n\t/**\n\t * @returns a codec that can be used to encode and decode data in the specified format.\n\t * @throws - if the format version is not supported by this family.\n\t * @remarks Implementations should typically emit telemetry (either indirectly by throwing a well-known error with\n\t * logged properties or directly using some logger) when a format version is requested that is not supported.\n\t * This ensures that applications can diagnose compatibility issues.\n\t */\n\tresolve(\n\t\tformatVersion: FormatVersion,\n\t): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>;\n\n\t/**\n\t * @returns an iterable of all format versions supported by this family.\n\t */\n\tgetSupportedFormats(): Iterable<FormatVersion>;\n}\n\n/**\n * A version stamp for encoded data.\n *\n * Undefined is tolerated to enable the scenario where data was not initially versioned.\n */\nexport type FormatVersion = number | undefined;\n\n/**\n * Creates a codec family from a registry of codecs.\n * Any codec that is not a {@link IMultiFormatCodec} will be wrapped with a default binary encoding.\n */\nexport function makeCodecFamily<TDecoded, TContext>(\n\tregistry: Iterable<\n\t\t[\n\t\t\tformatVersion: FormatVersion,\n\t\t\tcodec:\n\t\t\t\t| IMultiFormatCodec<\n\t\t\t\t\t\tTDecoded,\n\t\t\t\t\t\tJsonCompatibleReadOnly,\n\t\t\t\t\t\tJsonCompatibleReadOnly,\n\t\t\t\t\t\tTContext\n\t\t\t\t >\n\t\t\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n\t\t]\n\t>,\n): ICodecFamily<TDecoded, TContext> {\n\tconst codecs: Map<\n\t\tFormatVersion,\n\t\tIMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t> = new Map();\n\tfor (const [formatVersion, codec] of registry) {\n\t\tif (codecs.has(formatVersion)) {\n\t\t\tfail(\"Duplicate codecs specified.\");\n\t\t}\n\t\tcodecs.set(formatVersion, ensureBinaryEncoding(codec));\n\t}\n\n\treturn {\n\t\tresolve(formatVersion: number) {\n\t\t\tconst codec = codecs.get(formatVersion);\n\t\t\tassert(codec !== undefined, 0x5e6 /* Requested coded for unsupported format. */);\n\t\t\treturn codec;\n\t\t},\n\t\tgetSupportedFormats() {\n\t\t\treturn codecs.keys();\n\t\t},\n\t};\n}\n\nclass DefaultBinaryCodec<TDecoded, TContext> implements IBinaryCodec<TDecoded, TContext> {\n\tpublic constructor(\n\t\tprivate readonly jsonCodec: IJsonCodec<TDecoded, unknown, unknown, TContext>,\n\t) {}\n\n\tpublic encode(change: TDecoded, context: TContext): IsoBuffer {\n\t\tconst jsonable = this.jsonCodec.encode(change, context);\n\t\tconst json = JSON.stringify(jsonable);\n\t\treturn IsoBuffer.from(json);\n\t}\n\n\tpublic decode(change: IsoBuffer, context: TContext): TDecoded {\n\t\tconst json = bufferToString(change, \"utf8\");\n\t\tconst jsonable = JSON.parse(json);\n\t\treturn this.jsonCodec.decode(jsonable, context);\n\t}\n}\n\nfunction isJsonCodec<TDecoded, TContext>(\n\tcodec:\n\t\t| IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): codec is IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn typeof codec.encode === \"function\" && typeof codec.decode === \"function\";\n}\n\n/**\n * Constructs a {@link IMultiFormatCodec} from a `IJsonCodec` using a generic binary encoding that simply writes\n * the json representation of the object to a buffer.\n */\nexport function withDefaultBinaryEncoding<TDecoded, TContext>(\n\tjsonCodec: IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn {\n\t\tjson: jsonCodec,\n\t\tbinary: new DefaultBinaryCodec(jsonCodec),\n\t};\n}\n\n/**\n * Ensures that the provided single or multi-format codec has a binary encoding.\n * Adapts the json encoding using {@link withDefaultBinaryEncoding} if necessary.\n */\nexport function ensureBinaryEncoding<TDecoded, TContext>(\n\tcodec:\n\t\t| IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>\n\t\t| IJsonCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext>,\n): IMultiFormatCodec<TDecoded, JsonCompatibleReadOnly, JsonCompatibleReadOnly, TContext> {\n\treturn isJsonCodec(codec) ? withDefaultBinaryEncoding(codec) : codec;\n}\n\n/**\n * Codec for objects which carry no information.\n */\nexport const unitCodec: IMultiFormatCodec<0, JsonCompatibleReadOnly, JsonCompatibleReadOnly, any> =\n\t{\n\t\tjson: {\n\t\t\tencode: () => 0,\n\t\t\tdecode: () => 0,\n\t\t},\n\t\tbinary: {\n\t\t\tencode: () => IsoBuffer.from(\"\"),\n\t\t\tdecode: () => 0,\n\t\t},\n\t};\n\n/**\n * Wraps a codec with JSON schema validation for its encoded type.\n * @returns An {@link IJsonCodec} which validates the data it encodes and decodes matches the provided schema.\n */\nexport function withSchemaValidation<\n\tTInMemoryFormat,\n\tEncodedSchema extends TSchema,\n\tTEncodedFormat = JsonCompatibleReadOnly,\n\tTValidate = TEncodedFormat,\n\tTContext = ChangeEncodingContext,\n>(\n\tschema: EncodedSchema,\n\tcodec: IJsonCodec<TInMemoryFormat, TEncodedFormat, TValidate, TContext>,\n\tvalidator?: JsonValidator,\n): IJsonCodec<TInMemoryFormat, TEncodedFormat, TValidate, TContext> {\n\tif (!validator) {\n\t\treturn codec;\n\t}\n\tconst compiledFormat = validator.compile(schema);\n\treturn {\n\t\tencode: (obj: TInMemoryFormat, context: TContext) => {\n\t\t\tconst encoded = codec.encode(obj, context);\n\t\t\tif (!compiledFormat.check(encoded)) {\n\t\t\t\tfail(\"Encoded schema should validate\");\n\t\t\t}\n\t\t\treturn encoded;\n\t\t},\n\t\tdecode: (encoded: TValidate, context: TContext) => {\n\t\t\tif (!compiledFormat.check(encoded)) {\n\t\t\t\tfail(\"Encoded schema should validate\");\n\t\t\t}\n\t\t\t// TODO: would be nice to provide a more specific validate type to the inner codec than the outer one gets.\n\t\t\treturn codec.decode(encoded, context) as unknown as TInMemoryFormat;\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"discriminatedUnions.d.ts","sourceRoot":"","sources":["../../src/codec/discriminatedUnions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,qBAAa,4BAA4B,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO;IAC5F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;gBAGD,OAAO,EAAE;QACR;YACC,QAAQ,EAAE,QAAQ,IAAI,MAAM,MAAM,CAAC,CAAC,GAAG,CACtC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EACjC,GAAG,IAAI,EAAE,KAAK,KACV,OAAO;SACZ;KACD,CAAC,YAAY,CAAC;IAOT,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO;CAYvD"}
1
+ {"version":3,"file":"discriminatedUnions.d.ts","sourceRoot":"","sources":["../../src/codec/discriminatedUnions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,qBAAa,4BAA4B,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO;IAC5F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;gBAGD,OAAO,EAAE;QACR;YACC,QAAQ,EAAE,QAAQ,IAAI,MAAM,MAAM,CAAC,CAAC,GAAG,CACtC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EACjC,GAAG,IAAI,EAAE,KAAK,KACV,OAAO;SACZ;KACD,CAAC,YAAY,CAAC;IAOT,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO;CAYvD"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.DiscriminatedUnionDispatcher = exports.unionOptions = void 0;
8
- const core_utils_1 = require("@fluidframework/core-utils");
8
+ const internal_1 = require("@fluidframework/core-utils/internal");
9
9
  const index_js_1 = require("../util/index.js");
10
10
  /**
11
11
  * This module contains utilities for an encoding of a discriminated union that is efficient to validate using
@@ -83,7 +83,7 @@ class DiscriminatedUnionDispatcher {
83
83
  }
84
84
  dispatch(union, ...args) {
85
85
  const keys = Reflect.ownKeys(union);
86
- (0, core_utils_1.assert)(keys.length === 1, 0x733 /* discriminated union type should have exactly one member */);
86
+ (0, internal_1.assert)(keys.length === 1, 0x733 /* discriminated union type should have exactly one member */);
87
87
  const key = keys[0];
88
88
  const value = union[key];
89
89
  const factory = this.library.get(key) ?? (0, index_js_1.fail)("missing function for union member");