@fluidframework/tree 2.102.0 → 2.110.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 (495) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/api-report/tree.alpha.api.md +12 -3
  3. package/api-report/tree.beta.api.md +11 -3
  4. package/api-report/tree.legacy.beta.api.md +11 -3
  5. package/dist/codec/versioned/format.d.ts +5 -4
  6. package/dist/codec/versioned/format.d.ts.map +1 -1
  7. package/dist/codec/versioned/format.js +4 -3
  8. package/dist/codec/versioned/format.js.map +1 -1
  9. package/dist/core/rebase/types.d.ts +4 -3
  10. package/dist/core/rebase/types.d.ts.map +1 -1
  11. package/dist/core/rebase/types.js +5 -4
  12. package/dist/core/rebase/types.js.map +1 -1
  13. package/dist/core/schema-stored/formatV1.d.ts +16 -15
  14. package/dist/core/schema-stored/formatV1.d.ts.map +1 -1
  15. package/dist/core/schema-stored/formatV1.js +9 -8
  16. package/dist/core/schema-stored/formatV1.js.map +1 -1
  17. package/dist/core/schema-stored/formatV2.d.ts +29 -28
  18. package/dist/core/schema-stored/formatV2.d.ts.map +1 -1
  19. package/dist/core/schema-stored/formatV2.js +11 -10
  20. package/dist/core/schema-stored/formatV2.js.map +1 -1
  21. package/dist/core/schema-stored/index.js +3 -25
  22. package/dist/core/schema-stored/index.js.map +1 -1
  23. package/dist/core/tree/anchorSet.js +4 -8
  24. package/dist/core/tree/anchorSet.js.map +1 -1
  25. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
  26. package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  27. package/dist/core/tree/detachedFieldIndexFormatCommon.js +11 -10
  28. package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  29. package/dist/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
  30. package/dist/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
  31. package/dist/core/tree/detachedFieldIndexFormatV2.js +3 -2
  32. package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
  33. package/dist/core/tree/persistedTreeTextFormat.d.ts +19 -18
  34. package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  35. package/dist/core/tree/persistedTreeTextFormat.js +11 -10
  36. package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
  37. package/dist/entrypoints/internal.js +2 -15
  38. package/dist/entrypoints/internal.js.map +1 -1
  39. package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  40. package/dist/feature-libraries/chunked-forest/chunkTree.js +1 -1
  41. package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  42. package/dist/feature-libraries/chunked-forest/chunkedForest.js +7 -11
  43. package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  44. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
  45. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
  46. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js +14 -13
  47. package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
  48. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
  49. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
  50. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +19 -18
  51. package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
  52. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
  53. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
  54. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +5 -4
  55. package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
  56. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
  57. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
  58. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js +8 -7
  59. package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
  60. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
  61. package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  62. package/dist/feature-libraries/chunked-forest/uniformChunk.js +101 -36
  63. package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  64. package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  65. package/dist/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
  66. package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  67. package/dist/feature-libraries/flex-tree/lazyEntity.js +9 -19
  68. package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  69. package/dist/feature-libraries/flex-tree/lazyNode.js +3 -13
  70. package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  71. package/dist/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
  72. package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
  73. package/dist/feature-libraries/forest-summary/formatCommon.js +4 -3
  74. package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
  75. package/dist/feature-libraries/index.js +2 -24
  76. package/dist/feature-libraries/index.js.map +1 -1
  77. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
  78. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  79. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +4 -3
  80. package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  81. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  82. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
  83. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  84. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
  85. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  86. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js +26 -25
  87. package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  88. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
  89. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  90. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +7 -6
  91. package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  92. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
  93. package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  94. package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  95. package/dist/feature-libraries/object-forest/objectForest.js +11 -55
  96. package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
  97. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
  98. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  99. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +9 -8
  100. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
  101. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
  102. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  103. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +12 -11
  104. package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
  105. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
  106. package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  107. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +3 -2
  108. package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  109. package/dist/feature-libraries/schema-index/formatV1.d.ts +15 -14
  110. package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
  111. package/dist/feature-libraries/schema-index/formatV1.js +5 -4
  112. package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
  113. package/dist/feature-libraries/schema-index/formatV2.d.ts +20 -19
  114. package/dist/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
  115. package/dist/feature-libraries/schema-index/formatV2.js +5 -4
  116. package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
  117. package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  118. package/dist/feature-libraries/sequence-field/compose.js +1 -3
  119. package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
  120. package/dist/feature-libraries/sequence-field/formatV1.d.ts +283 -282
  121. package/dist/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
  122. package/dist/feature-libraries/sequence-field/formatV1.js +41 -40
  123. package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
  124. package/dist/feature-libraries/sequence-field/formatV2.d.ts +180 -179
  125. package/dist/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  126. package/dist/feature-libraries/sequence-field/formatV2.js +33 -32
  127. package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
  128. package/dist/feature-libraries/sequence-field/formatV3.d.ts +126 -125
  129. package/dist/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
  130. package/dist/feature-libraries/sequence-field/formatV3.js +5 -4
  131. package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
  132. package/dist/index.js +2 -24
  133. package/dist/index.js.map +1 -1
  134. package/dist/packageVersion.d.ts +1 -1
  135. package/dist/packageVersion.js +1 -1
  136. package/dist/packageVersion.js.map +1 -1
  137. package/dist/shared-tree/schematizingTreeView.d.ts +1 -0
  138. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  139. package/dist/shared-tree/schematizingTreeView.js +7 -41
  140. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  141. package/dist/shared-tree/sharedTree.d.ts +2 -3
  142. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  143. package/dist/shared-tree/sharedTree.js +6 -45
  144. package/dist/shared-tree/sharedTree.js.map +1 -1
  145. package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  146. package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  147. package/dist/shared-tree/sharedTreeChangeFormat.js +6 -5
  148. package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  149. package/dist/shared-tree/treeCheckout.d.ts +14 -5
  150. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  151. package/dist/shared-tree/treeCheckout.js +106 -136
  152. package/dist/shared-tree/treeCheckout.js.map +1 -1
  153. package/dist/shared-tree-core/branch.js +13 -17
  154. package/dist/shared-tree-core/branch.js.map +1 -1
  155. package/dist/shared-tree-core/editManager.d.ts +2 -2
  156. package/dist/shared-tree-core/editManager.d.ts.map +1 -1
  157. package/dist/shared-tree-core/editManager.js.map +1 -1
  158. package/dist/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
  159. package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  160. package/dist/shared-tree-core/editManagerFormatCommons.js +17 -16
  161. package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  162. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
  163. package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  164. package/dist/shared-tree-core/editManagerFormatV1toV4.js +11 -10
  165. package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  166. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
  167. package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  168. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +5 -4
  169. package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  170. package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  171. package/dist/shared-tree-core/messageCodecVSharedBranches.js +3 -2
  172. package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  173. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
  174. package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  175. package/dist/shared-tree-core/messageFormatV1ToV4.js +9 -8
  176. package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  177. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
  178. package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  179. package/dist/shared-tree-core/messageFormatVSharedBranches.js +7 -6
  180. package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  181. package/dist/shared-tree-core/sharedTreeCore.js +6 -43
  182. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  183. package/dist/shared-tree-core/transaction.js +20 -30
  184. package/dist/shared-tree-core/transaction.js.map +1 -1
  185. package/dist/simple-tree/api/simpleSchemaCodec.js +2 -24
  186. package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
  187. package/dist/simple-tree/api/snapshotCompatibilityChecker.js +2 -24
  188. package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  189. package/dist/simple-tree/api/tree.d.ts +10 -0
  190. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  191. package/dist/simple-tree/api/tree.js.map +1 -1
  192. package/dist/simple-tree/core/treeNodeKernel.d.ts +5 -0
  193. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  194. package/dist/simple-tree/core/treeNodeKernel.js +119 -105
  195. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  196. package/dist/simple-tree/core/unhydratedFlexTree.js +6 -10
  197. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  198. package/dist/simple-tree/leafNodeSchema.js +2 -12
  199. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  200. package/dist/simple-tree/node-kinds/array/arrayNode.js +2 -6
  201. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  202. package/dist/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
  203. package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  204. package/dist/simple-tree/simpleSchemaFormatV1.js +32 -31
  205. package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  206. package/dist/tableSchema.d.ts +50 -4
  207. package/dist/tableSchema.d.ts.map +1 -1
  208. package/dist/tableSchema.js +202 -106
  209. package/dist/tableSchema.js.map +1 -1
  210. package/dist/util/arrayUtilities.d.ts +20 -0
  211. package/dist/util/arrayUtilities.d.ts.map +1 -1
  212. package/dist/util/arrayUtilities.js +24 -1
  213. package/dist/util/arrayUtilities.js.map +1 -1
  214. package/dist/util/index.d.ts +1 -1
  215. package/dist/util/index.d.ts.map +1 -1
  216. package/dist/util/index.js +3 -2
  217. package/dist/util/index.js.map +1 -1
  218. package/dist/util/rangeMap.d.ts +13 -0
  219. package/dist/util/rangeMap.d.ts.map +1 -1
  220. package/dist/util/rangeMap.js +69 -8
  221. package/dist/util/rangeMap.js.map +1 -1
  222. package/dist/util/typeboxBrand.d.ts +1 -1
  223. package/dist/util/typeboxBrand.d.ts.map +1 -1
  224. package/dist/util/typeboxBrand.js +4 -3
  225. package/dist/util/typeboxBrand.js.map +1 -1
  226. package/dist/util/utils.d.ts +2 -2
  227. package/dist/util/utils.d.ts.map +1 -1
  228. package/dist/util/utils.js +3 -2
  229. package/dist/util/utils.js.map +1 -1
  230. package/eslint.config.mts +14 -0
  231. package/lib/codec/versioned/format.d.ts +5 -4
  232. package/lib/codec/versioned/format.d.ts.map +1 -1
  233. package/lib/codec/versioned/format.js +1 -1
  234. package/lib/codec/versioned/format.js.map +1 -1
  235. package/lib/core/rebase/types.d.ts +4 -3
  236. package/lib/core/rebase/types.d.ts.map +1 -1
  237. package/lib/core/rebase/types.js +1 -1
  238. package/lib/core/rebase/types.js.map +1 -1
  239. package/lib/core/schema-stored/formatV1.d.ts +16 -15
  240. package/lib/core/schema-stored/formatV1.d.ts.map +1 -1
  241. package/lib/core/schema-stored/formatV1.js +1 -1
  242. package/lib/core/schema-stored/formatV1.js.map +1 -1
  243. package/lib/core/schema-stored/formatV2.d.ts +29 -28
  244. package/lib/core/schema-stored/formatV2.d.ts.map +1 -1
  245. package/lib/core/schema-stored/formatV2.js +1 -1
  246. package/lib/core/schema-stored/formatV2.js.map +1 -1
  247. package/lib/core/tree/anchorSet.js +1 -5
  248. package/lib/core/tree/anchorSet.js.map +1 -1
  249. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
  250. package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
  251. package/lib/core/tree/detachedFieldIndexFormatCommon.js +1 -1
  252. package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
  253. package/lib/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
  254. package/lib/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
  255. package/lib/core/tree/detachedFieldIndexFormatV2.js +1 -1
  256. package/lib/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
  257. package/lib/core/tree/persistedTreeTextFormat.d.ts +19 -18
  258. package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
  259. package/lib/core/tree/persistedTreeTextFormat.js +1 -1
  260. package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
  261. package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
  262. package/lib/feature-libraries/chunked-forest/chunkTree.js +1 -1
  263. package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
  264. package/lib/feature-libraries/chunked-forest/chunkedForest.js +1 -5
  265. package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
  266. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
  267. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
  268. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js +1 -1
  269. package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
  270. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
  271. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
  272. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +1 -1
  273. package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
  274. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
  275. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
  276. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +1 -1
  277. package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
  278. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
  279. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
  280. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js +1 -1
  281. package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
  282. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
  283. package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
  284. package/lib/feature-libraries/chunked-forest/uniformChunk.js +101 -36
  285. package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
  286. package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
  287. package/lib/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
  288. package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
  289. package/lib/feature-libraries/flex-tree/lazyEntity.js +1 -11
  290. package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
  291. package/lib/feature-libraries/flex-tree/lazyNode.js +1 -11
  292. package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
  293. package/lib/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
  294. package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
  295. package/lib/feature-libraries/forest-summary/formatCommon.js +1 -1
  296. package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -1
  297. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
  298. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
  299. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
  300. package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
  301. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  302. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
  303. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  304. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
  305. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
  306. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js +1 -1
  307. package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
  308. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
  309. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
  310. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +1 -1
  311. package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
  312. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
  313. package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
  314. package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
  315. package/lib/feature-libraries/object-forest/objectForest.js +1 -45
  316. package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
  317. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
  318. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
  319. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +1 -1
  320. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
  321. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
  322. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
  323. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +1 -1
  324. package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
  325. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
  326. package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
  327. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +1 -1
  328. package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
  329. package/lib/feature-libraries/schema-index/formatV1.d.ts +15 -14
  330. package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
  331. package/lib/feature-libraries/schema-index/formatV1.js +1 -1
  332. package/lib/feature-libraries/schema-index/formatV1.js.map +1 -1
  333. package/lib/feature-libraries/schema-index/formatV2.d.ts +20 -19
  334. package/lib/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
  335. package/lib/feature-libraries/schema-index/formatV2.js +1 -1
  336. package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
  337. package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
  338. package/lib/feature-libraries/sequence-field/compose.js +1 -3
  339. package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
  340. package/lib/feature-libraries/sequence-field/formatV1.d.ts +283 -282
  341. package/lib/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
  342. package/lib/feature-libraries/sequence-field/formatV1.js +1 -1
  343. package/lib/feature-libraries/sequence-field/formatV1.js.map +1 -1
  344. package/lib/feature-libraries/sequence-field/formatV2.d.ts +180 -179
  345. package/lib/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
  346. package/lib/feature-libraries/sequence-field/formatV2.js +1 -1
  347. package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
  348. package/lib/feature-libraries/sequence-field/formatV3.d.ts +126 -125
  349. package/lib/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
  350. package/lib/feature-libraries/sequence-field/formatV3.js +1 -1
  351. package/lib/feature-libraries/sequence-field/formatV3.js.map +1 -1
  352. package/lib/packageVersion.d.ts +1 -1
  353. package/lib/packageVersion.js +1 -1
  354. package/lib/packageVersion.js.map +1 -1
  355. package/lib/shared-tree/schematizingTreeView.d.ts +1 -0
  356. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  357. package/lib/shared-tree/schematizingTreeView.js +4 -38
  358. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  359. package/lib/shared-tree/sharedTree.d.ts +2 -3
  360. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  361. package/lib/shared-tree/sharedTree.js +2 -41
  362. package/lib/shared-tree/sharedTree.js.map +1 -1
  363. package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
  364. package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
  365. package/lib/shared-tree/sharedTreeChangeFormat.js +1 -1
  366. package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
  367. package/lib/shared-tree/treeCheckout.d.ts +14 -5
  368. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  369. package/lib/shared-tree/treeCheckout.js +63 -93
  370. package/lib/shared-tree/treeCheckout.js.map +1 -1
  371. package/lib/shared-tree-core/branch.js +1 -5
  372. package/lib/shared-tree-core/branch.js.map +1 -1
  373. package/lib/shared-tree-core/editManager.d.ts +2 -2
  374. package/lib/shared-tree-core/editManager.d.ts.map +1 -1
  375. package/lib/shared-tree-core/editManager.js.map +1 -1
  376. package/lib/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
  377. package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
  378. package/lib/shared-tree-core/editManagerFormatCommons.js +1 -1
  379. package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
  380. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
  381. package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
  382. package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -1
  383. package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
  384. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
  385. package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
  386. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js +1 -1
  387. package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
  388. package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
  389. package/lib/shared-tree-core/messageCodecVSharedBranches.js +1 -1
  390. package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
  391. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
  392. package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
  393. package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -1
  394. package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
  395. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
  396. package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
  397. package/lib/shared-tree-core/messageFormatVSharedBranches.js +1 -1
  398. package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
  399. package/lib/shared-tree-core/sharedTreeCore.js +1 -38
  400. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  401. package/lib/shared-tree-core/transaction.js +1 -11
  402. package/lib/shared-tree-core/transaction.js.map +1 -1
  403. package/lib/simple-tree/api/tree.d.ts +10 -0
  404. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  405. package/lib/simple-tree/api/tree.js.map +1 -1
  406. package/lib/simple-tree/core/treeNodeKernel.d.ts +5 -0
  407. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  408. package/lib/simple-tree/core/treeNodeKernel.js +36 -23
  409. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  410. package/lib/simple-tree/core/unhydratedFlexTree.js +1 -5
  411. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  412. package/lib/simple-tree/leafNodeSchema.js +1 -11
  413. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  414. package/lib/simple-tree/node-kinds/array/arrayNode.js +1 -5
  415. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  416. package/lib/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
  417. package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
  418. package/lib/simple-tree/simpleSchemaFormatV1.js +1 -1
  419. package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -1
  420. package/lib/tableSchema.d.ts +50 -4
  421. package/lib/tableSchema.d.ts.map +1 -1
  422. package/lib/tableSchema.js +171 -75
  423. package/lib/tableSchema.js.map +1 -1
  424. package/lib/util/arrayUtilities.d.ts +20 -0
  425. package/lib/util/arrayUtilities.d.ts.map +1 -1
  426. package/lib/util/arrayUtilities.js +22 -0
  427. package/lib/util/arrayUtilities.js.map +1 -1
  428. package/lib/util/index.d.ts +1 -1
  429. package/lib/util/index.d.ts.map +1 -1
  430. package/lib/util/index.js +1 -1
  431. package/lib/util/index.js.map +1 -1
  432. package/lib/util/rangeMap.d.ts +13 -0
  433. package/lib/util/rangeMap.d.ts.map +1 -1
  434. package/lib/util/rangeMap.js +69 -8
  435. package/lib/util/rangeMap.js.map +1 -1
  436. package/lib/util/typeboxBrand.d.ts +1 -1
  437. package/lib/util/typeboxBrand.d.ts.map +1 -1
  438. package/lib/util/typeboxBrand.js +1 -1
  439. package/lib/util/typeboxBrand.js.map +1 -1
  440. package/lib/util/utils.d.ts +2 -2
  441. package/lib/util/utils.d.ts.map +1 -1
  442. package/lib/util/utils.js +1 -1
  443. package/lib/util/utils.js.map +1 -1
  444. package/package.json +24 -23
  445. package/src/codec/versioned/format.ts +2 -1
  446. package/src/core/rebase/types.ts +1 -1
  447. package/src/core/schema-stored/formatV1.ts +2 -1
  448. package/src/core/schema-stored/formatV2.ts +2 -1
  449. package/src/core/tree/detachedFieldIndexFormatCommon.ts +2 -1
  450. package/src/core/tree/detachedFieldIndexFormatV2.ts +2 -1
  451. package/src/core/tree/persistedTreeTextFormat.ts +2 -1
  452. package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -2
  453. package/src/feature-libraries/chunked-forest/codec/format/formatGeneric.ts +2 -1
  454. package/src/feature-libraries/chunked-forest/codec/format/formatV1.ts +2 -1
  455. package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +2 -1
  456. package/src/feature-libraries/chunked-forest/codec/format/formatVText.ts +2 -1
  457. package/src/feature-libraries/chunked-forest/uniformChunk.ts +131 -44
  458. package/src/feature-libraries/default-schema/defaultEditBuilder.ts +36 -14
  459. package/src/feature-libraries/forest-summary/formatCommon.ts +2 -1
  460. package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +2 -1
  461. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +14 -47
  462. package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +2 -1
  463. package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +2 -1
  464. package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -5
  465. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV1.ts +2 -1
  466. package/src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts +2 -1
  467. package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +2 -1
  468. package/src/feature-libraries/schema-index/formatV1.ts +2 -1
  469. package/src/feature-libraries/schema-index/formatV2.ts +2 -1
  470. package/src/feature-libraries/sequence-field/compose.ts +1 -4
  471. package/src/feature-libraries/sequence-field/formatV1.ts +2 -1
  472. package/src/feature-libraries/sequence-field/formatV2.ts +2 -1
  473. package/src/feature-libraries/sequence-field/formatV3.ts +2 -1
  474. package/src/packageVersion.ts +1 -1
  475. package/src/shared-tree/schematizingTreeView.ts +4 -0
  476. package/src/shared-tree/sharedTree.ts +3 -10
  477. package/src/shared-tree/sharedTreeChangeFormat.ts +2 -1
  478. package/src/shared-tree/treeCheckout.ts +61 -56
  479. package/src/shared-tree-core/editManager.ts +2 -2
  480. package/src/shared-tree-core/editManagerFormatCommons.ts +2 -1
  481. package/src/shared-tree-core/editManagerFormatV1toV4.ts +2 -1
  482. package/src/shared-tree-core/editManagerFormatVSharedBranches.ts +2 -1
  483. package/src/shared-tree-core/messageCodecVSharedBranches.ts +2 -1
  484. package/src/shared-tree-core/messageFormatV1ToV4.ts +2 -1
  485. package/src/shared-tree-core/messageFormatVSharedBranches.ts +2 -1
  486. package/src/simple-tree/api/tree.ts +11 -0
  487. package/src/simple-tree/core/treeNodeKernel.ts +39 -15
  488. package/src/simple-tree/simpleSchemaFormatV1.ts +2 -1
  489. package/src/tableSchema.ts +306 -80
  490. package/src/util/arrayUtilities.ts +35 -0
  491. package/src/util/index.ts +2 -0
  492. package/src/util/rangeMap.ts +108 -9
  493. package/src/util/typeboxBrand.ts +2 -1
  494. package/src/util/utils.ts +2 -1
  495. package/tsconfig.json +5 -0
@@ -2,16 +2,17 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { type Static } from "@sinclair/typebox";
5
+ import * as Type from "@sinclair/typebox";
6
+ import type { Static } from "@sinclair/typebox";
6
7
  import { type ChangesetLocalId, schemaFormatV1 } from "../../core/index.js";
7
8
  import { type JsonCompatibleReadOnly } from "../../util/index.js";
8
- export declare const ChangesetLocalIdSchema: import("@sinclair/typebox").TUnsafe<ChangesetLocalId>;
9
- export declare const EncodedChangeAtomId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TUnsafe<ChangesetLocalId>]>;
9
+ export declare const ChangesetLocalIdSchema: Type.TUnsafe<ChangesetLocalId>;
10
+ export declare const EncodedChangeAtomId: Type.TUnion<[Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TUnsafe<ChangesetLocalId>]>;
10
11
  export type EncodedChangeAtomId = Static<typeof EncodedChangeAtomId>;
11
- export declare const EncodedFieldChange: import("@sinclair/typebox").TObject<{
12
- fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKey>;
13
- fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKindIdentifier>;
14
- change: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
12
+ export declare const EncodedFieldChange: Type.TObject<{
13
+ fieldKey: Type.TUnsafe<schemaFormatV1.FieldKey>;
14
+ fieldKind: Type.TUnsafe<schemaFormatV1.FieldKindIdentifier>;
15
+ change: Type.TUnsafe<JsonCompatibleReadOnly>;
15
16
  }>;
16
17
  export interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {
17
18
  /**
@@ -19,10 +20,10 @@ export interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {
19
20
  */
20
21
  change: JsonCompatibleReadOnly;
21
22
  }
22
- export declare const EncodedFieldChangeMap: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
23
- fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKey>;
24
- fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKindIdentifier>;
25
- change: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
23
+ export declare const EncodedFieldChangeMap: Type.TArray<Type.TObject<{
24
+ fieldKey: Type.TUnsafe<schemaFormatV1.FieldKey>;
25
+ fieldKind: Type.TUnsafe<schemaFormatV1.FieldKindIdentifier>;
26
+ change: Type.TUnsafe<JsonCompatibleReadOnly>;
26
27
  }>>;
27
28
  /**
28
29
  * Format for encoding as json.
@@ -32,70 +33,70 @@ export declare const EncodedFieldChangeMap: import("@sinclair/typebox").TArray<i
32
33
  * which can sometimes be an issue (for example handling that for "__proto__" can require care).
33
34
  */
34
35
  export type EncodedFieldChangeMap = Static<typeof EncodedFieldChangeMap>;
35
- export declare const EncodedNodeChangeset: import("@sinclair/typebox").TObject<{
36
- fieldChanges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
37
- fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKey>;
38
- fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKindIdentifier>;
39
- change: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
36
+ export declare const EncodedNodeChangeset: Type.TObject<{
37
+ fieldChanges: Type.TOptional<Type.TArray<Type.TObject<{
38
+ fieldKey: Type.TUnsafe<schemaFormatV1.FieldKey>;
39
+ fieldKind: Type.TUnsafe<schemaFormatV1.FieldKindIdentifier>;
40
+ change: Type.TUnsafe<JsonCompatibleReadOnly>;
40
41
  }>>>;
41
- nodeExistsConstraint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
42
- violated: import("@sinclair/typebox").TBoolean;
42
+ nodeExistsConstraint: Type.TOptional<Type.TObject<{
43
+ violated: Type.TBoolean;
43
44
  }>>;
44
45
  }>;
45
46
  /**
46
47
  * Format for encoding as json.
47
48
  */
48
49
  export type EncodedNodeChangeset = Static<typeof EncodedNodeChangeset>;
49
- export declare const EncodedRevisionInfo: import("@sinclair/typebox").TObject<{
50
- revision: import("@sinclair/typebox").TReadonly<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
51
- rollbackOf: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
50
+ export declare const EncodedRevisionInfo: Type.TObject<{
51
+ revision: Type.TReadonly<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
52
+ rollbackOf: Type.TReadonly<Type.TOptional<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>>;
52
53
  }>;
53
54
  export type EncodedRevisionInfo = Static<typeof EncodedRevisionInfo>;
54
55
  /**
55
56
  * Index of field in an EncodedFieldBatch.
56
57
  */
57
- export declare const EncodedTreeIndex: import("@sinclair/typebox").TNumber;
58
- export declare const CommitBuilds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>;
58
+ export declare const EncodedTreeIndex: Type.TNumber;
59
+ export declare const CommitBuilds: Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>;
59
60
  export type CommitBuilds = Static<typeof CommitBuilds>;
60
- export declare const EncodedBuildsArray: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
61
+ export declare const EncodedBuildsArray: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>]>]>>;
61
62
  export type EncodedBuildsArray = Static<typeof EncodedBuildsArray>;
62
- export declare const EncodedBuilds: import("@sinclair/typebox").TObject<{
63
- builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
63
+ export declare const EncodedBuilds: Type.TObject<{
64
+ builds: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>]>]>>;
64
65
  /**
65
66
  * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.
66
67
  */
67
- trees: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
68
+ trees: Type.TUnsafe<JsonCompatibleReadOnly>;
68
69
  }>;
69
70
  export type EncodedBuilds = Static<typeof EncodedBuilds>;
70
- export declare const EncodedModularChangesetV1: import("@sinclair/typebox").TObject<{
71
- maxId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<ChangesetLocalId>>;
72
- changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
73
- fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKey>;
74
- fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormatV1.FieldKindIdentifier>;
75
- change: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
71
+ export declare const EncodedModularChangesetV1: Type.TObject<{
72
+ maxId: Type.TOptional<Type.TUnsafe<ChangesetLocalId>>;
73
+ changes: Type.TArray<Type.TObject<{
74
+ fieldKey: Type.TUnsafe<schemaFormatV1.FieldKey>;
75
+ fieldKind: Type.TUnsafe<schemaFormatV1.FieldKindIdentifier>;
76
+ change: Type.TUnsafe<JsonCompatibleReadOnly>;
76
77
  }>>;
77
- revisions: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
78
- revision: import("@sinclair/typebox").TReadonly<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
79
- rollbackOf: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
80
- }>>>;
81
- builds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
82
- builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
78
+ revisions: Type.TReadonly<Type.TOptional<Type.TArray<Type.TObject<{
79
+ revision: Type.TReadonly<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
80
+ rollbackOf: Type.TReadonly<Type.TOptional<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>>;
81
+ }>>>>;
82
+ builds: Type.TOptional<Type.TObject<{
83
+ builds: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>]>]>>;
83
84
  /**
84
85
  * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.
85
86
  */
86
- trees: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
87
+ trees: Type.TUnsafe<JsonCompatibleReadOnly>;
87
88
  }>>;
88
- refreshers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
89
- builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
89
+ refreshers: Type.TOptional<Type.TObject<{
90
+ builds: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<ChangesetLocalId>, Type.TNumber]>>]>]>>;
90
91
  /**
91
92
  * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.
92
93
  */
93
- trees: import("@sinclair/typebox").TUnsafe<JsonCompatibleReadOnly>;
94
+ trees: Type.TUnsafe<JsonCompatibleReadOnly>;
94
95
  }>>;
95
96
  /**
96
97
  * The number of constraints within this changeset that are violated.
97
98
  */
98
- violations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
99
+ violations: Type.TOptional<Type.TNumber>;
99
100
  }>;
100
101
  export type EncodedModularChangesetV1 = Static<typeof EncodedModularChangesetV1>;
101
102
  //# sourceMappingURL=modularChangeFormatV1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeFormatV1.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV1.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,KAAK,gBAAgB,EAAqB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,sBAAsB,uDAEjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,2aAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;EAU9B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,OAAO,kBAAkB,CAAC;IAC5E;;OAEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAC/B;AAED,eAAO,MAAM,qBAAqB;;;;GAAiC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAUzE,eAAO,MAAM,oBAAoB;;;;;;;;;EAMhC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;EAM/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,gBAAgB,qCAA6C,CAAC;AAE3E,eAAO,MAAM,YAAY,sKAOxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD,eAAO,MAAM,kBAAkB,mtBAM9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,eAAO,MAAM,aAAa;;IAGxB;;OAEG;;EAIJ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;QAVpC;;WAEG;;;;;QAFH;;WAEG;;;IAiBH;;OAEG;;EAIJ,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"modularChangeFormatV1.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV1.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,KAAK,gBAAgB,EAAqB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,sBAAsB,gCAEjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,0QAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;EAU9B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,OAAO,kBAAkB,CAAC;IAC5E;;OAEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAC/B;AAED,eAAO,MAAM,qBAAqB;;;;GAAiC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAUzE,eAAO,MAAM,oBAAoB;;;;;;;;;EAMhC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;EAM/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,gBAAgB,cAA6C,CAAC;AAE3E,eAAO,MAAM,YAAY,0EAOxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD,eAAO,MAAM,kBAAkB,0XAM9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,eAAO,MAAM,aAAa;;IAGxB;;OAEG;;EAIJ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;QAVpC;;WAEG;;;;;QAFH;;WAEG;;;IAiBH;;OAEG;;EAIJ,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -5,18 +5,19 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.EncodedModularChangesetV1 = exports.EncodedBuilds = exports.EncodedBuildsArray = exports.CommitBuilds = exports.EncodedTreeIndex = exports.EncodedRevisionInfo = exports.EncodedNodeChangeset = exports.EncodedFieldChangeMap = exports.EncodedFieldChange = exports.EncodedChangeAtomId = exports.ChangesetLocalIdSchema = void 0;
8
- const typebox_1 = require("@sinclair/typebox");
8
+ const tslib_1 = require("tslib");
9
+ const Type = tslib_1.__importStar(require("@sinclair/typebox"));
9
10
  const index_js_1 = require("../../core/index.js");
10
11
  const index_js_2 = require("../../util/index.js");
11
12
  const noAdditionalProps = { additionalProperties: false };
12
13
  exports.ChangesetLocalIdSchema = (0, index_js_2.brandedNumberType)({
13
14
  multipleOf: 1,
14
15
  });
15
- exports.EncodedChangeAtomId = typebox_1.Type.Union([
16
- typebox_1.Type.Tuple([exports.ChangesetLocalIdSchema, index_js_1.RevisionTagSchema]),
16
+ exports.EncodedChangeAtomId = Type.Union([
17
+ Type.Tuple([exports.ChangesetLocalIdSchema, index_js_1.RevisionTagSchema]),
17
18
  exports.ChangesetLocalIdSchema,
18
19
  ]);
19
- exports.EncodedFieldChange = typebox_1.Type.Object({
20
+ exports.EncodedFieldChange = Type.Object({
20
21
  fieldKey: index_js_1.schemaFormatV1.FieldKeySchema,
21
22
  fieldKind: index_js_1.schemaFormatV1.FieldKindIdentifierSchema,
22
23
  // Implementation note: node and field change encoding is mutually recursive.
@@ -24,51 +25,51 @@ exports.EncodedFieldChange = typebox_1.Type.Object({
24
25
  // recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.
25
26
  change: index_js_2.JsonCompatibleReadOnlySchema,
26
27
  }, noAdditionalProps);
27
- exports.EncodedFieldChangeMap = typebox_1.Type.Array(exports.EncodedFieldChange);
28
- const EncodedNodeExistsConstraint = typebox_1.Type.Object({
29
- violated: typebox_1.Type.Boolean(),
28
+ exports.EncodedFieldChangeMap = Type.Array(exports.EncodedFieldChange);
29
+ const EncodedNodeExistsConstraint = Type.Object({
30
+ violated: Type.Boolean(),
30
31
  }, noAdditionalProps);
31
- exports.EncodedNodeChangeset = typebox_1.Type.Object({
32
- fieldChanges: typebox_1.Type.Optional(exports.EncodedFieldChangeMap),
33
- nodeExistsConstraint: typebox_1.Type.Optional(EncodedNodeExistsConstraint),
32
+ exports.EncodedNodeChangeset = Type.Object({
33
+ fieldChanges: Type.Optional(exports.EncodedFieldChangeMap),
34
+ nodeExistsConstraint: Type.Optional(EncodedNodeExistsConstraint),
34
35
  }, noAdditionalProps);
35
- exports.EncodedRevisionInfo = typebox_1.Type.Object({
36
- revision: typebox_1.Type.Readonly(index_js_1.RevisionTagSchema),
37
- rollbackOf: typebox_1.Type.ReadonlyOptional(index_js_1.RevisionTagSchema),
36
+ exports.EncodedRevisionInfo = Type.Object({
37
+ revision: Type.Readonly(index_js_1.RevisionTagSchema),
38
+ rollbackOf: Type.ReadonlyOptional(index_js_1.RevisionTagSchema),
38
39
  }, noAdditionalProps);
39
40
  /**
40
41
  * Index of field in an EncodedFieldBatch.
41
42
  */
42
- exports.EncodedTreeIndex = typebox_1.Type.Number({ multipleOf: 1, minimum: 0 });
43
- exports.CommitBuilds = typebox_1.Type.Array(typebox_1.Type.Tuple([
43
+ exports.EncodedTreeIndex = Type.Number({ multipleOf: 1, minimum: 0 });
44
+ exports.CommitBuilds = Type.Array(Type.Tuple([
44
45
  // ID for first node
45
46
  exports.ChangesetLocalIdSchema,
46
47
  // Index for a TreeChunk that represents all the nodes
47
48
  exports.EncodedTreeIndex,
48
49
  ]));
49
- exports.EncodedBuildsArray = typebox_1.Type.Array(typebox_1.Type.Union([
50
- typebox_1.Type.Tuple([exports.CommitBuilds, index_js_1.RevisionTagSchema]),
50
+ exports.EncodedBuildsArray = Type.Array(Type.Union([
51
+ Type.Tuple([exports.CommitBuilds, index_js_1.RevisionTagSchema]),
51
52
  // Revision is omitted when undefined
52
- typebox_1.Type.Tuple([exports.CommitBuilds]),
53
+ Type.Tuple([exports.CommitBuilds]),
53
54
  ]));
54
- exports.EncodedBuilds = typebox_1.Type.Object({
55
+ exports.EncodedBuilds = Type.Object({
55
56
  builds: exports.EncodedBuildsArray,
56
57
  /**
57
58
  * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.
58
59
  */
59
60
  trees: index_js_2.JsonCompatibleReadOnlySchema,
60
61
  }, noAdditionalProps);
61
- exports.EncodedModularChangesetV1 = typebox_1.Type.Object({
62
- maxId: typebox_1.Type.Optional(exports.ChangesetLocalIdSchema),
62
+ exports.EncodedModularChangesetV1 = Type.Object({
63
+ maxId: Type.Optional(exports.ChangesetLocalIdSchema),
63
64
  changes: exports.EncodedFieldChangeMap,
64
- revisions: typebox_1.Type.ReadonlyOptional(typebox_1.Type.Array(exports.EncodedRevisionInfo)),
65
+ revisions: Type.ReadonlyOptional(Type.Array(exports.EncodedRevisionInfo)),
65
66
  // TODO#8574: separating `builds` and `refreshers` here means that we encode their `EncodedBuilds.trees` separately.
66
67
  // This can lead to a less efficient wire representation because of duplicated schema/shape information.
67
- builds: typebox_1.Type.Optional(exports.EncodedBuilds),
68
- refreshers: typebox_1.Type.Optional(exports.EncodedBuilds),
68
+ builds: Type.Optional(exports.EncodedBuilds),
69
+ refreshers: Type.Optional(exports.EncodedBuilds),
69
70
  /**
70
71
  * The number of constraints within this changeset that are violated.
71
72
  */
72
- violations: typebox_1.Type.Optional(typebox_1.Type.Number({ minimum: 0, multipleOf: 1 })),
73
+ violations: Type.Optional(Type.Number({ minimum: 0, multipleOf: 1 })),
73
74
  }, noAdditionalProps);
74
75
  //# sourceMappingURL=modularChangeFormatV1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeFormatV1.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV1.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type ObjectOptions, type Static, Type } from \"@sinclair/typebox\";\n\nimport { type ChangesetLocalId, RevisionTagSchema, schemaFormatV1 } from \"../../core/index.js\";\nimport {\n\ttype JsonCompatibleReadOnly,\n\tJsonCompatibleReadOnlySchema,\n\tbrandedNumberType,\n} from \"../../util/index.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nexport const ChangesetLocalIdSchema = brandedNumberType<ChangesetLocalId>({\n\tmultipleOf: 1,\n});\n\nexport const EncodedChangeAtomId = Type.Union([\n\tType.Tuple([ChangesetLocalIdSchema, RevisionTagSchema]),\n\tChangesetLocalIdSchema,\n]);\nexport type EncodedChangeAtomId = Static<typeof EncodedChangeAtomId>;\n\nexport const EncodedFieldChange = Type.Object(\n\t{\n\t\tfieldKey: schemaFormatV1.FieldKeySchema,\n\t\tfieldKind: schemaFormatV1.FieldKindIdentifierSchema,\n\t\t// Implementation note: node and field change encoding is mutually recursive.\n\t\t// This field marks a boundary in that recursion to avoid constructing excessively complex\n\t\t// recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.\n\t\tchange: JsonCompatibleReadOnlySchema,\n\t},\n\tnoAdditionalProps,\n);\n\nexport interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {\n\t/**\n\t * Encoded in format selected by `fieldKind`\n\t */\n\tchange: JsonCompatibleReadOnly;\n}\n\nexport const EncodedFieldChangeMap = Type.Array(EncodedFieldChange);\n\n/**\n * Format for encoding as json.\n *\n * This chooses to use lists of named objects instead of maps:\n * this choice is somewhat arbitrary, but avoids user data being used as object keys,\n * which can sometimes be an issue (for example handling that for \"__proto__\" can require care).\n */\nexport type EncodedFieldChangeMap = Static<typeof EncodedFieldChangeMap>;\n\nconst EncodedNodeExistsConstraint = Type.Object(\n\t{\n\t\tviolated: Type.Boolean(),\n\t},\n\tnoAdditionalProps,\n);\ntype EncodedNodeExistsConstraint = Static<typeof EncodedNodeExistsConstraint>;\n\nexport const EncodedNodeChangeset = Type.Object(\n\t{\n\t\tfieldChanges: Type.Optional(EncodedFieldChangeMap),\n\t\tnodeExistsConstraint: Type.Optional(EncodedNodeExistsConstraint),\n\t},\n\tnoAdditionalProps,\n);\n\n/**\n * Format for encoding as json.\n */\nexport type EncodedNodeChangeset = Static<typeof EncodedNodeChangeset>;\n\nexport const EncodedRevisionInfo = Type.Object(\n\t{\n\t\trevision: Type.Readonly(RevisionTagSchema),\n\t\trollbackOf: Type.ReadonlyOptional(RevisionTagSchema),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedRevisionInfo = Static<typeof EncodedRevisionInfo>;\n\n/**\n * Index of field in an EncodedFieldBatch.\n */\nexport const EncodedTreeIndex = Type.Number({ multipleOf: 1, minimum: 0 });\n\nexport const CommitBuilds = Type.Array(\n\tType.Tuple([\n\t\t// ID for first node\n\t\tChangesetLocalIdSchema,\n\t\t// Index for a TreeChunk that represents all the nodes\n\t\tEncodedTreeIndex,\n\t]),\n);\nexport type CommitBuilds = Static<typeof CommitBuilds>;\n\nexport const EncodedBuildsArray = Type.Array(\n\tType.Union([\n\t\tType.Tuple([CommitBuilds, RevisionTagSchema]),\n\t\t// Revision is omitted when undefined\n\t\tType.Tuple([CommitBuilds]),\n\t]),\n);\n\nexport type EncodedBuildsArray = Static<typeof EncodedBuildsArray>;\n\nexport const EncodedBuilds = Type.Object(\n\t{\n\t\tbuilds: EncodedBuildsArray,\n\t\t/**\n\t\t * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.\n\t\t */\n\t\ttrees: JsonCompatibleReadOnlySchema,\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedBuilds = Static<typeof EncodedBuilds>;\n\nexport const EncodedModularChangesetV1 = Type.Object(\n\t{\n\t\tmaxId: Type.Optional(ChangesetLocalIdSchema),\n\t\tchanges: EncodedFieldChangeMap,\n\t\trevisions: Type.ReadonlyOptional(Type.Array(EncodedRevisionInfo)),\n\t\t// TODO#8574: separating `builds` and `refreshers` here means that we encode their `EncodedBuilds.trees` separately.\n\t\t// This can lead to a less efficient wire representation because of duplicated schema/shape information.\n\t\tbuilds: Type.Optional(EncodedBuilds),\n\t\trefreshers: Type.Optional(EncodedBuilds),\n\t\t/**\n\t\t * The number of constraints within this changeset that are violated.\n\t\t */\n\t\tviolations: Type.Optional(Type.Number({ minimum: 0, multipleOf: 1 })),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedModularChangesetV1 = Static<typeof EncodedModularChangesetV1>;\n"]}
1
+ {"version":3,"file":"modularChangeFormatV1.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV1.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport * as Type from \"@sinclair/typebox\";\nimport type { ObjectOptions, Static } from \"@sinclair/typebox\";\n\nimport { type ChangesetLocalId, RevisionTagSchema, schemaFormatV1 } from \"../../core/index.js\";\nimport {\n\ttype JsonCompatibleReadOnly,\n\tJsonCompatibleReadOnlySchema,\n\tbrandedNumberType,\n} from \"../../util/index.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nexport const ChangesetLocalIdSchema = brandedNumberType<ChangesetLocalId>({\n\tmultipleOf: 1,\n});\n\nexport const EncodedChangeAtomId = Type.Union([\n\tType.Tuple([ChangesetLocalIdSchema, RevisionTagSchema]),\n\tChangesetLocalIdSchema,\n]);\nexport type EncodedChangeAtomId = Static<typeof EncodedChangeAtomId>;\n\nexport const EncodedFieldChange = Type.Object(\n\t{\n\t\tfieldKey: schemaFormatV1.FieldKeySchema,\n\t\tfieldKind: schemaFormatV1.FieldKindIdentifierSchema,\n\t\t// Implementation note: node and field change encoding is mutually recursive.\n\t\t// This field marks a boundary in that recursion to avoid constructing excessively complex\n\t\t// recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.\n\t\tchange: JsonCompatibleReadOnlySchema,\n\t},\n\tnoAdditionalProps,\n);\n\nexport interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {\n\t/**\n\t * Encoded in format selected by `fieldKind`\n\t */\n\tchange: JsonCompatibleReadOnly;\n}\n\nexport const EncodedFieldChangeMap = Type.Array(EncodedFieldChange);\n\n/**\n * Format for encoding as json.\n *\n * This chooses to use lists of named objects instead of maps:\n * this choice is somewhat arbitrary, but avoids user data being used as object keys,\n * which can sometimes be an issue (for example handling that for \"__proto__\" can require care).\n */\nexport type EncodedFieldChangeMap = Static<typeof EncodedFieldChangeMap>;\n\nconst EncodedNodeExistsConstraint = Type.Object(\n\t{\n\t\tviolated: Type.Boolean(),\n\t},\n\tnoAdditionalProps,\n);\ntype EncodedNodeExistsConstraint = Static<typeof EncodedNodeExistsConstraint>;\n\nexport const EncodedNodeChangeset = Type.Object(\n\t{\n\t\tfieldChanges: Type.Optional(EncodedFieldChangeMap),\n\t\tnodeExistsConstraint: Type.Optional(EncodedNodeExistsConstraint),\n\t},\n\tnoAdditionalProps,\n);\n\n/**\n * Format for encoding as json.\n */\nexport type EncodedNodeChangeset = Static<typeof EncodedNodeChangeset>;\n\nexport const EncodedRevisionInfo = Type.Object(\n\t{\n\t\trevision: Type.Readonly(RevisionTagSchema),\n\t\trollbackOf: Type.ReadonlyOptional(RevisionTagSchema),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedRevisionInfo = Static<typeof EncodedRevisionInfo>;\n\n/**\n * Index of field in an EncodedFieldBatch.\n */\nexport const EncodedTreeIndex = Type.Number({ multipleOf: 1, minimum: 0 });\n\nexport const CommitBuilds = Type.Array(\n\tType.Tuple([\n\t\t// ID for first node\n\t\tChangesetLocalIdSchema,\n\t\t// Index for a TreeChunk that represents all the nodes\n\t\tEncodedTreeIndex,\n\t]),\n);\nexport type CommitBuilds = Static<typeof CommitBuilds>;\n\nexport const EncodedBuildsArray = Type.Array(\n\tType.Union([\n\t\tType.Tuple([CommitBuilds, RevisionTagSchema]),\n\t\t// Revision is omitted when undefined\n\t\tType.Tuple([CommitBuilds]),\n\t]),\n);\n\nexport type EncodedBuildsArray = Static<typeof EncodedBuildsArray>;\n\nexport const EncodedBuilds = Type.Object(\n\t{\n\t\tbuilds: EncodedBuildsArray,\n\t\t/**\n\t\t * FieldBatch codec encoded data indexed by the EncodedTreeIndexes above.\n\t\t */\n\t\ttrees: JsonCompatibleReadOnlySchema,\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedBuilds = Static<typeof EncodedBuilds>;\n\nexport const EncodedModularChangesetV1 = Type.Object(\n\t{\n\t\tmaxId: Type.Optional(ChangesetLocalIdSchema),\n\t\tchanges: EncodedFieldChangeMap,\n\t\trevisions: Type.ReadonlyOptional(Type.Array(EncodedRevisionInfo)),\n\t\t// TODO#8574: separating `builds` and `refreshers` here means that we encode their `EncodedBuilds.trees` separately.\n\t\t// This can lead to a less efficient wire representation because of duplicated schema/shape information.\n\t\tbuilds: Type.Optional(EncodedBuilds),\n\t\trefreshers: Type.Optional(EncodedBuilds),\n\t\t/**\n\t\t * The number of constraints within this changeset that are violated.\n\t\t */\n\t\tviolations: Type.Optional(Type.Number({ minimum: 0, multipleOf: 1 })),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedModularChangesetV1 = Static<typeof EncodedModularChangesetV1>;\n"]}
@@ -2,33 +2,34 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { type Static } from "@sinclair/typebox";
6
- declare const EncodedNoChangeConstraint: import("@sinclair/typebox").TObject<{
7
- violated: import("@sinclair/typebox").TBoolean;
5
+ import * as Type from "@sinclair/typebox";
6
+ import type { Static } from "@sinclair/typebox";
7
+ declare const EncodedNoChangeConstraint: Type.TObject<{
8
+ violated: Type.TBoolean;
8
9
  }>;
9
10
  export type EncodedNoChangeConstraint = Static<typeof EncodedNoChangeConstraint>;
10
- export declare const EncodedModularChangesetV2: import("@sinclair/typebox").TObject<{
11
- maxId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>>;
12
- revisions: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
13
- revision: import("@sinclair/typebox").TReadonly<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
14
- rollbackOf: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
15
- }>>>;
16
- builds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
17
- builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
18
- trees: import("@sinclair/typebox").TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
11
+ export declare const EncodedModularChangesetV2: Type.TObject<{
12
+ maxId: Type.TOptional<Type.TUnsafe<import("../../core/index.js").ChangesetLocalId>>;
13
+ revisions: Type.TReadonly<Type.TOptional<Type.TArray<Type.TObject<{
14
+ revision: Type.TReadonly<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>;
15
+ rollbackOf: Type.TReadonly<Type.TOptional<Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>>>;
16
+ }>>>>;
17
+ builds: Type.TOptional<Type.TObject<{
18
+ builds: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<import("../../core/index.js").ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<import("../../core/index.js").ChangesetLocalId>, Type.TNumber]>>]>]>>;
19
+ trees: Type.TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
19
20
  }>>;
20
- changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
21
- fieldKey: import("@sinclair/typebox").TUnsafe<import("../../core/index.js").FieldKey>;
22
- fieldKind: import("@sinclair/typebox").TUnsafe<import("../../core/index.js").FieldKindIdentifier>;
23
- change: import("@sinclair/typebox").TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
21
+ changes: Type.TArray<Type.TObject<{
22
+ fieldKey: Type.TUnsafe<import("../../core/index.js").FieldKey>;
23
+ fieldKind: Type.TUnsafe<import("../../core/index.js").FieldKindIdentifier>;
24
+ change: Type.TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
24
25
  }>>;
25
- refreshers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
26
- builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core/index.js").ChangesetLocalId>, import("@sinclair/typebox").TNumber]>>]>]>>;
27
- trees: import("@sinclair/typebox").TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
26
+ refreshers: Type.TOptional<Type.TObject<{
27
+ builds: Type.TArray<Type.TUnion<[Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<import("../../core/index.js").ChangesetLocalId>, Type.TNumber]>>, Type.TUnion<[Type.TLiteral<"root">, Type.TUnsafe<import("../../util/brand.js").Brand<import("@fluidframework/id-compressor").OpSpaceCompressedId, "EncodedRevisionTag">>]>]>, Type.TTuple<[Type.TArray<Type.TTuple<[Type.TUnsafe<import("../../core/index.js").ChangesetLocalId>, Type.TNumber]>>]>]>>;
28
+ trees: Type.TUnsafe<import("../../index.js").JsonCompatibleReadOnly>;
28
29
  }>>;
29
- violations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
30
- noChangeConstraint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
31
- violated: import("@sinclair/typebox").TBoolean;
30
+ violations: Type.TOptional<Type.TNumber>;
31
+ noChangeConstraint: Type.TOptional<Type.TObject<{
32
+ violated: Type.TBoolean;
32
33
  }>>;
33
34
  }>;
34
35
  export type EncodedModularChangesetV2 = Static<typeof EncodedModularChangesetV2>;
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeFormatV2.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAM1E,QAAA,MAAM,yBAAyB;;EAK9B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;EAYrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"modularChangeFormatV2.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM/D,QAAA,MAAM,yBAAyB;;EAK9B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;EAYrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -5,17 +5,18 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.EncodedModularChangesetV2 = void 0;
8
- const typebox_1 = require("@sinclair/typebox");
8
+ const tslib_1 = require("tslib");
9
+ const Type = tslib_1.__importStar(require("@sinclair/typebox"));
9
10
  const modularChangeFormatV1_js_1 = require("./modularChangeFormatV1.js");
10
11
  const noAdditionalProps = { additionalProperties: false };
11
- const EncodedNoChangeConstraint = typebox_1.Type.Object({
12
- violated: typebox_1.Type.Boolean(),
12
+ const EncodedNoChangeConstraint = Type.Object({
13
+ violated: Type.Boolean(),
13
14
  }, noAdditionalProps);
14
- exports.EncodedModularChangesetV2 = typebox_1.Type.Composite([
15
+ exports.EncodedModularChangesetV2 = Type.Composite([
15
16
  modularChangeFormatV1_js_1.EncodedModularChangesetV1,
16
- typebox_1.Type.Object({
17
+ Type.Object({
17
18
  /** Global no change constraint that gets violated whenever the changeset is rebased */
18
- noChangeConstraint: typebox_1.Type.Optional(EncodedNoChangeConstraint),
19
+ noChangeConstraint: Type.Optional(EncodedNoChangeConstraint),
19
20
  }, noAdditionalProps),
20
21
  ], noAdditionalProps);
21
22
  //# sourceMappingURL=modularChangeFormatV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeFormatV2.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAA0E;AAE1E,yEAAuE;AAEvE,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAEzE,MAAM,yBAAyB,GAAG,cAAI,CAAC,MAAM,CAC5C;IACC,QAAQ,EAAE,cAAI,CAAC,OAAO,EAAE;CACxB,EACD,iBAAiB,CACjB,CAAC;AAGW,QAAA,yBAAyB,GAAG,cAAI,CAAC,SAAS,CACtD;IACC,oDAAyB;IACzB,cAAI,CAAC,MAAM,CACV;QACC,uFAAuF;QACvF,kBAAkB,EAAE,cAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC5D,EACD,iBAAiB,CACjB;CACD,EACD,iBAAiB,CACjB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { type ObjectOptions, type Static, Type } from \"@sinclair/typebox\";\n\nimport { EncodedModularChangesetV1 } from \"./modularChangeFormatV1.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nconst EncodedNoChangeConstraint = Type.Object(\n\t{\n\t\tviolated: Type.Boolean(),\n\t},\n\tnoAdditionalProps,\n);\nexport type EncodedNoChangeConstraint = Static<typeof EncodedNoChangeConstraint>;\n\nexport const EncodedModularChangesetV2 = Type.Composite(\n\t[\n\t\tEncodedModularChangesetV1,\n\t\tType.Object(\n\t\t\t{\n\t\t\t\t/** Global no change constraint that gets violated whenever the changeset is rebased */\n\t\t\t\tnoChangeConstraint: Type.Optional(EncodedNoChangeConstraint),\n\t\t\t},\n\t\t\tnoAdditionalProps,\n\t\t),\n\t],\n\tnoAdditionalProps,\n);\n\nexport type EncodedModularChangesetV2 = Static<typeof EncodedModularChangesetV2>;\n"]}
1
+ {"version":3,"file":"modularChangeFormatV2.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormatV2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,gEAA0C;AAG1C,yEAAuE;AAEvE,MAAM,iBAAiB,GAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAEzE,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;CACxB,EACD,iBAAiB,CACjB,CAAC;AAGW,QAAA,yBAAyB,GAAG,IAAI,CAAC,SAAS,CACtD;IACC,oDAAyB;IACzB,IAAI,CAAC,MAAM,CACV;QACC,uFAAuF;QACvF,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC5D,EACD,iBAAiB,CACjB;CACD,EACD,iBAAiB,CACjB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport * as Type from \"@sinclair/typebox\";\nimport type { ObjectOptions, Static } from \"@sinclair/typebox\";\n\nimport { EncodedModularChangesetV1 } from \"./modularChangeFormatV1.js\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nconst EncodedNoChangeConstraint = Type.Object(\n\t{\n\t\tviolated: Type.Boolean(),\n\t},\n\tnoAdditionalProps,\n);\nexport type EncodedNoChangeConstraint = Static<typeof EncodedNoChangeConstraint>;\n\nexport const EncodedModularChangesetV2 = Type.Composite(\n\t[\n\t\tEncodedModularChangesetV1,\n\t\tType.Object(\n\t\t\t{\n\t\t\t\t/** Global no change constraint that gets violated whenever the changeset is rebased */\n\t\t\t\tnoChangeConstraint: Type.Optional(EncodedNoChangeConstraint),\n\t\t\t},\n\t\t\tnoAdditionalProps,\n\t\t),\n\t],\n\tnoAdditionalProps,\n);\n\nexport type EncodedModularChangesetV2 = Static<typeof EncodedModularChangesetV2>;\n"]}
@@ -50,11 +50,6 @@ export interface ModularChangeset extends Readonly<HasFieldChanges> {
50
50
  readonly noChangeConstraint?: NoChangeConstraint;
51
51
  /** Constraint that the document must be in the same state before the revert of this change is applied as it was after this change was applied */
52
52
  readonly noChangeConstraintOnRevert?: NoChangeConstraint;
53
- /**
54
- * The number of constraint violations that apply to the revert of the changeset. If this count is greater than 0, it will
55
- * prevent the changeset from being reverted or undone.
56
- */
57
- readonly constraintViolationCountOnRevert?: number;
58
53
  readonly builds?: ChangeAtomIdBTree<TreeChunk>;
59
54
  readonly destroys?: ChangeAtomIdBTree<number>;
60
55
  readonly refreshers?: ChangeAtomIdBTree<TreeChunk>;
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeTypes.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modularChangeTypes.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modularChangeTypes.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,kDAO6B;AAC7B,kDAAkE;AAiElE,SAAgB,qBAAqB;IACpC,OAAO,IAAI,mBAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AAClE,CAAC;AAFD,sDAEC;AAED,SAAS,mBAAmB,CAAC,GAAkB,EAAE,MAAc;IAC9D,OAAO;QACN,GAAG,GAAG;QACN,OAAO,EAAE,IAAA,gBAAK,EAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;KACpC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAgB,EAAE,CAAgB;IACjE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED,OAAO,IAAA,gCAAqB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tsubtractChangeAtomIds,\n\ttype ChangeAtomId,\n\ttype ChangesetLocalId,\n\ttype FieldKey,\n\ttype FieldKindIdentifier,\n\ttype RevisionInfo,\n} from \"../../core/index.js\";\nimport { brand, RangeMap, type Brand } from \"../../util/index.js\";\nimport type { ChangeAtomIdBTree } from \"../changeAtomIdBTree.js\";\nimport type { TreeChunk } from \"../chunked-forest/index.js\";\n\nimport type { CrossFieldTarget } from \"./crossFieldQueries.js\";\n\nexport interface ModularChangeset extends Readonly<HasFieldChanges> {\n\t/**\n\t * The numerically highest `ChangesetLocalId` used in this changeset.\n\t * If undefined then this changeset contains no IDs.\n\t */\n\treadonly maxId?: ChangesetLocalId;\n\t/**\n\t * The revisions included in this changeset, ordered temporally (oldest to newest).\n\t * Undefined for anonymous changesets.\n\t * Should never be empty.\n\t */\n\treadonly revisions?: readonly RevisionInfo[];\n\treadonly fieldChanges: FieldChangeMap;\n\n\t/**\n\t * Maps from this changeset's canonical ID for a node (see comment on node aliases) to the changes for that node.\n\t */\n\treadonly nodeChanges: ChangeAtomIdBTree<NodeChangeset>;\n\n\t/**\n\t * Maps from this changeset's canonical ID for a node to the ID for the field which contains that node.\n\t */\n\t// TODO: Should this be merged with `nodeChanges`?\n\treadonly nodeToParent: ChangeAtomIdBTree<FieldId>;\n\n\t/**\n\t * Maps from a node ID to another ID for the same node.\n\t * If a node ID used in this changeset has no entry in this table, then it is the canonical ID for that node.\n\t * The aliases form a set of trees, where the root of each tree is a canonical ID.\n\t *\n\t * When composing changesets with different canonical IDs for the same node,\n\t * one of those IDs becomes the canonical ID for the composition, while the other is added to this table as an alias.\n\t *\n\t * Node aliases are preserved when composing changesets so we can avoid having to find and update all changed node IDs\n\t * in the field IDs in nodeToParent and crossFieldKeys.\n\t */\n\treadonly nodeAliases: ChangeAtomIdBTree<NodeId>;\n\treadonly crossFieldKeys: CrossFieldKeyTable;\n\t/**\n\t * The number of constraint violations that apply to the input context of the changeset, i.e., before this change is applied.\n\t * If this count is greater than 0, it will prevent the changeset from being applied.\n\t */\n\treadonly constraintViolationCount?: number;\n\t/** Constraint that the document must be in the same state before this change is applied as it was before this change was authored */\n\treadonly noChangeConstraint?: NoChangeConstraint;\n\t/** Constraint that the document must be in the same state before the revert of this change is applied as it was after this change was applied */\n\treadonly noChangeConstraintOnRevert?: NoChangeConstraint;\n\t/**\n\t * The number of constraint violations that apply to the revert of the changeset. If this count is greater than 0, it will\n\t * prevent the changeset from being reverted or undone.\n\t */\n\treadonly constraintViolationCountOnRevert?: number;\n\treadonly builds?: ChangeAtomIdBTree<TreeChunk>;\n\treadonly destroys?: ChangeAtomIdBTree<number>;\n\treadonly refreshers?: ChangeAtomIdBTree<TreeChunk>;\n}\n\nexport type CrossFieldKeyTable = RangeMap<CrossFieldKey, FieldId>;\n\nexport function newCrossFieldKeyTable(): CrossFieldKeyTable {\n\treturn new RangeMap(offsetCrossFieldKey, subtractCrossFieldKeys);\n}\n\nfunction offsetCrossFieldKey(key: CrossFieldKey, offset: number): CrossFieldKey {\n\treturn {\n\t\t...key,\n\t\tlocalId: brand(key.localId + offset),\n\t};\n}\n\nfunction subtractCrossFieldKeys(a: CrossFieldKey, b: CrossFieldKey): number {\n\tconst cmpTarget = a.target - b.target;\n\tif (cmpTarget !== 0) {\n\t\treturn cmpTarget * Number.POSITIVE_INFINITY;\n\t}\n\n\treturn subtractChangeAtomIds(a, b);\n}\n\nexport interface CrossFieldKey extends ChangeAtomId {\n\treadonly target: CrossFieldTarget;\n}\n\nexport interface CrossFieldKeyRange {\n\treadonly key: CrossFieldKey;\n\treadonly count: number;\n}\n\nexport interface FieldId {\n\treadonly nodeId: NodeId | undefined;\n\treadonly field: FieldKey;\n}\n\nexport interface NodeExistsConstraint {\n\tviolated: boolean;\n}\n\n/**\n * A constraint that is violated whenever the state of the document is different from when the change was authored.\n */\nexport interface NoChangeConstraint {\n\tviolated: boolean;\n}\n\n/**\n * Changeset for a subtree rooted at a specific node.\n */\nexport interface NodeChangeset extends HasFieldChanges {\n\t/** Keeps track of whether node exists constraint has been violated by this change */\n\tnodeExistsConstraint?: NodeExistsConstraint;\n\t/** Keeps track of whether node exists constraint will be violated when this change is reverted */\n\tnodeExistsConstraintOnRevert?: NodeExistsConstraint;\n}\n\nexport type NodeId = ChangeAtomId;\n\nexport interface HasFieldChanges {\n\tfieldChanges?: FieldChangeMap;\n}\n\nexport type FieldChangeMap = Map<FieldKey, FieldChange>;\n\nexport interface FieldChange {\n\treadonly fieldKind: FieldKindIdentifier;\n\tchange: FieldChangeset;\n}\n\nexport type FieldChangeset = Brand<unknown, \"FieldChangeset\">;\n"]}
1
+ {"version":3,"file":"modularChangeTypes.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,kDAO6B;AAC7B,kDAAkE;AA4DlE,SAAgB,qBAAqB;IACpC,OAAO,IAAI,mBAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AAClE,CAAC;AAFD,sDAEC;AAED,SAAS,mBAAmB,CAAC,GAAkB,EAAE,MAAc;IAC9D,OAAO;QACN,GAAG,GAAG;QACN,OAAO,EAAE,IAAA,gBAAK,EAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;KACpC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAgB,EAAE,CAAgB;IACjE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED,OAAO,IAAA,gCAAqB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tsubtractChangeAtomIds,\n\ttype ChangeAtomId,\n\ttype ChangesetLocalId,\n\ttype FieldKey,\n\ttype FieldKindIdentifier,\n\ttype RevisionInfo,\n} from \"../../core/index.js\";\nimport { brand, RangeMap, type Brand } from \"../../util/index.js\";\nimport type { ChangeAtomIdBTree } from \"../changeAtomIdBTree.js\";\nimport type { TreeChunk } from \"../chunked-forest/index.js\";\n\nimport type { CrossFieldTarget } from \"./crossFieldQueries.js\";\n\nexport interface ModularChangeset extends Readonly<HasFieldChanges> {\n\t/**\n\t * The numerically highest `ChangesetLocalId` used in this changeset.\n\t * If undefined then this changeset contains no IDs.\n\t */\n\treadonly maxId?: ChangesetLocalId;\n\t/**\n\t * The revisions included in this changeset, ordered temporally (oldest to newest).\n\t * Undefined for anonymous changesets.\n\t * Should never be empty.\n\t */\n\treadonly revisions?: readonly RevisionInfo[];\n\treadonly fieldChanges: FieldChangeMap;\n\n\t/**\n\t * Maps from this changeset's canonical ID for a node (see comment on node aliases) to the changes for that node.\n\t */\n\treadonly nodeChanges: ChangeAtomIdBTree<NodeChangeset>;\n\n\t/**\n\t * Maps from this changeset's canonical ID for a node to the ID for the field which contains that node.\n\t */\n\t// TODO: Should this be merged with `nodeChanges`?\n\treadonly nodeToParent: ChangeAtomIdBTree<FieldId>;\n\n\t/**\n\t * Maps from a node ID to another ID for the same node.\n\t * If a node ID used in this changeset has no entry in this table, then it is the canonical ID for that node.\n\t * The aliases form a set of trees, where the root of each tree is a canonical ID.\n\t *\n\t * When composing changesets with different canonical IDs for the same node,\n\t * one of those IDs becomes the canonical ID for the composition, while the other is added to this table as an alias.\n\t *\n\t * Node aliases are preserved when composing changesets so we can avoid having to find and update all changed node IDs\n\t * in the field IDs in nodeToParent and crossFieldKeys.\n\t */\n\treadonly nodeAliases: ChangeAtomIdBTree<NodeId>;\n\treadonly crossFieldKeys: CrossFieldKeyTable;\n\t/**\n\t * The number of constraint violations that apply to the input context of the changeset, i.e., before this change is applied.\n\t * If this count is greater than 0, it will prevent the changeset from being applied.\n\t */\n\treadonly constraintViolationCount?: number;\n\t/** Constraint that the document must be in the same state before this change is applied as it was before this change was authored */\n\treadonly noChangeConstraint?: NoChangeConstraint;\n\t/** Constraint that the document must be in the same state before the revert of this change is applied as it was after this change was applied */\n\treadonly noChangeConstraintOnRevert?: NoChangeConstraint;\n\treadonly builds?: ChangeAtomIdBTree<TreeChunk>;\n\treadonly destroys?: ChangeAtomIdBTree<number>;\n\treadonly refreshers?: ChangeAtomIdBTree<TreeChunk>;\n}\n\nexport type CrossFieldKeyTable = RangeMap<CrossFieldKey, FieldId>;\n\nexport function newCrossFieldKeyTable(): CrossFieldKeyTable {\n\treturn new RangeMap(offsetCrossFieldKey, subtractCrossFieldKeys);\n}\n\nfunction offsetCrossFieldKey(key: CrossFieldKey, offset: number): CrossFieldKey {\n\treturn {\n\t\t...key,\n\t\tlocalId: brand(key.localId + offset),\n\t};\n}\n\nfunction subtractCrossFieldKeys(a: CrossFieldKey, b: CrossFieldKey): number {\n\tconst cmpTarget = a.target - b.target;\n\tif (cmpTarget !== 0) {\n\t\treturn cmpTarget * Number.POSITIVE_INFINITY;\n\t}\n\n\treturn subtractChangeAtomIds(a, b);\n}\n\nexport interface CrossFieldKey extends ChangeAtomId {\n\treadonly target: CrossFieldTarget;\n}\n\nexport interface CrossFieldKeyRange {\n\treadonly key: CrossFieldKey;\n\treadonly count: number;\n}\n\nexport interface FieldId {\n\treadonly nodeId: NodeId | undefined;\n\treadonly field: FieldKey;\n}\n\nexport interface NodeExistsConstraint {\n\tviolated: boolean;\n}\n\n/**\n * A constraint that is violated whenever the state of the document is different from when the change was authored.\n */\nexport interface NoChangeConstraint {\n\tviolated: boolean;\n}\n\n/**\n * Changeset for a subtree rooted at a specific node.\n */\nexport interface NodeChangeset extends HasFieldChanges {\n\t/** Keeps track of whether node exists constraint has been violated by this change */\n\tnodeExistsConstraint?: NodeExistsConstraint;\n\t/** Keeps track of whether node exists constraint will be violated when this change is reverted */\n\tnodeExistsConstraintOnRevert?: NodeExistsConstraint;\n}\n\nexport type NodeId = ChangeAtomId;\n\nexport interface HasFieldChanges {\n\tfieldChanges?: FieldChangeMap;\n}\n\nexport type FieldChangeMap = Map<FieldKey, FieldChange>;\n\nexport interface FieldChange {\n\treadonly fieldKind: FieldKindIdentifier;\n\tchange: FieldChangeset;\n}\n\nexport type FieldChangeset = Brand<unknown, \"FieldChangeset\">;\n"]}