@fluidframework/tree 2.33.2 → 2.40.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 (621) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/CHANGELOG.md +64 -0
  3. package/api-report/tree.alpha.api.md +124 -51
  4. package/api-report/tree.beta.api.md +31 -27
  5. package/api-report/tree.legacy.alpha.api.md +24 -23
  6. package/api-report/tree.legacy.public.api.md +24 -23
  7. package/api-report/tree.public.api.md +24 -23
  8. package/dist/alpha.d.ts +17 -1
  9. package/dist/beta.d.ts +2 -0
  10. package/dist/codec/codec.d.ts +5 -1
  11. package/dist/codec/codec.d.ts.map +1 -1
  12. package/dist/codec/codec.js +6 -2
  13. package/dist/codec/codec.js.map +1 -1
  14. package/dist/codec/index.d.ts +1 -1
  15. package/dist/codec/index.d.ts.map +1 -1
  16. package/dist/codec/index.js +2 -1
  17. package/dist/codec/index.js.map +1 -1
  18. package/dist/core/index.d.ts +2 -2
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +2 -3
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
  23. package/dist/core/schema-stored/formatV1.d.ts.map +1 -0
  24. package/dist/core/schema-stored/{format.js → formatV1.js} +1 -1
  25. package/dist/core/schema-stored/formatV1.js.map +1 -0
  26. package/dist/core/schema-stored/index.d.ts +3 -3
  27. package/dist/core/schema-stored/index.d.ts.map +1 -1
  28. package/dist/core/schema-stored/index.js +3 -3
  29. package/dist/core/schema-stored/index.js.map +1 -1
  30. package/dist/core/schema-stored/schema.d.ts +3 -1
  31. package/dist/core/schema-stored/schema.d.ts.map +1 -1
  32. package/dist/core/schema-stored/schema.js +8 -6
  33. package/dist/core/schema-stored/schema.js.map +1 -1
  34. package/dist/core/schema-stored/storedSchemaRepository.d.ts +1 -1
  35. package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  36. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  37. package/dist/core/schema-view/index.d.ts +1 -1
  38. package/dist/core/schema-view/index.d.ts.map +1 -1
  39. package/dist/core/schema-view/index.js +1 -2
  40. package/dist/core/schema-view/index.js.map +1 -1
  41. package/dist/core/schema-view/view.d.ts +0 -27
  42. package/dist/core/schema-view/view.d.ts.map +1 -1
  43. package/dist/core/schema-view/view.js +1 -35
  44. package/dist/core/schema-view/view.js.map +1 -1
  45. package/dist/core/tree/persistedTreeTextFormat.d.ts +4 -4
  46. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  47. package/dist/core/tree/persistedTreeTextFormat.js +1 -1
  48. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
  49. package/dist/feature-libraries/forest-summary/format.d.ts +2 -2
  50. package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
  51. package/dist/feature-libraries/forest-summary/format.js +1 -1
  52. package/dist/feature-libraries/forest-summary/format.js.map +1 -1
  53. package/dist/feature-libraries/index.d.ts +1 -1
  54. package/dist/feature-libraries/index.d.ts.map +1 -1
  55. package/dist/feature-libraries/index.js +4 -2
  56. package/dist/feature-libraries/index.js.map +1 -1
  57. package/dist/feature-libraries/mapTreeCursor.d.ts +3 -3
  58. package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  59. package/dist/feature-libraries/mapTreeCursor.js +2 -2
  60. package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
  61. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  62. package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  63. package/dist/feature-libraries/modular-schema/modularChangeFormat.js +2 -2
  64. package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  65. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  66. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  67. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -5
  68. package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  69. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  70. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  71. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  72. package/dist/feature-libraries/schema-index/codec.d.ts +34 -5
  73. package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
  74. package/dist/feature-libraries/schema-index/codec.js +63 -9
  75. package/dist/feature-libraries/schema-index/codec.js.map +1 -1
  76. package/{lib/feature-libraries/schema-index/format.d.ts → dist/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  77. package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  78. package/dist/feature-libraries/schema-index/{format.js → formatV1.js} +4 -4
  79. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -0
  80. package/dist/feature-libraries/schema-index/index.d.ts +2 -2
  81. package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
  82. package/dist/feature-libraries/schema-index/index.js +6 -3
  83. package/dist/feature-libraries/schema-index/index.js.map +1 -1
  84. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  85. package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  86. package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
  87. package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  88. package/dist/index.d.ts +3 -2
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +10 -8
  91. package/dist/index.js.map +1 -1
  92. package/dist/internalTypes.d.ts +0 -1
  93. package/dist/internalTypes.d.ts.map +1 -1
  94. package/dist/internalTypes.js.map +1 -1
  95. package/dist/jsonDomainSchema.d.ts +2 -2
  96. package/dist/jsonDomainSchema.js +2 -2
  97. package/dist/jsonDomainSchema.js.map +1 -1
  98. package/dist/legacy.d.ts +2 -0
  99. package/dist/packageVersion.d.ts +1 -1
  100. package/dist/packageVersion.js +1 -1
  101. package/dist/packageVersion.js.map +1 -1
  102. package/dist/public.d.ts +2 -0
  103. package/dist/serializableDomainSchema.d.ts +3 -3
  104. package/dist/serializableDomainSchema.js +2 -2
  105. package/dist/serializableDomainSchema.js.map +1 -1
  106. package/dist/shared-tree/independentView.d.ts +1 -1
  107. package/dist/shared-tree/independentView.d.ts.map +1 -1
  108. package/dist/shared-tree/independentView.js +1 -1
  109. package/dist/shared-tree/independentView.js.map +1 -1
  110. package/dist/shared-tree/index.d.ts +4 -3
  111. package/dist/shared-tree/index.d.ts.map +1 -1
  112. package/dist/shared-tree/index.js +6 -5
  113. package/dist/shared-tree/index.js.map +1 -1
  114. package/dist/shared-tree/schematizeTree.d.ts +10 -11
  115. package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
  116. package/dist/shared-tree/schematizeTree.js +11 -36
  117. package/dist/shared-tree/schematizeTree.js.map +1 -1
  118. package/dist/shared-tree/schematizingTreeView.d.ts +3 -3
  119. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  120. package/dist/shared-tree/schematizingTreeView.js +4 -7
  121. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  122. package/dist/shared-tree/sharedTree.d.ts +28 -3
  123. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  124. package/dist/shared-tree/sharedTree.js +29 -3
  125. package/dist/shared-tree/sharedTree.js.map +1 -1
  126. package/dist/shared-tree/{treeApi.d.ts → tree.d.ts} +58 -34
  127. package/dist/shared-tree/tree.d.ts.map +1 -0
  128. package/dist/shared-tree/{treeApi.js → tree.js} +6 -6
  129. package/dist/shared-tree/tree.js.map +1 -0
  130. package/{lib/shared-tree/treeApiAlpha.d.ts → dist/shared-tree/treeAlpha.d.ts} +24 -14
  131. package/dist/shared-tree/treeAlpha.d.ts.map +1 -0
  132. package/dist/shared-tree/{treeApiAlpha.js → treeAlpha.js} +7 -5
  133. package/dist/shared-tree/treeAlpha.js.map +1 -0
  134. package/dist/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  135. package/dist/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  136. package/dist/shared-tree-core/branchCommitEnricher.js +0 -1
  137. package/dist/shared-tree-core/branchCommitEnricher.js.map +1 -1
  138. package/dist/shared-tree-core/transactionEnricher.d.ts +1 -1
  139. package/dist/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  140. package/dist/shared-tree-core/transactionEnricher.js +4 -1
  141. package/dist/shared-tree-core/transactionEnricher.js.map +1 -1
  142. package/dist/simple-tree/api/conciseTree.d.ts +1 -1
  143. package/dist/simple-tree/api/conciseTree.js.map +1 -1
  144. package/dist/simple-tree/api/configuration.d.ts +177 -0
  145. package/dist/simple-tree/api/configuration.d.ts.map +1 -0
  146. package/dist/simple-tree/api/configuration.js +163 -0
  147. package/dist/simple-tree/api/configuration.js.map +1 -0
  148. package/dist/simple-tree/api/getJsonSchema.js +2 -2
  149. package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
  150. package/dist/simple-tree/api/index.d.ts +9 -5
  151. package/dist/simple-tree/api/index.d.ts.map +1 -1
  152. package/dist/simple-tree/api/index.js +9 -7
  153. package/dist/simple-tree/api/index.js.map +1 -1
  154. package/dist/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
  155. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
  156. package/dist/simple-tree/api/{view.js → schemaCompatibilityTester.js} +9 -9
  157. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
  158. package/dist/simple-tree/api/schemaFactory.d.ts +25 -10
  159. package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
  160. package/dist/simple-tree/api/schemaFactory.js +27 -12
  161. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  162. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
  163. package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  164. package/dist/simple-tree/api/schemaFactoryAlpha.js +2 -2
  165. package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  166. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
  167. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  168. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  169. package/dist/simple-tree/api/schemaFromSimple.d.ts +1 -1
  170. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  171. package/dist/simple-tree/api/schemaFromSimple.js +1 -1
  172. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  173. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  174. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  175. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  176. package/dist/simple-tree/api/storedSchema.d.ts +11 -10
  177. package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
  178. package/dist/simple-tree/api/storedSchema.js +16 -11
  179. package/dist/simple-tree/api/storedSchema.js.map +1 -1
  180. package/dist/simple-tree/api/tree.d.ts +30 -174
  181. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  182. package/dist/simple-tree/api/tree.js +1 -156
  183. package/dist/simple-tree/api/tree.js.map +1 -1
  184. package/{lib/simple-tree/api/treeApiBeta.d.ts → dist/simple-tree/api/treeBeta.d.ts} +17 -6
  185. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -0
  186. package/dist/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
  187. package/dist/simple-tree/api/treeBeta.js.map +1 -0
  188. package/dist/simple-tree/api/treeChangeEvents.d.ts +83 -0
  189. package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  190. package/dist/simple-tree/api/treeChangeEvents.js +7 -0
  191. package/dist/simple-tree/api/treeChangeEvents.js.map +1 -0
  192. package/dist/simple-tree/api/treeNodeApi.d.ts +2 -1
  193. package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  194. package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
  195. package/dist/simple-tree/api/typesUnsafe.d.ts +4 -9
  196. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  197. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  198. package/dist/simple-tree/arrayNode.d.ts +30 -2
  199. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  200. package/dist/simple-tree/arrayNode.js +3 -2
  201. package/dist/simple-tree/arrayNode.js.map +1 -1
  202. package/dist/simple-tree/arrayNodeTypes.d.ts +3 -3
  203. package/dist/simple-tree/arrayNodeTypes.d.ts.map +1 -1
  204. package/dist/simple-tree/arrayNodeTypes.js.map +1 -1
  205. package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
  206. package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  207. package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
  208. package/dist/simple-tree/core/index.d.ts +2 -1
  209. package/dist/simple-tree/core/index.d.ts.map +1 -1
  210. package/dist/simple-tree/core/index.js +5 -5
  211. package/dist/simple-tree/core/index.js.map +1 -1
  212. package/dist/simple-tree/core/treeNode.d.ts +94 -0
  213. package/dist/simple-tree/core/treeNode.d.ts.map +1 -0
  214. package/dist/simple-tree/core/treeNode.js +123 -0
  215. package/dist/simple-tree/core/treeNode.js.map +1 -0
  216. package/dist/simple-tree/core/treeNodeKernel.d.ts +2 -1
  217. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  218. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  219. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -1
  220. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  221. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  222. package/dist/simple-tree/core/types.d.ts +0 -165
  223. package/dist/simple-tree/core/types.d.ts.map +1 -1
  224. package/dist/simple-tree/core/types.js +1 -113
  225. package/dist/simple-tree/core/types.js.map +1 -1
  226. package/dist/simple-tree/core/withType.d.ts +1 -1
  227. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  228. package/dist/simple-tree/core/withType.js.map +1 -1
  229. package/dist/simple-tree/index.d.ts +4 -4
  230. package/dist/simple-tree/index.d.ts.map +1 -1
  231. package/dist/simple-tree/index.js +4 -3
  232. package/dist/simple-tree/index.js.map +1 -1
  233. package/dist/simple-tree/mapNode.d.ts +2 -2
  234. package/dist/simple-tree/mapNode.d.ts.map +1 -1
  235. package/dist/simple-tree/mapNode.js +1 -1
  236. package/dist/simple-tree/mapNode.js.map +1 -1
  237. package/dist/simple-tree/mapNodeTypes.d.ts +3 -3
  238. package/dist/simple-tree/mapNodeTypes.d.ts.map +1 -1
  239. package/dist/simple-tree/mapNodeTypes.js.map +1 -1
  240. package/dist/simple-tree/objectNode.d.ts +18 -5
  241. package/dist/simple-tree/objectNode.d.ts.map +1 -1
  242. package/dist/simple-tree/objectNode.js +4 -3
  243. package/dist/simple-tree/objectNode.js.map +1 -1
  244. package/dist/simple-tree/objectNodeTypes.d.ts +4 -4
  245. package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
  246. package/dist/simple-tree/objectNodeTypes.js.map +1 -1
  247. package/dist/simple-tree/schemaTypes.d.ts +164 -13
  248. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  249. package/dist/simple-tree/schemaTypes.js +107 -8
  250. package/dist/simple-tree/schemaTypes.js.map +1 -1
  251. package/dist/simple-tree/toStoredSchema.d.ts +8 -8
  252. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  253. package/dist/simple-tree/toStoredSchema.js +27 -32
  254. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  255. package/dist/simple-tree/treeNodeValid.js +2 -2
  256. package/dist/simple-tree/treeNodeValid.js.map +1 -1
  257. package/dist/tableSchema.d.ts +455 -125
  258. package/dist/tableSchema.d.ts.map +1 -1
  259. package/dist/tableSchema.js +398 -101
  260. package/dist/tableSchema.js.map +1 -1
  261. package/dist/treeFactory.d.ts +1 -1
  262. package/dist/treeFactory.d.ts.map +1 -1
  263. package/dist/treeFactory.js +30 -75
  264. package/dist/treeFactory.js.map +1 -1
  265. package/dist/util/typeUtils.d.ts +1 -1
  266. package/dist/util/typeUtils.js.map +1 -1
  267. package/lib/alpha.d.ts +17 -1
  268. package/lib/beta.d.ts +2 -0
  269. package/lib/codec/codec.d.ts +5 -1
  270. package/lib/codec/codec.d.ts.map +1 -1
  271. package/lib/codec/codec.js +5 -1
  272. package/lib/codec/codec.js.map +1 -1
  273. package/lib/codec/index.d.ts +1 -1
  274. package/lib/codec/index.d.ts.map +1 -1
  275. package/lib/codec/index.js +1 -1
  276. package/lib/codec/index.js.map +1 -1
  277. package/lib/core/index.d.ts +2 -2
  278. package/lib/core/index.d.ts.map +1 -1
  279. package/lib/core/index.js +2 -2
  280. package/lib/core/index.js.map +1 -1
  281. package/lib/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
  282. package/lib/core/schema-stored/formatV1.d.ts.map +1 -0
  283. package/lib/core/schema-stored/{format.js → formatV1.js} +1 -1
  284. package/lib/core/schema-stored/formatV1.js.map +1 -0
  285. package/lib/core/schema-stored/index.d.ts +3 -3
  286. package/lib/core/schema-stored/index.d.ts.map +1 -1
  287. package/lib/core/schema-stored/index.js +2 -2
  288. package/lib/core/schema-stored/index.js.map +1 -1
  289. package/lib/core/schema-stored/schema.d.ts +3 -1
  290. package/lib/core/schema-stored/schema.d.ts.map +1 -1
  291. package/lib/core/schema-stored/schema.js +3 -1
  292. package/lib/core/schema-stored/schema.js.map +1 -1
  293. package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
  294. package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
  295. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  296. package/lib/core/schema-view/index.d.ts +1 -1
  297. package/lib/core/schema-view/index.d.ts.map +1 -1
  298. package/lib/core/schema-view/index.js +1 -1
  299. package/lib/core/schema-view/index.js.map +1 -1
  300. package/lib/core/schema-view/view.d.ts +0 -27
  301. package/lib/core/schema-view/view.d.ts.map +1 -1
  302. package/lib/core/schema-view/view.js +0 -34
  303. package/lib/core/schema-view/view.js.map +1 -1
  304. package/lib/core/tree/persistedTreeTextFormat.d.ts +4 -4
  305. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  306. package/lib/core/tree/persistedTreeTextFormat.js +2 -2
  307. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  308. package/lib/feature-libraries/forest-summary/format.d.ts +2 -2
  309. package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
  310. package/lib/feature-libraries/forest-summary/format.js +2 -2
  311. package/lib/feature-libraries/forest-summary/format.js.map +1 -1
  312. package/lib/feature-libraries/index.d.ts +1 -1
  313. package/lib/feature-libraries/index.d.ts.map +1 -1
  314. package/lib/feature-libraries/index.js +1 -1
  315. package/lib/feature-libraries/index.js.map +1 -1
  316. package/lib/feature-libraries/mapTreeCursor.d.ts +3 -3
  317. package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
  318. package/lib/feature-libraries/mapTreeCursor.js +2 -2
  319. package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
  320. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
  321. package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
  322. package/lib/feature-libraries/modular-schema/modularChangeFormat.js +3 -3
  323. package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
  324. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
  325. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
  326. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -6
  327. package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
  328. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
  329. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  330. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +3 -3
  331. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  332. package/lib/feature-libraries/schema-index/codec.d.ts +34 -5
  333. package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
  334. package/lib/feature-libraries/schema-index/codec.js +61 -9
  335. package/lib/feature-libraries/schema-index/codec.js.map +1 -1
  336. package/{dist/feature-libraries/schema-index/format.d.ts → lib/feature-libraries/schema-index/formatV1.d.ts} +9 -9
  337. package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
  338. package/lib/feature-libraries/schema-index/{format.js → formatV1.js} +5 -5
  339. package/lib/feature-libraries/schema-index/formatV1.js.map +1 -0
  340. package/lib/feature-libraries/schema-index/index.d.ts +2 -2
  341. package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
  342. package/lib/feature-libraries/schema-index/index.js +2 -2
  343. package/lib/feature-libraries/schema-index/index.js.map +1 -1
  344. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
  345. package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
  346. package/lib/feature-libraries/schema-index/schemaSummarizer.js +5 -5
  347. package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
  348. package/lib/index.d.ts +3 -2
  349. package/lib/index.d.ts.map +1 -1
  350. package/lib/index.js +1 -0
  351. package/lib/index.js.map +1 -1
  352. package/lib/internalTypes.d.ts +0 -1
  353. package/lib/internalTypes.d.ts.map +1 -1
  354. package/lib/internalTypes.js.map +1 -1
  355. package/lib/jsonDomainSchema.d.ts +2 -2
  356. package/lib/jsonDomainSchema.js +2 -2
  357. package/lib/jsonDomainSchema.js.map +1 -1
  358. package/lib/legacy.d.ts +2 -0
  359. package/lib/packageVersion.d.ts +1 -1
  360. package/lib/packageVersion.js +1 -1
  361. package/lib/packageVersion.js.map +1 -1
  362. package/lib/public.d.ts +2 -0
  363. package/lib/serializableDomainSchema.d.ts +3 -3
  364. package/lib/serializableDomainSchema.js +2 -2
  365. package/lib/serializableDomainSchema.js.map +1 -1
  366. package/lib/shared-tree/independentView.d.ts +1 -1
  367. package/lib/shared-tree/independentView.d.ts.map +1 -1
  368. package/lib/shared-tree/independentView.js +2 -2
  369. package/lib/shared-tree/independentView.js.map +1 -1
  370. package/lib/shared-tree/index.d.ts +4 -3
  371. package/lib/shared-tree/index.d.ts.map +1 -1
  372. package/lib/shared-tree/index.js +3 -3
  373. package/lib/shared-tree/index.js.map +1 -1
  374. package/lib/shared-tree/schematizeTree.d.ts +10 -11
  375. package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
  376. package/lib/shared-tree/schematizeTree.js +12 -37
  377. package/lib/shared-tree/schematizeTree.js.map +1 -1
  378. package/lib/shared-tree/schematizingTreeView.d.ts +3 -3
  379. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  380. package/lib/shared-tree/schematizingTreeView.js +6 -9
  381. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  382. package/lib/shared-tree/sharedTree.d.ts +28 -3
  383. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  384. package/lib/shared-tree/sharedTree.js +29 -4
  385. package/lib/shared-tree/sharedTree.js.map +1 -1
  386. package/lib/shared-tree/{treeApi.d.ts → tree.d.ts} +58 -34
  387. package/lib/shared-tree/tree.d.ts.map +1 -0
  388. package/lib/shared-tree/{treeApi.js → tree.js} +5 -5
  389. package/lib/shared-tree/tree.js.map +1 -0
  390. package/{dist/shared-tree/treeApiAlpha.d.ts → lib/shared-tree/treeAlpha.d.ts} +24 -14
  391. package/lib/shared-tree/treeAlpha.d.ts.map +1 -0
  392. package/lib/shared-tree/{treeApiAlpha.js → treeAlpha.js} +8 -6
  393. package/lib/shared-tree/treeAlpha.js.map +1 -0
  394. package/lib/shared-tree-core/branchCommitEnricher.d.ts +0 -1
  395. package/lib/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
  396. package/lib/shared-tree-core/branchCommitEnricher.js +0 -1
  397. package/lib/shared-tree-core/branchCommitEnricher.js.map +1 -1
  398. package/lib/shared-tree-core/transactionEnricher.d.ts +1 -1
  399. package/lib/shared-tree-core/transactionEnricher.d.ts.map +1 -1
  400. package/lib/shared-tree-core/transactionEnricher.js +4 -1
  401. package/lib/shared-tree-core/transactionEnricher.js.map +1 -1
  402. package/lib/simple-tree/api/conciseTree.d.ts +1 -1
  403. package/lib/simple-tree/api/conciseTree.js.map +1 -1
  404. package/lib/simple-tree/api/configuration.d.ts +177 -0
  405. package/lib/simple-tree/api/configuration.d.ts.map +1 -0
  406. package/lib/simple-tree/api/configuration.js +157 -0
  407. package/lib/simple-tree/api/configuration.js.map +1 -0
  408. package/lib/simple-tree/api/getJsonSchema.js +1 -1
  409. package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
  410. package/lib/simple-tree/api/index.d.ts +9 -5
  411. package/lib/simple-tree/api/index.d.ts.map +1 -1
  412. package/lib/simple-tree/api/index.js +5 -4
  413. package/lib/simple-tree/api/index.js.map +1 -1
  414. package/lib/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
  415. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
  416. package/lib/simple-tree/api/{view.js → schemaCompatibilityTester.js} +7 -7
  417. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
  418. package/lib/simple-tree/api/schemaFactory.d.ts +25 -10
  419. package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
  420. package/lib/simple-tree/api/schemaFactory.js +27 -12
  421. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  422. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
  423. package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
  424. package/lib/simple-tree/api/schemaFactoryAlpha.js +2 -2
  425. package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
  426. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
  427. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  428. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  429. package/lib/simple-tree/api/schemaFromSimple.d.ts +1 -1
  430. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  431. package/lib/simple-tree/api/schemaFromSimple.js +1 -1
  432. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  433. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
  434. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  435. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  436. package/lib/simple-tree/api/storedSchema.d.ts +11 -10
  437. package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
  438. package/lib/simple-tree/api/storedSchema.js +20 -13
  439. package/lib/simple-tree/api/storedSchema.js.map +1 -1
  440. package/lib/simple-tree/api/tree.d.ts +30 -174
  441. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  442. package/lib/simple-tree/api/tree.js +0 -152
  443. package/lib/simple-tree/api/tree.js.map +1 -1
  444. package/{dist/simple-tree/api/treeApiBeta.d.ts → lib/simple-tree/api/treeBeta.d.ts} +17 -6
  445. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -0
  446. package/lib/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
  447. package/lib/simple-tree/api/treeBeta.js.map +1 -0
  448. package/lib/simple-tree/api/treeChangeEvents.d.ts +83 -0
  449. package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
  450. package/lib/simple-tree/api/treeChangeEvents.js +6 -0
  451. package/lib/simple-tree/api/treeChangeEvents.js.map +1 -0
  452. package/lib/simple-tree/api/treeNodeApi.d.ts +2 -1
  453. package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
  454. package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
  455. package/lib/simple-tree/api/typesUnsafe.d.ts +4 -9
  456. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  457. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  458. package/lib/simple-tree/arrayNode.d.ts +30 -2
  459. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  460. package/lib/simple-tree/arrayNode.js +4 -3
  461. package/lib/simple-tree/arrayNode.js.map +1 -1
  462. package/lib/simple-tree/arrayNodeTypes.d.ts +3 -3
  463. package/lib/simple-tree/arrayNodeTypes.d.ts.map +1 -1
  464. package/lib/simple-tree/arrayNodeTypes.js.map +1 -1
  465. package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
  466. package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
  467. package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
  468. package/lib/simple-tree/core/index.d.ts +2 -1
  469. package/lib/simple-tree/core/index.d.ts.map +1 -1
  470. package/lib/simple-tree/core/index.js +1 -1
  471. package/lib/simple-tree/core/index.js.map +1 -1
  472. package/lib/simple-tree/core/treeNode.d.ts +94 -0
  473. package/lib/simple-tree/core/treeNode.d.ts.map +1 -0
  474. package/lib/simple-tree/core/treeNode.js +118 -0
  475. package/lib/simple-tree/core/treeNode.js.map +1 -0
  476. package/lib/simple-tree/core/treeNodeKernel.d.ts +2 -1
  477. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  478. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  479. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -1
  480. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  481. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  482. package/lib/simple-tree/core/types.d.ts +0 -165
  483. package/lib/simple-tree/core/types.d.ts.map +1 -1
  484. package/lib/simple-tree/core/types.js +0 -110
  485. package/lib/simple-tree/core/types.js.map +1 -1
  486. package/lib/simple-tree/core/withType.d.ts +1 -1
  487. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  488. package/lib/simple-tree/core/withType.js.map +1 -1
  489. package/lib/simple-tree/index.d.ts +4 -4
  490. package/lib/simple-tree/index.d.ts.map +1 -1
  491. package/lib/simple-tree/index.js +1 -1
  492. package/lib/simple-tree/index.js.map +1 -1
  493. package/lib/simple-tree/mapNode.d.ts +2 -2
  494. package/lib/simple-tree/mapNode.d.ts.map +1 -1
  495. package/lib/simple-tree/mapNode.js +2 -2
  496. package/lib/simple-tree/mapNode.js.map +1 -1
  497. package/lib/simple-tree/mapNodeTypes.d.ts +3 -3
  498. package/lib/simple-tree/mapNodeTypes.d.ts.map +1 -1
  499. package/lib/simple-tree/mapNodeTypes.js.map +1 -1
  500. package/lib/simple-tree/objectNode.d.ts +18 -5
  501. package/lib/simple-tree/objectNode.d.ts.map +1 -1
  502. package/lib/simple-tree/objectNode.js +5 -4
  503. package/lib/simple-tree/objectNode.js.map +1 -1
  504. package/lib/simple-tree/objectNodeTypes.d.ts +4 -4
  505. package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
  506. package/lib/simple-tree/objectNodeTypes.js.map +1 -1
  507. package/lib/simple-tree/schemaTypes.d.ts +164 -13
  508. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  509. package/lib/simple-tree/schemaTypes.js +96 -8
  510. package/lib/simple-tree/schemaTypes.js.map +1 -1
  511. package/lib/simple-tree/toStoredSchema.d.ts +8 -8
  512. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  513. package/lib/simple-tree/toStoredSchema.js +26 -31
  514. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  515. package/lib/simple-tree/treeNodeValid.js +2 -2
  516. package/lib/simple-tree/treeNodeValid.js.map +1 -1
  517. package/lib/tableSchema.d.ts +455 -125
  518. package/lib/tableSchema.d.ts.map +1 -1
  519. package/lib/tableSchema.js +398 -101
  520. package/lib/tableSchema.js.map +1 -1
  521. package/lib/treeFactory.d.ts +1 -1
  522. package/lib/treeFactory.d.ts.map +1 -1
  523. package/lib/treeFactory.js +30 -75
  524. package/lib/treeFactory.js.map +1 -1
  525. package/lib/util/typeUtils.d.ts +1 -1
  526. package/lib/util/typeUtils.js.map +1 -1
  527. package/package.json +21 -21
  528. package/src/codec/codec.ts +6 -1
  529. package/src/codec/index.ts +1 -0
  530. package/src/core/index.ts +1 -2
  531. package/src/core/schema-stored/index.ts +3 -3
  532. package/src/core/schema-stored/schema.ts +3 -1
  533. package/src/core/schema-stored/storedSchemaRepository.ts +1 -1
  534. package/src/core/schema-view/index.ts +0 -1
  535. package/src/core/schema-view/view.ts +0 -31
  536. package/src/core/tree/persistedTreeTextFormat.ts +2 -2
  537. package/src/feature-libraries/forest-summary/format.ts +2 -2
  538. package/src/feature-libraries/index.ts +7 -1
  539. package/src/feature-libraries/mapTreeCursor.ts +3 -3
  540. package/src/feature-libraries/modular-schema/modularChangeFormat.ts +3 -3
  541. package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +38 -9
  542. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +3 -4
  543. package/src/feature-libraries/schema-index/codec.ts +80 -12
  544. package/src/feature-libraries/schema-index/{format.ts → formatV1.ts} +4 -4
  545. package/src/feature-libraries/schema-index/index.ts +7 -2
  546. package/src/feature-libraries/schema-index/schemaSummarizer.ts +9 -9
  547. package/src/index.ts +18 -1
  548. package/src/internalTypes.ts +0 -2
  549. package/src/jsonDomainSchema.ts +2 -2
  550. package/src/packageVersion.ts +1 -1
  551. package/src/serializableDomainSchema.ts +3 -3
  552. package/src/shared-tree/independentView.ts +4 -3
  553. package/src/shared-tree/index.ts +5 -6
  554. package/src/shared-tree/schematizeTree.ts +10 -40
  555. package/src/shared-tree/schematizingTreeView.ts +12 -17
  556. package/src/shared-tree/sharedTree.ts +67 -6
  557. package/src/shared-tree/{treeApi.ts → tree.ts} +75 -51
  558. package/src/shared-tree/{treeApiAlpha.ts → treeAlpha.ts} +28 -16
  559. package/src/shared-tree-core/branchCommitEnricher.ts +0 -1
  560. package/src/shared-tree-core/transactionEnricher.ts +4 -1
  561. package/src/simple-tree/api/conciseTree.ts +1 -1
  562. package/src/simple-tree/api/configuration.ts +353 -0
  563. package/src/simple-tree/api/getJsonSchema.ts +1 -1
  564. package/src/simple-tree/api/index.ts +23 -15
  565. package/src/simple-tree/api/{view.ts → schemaCompatibilityTester.ts} +8 -15
  566. package/src/simple-tree/api/schemaFactory.ts +139 -19
  567. package/src/simple-tree/api/schemaFactoryAlpha.ts +7 -5
  568. package/src/simple-tree/api/schemaFactoryRecursive.ts +102 -38
  569. package/src/simple-tree/api/schemaFromSimple.ts +2 -2
  570. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
  571. package/src/simple-tree/api/storedSchema.ts +32 -17
  572. package/src/simple-tree/api/tree.ts +38 -354
  573. package/src/simple-tree/api/{treeApiBeta.ts → treeBeta.ts} +20 -6
  574. package/src/simple-tree/api/treeChangeEvents.ts +84 -0
  575. package/src/simple-tree/api/treeNodeApi.ts +1 -1
  576. package/src/simple-tree/api/typesUnsafe.ts +15 -11
  577. package/src/simple-tree/arrayNode.ts +38 -5
  578. package/src/simple-tree/arrayNodeTypes.ts +8 -7
  579. package/src/simple-tree/core/getOrCreateNode.ts +1 -1
  580. package/src/simple-tree/core/index.ts +5 -4
  581. package/src/simple-tree/core/treeNode.ts +163 -0
  582. package/src/simple-tree/core/treeNodeKernel.ts +2 -1
  583. package/src/simple-tree/core/treeNodeSchema.ts +3 -1
  584. package/src/simple-tree/core/types.ts +0 -234
  585. package/src/simple-tree/core/withType.ts +1 -1
  586. package/src/simple-tree/index.ts +19 -2
  587. package/src/simple-tree/mapNode.ts +11 -3
  588. package/src/simple-tree/mapNodeTypes.ts +10 -7
  589. package/src/simple-tree/objectNode.ts +39 -15
  590. package/src/simple-tree/objectNodeTypes.ts +9 -5
  591. package/src/simple-tree/schemaTypes.ts +354 -25
  592. package/src/simple-tree/toStoredSchema.ts +42 -41
  593. package/src/simple-tree/treeNodeValid.ts +2 -2
  594. package/src/tableSchema.ts +1206 -434
  595. package/src/treeFactory.ts +56 -173
  596. package/src/util/typeUtils.ts +1 -1
  597. package/dist/core/schema-stored/format.d.ts.map +0 -1
  598. package/dist/core/schema-stored/format.js.map +0 -1
  599. package/dist/feature-libraries/schema-index/format.d.ts.map +0 -1
  600. package/dist/feature-libraries/schema-index/format.js.map +0 -1
  601. package/dist/shared-tree/treeApi.d.ts.map +0 -1
  602. package/dist/shared-tree/treeApi.js.map +0 -1
  603. package/dist/shared-tree/treeApiAlpha.d.ts.map +0 -1
  604. package/dist/shared-tree/treeApiAlpha.js.map +0 -1
  605. package/dist/simple-tree/api/treeApiBeta.d.ts.map +0 -1
  606. package/dist/simple-tree/api/treeApiBeta.js.map +0 -1
  607. package/dist/simple-tree/api/view.d.ts.map +0 -1
  608. package/dist/simple-tree/api/view.js.map +0 -1
  609. package/lib/core/schema-stored/format.d.ts.map +0 -1
  610. package/lib/core/schema-stored/format.js.map +0 -1
  611. package/lib/feature-libraries/schema-index/format.d.ts.map +0 -1
  612. package/lib/feature-libraries/schema-index/format.js.map +0 -1
  613. package/lib/shared-tree/treeApi.d.ts.map +0 -1
  614. package/lib/shared-tree/treeApi.js.map +0 -1
  615. package/lib/shared-tree/treeApiAlpha.d.ts.map +0 -1
  616. package/lib/shared-tree/treeApiAlpha.js.map +0 -1
  617. package/lib/simple-tree/api/treeApiBeta.d.ts.map +0 -1
  618. package/lib/simple-tree/api/treeApiBeta.js.map +0 -1
  619. package/lib/simple-tree/api/view.d.ts.map +0 -1
  620. package/lib/simple-tree/api/view.js.map +0 -1
  621. /package/src/core/schema-stored/{format.ts → formatV1.ts} +0 -0
@@ -32,7 +32,7 @@ export {
32
32
  } from "./storedSchemaRepository.js";
33
33
  export { Multiplicity } from "./multiplicity.js";
34
34
 
35
- export type { TreeNodeSchemaIdentifier, FieldKey, FieldKindIdentifier } from "./format.js";
35
+ export type { TreeNodeSchemaIdentifier, FieldKey, FieldKindIdentifier } from "./formatV1.js";
36
36
 
37
- import * as schemaFormat from "./format.js";
38
- export { schemaFormat };
37
+ import * as schemaFormatV1 from "./formatV1.js";
38
+ export { schemaFormatV1 };
@@ -13,7 +13,7 @@ import {
13
13
  PersistedValueSchema,
14
14
  type TreeNodeSchemaDataFormat,
15
15
  type TreeNodeSchemaIdentifier,
16
- } from "./format.js";
16
+ } from "./formatV1.js";
17
17
  import type { Multiplicity } from "./multiplicity.js";
18
18
 
19
19
  /**
@@ -126,7 +126,9 @@ export interface TreeFieldStoredSchema {
126
126
  *
127
127
  * @remarks
128
128
  * This mainly show up in:
129
+ *
129
130
  * 1. The root default field for documents.
131
+ *
130
132
  * 2. The schema used for out of schema fields (which thus must be empty/not exist) on object and leaf nodes.
131
133
  */
132
134
  export const forbiddenFieldKindIdentifier = "Forbidden";
@@ -9,7 +9,7 @@ import type { Listenable } from "@fluidframework/core-interfaces/internal";
9
9
  import { createEmitter } from "@fluid-internal/client-utils";
10
10
  import { compareStrings } from "../../util/index.js";
11
11
 
12
- import type { TreeNodeSchemaIdentifier } from "./format.js";
12
+ import type { TreeNodeSchemaIdentifier } from "./formatV1.js";
13
13
  import {
14
14
  type StoredSchemaCollection,
15
15
  type TreeFieldStoredSchema,
@@ -7,5 +7,4 @@ export {
7
7
  type Adapters,
8
8
  type TreeAdapter,
9
9
  AdaptedViewSchema,
10
- AllowedUpdateType,
11
10
  } from "./view.js";
@@ -9,37 +9,6 @@ import type { TreeNodeSchemaIdentifier, TreeStoredSchema } from "../schema-store
9
9
  * APIs for applying `view schema` to documents.
10
10
  */
11
11
 
12
- /**
13
- * What kinds of updates to stored schema to permit.
14
- *
15
- * Bit flags enum.
16
- */
17
- export enum AllowedUpdateType {
18
- /**
19
- * Do not update the stored schema to match view schema.
20
- */
21
- None = 0,
22
- /**
23
- * Update the stored schema as part of initializing an empty document.
24
- *
25
- * Includes "Initialize".
26
- */
27
- // eslint-disable-next-line no-bitwise
28
- Initialize = 1 << 0,
29
- /**
30
- * Update the stored schema to match the view schema if the current document contents are compatible with the view schema.
31
- * TODO: support this option.
32
- */
33
- // DataCompatible,
34
- /**
35
- * Update the stored schema to match view schema if all possible documents based on the current stored schema would be compatible with the view schema.
36
- *
37
- * Includes "Initialize".
38
- */
39
- // eslint-disable-next-line no-bitwise
40
- SchemaCompatible = 1 << 1,
41
- }
42
-
43
12
  /**
44
13
  */
45
14
  export interface TreeAdapter {
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { type Static, type TSchema, Type } from "@sinclair/typebox";
7
7
 
8
- import { schemaFormat } from "../schema-stored/index.js";
8
+ import { schemaFormatV1 } from "../schema-stored/index.js";
9
9
 
10
10
  /**
11
11
  * This module contains persisted types for a simple, human-readable tree format.
@@ -58,7 +58,7 @@ const EncodedFieldMapObject = <Schema extends TSchema>(tChild: Schema) =>
58
58
  type EncodedNodeData = Static<typeof EncodedNodeData>;
59
59
  const EncodedNodeData = Type.Object({
60
60
  value: Type.Optional(Type.Any()),
61
- type: Type.Readonly(schemaFormat.TreeNodeSchemaIdentifierSchema),
61
+ type: Type.Readonly(schemaFormatV1.TreeNodeSchemaIdentifierSchema),
62
62
  });
63
63
 
64
64
  /**
@@ -6,14 +6,14 @@
6
6
  import { type Static, Type } from "@sinclair/typebox";
7
7
 
8
8
  import { Versioned } from "../../codec/index.js";
9
- import { schemaFormat } from "../../core/index.js";
9
+ import { schemaFormatV1 } from "../../core/index.js";
10
10
 
11
11
  export const version = 1.0;
12
12
 
13
13
  export const Format = Type.Object(
14
14
  {
15
15
  version: Type.Literal(version),
16
- keys: Type.Array(schemaFormat.FieldKeySchema),
16
+ keys: Type.Array(schemaFormatV1.FieldKeySchema),
17
17
  fields: Versioned,
18
18
  },
19
19
  { additionalProperties: false },
@@ -17,7 +17,13 @@ export {
17
17
  mapTreeFieldFromCursor,
18
18
  } from "./mapTreeCursor.js";
19
19
  export { buildForest } from "./object-forest/index.js";
20
- export { SchemaSummarizer, encodeTreeSchema, makeSchemaCodec } from "./schema-index/index.js";
20
+ export {
21
+ SchemaSummarizer,
22
+ encodeTreeSchema,
23
+ makeSchemaCodec,
24
+ makeSchemaCodecs,
25
+ SchemaCodecVersion,
26
+ } from "./schema-index/index.js";
21
27
  export {
22
28
  stackTreeNodeCursor,
23
29
  type CursorAdapter,
@@ -26,17 +26,17 @@ import {
26
26
  } from "./treeCursorUtils.js";
27
27
 
28
28
  /**
29
- * @returns An {@link ITreeCursorSynchronous} in nodes mode for a single {@link MapTree}.
29
+ * Returns an {@link ITreeCursorSynchronous} in nodes mode for a single {@link MapTree}.
30
30
  */
31
31
  export function cursorForMapTreeNode(root: MapTree): CursorWithNode<MapTree> {
32
32
  return stackTreeNodeCursor(adapter, root);
33
33
  }
34
34
 
35
35
  /**
36
- * @returns an {@link ITreeCursorSynchronous} in fields mode for a MapTree field.
36
+ * Returns an {@link ITreeCursorSynchronous} in fields mode for a MapTree field.
37
37
  */
38
38
  export function cursorForMapTreeField(
39
- root: MapTree[],
39
+ root: readonly MapTree[],
40
40
  detachedField: DetachedField = rootField,
41
41
  ): CursorWithNode<MapTree> {
42
42
  const key = detachedFieldAsKey(detachedField);
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { type ObjectOptions, type Static, Type } from "@sinclair/typebox";
7
7
 
8
- import { type ChangesetLocalId, RevisionTagSchema, schemaFormat } from "../../core/index.js";
8
+ import { type ChangesetLocalId, RevisionTagSchema, schemaFormatV1 } from "../../core/index.js";
9
9
  import {
10
10
  type JsonCompatibleReadOnly,
11
11
  JsonCompatibleReadOnlySchema,
@@ -27,8 +27,8 @@ export type EncodedChangeAtomId = Static<typeof EncodedChangeAtomId>;
27
27
 
28
28
  const EncodedFieldChange = Type.Object(
29
29
  {
30
- fieldKey: schemaFormat.FieldKeySchema,
31
- fieldKind: schemaFormat.FieldKindIdentifierSchema,
30
+ fieldKey: schemaFormatV1.FieldKeySchema,
31
+ fieldKind: schemaFormatV1.FieldKindIdentifierSchema,
32
32
  // Implementation note: node and field change encoding is mutually recursive.
33
33
  // This field marks a boundary in that recursion to avoid constructing excessively complex
34
34
  // recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.
@@ -10,21 +10,50 @@ import {
10
10
  type ICodecOptions,
11
11
  type IJsonCodec,
12
12
  makeCodecFamily,
13
+ makeVersionDispatchingCodec,
13
14
  withSchemaValidation,
14
15
  } from "../../codec/index.js";
15
- import { makeSchemaCodec } from "../schema-index/index.js";
16
+ import {
17
+ makeSchemaCodec,
18
+ SchemaCodecVersion,
19
+ type Format as FormatV1,
20
+ } from "../schema-index/index.js";
16
21
 
17
22
  import { EncodedSchemaChange } from "./schemaChangeFormat.js";
18
23
  import type { SchemaChange } from "./schemaChangeTypes.js";
19
24
 
25
+ /**
26
+ * Create a family of schema change codecs.
27
+ * @param options - Specifies common codec options, including which `validator` to use.
28
+ * @returns The composed codec family.
29
+ */
20
30
  export function makeSchemaChangeCodecs(options: ICodecOptions): ICodecFamily<SchemaChange> {
21
- return makeCodecFamily([[1, makeSchemaChangeCodec(options)]]);
31
+ return makeCodecFamily([[SchemaCodecVersion.v1, makeSchemaChangeCodecV1(options)]]);
32
+ }
33
+
34
+ /**
35
+ * Create a schema change codec.
36
+ * @param options - Specifies common codec options, including which `validator` to use.
37
+ * @param writeVersion - The schema change write version.
38
+ * @returns The composed codec.
39
+ */
40
+ export function makeSchemaChangeCodec(
41
+ options: ICodecOptions,
42
+ writeVersion: SchemaCodecVersion,
43
+ ): IJsonCodec<SchemaChange> {
44
+ const family = makeSchemaChangeCodecs(options);
45
+ return makeVersionDispatchingCodec(family, { ...options, writeVersion });
22
46
  }
23
47
 
24
- function makeSchemaChangeCodec({
25
- jsonValidator: validator,
26
- }: ICodecOptions): IJsonCodec<SchemaChange, EncodedSchemaChange> {
27
- const schemaCodec = makeSchemaCodec({ jsonValidator: validator });
48
+ /**
49
+ * Compose the v1 schema change codec.
50
+ * @param options - The codec options.
51
+ * @returns The composed schema change codec.
52
+ */
53
+ function makeSchemaChangeCodecV1(
54
+ options: ICodecOptions,
55
+ ): IJsonCodec<SchemaChange, EncodedSchemaChange> {
56
+ const schemaCodec = makeSchemaCodec(options, SchemaCodecVersion.v1);
28
57
  const schemaChangeCodec: IJsonCodec<SchemaChange, EncodedSchemaChange> = {
29
58
  encode: (schemaChange) => {
30
59
  assert(
@@ -32,8 +61,8 @@ function makeSchemaChangeCodec({
32
61
  0x933 /* Inverse schema changes should never be transmitted */,
33
62
  );
34
63
  return {
35
- new: schemaCodec.encode(schemaChange.schema.new),
36
- old: schemaCodec.encode(schemaChange.schema.old),
64
+ new: schemaCodec.encode(schemaChange.schema.new) as FormatV1,
65
+ old: schemaCodec.encode(schemaChange.schema.old) as FormatV1,
37
66
  };
38
67
  },
39
68
  decode: (encoded) => {
@@ -48,5 +77,5 @@ function makeSchemaChangeCodec({
48
77
  encodedSchema: EncodedSchemaChange,
49
78
  };
50
79
 
51
- return withSchemaValidation(EncodedSchemaChange, schemaChangeCodec, validator);
80
+ return withSchemaValidation(EncodedSchemaChange, schemaChangeCodec, options.jsonValidator);
52
81
  }
@@ -4,12 +4,11 @@
4
4
  */
5
5
 
6
6
  import { type Static, Type } from "@sinclair/typebox";
7
-
8
- import { Format } from "../schema-index/index.js";
7
+ import { Format as FormatV1 } from "../schema-index/index.js";
9
8
 
10
9
  export const EncodedSchemaChange = Type.Object({
11
- new: Format,
12
- old: Format,
10
+ new: FormatV1,
11
+ old: FormatV1,
13
12
  });
14
13
 
15
14
  export type EncodedSchemaChange = Static<typeof EncodedSchemaChange>;
@@ -3,10 +3,14 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { fail } from "@fluidframework/core-utils/internal";
6
+ import { fail, unreachableCase } from "@fluidframework/core-utils/internal";
7
7
  import {
8
+ type FluidClientVersion,
9
+ type ICodecFamily,
8
10
  type ICodecOptions,
9
11
  type IJsonCodec,
12
+ makeCodecFamily,
13
+ makeVersionDispatchingCodec,
10
14
  makeVersionedValidatedCodec,
11
15
  } from "../../codec/index.js";
12
16
  import {
@@ -15,15 +19,77 @@ import {
15
19
  type TreeStoredSchema,
16
20
  decodeFieldSchema,
17
21
  encodeFieldSchema,
18
- schemaFormat,
22
+ schemaFormatV1,
19
23
  storedSchemaDecodeDispatcher,
20
24
  } from "../../core/index.js";
21
- import { brand } from "../../util/index.js";
25
+ import { brand, type JsonCompatible } from "../../util/index.js";
22
26
 
23
- import { Format } from "./format.js";
27
+ import { Format as FormatV1 } from "./formatV1.js";
24
28
 
25
- export function encodeRepo(repo: TreeStoredSchema): Format {
26
- const nodeSchema: Record<string, schemaFormat.TreeNodeSchemaDataFormat> =
29
+ /**
30
+ * Versions for the codec that encodes an in-memory representation of a stored schema {@link TreeStoredSchema} into a persisted format (or decodes it in the opposite direction).
31
+ */
32
+ export enum SchemaCodecVersion {
33
+ v1 = 1,
34
+ }
35
+
36
+ /**
37
+ * Convert a FluidClientVersion to a SchemaCodecVersion.
38
+ * @param clientVersion - The FluidClientVersion to convert.
39
+ * @returns The SchemaCodecVersion that corresponds to the provided FluidClientVersion.
40
+ */
41
+ export function clientVersionToSchemaVersion(
42
+ clientVersion: FluidClientVersion,
43
+ ): SchemaCodecVersion {
44
+ // Only one version of the schema codec is currently supported.
45
+ return SchemaCodecVersion.v1;
46
+ }
47
+
48
+ /**
49
+ * Create a schema codec.
50
+ * @param options - Specifies common codec options, including which `validator` to use.
51
+ * @param writeVersion - The schema write version.
52
+ * @returns The composed codec.
53
+ *
54
+ * @privateRemarks We should consider using the Shared Tree format version instead as it may be more valuable for application authors than the schema version.
55
+ */
56
+ export function makeSchemaCodec(
57
+ options: ICodecOptions,
58
+ writeVersion: SchemaCodecVersion,
59
+ ): IJsonCodec<TreeStoredSchema> {
60
+ const family = makeSchemaCodecs(options);
61
+ return makeVersionDispatchingCodec(family, { ...options, writeVersion });
62
+ }
63
+
64
+ /**
65
+ * Create a family of schema codecs.
66
+ * @param options - Specifies common codec options, including which `validator` to use.
67
+ * @returns The composed codec family.
68
+ */
69
+ export function makeSchemaCodecs(options: ICodecOptions): ICodecFamily<TreeStoredSchema> {
70
+ return makeCodecFamily([[SchemaCodecVersion.v1, makeSchemaCodecV1(options)]]);
71
+ }
72
+
73
+ /**
74
+ * Encode an in-memory TreeStoredSchema into the specified format version.
75
+ * @param repo - The in-memory schema.
76
+ * @param version - The schema write version.
77
+ * @returns The encoded schema.
78
+ */
79
+ export function encodeRepo(
80
+ repo: TreeStoredSchema,
81
+ version: SchemaCodecVersion,
82
+ ): JsonCompatible {
83
+ switch (version) {
84
+ case SchemaCodecVersion.v1:
85
+ return encodeRepoV1(repo);
86
+ default:
87
+ unreachableCase(version);
88
+ }
89
+ }
90
+
91
+ function encodeRepoV1(repo: TreeStoredSchema): FormatV1 {
92
+ const nodeSchema: Record<string, schemaFormatV1.TreeNodeSchemaDataFormat> =
27
93
  Object.create(null);
28
94
  const rootFieldSchema = encodeFieldSchema(repo.rootFieldSchema);
29
95
  for (const name of [...repo.nodeSchema.keys()].sort()) {
@@ -36,13 +102,13 @@ export function encodeRepo(repo: TreeStoredSchema): Format {
36
102
  });
37
103
  }
38
104
  return {
39
- version: schemaFormat.version,
105
+ version: schemaFormatV1.version,
40
106
  nodes: nodeSchema,
41
107
  root: rootFieldSchema,
42
108
  };
43
109
  }
44
110
 
45
- function decode(f: Format): TreeStoredSchema {
111
+ function decode(f: FormatV1): TreeStoredSchema {
46
112
  const nodeSchema: Map<TreeNodeSchemaIdentifier, TreeNodeStoredSchema> = new Map();
47
113
  for (const [key, schema] of Object.entries(f.nodes)) {
48
114
  nodeSchema.set(brand(key), storedSchemaDecodeDispatcher.dispatch(schema));
@@ -55,10 +121,12 @@ function decode(f: Format): TreeStoredSchema {
55
121
 
56
122
  /**
57
123
  * Creates a codec which performs synchronous monolithic encoding of schema content.
124
+ * @param options - Specifies common codec options, including which `validator` to use.
125
+ * @returns The codec.
58
126
  */
59
- export function makeSchemaCodec(options: ICodecOptions): IJsonCodec<TreeStoredSchema, Format> {
60
- return makeVersionedValidatedCodec(options, new Set([schemaFormat.version]), Format, {
61
- encode: (data: TreeStoredSchema) => encodeRepo(data),
62
- decode: (data: Format) => decode(data),
127
+ function makeSchemaCodecV1(options: ICodecOptions): IJsonCodec<TreeStoredSchema, FormatV1> {
128
+ return makeVersionedValidatedCodec(options, new Set([schemaFormatV1.version]), FormatV1, {
129
+ encode: (data: TreeStoredSchema) => encodeRepoV1(data),
130
+ decode: (data: FormatV1) => decode(data),
63
131
  });
64
132
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { type ObjectOptions, type Static, Type } from "@sinclair/typebox";
7
7
 
8
- import { schemaFormat } from "../../core/index.js";
8
+ import { schemaFormatV1 } from "../../core/index.js";
9
9
 
10
10
  const noAdditionalProps: ObjectOptions = { additionalProperties: false };
11
11
 
@@ -21,9 +21,9 @@ const noAdditionalProps: ObjectOptions = { additionalProperties: false };
21
21
  */
22
22
  export const Format = Type.Object(
23
23
  {
24
- version: Type.Literal(schemaFormat.version),
25
- nodes: Type.Record(Type.String(), schemaFormat.TreeNodeSchemaDataFormat),
26
- root: schemaFormat.FieldSchemaFormat,
24
+ version: Type.Literal(schemaFormatV1.version),
25
+ nodes: Type.Record(Type.String(), schemaFormatV1.TreeNodeSchemaDataFormat),
26
+ root: schemaFormatV1.FieldSchemaFormat,
27
27
  },
28
28
  noAdditionalProps,
29
29
  );
@@ -4,5 +4,10 @@
4
4
  */
5
5
 
6
6
  export { SchemaSummarizer, encodeTreeSchema } from "./schemaSummarizer.js";
7
- export { makeSchemaCodec } from "./codec.js";
8
- export { Format } from "./format.js";
7
+ export {
8
+ makeSchemaCodec,
9
+ makeSchemaCodecs,
10
+ SchemaCodecVersion,
11
+ clientVersionToSchemaVersion,
12
+ } from "./codec.js";
13
+ export { Format } from "./formatV1.js";
@@ -14,7 +14,7 @@ import type {
14
14
  } from "@fluidframework/runtime-definitions/internal";
15
15
  import { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal";
16
16
 
17
- import type { ICodecOptions, IJsonCodec } from "../../codec/index.js";
17
+ import type { IJsonCodec } from "../../codec/index.js";
18
18
  import {
19
19
  type MutableTreeStoredSchema,
20
20
  type TreeStoredSchema,
@@ -27,8 +27,8 @@ import type {
27
27
  } from "../../shared-tree-core/index.js";
28
28
  import type { CollabWindow } from "../incrementalSummarizationUtils.js";
29
29
 
30
- import { encodeRepo, makeSchemaCodec } from "./codec.js";
31
- import type { Format } from "./format.js";
30
+ import { encodeRepo } from "./codec.js";
31
+ import type { JsonCompatible } from "../../util/index.js";
32
32
 
33
33
  const schemaStringKey = "SchemaString";
34
34
  /**
@@ -37,16 +37,13 @@ const schemaStringKey = "SchemaString";
37
37
  export class SchemaSummarizer implements Summarizable {
38
38
  public readonly key = "Schema";
39
39
 
40
- private readonly codec: IJsonCodec<TreeStoredSchema, Format>;
41
-
42
40
  private schemaIndexLastChangedSeq: number | undefined;
43
41
 
44
42
  public constructor(
45
43
  private readonly schema: MutableTreeStoredSchema,
46
- options: ICodecOptions,
47
44
  collabWindow: CollabWindow,
45
+ private readonly codec: IJsonCodec<TreeStoredSchema>,
48
46
  ) {
49
- this.codec = makeSchemaCodec(options);
50
47
  this.schema.events.on("afterSchemaChange", () => {
51
48
  // Invalidate the cache, as we need to regenerate the blob if the schema changes
52
49
  // We are assuming that schema changes from remote ops are valid, as we are in a summarization context.
@@ -116,6 +113,9 @@ export class SchemaSummarizer implements Summarizable {
116
113
  * @remarks
117
114
  * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.
118
115
  */
119
- export function encodeTreeSchema(schema: TreeStoredSchema): Format {
120
- return encodeRepo(schema);
116
+ export function encodeTreeSchema(
117
+ schema: TreeStoredSchema,
118
+ writeVersion: number,
119
+ ): JsonCompatible {
120
+ return encodeRepo(schema, writeVersion);
121
121
  }
package/src/index.ts CHANGED
@@ -152,6 +152,20 @@ export {
152
152
  type FactoryContentObject,
153
153
  type ReadableField,
154
154
  type ReadSchema,
155
+ type ImplicitAnnotatedAllowedTypes,
156
+ type ImplicitAnnotatedFieldSchema,
157
+ type AnnotatedAllowedType,
158
+ type AnnotatedAllowedTypes,
159
+ type AllowedTypeMetadata,
160
+ type AllowedTypesMetadata,
161
+ type InsertableObjectFromAnnotatedSchemaRecord,
162
+ type UnannotateImplicitAllowedTypes,
163
+ type UnannotateAllowedTypes,
164
+ type UnannotateAllowedType,
165
+ type UnannotateAllowedTypesList,
166
+ type UnannotateAllowedTypeOrLazyItem,
167
+ type UnannotateImplicitFieldSchema,
168
+ type UnannotateSchemaRecord,
155
169
  // test recursive schema for checking that d.ts files handles schema correctly
156
170
  test_RecursiveObject,
157
171
  test_RecursiveObject_base,
@@ -232,12 +246,15 @@ export {
232
246
  type MapNodePojoEmulationSchema,
233
247
  MapNodeSchema,
234
248
  type ObjectFromSchemaRecord,
249
+ type ValidateRecursiveSchemaTemplate,
250
+ type FixRecursiveRecursionLimit,
235
251
  } from "./simple-tree/index.js";
236
252
  export {
237
253
  SharedTree,
238
254
  configuredSharedTree,
239
255
  } from "./treeFactory.js";
240
256
  export { SharedTreeAttributes, SharedTreeFactoryType } from "./sharedTreeAttributes.js";
257
+ export { persistedToSimpleSchema } from "./shared-tree/index.js";
241
258
 
242
259
  export {
243
260
  type ICodecOptions,
@@ -286,4 +303,4 @@ export type { MapNodeInsertableData } from "./simple-tree/index.js";
286
303
 
287
304
  export { JsonAsTree } from "./jsonDomainSchema.js";
288
305
  export { FluidSerializableAsTree } from "./serializableDomainSchema.js";
289
- export { TableSchema } from "./tableSchema.js";
306
+ export { TableSchema, type System_TableSchema } from "./tableSchema.js";
@@ -19,5 +19,3 @@ export type {
19
19
  InsertableObjectFromSchemaRecord,
20
20
  } from "./simple-tree/index.js";
21
21
  export type { FlexList, FlexListToUnion, ExtractItemType } from "./simple-tree/index.js";
22
-
23
- export type { TreeApi } from "./shared-tree/index.js";
@@ -36,7 +36,7 @@ const sf = new SchemaFactory("com.fluidframework.json");
36
36
  *
37
37
  * 2. The order of fields on an object is not preserved. The resulting order is arbitrary.
38
38
  *
39
- * JSON data can be imported from JSON into this format using `JSON.parse` then {@link TreeAlpha.importConcise} with the {@link JsonAsTree.(Tree:variable)} schema.
39
+ * JSON data can be imported from JSON into this format using `JSON.parse` then {@link (TreeAlpha:interface).importConcise} with the {@link JsonAsTree.(Tree:variable)} schema.
40
40
  *
41
41
  * @alpha
42
42
  */
@@ -125,7 +125,7 @@ export namespace JsonAsTree {
125
125
  /**
126
126
  * Arbitrary JSON array as a {@link TreeNode}.
127
127
  * @remarks
128
- * This can be imported using {@link TreeAlpha.importConcise}.
128
+ * This can be imported using {@link (TreeAlpha:interface).importConcise}.
129
129
  * @example
130
130
  * ```typescript
131
131
  * // Due to TypeScript restrictions on recursive types, the constructor can be somewhat limiting.
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/tree";
9
- export const pkgVersion = "2.33.2";
9
+ export const pkgVersion = "2.40.0";
@@ -21,14 +21,14 @@ const sf = new SchemaFactory("com.fluidframework.serializable");
21
21
  * @remarks
22
22
  * Schema which replicate the Fluid Serializable data model with {@link TreeNode}s.
23
23
  *
24
- * Fluid Serializable data can be imported from the {@link FluidSerializableAsTree.Data|Fluid Serializable format} into this format using {@link TreeAlpha.importConcise} with the {@link FluidSerializableAsTree.(Tree:variable)} schema.
24
+ * Fluid Serializable data can be imported from the {@link FluidSerializableAsTree.Data|Fluid Serializable format} into this format using {@link (TreeAlpha:interface).importConcise} with the {@link FluidSerializableAsTree.(Tree:variable)} schema.
25
25
  * @internal
26
26
  */
27
27
  export namespace FluidSerializableAsTree {
28
28
  /**
29
29
  * Data which can be serialized by Fluid.
30
30
  * @remarks
31
- * Can be encoded as a {@link FluidSerializableAsTree.(Tree:type)} using {@link TreeAlpha.importConcise}.
31
+ * Can be encoded as a {@link FluidSerializableAsTree.(Tree:type)} using {@link (TreeAlpha:interface).importConcise}.
32
32
  * @internal
33
33
  */
34
34
  export type Data = JsonCompatible<IFluidHandle>;
@@ -100,7 +100,7 @@ export namespace FluidSerializableAsTree {
100
100
  /**
101
101
  * Arbitrary Fluid Serializable array as a {@link TreeNode}.
102
102
  * @remarks
103
- * This can be imported using {@link TreeAlpha.importConcise}.
103
+ * This can be imported using {@link (TreeAlpha:interface).importConcise}.
104
104
  * @example
105
105
  * ```typescript
106
106
  * // Due to TypeScript restrictions on recursive types, the constructor can be somewhat limiting.
@@ -23,9 +23,10 @@ import {
23
23
  defaultSchemaPolicy,
24
24
  TreeCompressionStrategy,
25
25
  initializeForest,
26
+ SchemaCodecVersion,
26
27
  } from "../feature-libraries/index.js";
27
28
  // eslint-disable-next-line import/no-internal-modules
28
- import type { Format } from "../feature-libraries/schema-index/format.js";
29
+ import type { Format } from "../feature-libraries/schema-index/formatV1.js";
29
30
  import type {
30
31
  TreeViewConfiguration,
31
32
  ImplicitFieldSchema,
@@ -92,7 +93,7 @@ export function independentInitializedView<const TSchema extends ImplicitFieldSc
92
93
  const revisionTagCodec = new RevisionTagCodec(idCompressor);
93
94
 
94
95
  const fieldBatchCodec = makeFieldBatchCodec(options, 1);
95
- const schemaCodec = makeSchemaCodec(options);
96
+ const schemaCodec = makeSchemaCodec(options, SchemaCodecVersion.v1);
96
97
 
97
98
  const schema = new TreeStoredSchemaRepository(schemaCodec.decode(content.schema as Format));
98
99
  const forest = buildConfiguredForest(
@@ -134,7 +135,7 @@ export function independentInitializedView<const TSchema extends ImplicitFieldSc
134
135
  */
135
136
  export interface ViewContent {
136
137
  /**
137
- * Compressed tree from {@link TreeAlpha.exportCompressed}.
138
+ * Compressed tree from {@link (TreeAlpha:interface).exportCompressed}.
138
139
  * @remarks
139
140
  * This is an owning reference:
140
141
  * consumers of this content might modify this data in place (for example when applying edits) to avoid copying.
@@ -21,6 +21,8 @@ export {
21
21
  ForestTypeExpensiveDebug,
22
22
  ForestTypeReference,
23
23
  exportSimpleSchema,
24
+ type SharedTreeKernelView,
25
+ persistedToSimpleSchema,
24
26
  } from "./sharedTree.js";
25
27
 
26
28
  export {
@@ -45,13 +47,10 @@ export type {
45
47
  SharedTreeEditBuilder,
46
48
  } from "./sharedTreeEditBuilder.js";
47
49
 
48
- export {
49
- treeApi as Tree,
50
- type TreeApi,
51
- type RunTransaction,
52
- } from "./treeApi.js";
50
+ export { Tree } from "./tree.js";
51
+ export type { RunTransaction } from "./tree.js";
53
52
 
54
- export { TreeAlpha } from "./treeApiAlpha.js";
53
+ export { TreeAlpha } from "./treeAlpha.js";
55
54
 
56
55
  export {
57
56
  independentInitializedView,