@fluidframework/tree 2.50.0 → 2.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/.eslintrc.cjs +3 -2
  2. package/.vscode/Tree.code-workspace +14 -1
  3. package/.vscode/settings.json +16 -0
  4. package/CHANGELOG.md +51 -2
  5. package/api-report/tree.alpha.api.md +7 -7
  6. package/dist/core/schema-stored/schema.d.ts +14 -1
  7. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  8. package/dist/core/schema-stored/schema.js.map +1 -1
  9. package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  10. package/dist/feature-libraries/default-schema/schemaChecker.js +3 -0
  11. package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  12. package/dist/feature-libraries/flex-tree/context.d.ts +7 -2
  13. package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
  14. package/dist/feature-libraries/flex-tree/context.js +4 -4
  15. package/dist/feature-libraries/flex-tree/context.js.map +1 -1
  16. package/dist/feature-libraries/flex-tree/index.d.ts +1 -0
  17. package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
  18. package/dist/feature-libraries/flex-tree/index.js +3 -1
  19. package/dist/feature-libraries/flex-tree/index.js.map +1 -1
  20. package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  21. package/dist/feature-libraries/flex-tree/lazyField.js +5 -5
  22. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  23. package/dist/feature-libraries/flex-tree/lazyNode.d.ts +3 -1
  24. package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  25. package/dist/feature-libraries/flex-tree/lazyNode.js +5 -3
  26. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  27. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  28. package/dist/feature-libraries/forest-summary/forestSummarizer.js +3 -4
  29. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  30. package/dist/feature-libraries/index.d.ts +2 -2
  31. package/dist/feature-libraries/index.d.ts.map +1 -1
  32. package/dist/feature-libraries/index.js +3 -8
  33. package/dist/feature-libraries/index.js.map +1 -1
  34. package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  35. package/dist/feature-libraries/modular-schema/comparison.js +0 -3
  36. package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
  37. package/dist/feature-libraries/modular-schema/index.d.ts +0 -1
  38. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  39. package/dist/feature-libraries/modular-schema/index.js +1 -8
  40. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  41. package/dist/packageVersion.d.ts +1 -1
  42. package/dist/packageVersion.js +1 -1
  43. package/dist/packageVersion.js.map +1 -1
  44. package/dist/shared-tree/index.d.ts +0 -1
  45. package/dist/shared-tree/index.d.ts.map +1 -1
  46. package/dist/shared-tree/index.js +1 -3
  47. package/dist/shared-tree/index.js.map +1 -1
  48. package/dist/shared-tree/schematizeTree.d.ts +1 -1
  49. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  50. package/dist/shared-tree/schematizeTree.js +7 -10
  51. package/dist/shared-tree/schematizeTree.js.map +1 -1
  52. package/dist/shared-tree/schematizingTreeView.d.ts +11 -13
  53. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  54. package/dist/shared-tree/schematizingTreeView.js +60 -83
  55. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  56. package/dist/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  57. package/dist/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  58. package/dist/shared-tree/tree.d.ts.map +1 -1
  59. package/dist/shared-tree/tree.js +4 -3
  60. package/dist/shared-tree/tree.js.map +1 -1
  61. package/dist/shared-tree/treeAlpha.d.ts +7 -1
  62. package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
  63. package/dist/shared-tree/treeAlpha.js.map +1 -1
  64. package/dist/shared-tree/treeCheckout.d.ts +7 -2
  65. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  66. package/dist/shared-tree/treeCheckout.js +4 -1
  67. package/dist/shared-tree/treeCheckout.js.map +1 -1
  68. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  69. package/dist/simple-tree/api/conciseTree.d.ts.map +1 -1
  70. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  71. package/dist/simple-tree/api/configuration.d.ts +1 -1
  72. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  73. package/dist/simple-tree/api/configuration.js +5 -5
  74. package/dist/simple-tree/api/configuration.js.map +1 -1
  75. package/dist/simple-tree/api/create.d.ts +3 -1
  76. package/dist/simple-tree/api/create.d.ts.map +1 -1
  77. package/dist/simple-tree/api/create.js +2 -0
  78. package/dist/simple-tree/api/create.js.map +1 -1
  79. package/dist/simple-tree/api/customTree.d.ts +1 -2
  80. package/dist/simple-tree/api/customTree.d.ts.map +1 -1
  81. package/dist/simple-tree/api/customTree.js.map +1 -1
  82. package/dist/simple-tree/api/getJsonSchema.d.ts +1 -1
  83. package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  84. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  85. package/dist/simple-tree/api/getSimpleSchema.d.ts +1 -1
  86. package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
  87. package/dist/simple-tree/api/identifierIndex.d.ts +1 -1
  88. package/dist/simple-tree/api/identifierIndex.js +2 -2
  89. package/dist/simple-tree/api/identifierIndex.js.map +1 -1
  90. package/dist/simple-tree/api/index.d.ts +1 -1
  91. package/dist/simple-tree/api/index.d.ts.map +1 -1
  92. package/dist/simple-tree/api/index.js.map +1 -1
  93. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +4 -19
  94. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  95. package/dist/simple-tree/api/schemaCompatibilityTester.js +31 -82
  96. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  97. package/dist/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  98. package/dist/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  99. package/dist/simple-tree/api/schemaCreationUtilities.js +41 -4
  100. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  101. package/dist/simple-tree/api/schemaFactory.d.ts +36 -3
  102. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  103. package/dist/simple-tree/api/schemaFactory.js +18 -18
  104. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  105. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  106. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  107. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  108. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  109. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  110. package/dist/simple-tree/api/schemaFactoryRecursive.js +2 -2
  111. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  112. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  113. package/dist/simple-tree/api/schemaFromSimple.js +4 -4
  114. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  115. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +2 -2
  116. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  117. package/dist/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  118. package/dist/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  119. package/dist/simple-tree/api/simpleTreeIndex.js +1 -1
  120. package/dist/simple-tree/api/simpleTreeIndex.js.map +1 -1
  121. package/dist/simple-tree/api/storedSchema.d.ts +1 -1
  122. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  123. package/dist/simple-tree/api/storedSchema.js +2 -2
  124. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  125. package/dist/simple-tree/api/tree.d.ts +2 -1
  126. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  127. package/dist/simple-tree/api/tree.js.map +1 -1
  128. package/dist/simple-tree/api/treeBeta.d.ts +4 -1
  129. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  130. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  131. package/dist/simple-tree/api/treeNodeApi.d.ts +1 -2
  132. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  133. package/dist/simple-tree/api/treeNodeApi.js +3 -3
  134. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  135. package/dist/simple-tree/api/typesUnsafe.d.ts +2 -3
  136. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  137. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  138. package/dist/simple-tree/api/verboseTree.d.ts +2 -1
  139. package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
  140. package/dist/simple-tree/api/verboseTree.js.map +1 -1
  141. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  142. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +2 -2
  143. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  144. package/dist/simple-tree/core/allowedTypes.d.ts +316 -0
  145. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -0
  146. package/dist/simple-tree/core/allowedTypes.js +173 -0
  147. package/dist/simple-tree/core/allowedTypes.js.map +1 -0
  148. package/dist/simple-tree/core/context.d.ts +3 -9
  149. package/dist/simple-tree/core/context.d.ts.map +1 -1
  150. package/dist/simple-tree/core/context.js +3 -11
  151. package/dist/simple-tree/core/context.js.map +1 -1
  152. package/dist/simple-tree/core/flexList.d.ts.map +1 -0
  153. package/dist/simple-tree/core/flexList.js.map +1 -0
  154. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  155. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  156. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  157. package/dist/simple-tree/core/index.d.ts +9 -3
  158. package/dist/simple-tree/core/index.d.ts.map +1 -1
  159. package/dist/simple-tree/core/index.js +19 -3
  160. package/dist/simple-tree/core/index.js.map +1 -1
  161. package/dist/simple-tree/core/treeNodeKernel.d.ts +8 -1
  162. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  163. package/dist/simple-tree/core/treeNodeKernel.js +24 -20
  164. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  165. package/dist/simple-tree/core/treeNodeSchema.d.ts +182 -39
  166. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  167. package/dist/simple-tree/core/treeNodeSchema.js +47 -17
  168. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  169. package/{lib/simple-tree → dist/simple-tree/core}/treeNodeValid.d.ts +18 -4
  170. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  171. package/dist/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +41 -11
  172. package/dist/simple-tree/core/treeNodeValid.js.map +1 -0
  173. package/dist/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  174. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  175. package/dist/simple-tree/core/walkSchema.d.ts +2 -1
  176. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  177. package/dist/simple-tree/core/walkSchema.js +6 -2
  178. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  179. package/dist/simple-tree/createContext.d.ts +6 -2
  180. package/dist/simple-tree/createContext.d.ts.map +1 -1
  181. package/dist/simple-tree/createContext.js +15 -3
  182. package/dist/simple-tree/createContext.js.map +1 -1
  183. package/dist/{feature-libraries/modular-schema → simple-tree}/discrepancies.d.ts +22 -29
  184. package/dist/simple-tree/discrepancies.d.ts.map +1 -0
  185. package/dist/simple-tree/discrepancies.js +382 -0
  186. package/dist/simple-tree/discrepancies.js.map +1 -0
  187. package/dist/simple-tree/fieldSchema.d.ts +423 -0
  188. package/dist/simple-tree/fieldSchema.d.ts.map +1 -0
  189. package/dist/simple-tree/{schemaTypes.js → fieldSchema.js} +5 -195
  190. package/dist/simple-tree/fieldSchema.js.map +1 -0
  191. package/dist/simple-tree/index.d.ts +7 -6
  192. package/dist/simple-tree/index.d.ts.map +1 -1
  193. package/dist/simple-tree/index.js +17 -11
  194. package/dist/simple-tree/index.js.map +1 -1
  195. package/dist/simple-tree/leafNodeSchema.d.ts +14 -5
  196. package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
  197. package/dist/simple-tree/leafNodeSchema.js +117 -2
  198. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  199. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  200. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  201. package/dist/simple-tree/node-kinds/array/arrayNode.js +97 -26
  202. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  203. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  204. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  205. package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  206. package/dist/simple-tree/node-kinds/common.d.ts +16 -0
  207. package/dist/simple-tree/node-kinds/common.d.ts.map +1 -0
  208. package/dist/simple-tree/node-kinds/common.js +42 -0
  209. package/dist/simple-tree/node-kinds/common.js.map +1 -0
  210. package/dist/simple-tree/node-kinds/index.d.ts +1 -1
  211. package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
  212. package/dist/simple-tree/node-kinds/index.js.map +1 -1
  213. package/dist/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  214. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  215. package/dist/simple-tree/node-kinds/map/mapNode.js +64 -26
  216. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  217. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  218. package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  219. package/dist/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  220. package/dist/simple-tree/node-kinds/object/index.d.ts +2 -2
  221. package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  222. package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
  223. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  224. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  225. package/dist/simple-tree/node-kinds/object/objectNode.js +131 -27
  226. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  227. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  228. package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  229. package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  230. package/dist/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  231. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  232. package/dist/simple-tree/node-kinds/record/recordNode.js +41 -13
  233. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  234. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  235. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  236. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  237. package/dist/simple-tree/prepareForInsertion.d.ts +2 -2
  238. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  239. package/dist/simple-tree/prepareForInsertion.js +3 -3
  240. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  241. package/dist/simple-tree/simpleSchema.d.ts +2 -2
  242. package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
  243. package/dist/simple-tree/simpleSchema.js.map +1 -1
  244. package/dist/simple-tree/toStoredSchema.d.ts +1 -1
  245. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  246. package/dist/simple-tree/toStoredSchema.js +6 -7
  247. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  248. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  249. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  250. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +25 -395
  251. package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  252. package/dist/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  253. package/dist/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  254. package/dist/simple-tree/unsafeUnknownSchema.js +13 -0
  255. package/dist/simple-tree/unsafeUnknownSchema.js.map +1 -0
  256. package/dist/simple-tree/walkFieldSchema.d.ts +1 -1
  257. package/dist/simple-tree/walkFieldSchema.js +2 -2
  258. package/dist/simple-tree/walkFieldSchema.js.map +1 -1
  259. package/dist/tableSchema.d.ts +12 -12
  260. package/dist/treeFactory.d.ts +0 -1
  261. package/dist/treeFactory.d.ts.map +1 -1
  262. package/dist/treeFactory.js +0 -1
  263. package/dist/treeFactory.js.map +1 -1
  264. package/lib/core/schema-stored/schema.d.ts +14 -1
  265. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  266. package/lib/core/schema-stored/schema.js.map +1 -1
  267. package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -1
  268. package/lib/feature-libraries/default-schema/schemaChecker.js +3 -0
  269. package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -1
  270. package/lib/feature-libraries/flex-tree/context.d.ts +7 -2
  271. package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
  272. package/lib/feature-libraries/flex-tree/context.js +4 -4
  273. package/lib/feature-libraries/flex-tree/context.js.map +1 -1
  274. package/lib/feature-libraries/flex-tree/index.d.ts +1 -0
  275. package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
  276. package/lib/feature-libraries/flex-tree/index.js +1 -0
  277. package/lib/feature-libraries/flex-tree/index.js.map +1 -1
  278. package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
  279. package/lib/feature-libraries/flex-tree/lazyField.js +6 -6
  280. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  281. package/lib/feature-libraries/flex-tree/lazyNode.d.ts +3 -1
  282. package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
  283. package/lib/feature-libraries/flex-tree/lazyNode.js +3 -1
  284. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  285. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  286. package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -2
  287. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  288. package/lib/feature-libraries/index.d.ts +2 -2
  289. package/lib/feature-libraries/index.d.ts.map +1 -1
  290. package/lib/feature-libraries/index.js +2 -2
  291. package/lib/feature-libraries/index.js.map +1 -1
  292. package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
  293. package/lib/feature-libraries/modular-schema/comparison.js +0 -3
  294. package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
  295. package/lib/feature-libraries/modular-schema/index.d.ts +0 -1
  296. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  297. package/lib/feature-libraries/modular-schema/index.js +0 -1
  298. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  299. package/lib/packageVersion.d.ts +1 -1
  300. package/lib/packageVersion.js +1 -1
  301. package/lib/packageVersion.js.map +1 -1
  302. package/lib/shared-tree/index.d.ts +0 -1
  303. package/lib/shared-tree/index.d.ts.map +1 -1
  304. package/lib/shared-tree/index.js +0 -1
  305. package/lib/shared-tree/index.js.map +1 -1
  306. package/lib/shared-tree/schematizeTree.d.ts +1 -1
  307. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  308. package/lib/shared-tree/schematizeTree.js +5 -8
  309. package/lib/shared-tree/schematizeTree.js.map +1 -1
  310. package/lib/shared-tree/schematizingTreeView.d.ts +11 -13
  311. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  312. package/lib/shared-tree/schematizingTreeView.js +61 -83
  313. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  314. package/lib/shared-tree/sharedTreeChangeTypes.d.ts +1 -1
  315. package/lib/shared-tree/sharedTreeChangeTypes.js.map +1 -1
  316. package/lib/shared-tree/tree.d.ts.map +1 -1
  317. package/lib/shared-tree/tree.js +4 -3
  318. package/lib/shared-tree/tree.js.map +1 -1
  319. package/lib/shared-tree/treeAlpha.d.ts +7 -1
  320. package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
  321. package/lib/shared-tree/treeAlpha.js.map +1 -1
  322. package/lib/shared-tree/treeCheckout.d.ts +7 -2
  323. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  324. package/lib/shared-tree/treeCheckout.js +5 -2
  325. package/lib/shared-tree/treeCheckout.js.map +1 -1
  326. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  327. package/lib/simple-tree/api/conciseTree.d.ts.map +1 -1
  328. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  329. package/lib/simple-tree/api/configuration.d.ts +1 -1
  330. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  331. package/lib/simple-tree/api/configuration.js +2 -2
  332. package/lib/simple-tree/api/configuration.js.map +1 -1
  333. package/lib/simple-tree/api/create.d.ts +3 -1
  334. package/lib/simple-tree/api/create.d.ts.map +1 -1
  335. package/lib/simple-tree/api/create.js +2 -0
  336. package/lib/simple-tree/api/create.js.map +1 -1
  337. package/lib/simple-tree/api/customTree.d.ts +1 -2
  338. package/lib/simple-tree/api/customTree.d.ts.map +1 -1
  339. package/lib/simple-tree/api/customTree.js.map +1 -1
  340. package/lib/simple-tree/api/getJsonSchema.d.ts +1 -1
  341. package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -1
  342. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  343. package/lib/simple-tree/api/getSimpleSchema.d.ts +1 -1
  344. package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
  345. package/lib/simple-tree/api/identifierIndex.d.ts +1 -1
  346. package/lib/simple-tree/api/identifierIndex.js +1 -1
  347. package/lib/simple-tree/api/identifierIndex.js.map +1 -1
  348. package/lib/simple-tree/api/index.d.ts +1 -1
  349. package/lib/simple-tree/api/index.d.ts.map +1 -1
  350. package/lib/simple-tree/api/index.js.map +1 -1
  351. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +4 -19
  352. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  353. package/lib/simple-tree/api/schemaCompatibilityTester.js +25 -76
  354. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  355. package/lib/simple-tree/api/schemaCreationUtilities.d.ts +14 -2
  356. package/lib/simple-tree/api/schemaCreationUtilities.d.ts.map +1 -1
  357. package/lib/simple-tree/api/schemaCreationUtilities.js +40 -4
  358. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  359. package/lib/simple-tree/api/schemaFactory.d.ts +36 -3
  360. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  361. package/lib/simple-tree/api/schemaFactory.js +2 -2
  362. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  363. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +16 -16
  364. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  365. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  366. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +2 -2
  367. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  368. package/lib/simple-tree/api/schemaFactoryRecursive.js +1 -1
  369. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  370. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  371. package/lib/simple-tree/api/schemaFromSimple.js +1 -1
  372. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  373. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +1 -1
  374. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  375. package/lib/simple-tree/api/simpleTreeIndex.d.ts +2 -2
  376. package/lib/simple-tree/api/simpleTreeIndex.d.ts.map +1 -1
  377. package/lib/simple-tree/api/simpleTreeIndex.js +2 -2
  378. package/lib/simple-tree/api/simpleTreeIndex.js.map +1 -1
  379. package/lib/simple-tree/api/storedSchema.d.ts +1 -1
  380. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  381. package/lib/simple-tree/api/storedSchema.js +2 -2
  382. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  383. package/lib/simple-tree/api/tree.d.ts +2 -1
  384. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  385. package/lib/simple-tree/api/tree.js.map +1 -1
  386. package/lib/simple-tree/api/treeBeta.d.ts +4 -1
  387. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  388. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  389. package/lib/simple-tree/api/treeNodeApi.d.ts +1 -2
  390. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  391. package/lib/simple-tree/api/treeNodeApi.js +2 -2
  392. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  393. package/lib/simple-tree/api/typesUnsafe.d.ts +2 -3
  394. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  395. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  396. package/lib/simple-tree/api/verboseTree.d.ts +2 -1
  397. package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
  398. package/lib/simple-tree/api/verboseTree.js.map +1 -1
  399. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +1 -1
  400. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +1 -1
  401. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  402. package/lib/simple-tree/core/allowedTypes.d.ts +316 -0
  403. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -0
  404. package/lib/simple-tree/core/allowedTypes.js +162 -0
  405. package/lib/simple-tree/core/allowedTypes.js.map +1 -0
  406. package/lib/simple-tree/core/context.d.ts +3 -9
  407. package/lib/simple-tree/core/context.d.ts.map +1 -1
  408. package/lib/simple-tree/core/context.js +0 -8
  409. package/lib/simple-tree/core/context.js.map +1 -1
  410. package/lib/simple-tree/core/flexList.d.ts.map +1 -0
  411. package/lib/simple-tree/core/flexList.js.map +1 -0
  412. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  413. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  414. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  415. package/lib/simple-tree/core/index.d.ts +9 -3
  416. package/lib/simple-tree/core/index.d.ts.map +1 -1
  417. package/lib/simple-tree/core/index.js +6 -3
  418. package/lib/simple-tree/core/index.js.map +1 -1
  419. package/lib/simple-tree/core/treeNodeKernel.d.ts +8 -1
  420. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  421. package/lib/simple-tree/core/treeNodeKernel.js +10 -6
  422. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  423. package/lib/simple-tree/core/treeNodeSchema.d.ts +182 -39
  424. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  425. package/lib/simple-tree/core/treeNodeSchema.js +44 -14
  426. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  427. package/{dist/simple-tree → lib/simple-tree/core}/treeNodeValid.d.ts +18 -4
  428. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -0
  429. package/lib/simple-tree/{treeNodeValid.js → core/treeNodeValid.js} +31 -3
  430. package/lib/simple-tree/core/treeNodeValid.js.map +1 -0
  431. package/lib/simple-tree/core/unhydratedFlexTree.d.ts +1 -1
  432. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  433. package/lib/simple-tree/core/walkSchema.d.ts +2 -1
  434. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  435. package/lib/simple-tree/core/walkSchema.js +7 -3
  436. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  437. package/lib/simple-tree/createContext.d.ts +6 -2
  438. package/lib/simple-tree/createContext.d.ts.map +1 -1
  439. package/lib/simple-tree/createContext.js +13 -2
  440. package/lib/simple-tree/createContext.js.map +1 -1
  441. package/lib/{feature-libraries/modular-schema → simple-tree}/discrepancies.d.ts +22 -29
  442. package/lib/simple-tree/discrepancies.d.ts.map +1 -0
  443. package/lib/simple-tree/discrepancies.js +376 -0
  444. package/lib/simple-tree/discrepancies.js.map +1 -0
  445. package/lib/simple-tree/fieldSchema.d.ts +423 -0
  446. package/lib/simple-tree/fieldSchema.d.ts.map +1 -0
  447. package/lib/simple-tree/{schemaTypes.js → fieldSchema.js} +3 -183
  448. package/lib/simple-tree/fieldSchema.js.map +1 -0
  449. package/lib/simple-tree/index.d.ts +7 -6
  450. package/lib/simple-tree/index.d.ts.map +1 -1
  451. package/lib/simple-tree/index.js +4 -3
  452. package/lib/simple-tree/index.js.map +1 -1
  453. package/lib/simple-tree/leafNodeSchema.d.ts +14 -5
  454. package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
  455. package/lib/simple-tree/leafNodeSchema.js +117 -3
  456. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  457. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +3 -4
  458. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  459. package/lib/simple-tree/node-kinds/array/arrayNode.js +86 -15
  460. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  461. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +2 -2
  462. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
  463. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js +1 -1
  464. package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
  465. package/lib/simple-tree/node-kinds/common.d.ts +16 -0
  466. package/lib/simple-tree/node-kinds/common.d.ts.map +1 -0
  467. package/lib/simple-tree/node-kinds/common.js +38 -0
  468. package/lib/simple-tree/node-kinds/common.js.map +1 -0
  469. package/lib/simple-tree/node-kinds/index.d.ts +1 -1
  470. package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
  471. package/lib/simple-tree/node-kinds/index.js.map +1 -1
  472. package/lib/simple-tree/node-kinds/map/mapNode.d.ts +2 -3
  473. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  474. package/lib/simple-tree/node-kinds/map/mapNode.js +51 -13
  475. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  476. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +2 -2
  477. package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
  478. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js +1 -1
  479. package/lib/simple-tree/node-kinds/map/mapNodeTypes.js.map +1 -1
  480. package/lib/simple-tree/node-kinds/object/index.d.ts +2 -2
  481. package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
  482. package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
  483. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +19 -5
  484. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  485. package/lib/simple-tree/node-kinds/object/objectNode.js +116 -14
  486. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  487. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +11 -4
  488. package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
  489. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js +1 -1
  490. package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
  491. package/lib/simple-tree/node-kinds/record/recordNode.d.ts +2 -2
  492. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  493. package/lib/simple-tree/node-kinds/record/recordNode.js +40 -12
  494. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  495. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +2 -2
  496. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  497. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js +1 -1
  498. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  499. package/lib/simple-tree/prepareForInsertion.d.ts +2 -2
  500. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  501. package/lib/simple-tree/prepareForInsertion.js +2 -2
  502. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  503. package/lib/simple-tree/simpleSchema.d.ts +2 -2
  504. package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
  505. package/lib/simple-tree/simpleSchema.js.map +1 -1
  506. package/lib/simple-tree/toStoredSchema.d.ts +1 -1
  507. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  508. package/lib/simple-tree/toStoredSchema.js +2 -3
  509. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  510. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +5 -11
  511. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
  512. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +10 -381
  513. package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
  514. package/lib/simple-tree/unsafeUnknownSchema.d.ts +52 -0
  515. package/lib/simple-tree/unsafeUnknownSchema.d.ts.map +1 -0
  516. package/lib/simple-tree/unsafeUnknownSchema.js +10 -0
  517. package/lib/simple-tree/unsafeUnknownSchema.js.map +1 -0
  518. package/lib/simple-tree/walkFieldSchema.d.ts +1 -1
  519. package/lib/simple-tree/walkFieldSchema.js +1 -1
  520. package/lib/simple-tree/walkFieldSchema.js.map +1 -1
  521. package/lib/tableSchema.d.ts +12 -12
  522. package/lib/treeFactory.d.ts +0 -1
  523. package/lib/treeFactory.d.ts.map +1 -1
  524. package/lib/treeFactory.js +0 -1
  525. package/lib/treeFactory.js.map +1 -1
  526. package/package.json +22 -23
  527. package/src/core/schema-stored/schema.ts +14 -1
  528. package/src/feature-libraries/default-schema/schemaChecker.ts +3 -0
  529. package/src/feature-libraries/flex-tree/context.ts +10 -5
  530. package/src/feature-libraries/flex-tree/index.ts +2 -0
  531. package/src/feature-libraries/flex-tree/lazyField.ts +10 -6
  532. package/src/feature-libraries/flex-tree/lazyNode.ts +6 -1
  533. package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -2
  534. package/src/feature-libraries/index.ts +1 -15
  535. package/src/feature-libraries/modular-schema/comparison.ts +0 -4
  536. package/src/feature-libraries/modular-schema/index.ts +0 -17
  537. package/src/packageVersion.ts +1 -1
  538. package/src/shared-tree/index.ts +0 -2
  539. package/src/shared-tree/schematizeTree.ts +5 -9
  540. package/src/shared-tree/schematizingTreeView.ts +75 -113
  541. package/src/shared-tree/sharedTreeChangeTypes.ts +1 -1
  542. package/src/shared-tree/tree.ts +4 -3
  543. package/src/shared-tree/treeAlpha.ts +7 -1
  544. package/src/shared-tree/treeCheckout.ts +15 -2
  545. package/src/simple-tree/api/conciseTree.ts +1 -2
  546. package/src/simple-tree/api/configuration.ts +7 -4
  547. package/src/simple-tree/api/create.ts +3 -1
  548. package/src/simple-tree/api/customTree.ts +1 -2
  549. package/src/simple-tree/api/getJsonSchema.ts +1 -1
  550. package/src/simple-tree/api/getSimpleSchema.ts +1 -1
  551. package/src/simple-tree/api/identifierIndex.ts +1 -1
  552. package/src/simple-tree/api/index.ts +2 -0
  553. package/src/simple-tree/api/schemaCompatibilityTester.ts +38 -128
  554. package/src/simple-tree/api/schemaCreationUtilities.ts +50 -5
  555. package/src/simple-tree/api/schemaFactory.ts +45 -10
  556. package/src/simple-tree/api/schemaFactoryAlpha.ts +4 -7
  557. package/src/simple-tree/api/schemaFactoryRecursive.ts +9 -4
  558. package/src/simple-tree/api/schemaFromSimple.ts +2 -3
  559. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  560. package/src/simple-tree/api/simpleTreeIndex.ts +8 -3
  561. package/src/simple-tree/api/storedSchema.ts +1 -2
  562. package/src/simple-tree/api/tree.ts +2 -2
  563. package/src/simple-tree/api/treeBeta.ts +4 -1
  564. package/src/simple-tree/api/treeNodeApi.ts +5 -8
  565. package/src/simple-tree/api/typesUnsafe.ts +5 -4
  566. package/src/simple-tree/api/verboseTree.ts +3 -6
  567. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +1 -1
  568. package/src/simple-tree/core/README.md +1 -1
  569. package/src/simple-tree/core/allowedTypes.ts +496 -0
  570. package/src/simple-tree/core/context.ts +3 -10
  571. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  572. package/src/simple-tree/core/index.ts +62 -9
  573. package/src/simple-tree/core/treeNodeKernel.ts +12 -6
  574. package/src/simple-tree/core/treeNodeSchema.ts +247 -63
  575. package/src/simple-tree/{treeNodeValid.ts → core/treeNodeValid.ts} +59 -15
  576. package/src/simple-tree/core/unhydratedFlexTree.ts +1 -1
  577. package/src/simple-tree/core/walkSchema.ts +9 -5
  578. package/src/simple-tree/createContext.ts +26 -2
  579. package/src/simple-tree/discrepancies.ts +648 -0
  580. package/src/simple-tree/fieldSchema.ts +734 -0
  581. package/src/simple-tree/index.ts +41 -31
  582. package/src/simple-tree/leafNodeSchema.ts +137 -5
  583. package/src/simple-tree/node-kinds/array/arrayNode.ts +141 -30
  584. package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +5 -7
  585. package/src/simple-tree/node-kinds/common.ts +60 -0
  586. package/src/simple-tree/node-kinds/index.ts +2 -0
  587. package/src/simple-tree/node-kinds/map/mapNode.ts +91 -33
  588. package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +5 -7
  589. package/src/simple-tree/node-kinds/object/index.ts +2 -0
  590. package/src/simple-tree/node-kinds/object/objectNode.ts +205 -25
  591. package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +22 -5
  592. package/src/simple-tree/node-kinds/record/recordNode.ts +68 -26
  593. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +6 -8
  594. package/src/simple-tree/prepareForInsertion.ts +7 -6
  595. package/src/simple-tree/simpleSchema.ts +2 -2
  596. package/src/simple-tree/toStoredSchema.ts +2 -3
  597. package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +12 -494
  598. package/src/simple-tree/unsafeUnknownSchema.ts +70 -0
  599. package/src/simple-tree/walkFieldSchema.ts +1 -1
  600. package/src/treeFactory.ts +0 -1
  601. package/dist/feature-libraries/modular-schema/discrepancies.d.ts.map +0 -1
  602. package/dist/feature-libraries/modular-schema/discrepancies.js +0 -361
  603. package/dist/feature-libraries/modular-schema/discrepancies.js.map +0 -1
  604. package/dist/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  605. package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  606. package/dist/shared-tree/checkoutFlexTreeView.js +0 -77
  607. package/dist/shared-tree/checkoutFlexTreeView.js.map +0 -1
  608. package/dist/simple-tree/flexList.d.ts.map +0 -1
  609. package/dist/simple-tree/flexList.js.map +0 -1
  610. package/dist/simple-tree/schemaTypes.d.ts +0 -856
  611. package/dist/simple-tree/schemaTypes.d.ts.map +0 -1
  612. package/dist/simple-tree/schemaTypes.js.map +0 -1
  613. package/dist/simple-tree/treeNodeValid.d.ts.map +0 -1
  614. package/dist/simple-tree/treeNodeValid.js.map +0 -1
  615. package/lib/feature-libraries/modular-schema/discrepancies.d.ts.map +0 -1
  616. package/lib/feature-libraries/modular-schema/discrepancies.js +0 -354
  617. package/lib/feature-libraries/modular-schema/discrepancies.js.map +0 -1
  618. package/lib/shared-tree/checkoutFlexTreeView.d.ts +0 -58
  619. package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +0 -1
  620. package/lib/shared-tree/checkoutFlexTreeView.js +0 -72
  621. package/lib/shared-tree/checkoutFlexTreeView.js.map +0 -1
  622. package/lib/simple-tree/flexList.d.ts.map +0 -1
  623. package/lib/simple-tree/flexList.js.map +0 -1
  624. package/lib/simple-tree/schemaTypes.d.ts +0 -856
  625. package/lib/simple-tree/schemaTypes.d.ts.map +0 -1
  626. package/lib/simple-tree/schemaTypes.js.map +0 -1
  627. package/lib/simple-tree/treeNodeValid.d.ts.map +0 -1
  628. package/lib/simple-tree/treeNodeValid.js.map +0 -1
  629. package/src/feature-libraries/modular-schema/discrepancies.ts +0 -567
  630. package/src/shared-tree/checkoutFlexTreeView.ts +0 -100
  631. package/src/simple-tree/schemaTypes.ts +0 -1420
  632. /package/dist/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  633. /package/dist/simple-tree/{flexList.js → core/flexList.js} +0 -0
  634. /package/lib/simple-tree/{flexList.d.ts → core/flexList.d.ts} +0 -0
  635. /package/lib/simple-tree/{flexList.js → core/flexList.js} +0 -0
  636. /package/src/simple-tree/{flexList.ts → core/flexList.ts} +0 -0
@@ -16,10 +16,9 @@ import { anchorSlot, type SchemaPolicy } from "../core/index.js";
16
16
  import {
17
17
  type NodeIdentifierManager,
18
18
  defaultSchemaPolicy,
19
- ContextSlot,
20
19
  cursorForMapTreeNode,
21
- type FullSchemaPolicy,
22
20
  TreeStatus,
21
+ Context,
23
22
  } from "../feature-libraries/index.js";
24
23
  import {
25
24
  type ImplicitFieldSchema,
@@ -53,6 +52,8 @@ import {
53
52
  createUnknownOptionalFieldPolicy,
54
53
  prepareForInsertionContextless,
55
54
  type FieldSchema,
55
+ toStoredSchema,
56
+ tryDisposeTreeNode,
56
57
  } from "../simple-tree/index.js";
57
58
  import {
58
59
  type Breakable,
@@ -61,7 +62,6 @@ import {
61
62
  type WithBreakable,
62
63
  } from "../util/index.js";
63
64
 
64
- import { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
65
65
  import { canInitialize, ensureSchema, initialize } from "./schematizeTree.js";
66
66
  import type { ITreeCheckout, TreeCheckout } from "./treeCheckout.js";
67
67
 
@@ -80,11 +80,11 @@ export class SchematizingSimpleTreeView<
80
80
  > implements TreeBranch, TreeViewAlpha<TRootSchema>, WithBreakable
81
81
  {
82
82
  /**
83
- * The view is set to undefined when this object is disposed or the view schema does not support viewing the document's stored schema.
83
+ * This is set to undefined when this object is disposed or the view schema does not support viewing the document's stored schema.
84
84
  *
85
85
  * The view schema may be incompatible with the stored schema. Use `compatibility` to check.
86
86
  */
87
- private view: CheckoutFlexTreeView | undefined;
87
+ private flexTreeContext: Context | undefined;
88
88
 
89
89
  /**
90
90
  * Undefined iff uninitialized or disposed.
@@ -97,6 +97,11 @@ export class SchematizingSimpleTreeView<
97
97
 
98
98
  private readonly viewSchema: SchemaCompatibilityTester;
99
99
 
100
+ /**
101
+ * Events to unregister upon flex-tree view disposal.
102
+ */
103
+ private readonly flexTreeViewUnregisterCallbacks = new Set<() => void>();
104
+
100
105
  /**
101
106
  * Events to unregister upon disposal.
102
107
  */
@@ -133,11 +138,7 @@ export class SchematizingSimpleTreeView<
133
138
  allowUnknownOptionalFields: createUnknownOptionalFieldPolicy(this.rootFieldSchema),
134
139
  };
135
140
 
136
- this.viewSchema = new SchemaCompatibilityTester(
137
- this.schemaPolicy,
138
- {},
139
- this.rootFieldSchema,
140
- );
141
+ this.viewSchema = new SchemaCompatibilityTester(this.schemaPolicy, this.rootFieldSchema);
141
142
  // This must be initialized before `update` can be called.
142
143
  this.currentCompatibility = {
143
144
  canView: false,
@@ -174,7 +175,7 @@ export class SchematizingSimpleTreeView<
174
175
  }
175
176
 
176
177
  this.runSchemaEdit(() => {
177
- const schema = this.viewSchema.viewSchemaAsStored;
178
+ const schema = toStoredSchema(this.viewSchema.viewSchemaRoot);
178
179
  const mapTree = prepareForInsertionContextless(
179
180
  content as InsertableContent | undefined,
180
181
  this.rootFieldSchema,
@@ -203,7 +204,7 @@ export class SchematizingSimpleTreeView<
203
204
 
204
205
  if (!compatibility.canUpgrade) {
205
206
  throw new UsageError(
206
- "Existing stored schema can not be upgraded (see TreeView.compatibility.canUpgrade).",
207
+ "Existing stored schema cannot be upgraded (see TreeView.compatibility.canUpgrade).",
207
208
  );
208
209
  }
209
210
 
@@ -214,12 +215,12 @@ export class SchematizingSimpleTreeView<
214
215
  }
215
216
 
216
217
  /**
217
- * Gets the view. Throws when disposed.
218
+ * Gets the flex-tree context. Throws when disposed or out of schema.
218
219
  */
219
- public getView(): CheckoutFlexTreeView {
220
+ public getFlexTreeContext(): Context {
220
221
  this.ensureUndisposed();
221
- assert(this.view !== undefined, 0x8c0 /* unexpected getViewOrError */);
222
- return this.view;
222
+ assert(this.flexTreeContext !== undefined, 0x8c0 /* unexpected getViewOrError */);
223
+ return this.flexTreeContext;
223
224
  }
224
225
 
225
226
  /**
@@ -301,82 +302,65 @@ export class SchematizingSimpleTreeView<
301
302
  * If implicit initialization (or some other edit) is desired, it should be done outside of this method.
302
303
  */
303
304
  private update(): void {
304
- this.disposeView();
305
+ this.disposeFlexView();
305
306
 
306
307
  const compatibility = this.viewSchema.checkCompatibility(this.checkout.storedSchema);
307
308
 
308
- let lastRoot =
309
- this.compatibility.canView && this.view !== undefined ? this.root : undefined;
310
309
  this.currentCompatibility = {
311
310
  ...compatibility,
312
311
  canInitialize: canInitialize(this.checkout),
313
312
  };
314
313
 
315
- if (compatibility.canView) {
316
- // Trigger "rootChanged" if the root changes in the future.
317
- // Currently there is no good way to do this as FlexTreeField has no events for changes.
318
- // this.view.flexTree.on(????)
319
- // As a workaround for the above, trigger "rootChanged" in "afterBatch"
320
- // which isn't the correct time since we normally do events during the batch when the forest is modified, but its better than nothing.
321
- // TODO: provide a better event: this.view.flexTree.on(????)
322
- const cleanupCheckOutEvents = this.checkout.events.on("afterBatch", () => {
323
- // In the initialization flow, this event is raised before the correct compatibility w.r.t the new schema is calculated.
324
- // Accessing `this.root` in that case can throw. It's OK to ignore this because:
325
- // - The rootChanged event will already be raised at the end of the current upgrade
326
- // - It doesn't matter that `lastRoot` isn't updated in this case, because `update` will be called again before the upgrade
327
- // completes (at which point this callback and the `lastRoot` captured here will be out of scope anyway)
328
- if (!this.midUpgrade && lastRoot !== this.root) {
329
- lastRoot = this.root;
330
- this.events.emit("rootChanged");
331
- }
332
- });
314
+ const anchors = this.checkout.forest.anchors;
315
+ const slots = anchors.slots;
333
316
 
334
- const onViewDispose = (): void => {
335
- cleanupCheckOutEvents();
336
- this.view = undefined;
337
- if (!this.disposed) {
338
- this.update();
339
- }
340
- };
341
-
342
- const view = requireSchema(
317
+ if (compatibility.canView) {
318
+ this.flexTreeContext = new Context(
319
+ this.schemaPolicy,
343
320
  this.checkout,
344
- this.viewSchema,
345
- onViewDispose,
346
321
  this.nodeKeyManager,
347
- this.schemaPolicy,
348
322
  );
349
- this.view = view;
350
- assert(
351
- !this.checkout.forest.anchors.slots.has(SimpleContextSlot),
352
- 0xa47 /* extra simple tree context */,
353
- );
354
- this.checkout.forest.anchors.slots.set(
323
+ assert(!slots.has(SimpleContextSlot), 0xa47 /* extra simple tree context */);
324
+ slots.set(
355
325
  SimpleContextSlot,
356
326
  new HydratedContext(
357
327
  normalizeFieldSchema(this.rootFieldSchema).annotatedAllowedTypesNormalized,
358
- view.context,
328
+ this.flexTreeContext,
359
329
  ),
360
330
  );
361
331
 
362
- const unregister = this.checkout.storedSchema.events.on("afterSchemaChange", () => {
363
- unregister();
364
- this.unregisterCallbacks.delete(unregister);
365
- view[disposeSymbol]();
366
- });
367
- this.unregisterCallbacks.add(unregister);
368
- } else {
369
- this.view = undefined;
370
- this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
371
-
372
- const unregister = this.checkout.storedSchema.events.on("afterSchemaChange", () => {
373
- unregister();
374
- this.unregisterCallbacks.delete(unregister);
375
- this.update();
376
- });
377
- this.unregisterCallbacks.add(unregister);
332
+ // Trigger "rootChanged" events if the root changes in the future.
333
+ {
334
+ // Currently there is no good way to do this as FlexTreeField has no events for changes.
335
+ // this.root.on(????)
336
+ // As a workaround for the above, trigger "rootChanged" in "afterBatch".
337
+ // Ideally these events would be just events for changes within the root.
338
+ // TODO: provide a better event: this.view.flexTree.on(????) and/or integrate with with the normal event code paths.
339
+
340
+ // Track what the root was before to be able to detect changes.
341
+ let lastRoot: ReadableField<TRootSchema> = this.root;
342
+
343
+ this.flexTreeViewUnregisterCallbacks.add(
344
+ this.checkout.events.on("afterBatch", () => {
345
+ // In the initialization flow, this event is raised before the correct compatibility w.r.t the new schema is calculated.
346
+ // Accessing `this.root` in that case can throw. It's OK to ignore this because:
347
+ // - The rootChanged event will already be raised at the end of the current upgrade
348
+ // - It doesn't matter that `lastRoot` isn't updated in this case, because `update` will be called again before the upgrade
349
+ // completes (at which point this callback and the `lastRoot` captured here will be out of scope anyway)
350
+ if (!this.midUpgrade && lastRoot !== this.root) {
351
+ lastRoot = this.root;
352
+ this.events.emit("rootChanged");
353
+ }
354
+ }),
355
+ );
356
+ }
378
357
  }
379
358
 
359
+ this.flexTreeViewUnregisterCallbacks.add(
360
+ // Will dispose the old view (if there is one) when its no longer valid, and create a new one if appropriate.
361
+ this.checkout.storedSchema.events.on("afterSchemaChange", () => this.update()),
362
+ );
363
+
380
364
  if (!this.midUpgrade) {
381
365
  this.events.emit("schemaChanged");
382
366
  this.events.emit("rootChanged");
@@ -394,14 +378,20 @@ export class SchematizingSimpleTreeView<
394
378
  this.events.emit("rootChanged");
395
379
  }
396
380
 
397
- private disposeView(): void {
398
- if (this.view !== undefined) {
399
- this.view[disposeSymbol]();
400
- this.view = undefined;
401
- this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
402
- this.unregisterCallbacks.forEach((unregister) => unregister());
381
+ private disposeFlexView(): void {
382
+ const anchors = this.checkout.forest.anchors;
383
+ if (this.flexTreeContext !== undefined) {
384
+ // Cleanup any TreeNodes cached in the AnchorSet when disposing the flex-tree which they wrap.
385
+ for (const anchorNode of anchors) {
386
+ tryDisposeTreeNode(anchorNode);
387
+ }
388
+
389
+ this.flexTreeContext[disposeSymbol]();
390
+ this.flexTreeContext = undefined;
403
391
  }
404
- this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
392
+ this.flexTreeViewUnregisterCallbacks.forEach((unregister) => unregister());
393
+ this.flexTreeViewUnregisterCallbacks.clear();
394
+ anchors.slots.delete(SimpleContextSlot);
405
395
  }
406
396
 
407
397
  public get compatibility(): SchemaCompatibilityStatus {
@@ -413,7 +403,8 @@ export class SchematizingSimpleTreeView<
413
403
 
414
404
  public dispose(): void {
415
405
  this.disposed = true;
416
- this.disposeView();
406
+ this.disposeFlexView();
407
+ this.unregisterCallbacks.forEach((unregister) => unregister());
417
408
  this.checkout.forest.anchors.slots.delete(ViewSlot);
418
409
  this.currentCompatibility = undefined;
419
410
  this.onDispose?.();
@@ -430,8 +421,8 @@ export class SchematizingSimpleTreeView<
430
421
  "Document is out of schema. Check TreeView.compatibility before accessing TreeView.root.",
431
422
  );
432
423
  }
433
- const view = this.getView();
434
- return tryGetTreeNodeForField(view.flexTree) as ReadableField<TRootSchema>;
424
+ const view = this.getFlexTreeContext();
425
+ return tryGetTreeNodeForField(view.root) as ReadableField<TRootSchema>;
435
426
  }
436
427
 
437
428
  public set root(newRoot: InsertableField<TRootSchema>) {
@@ -441,12 +432,8 @@ export class SchematizingSimpleTreeView<
441
432
  "Document is out of schema. Check TreeView.compatibility before accessing TreeView.root.",
442
433
  );
443
434
  }
444
- const view = this.getView();
445
- setField(
446
- view.context.root,
447
- this.rootFieldSchema,
448
- newRoot as InsertableContent | undefined,
449
- );
435
+ const view = this.getFlexTreeContext();
436
+ setField(view.root, this.rootFieldSchema, newRoot as InsertableContent | undefined);
450
437
  }
451
438
 
452
439
  // #region Branching
@@ -478,31 +465,6 @@ export function getCheckout(context: TreeBranch): TreeCheckout {
478
465
  throw new UsageError("Unsupported context implementation");
479
466
  }
480
467
 
481
- /**
482
- * Creates a view that self-disposes whenever the stored schema changes.
483
- * This may only be called when the schema is already known to be compatible (typically via ensureSchema).
484
- */
485
- export function requireSchema(
486
- checkout: ITreeCheckout,
487
- viewSchema: SchemaCompatibilityTester,
488
- onDispose: () => void,
489
- nodeKeyManager: NodeIdentifierManager,
490
- schemaPolicy: FullSchemaPolicy,
491
- ): CheckoutFlexTreeView {
492
- const slots = checkout.forest.anchors.slots;
493
- assert(!slots.has(ContextSlot), 0x8c2 /* Cannot create second view from checkout */);
494
-
495
- {
496
- const compatibility = viewSchema.checkCompatibility(checkout.storedSchema);
497
- assert(compatibility.canView, 0x8c3 /* requireSchema invoked with incompatible schema */);
498
- }
499
-
500
- const view = new CheckoutFlexTreeView(checkout, schemaPolicy, nodeKeyManager, onDispose);
501
- assert(slots.has(ContextSlot), 0x90d /* Context should be tracked in slot */);
502
-
503
- return view;
504
- }
505
-
506
468
  /**
507
469
  * Adds constraints to a `checkout`'s pending transaction.
508
470
  *
@@ -16,7 +16,7 @@ export type SharedTreeInnerChange =
16
16
  export interface SharedTreeChange {
17
17
  /**
18
18
  * The changes to apply.
19
- * @remarks while not expressable in TypeScript, these changes should never have two `ModularChangeset`s adjacent in the list.
19
+ * @remarks while not expressible in TypeScript, these changes should never have two `ModularChangeset`s adjacent in the list.
20
20
  * This restriction exists because this change type should preserve the composition behavior of `ModularChangeFamily`, which
21
21
  * always composes runs of `ModularChangeset`s into a single `ModularChangeset`.
22
22
  */
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import { UsageError } from "@fluidframework/telemetry-utils/internal";
7
+ import { assert } from "@fluidframework/core-utils/internal";
7
8
 
8
9
  import {
9
10
  type ImplicitFieldSchema,
@@ -16,12 +17,12 @@ import {
16
17
  type TransactionConstraint,
17
18
  } from "../simple-tree/index.js";
18
19
 
19
- import { getCheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
20
20
  import {
21
21
  addConstraintsToTransaction,
22
22
  SchematizingSimpleTreeView,
23
23
  } from "./schematizingTreeView.js";
24
24
  import type { ITreeCheckout } from "./treeCheckout.js";
25
+ import { Context } from "../feature-libraries/index.js";
25
26
 
26
27
  /**
27
28
  * Provides various functions for interacting with {@link TreeNode}s.
@@ -449,8 +450,8 @@ export function runTransaction<
449
450
  "Transactions cannot be run on Unhydrated nodes. Transactions apply to a TreeView and Unhydrated nodes are not part of a TreeView.",
450
451
  );
451
452
  }
452
- const treeView = getCheckoutFlexTreeView(context);
453
- return runTransactionInCheckout(treeView.checkout, () => t(node), preconditions);
453
+ assert(context instanceof Context, 0xbe3 /* Expected context to be a Context instance. */);
454
+ return runTransactionInCheckout(context.checkout, () => t(node), preconditions);
454
455
  }
455
456
  }
456
457
 
@@ -191,6 +191,12 @@ export interface TreeIdentifierUtils {
191
191
  * Extensions to {@link (Tree:interface)} and {@link (TreeBeta:interface)} which are not yet stable.
192
192
  * @remarks
193
193
  * Use via the {@link (TreeAlpha:variable)} singleton.
194
+ * @privateRemarks
195
+ * TODO: AB#43548:
196
+ * How all the create and all the import and export APIs handle unknown optional fields needs to be figured out, tested and documented.
197
+ * This will need to be extended/generalized to cover other future schema evolution options as well once they exist.
198
+ * See also TreeBeta.clone with a similar issue.
199
+ *
194
200
  * @system @sealed @alpha
195
201
  */
196
202
  export interface TreeAlpha {
@@ -214,7 +220,7 @@ export interface TreeAlpha {
214
220
  * This function exists as a generalization that can be used in other cases as well,
215
221
  * such as when `undefined` might be allowed (for an optional field), or when the type should be inferred from the data when more than one type is possible.
216
222
  * @privateRemarks
217
- * There should be a way to provide a source for defaulted identifiers, either via this API or some way to add them to its output later.
223
+ * TODO: AB#43548: There should be a way to provide a source for defaulted identifiers, either via this API or some way to add them to its output later.
218
224
  */
219
225
  create<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(
220
226
  schema: UnsafeUnknownSchema extends TSchema
@@ -46,8 +46,10 @@ import {
46
46
  import {
47
47
  type FieldBatchCodec,
48
48
  type TreeCompressionStrategy,
49
+ allowsRepoSuperset,
49
50
  buildForest,
50
51
  createNodeIdentifierManager,
52
+ defaultSchemaPolicy,
51
53
  intoDelta,
52
54
  jsonableTreeFromCursor,
53
55
  makeFieldBatchCodec,
@@ -229,8 +231,13 @@ export interface ITreeCheckout extends AnchorLocator, ViewableTree, WithBreakabl
229
231
  /**
230
232
  * Replaces all schema with the provided schema.
231
233
  * Can over-write preexisting schema, and removes unmentioned schema.
234
+ *
235
+ * @param newSchema - The new schema to replace the existing schema.
236
+ * @param allowNonSupersetSchema - Whether to allow non-superset schemas.
237
+ * Defaults to false.
238
+ * If false, an assert will be thrown if the new schema does not permit all possible documents which were permitted under the old schema.
232
239
  */
233
- updateSchema(newSchema: TreeStoredSchema): void;
240
+ updateSchema(newSchema: TreeStoredSchema, allowNonSupersetSchema?: true): void;
234
241
 
235
242
  /**
236
243
  * Events about this view.
@@ -776,8 +783,14 @@ export class TreeCheckout implements ITreeCheckoutFork {
776
783
  }
777
784
  }
778
785
 
779
- public updateSchema(newSchema: TreeStoredSchema): void {
786
+ public updateSchema(newSchema: TreeStoredSchema, allowNonSupersetSchema?: true): void {
780
787
  this.checkNotDisposed();
788
+ if (allowNonSupersetSchema !== true) {
789
+ assert(
790
+ allowsRepoSuperset(defaultSchemaPolicy, this.storedSchema.clone(), newSchema),
791
+ 0xbe6 /* New schema must allow all documents allowed by old schema */,
792
+ );
793
+ }
781
794
  this.editor.schema.setStoredSchema(this.storedSchema.clone(), newSchema);
782
795
  }
783
796
 
@@ -6,9 +6,8 @@
6
6
  import type { IFluidHandle } from "@fluidframework/core-interfaces";
7
7
 
8
8
  import type { ITreeCursor } from "../../core/index.js";
9
- import type { TreeNodeSchema } from "../core/index.js";
9
+ import type { TreeNodeSchema, TreeLeafValue, ImplicitAllowedTypes } from "../core/index.js";
10
10
  import { getUnhydratedContext } from "../createContext.js";
11
- import type { TreeLeafValue, ImplicitAllowedTypes } from "../schemaTypes.js";
12
11
 
13
12
  import {
14
13
  customFromCursor,
@@ -15,13 +15,16 @@ import { UsageError } from "@fluidframework/telemetry-utils/internal";
15
15
  import {
16
16
  type FieldSchemaAlpha,
17
17
  type ImplicitFieldSchema,
18
- evaluateLazySchema,
19
18
  FieldKind,
19
+ normalizeFieldSchema,
20
+ } from "../fieldSchema.js";
21
+ import {
22
+ NodeKind,
23
+ type TreeNodeSchema,
20
24
  isAnnotatedAllowedType,
25
+ evaluateLazySchema,
21
26
  markSchemaMostDerived,
22
- normalizeFieldSchema,
23
- } from "../schemaTypes.js";
24
- import { NodeKind, type TreeNodeSchema } from "../core/index.js";
27
+ } from "../core/index.js";
25
28
  import { toStoredSchema } from "../toStoredSchema.js";
26
29
  import {
27
30
  isArrayNodeSchema,
@@ -12,7 +12,7 @@ import {
12
12
  type ITreeCursorSynchronous,
13
13
  type SchemaAndPolicy,
14
14
  } from "../../core/index.js";
15
- import type { ImplicitFieldSchema, TreeFieldFromImplicitField } from "../schemaTypes.js";
15
+ import type { ImplicitFieldSchema, TreeFieldFromImplicitField } from "../fieldSchema.js";
16
16
  import {
17
17
  type Context,
18
18
  getOrCreateNodeFromInnerNode,
@@ -37,6 +37,8 @@ import { unknownTypeError } from "./customTree.js";
37
37
  * @remarks
38
38
  * Does not support defaults.
39
39
  * Validates the field is in schema.
40
+ *
41
+ * TODO: AB#43548: How this handles unknown optional fields needs to be figured out, tested and documented.
40
42
  */
41
43
  export function createFromCursor<const TSchema extends ImplicitFieldSchema>(
42
44
  schema: TSchema,
@@ -22,7 +22,7 @@ import {
22
22
  } from "../../core/index.js";
23
23
  import { FieldKinds, valueSchemaAllows } from "../../feature-libraries/index.js";
24
24
  import { cloneWithReplacements } from "../../util/index.js";
25
- import type { TreeNodeSchema } from "../core/index.js";
25
+ import type { TreeNodeSchema, TreeLeafValue } from "../core/index.js";
26
26
  import {
27
27
  booleanSchema,
28
28
  handleSchema,
@@ -31,7 +31,6 @@ import {
31
31
  stringSchema,
32
32
  } from "../leafNodeSchema.js";
33
33
  import { isArrayNodeSchema, isObjectNodeSchema } from "../node-kinds/index.js";
34
- import type { TreeLeafValue } from "../schemaTypes.js";
35
34
 
36
35
  /**
37
36
  * Options for how to interpret or encode a tree when schema information is available.
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import type { JsonTreeSchema } from "./jsonSchema.js";
7
- import type { ImplicitAllowedTypes } from "../schemaTypes.js";
7
+ import type { ImplicitAllowedTypes } from "../core/index.js";
8
8
  import { toJsonSchema } from "./simpleSchemaToJsonSchema.js";
9
9
  import type { TreeEncodingOptions } from "./customTree.js";
10
10
  import { TreeViewConfigurationAlpha } from "./configuration.js";
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import type { ImplicitFieldSchema } from "../schemaTypes.js";
6
+ import type { ImplicitFieldSchema } from "../fieldSchema.js";
7
7
  import type { SimpleTreeSchema } from "../simpleSchema.js";
8
8
 
9
9
  import { toSimpleTreeSchema } from "./viewSchemaToSimpleSchema.js";
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { UsageError } from "@fluidframework/telemetry-utils/internal";
7
7
  import type { TreeIndexKey } from "../../feature-libraries/index.js";
8
- import { FieldKind, type ImplicitFieldSchema } from "../schemaTypes.js";
8
+ import { FieldKind, type ImplicitFieldSchema } from "../fieldSchema.js";
9
9
  import type { TreeNode } from "../core/index.js";
10
10
  import { ObjectNodeSchema } from "../node-kinds/index.js";
11
11
  import type { TreeView } from "./tree.js";
@@ -30,6 +30,8 @@ export {
30
30
  type SchemaFactoryObjectOptions,
31
31
  type SchemaStatics,
32
32
  schemaStatics,
33
+ type NodeSchemaOptions,
34
+ type NodeSchemaOptionsAlpha,
33
35
  } from "./schemaFactory.js";
34
36
  export { SchemaFactoryAlpha } from "./schemaFactoryAlpha.js";
35
37
  export type {