@fluidframework/tree 2.71.0 → 2.73.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.
- package/CHANGELOG.md +125 -40
- package/api-report/tree.alpha.api.md +44 -48
- package/api-report/tree.beta.api.md +42 -0
- package/api-report/tree.legacy.beta.api.md +42 -0
- package/dist/alpha.d.ts +12 -8
- package/dist/api.d.ts +6 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -11
- package/dist/api.js.map +1 -1
- package/dist/beta.d.ts +7 -0
- package/dist/codec/codec.d.ts +23 -1
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +23 -3
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +1 -1
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -1
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +7 -2
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +24 -1
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/index.d.ts +1 -1
- package/dist/codec/versioned/index.d.ts.map +1 -1
- package/dist/codec/versioned/index.js +2 -1
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/schema-stored/index.d.ts +1 -1
- package/dist/core/schema-stored/index.d.ts.map +1 -1
- package/dist/core/schema-stored/index.js +2 -2
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +18 -7
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +6 -7
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts +2 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.d.ts +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV1.js +3 -2
- package/dist/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.js +3 -1
- package/dist/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts +2 -3
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js +31 -8
- package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +10 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js +8 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV1.d.ts +2 -2
- package/dist/core/tree/detachedFieldIndexFormatV1.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV1.js +3 -3
- package/dist/core/tree/detachedFieldIndexFormatV1.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts +2 -2
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.js +3 -3
- package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/dist/core/tree/index.d.ts +2 -1
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js.map +1 -1
- package/dist/external-utilities/typeboxValidator.js +1 -1
- package/dist/external-utilities/typeboxValidator.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +4 -5
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +2 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -10
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +39 -21
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +6 -6
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +4 -2
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +163 -6
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +13 -4
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +8 -3
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js +4 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +13 -13
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +23 -6
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +9 -8
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +20 -4
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js +2 -2
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +35 -25
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +54 -74
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +1 -3
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +2 -8
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.d.ts +4 -5
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +15 -4
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/format.d.ts +9 -2
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +11 -4
- package/dist/feature-libraries/forest-summary/format.js.map +1 -1
- package/dist/feature-libraries/forest-summary/index.d.ts +2 -1
- package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/index.js +3 -1
- package/dist/feature-libraries/forest-summary/index.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +6 -5
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +9 -8
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +1 -2
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts +38 -12
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.js +29 -11
- package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +3 -2
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +0 -1
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +1 -3
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts +5 -6
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +8 -8
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1 -2
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +66 -9
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +3 -2
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/index.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -7
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +5 -4
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +10 -10
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +24 -18
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.d.ts +2 -2
- package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -2
- package/dist/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +2 -2
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/feature-libraries/{default-schema/schemaChecker.d.ts → schemaChecker.d.ts} +2 -2
- package/dist/feature-libraries/schemaChecker.d.ts.map +1 -0
- package/dist/feature-libraries/{default-schema/schemaChecker.js → schemaChecker.js} +3 -3
- package/dist/feature-libraries/schemaChecker.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +0 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +7 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +22 -15
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +1 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +1 -2
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +12 -60
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +68 -159
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +10 -11
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +1 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +4 -2
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +1 -3
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +19 -6
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +42 -18
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +36 -0
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +40 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +4 -4
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV5.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.js +1 -1
- package/dist/shared-tree-core/editManagerFormatV5.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +5 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +12 -3
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV5.d.ts +2 -1
- package/dist/shared-tree-core/messageCodecV5.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV5.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +19 -6
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +49 -21
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +48 -0
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/dist/shared-tree-core/messageFormat.js +53 -0
- package/dist/shared-tree-core/messageFormat.js.map +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts +8 -8
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +3 -3
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts +2 -0
- package/dist/simple-tree/api/configuration.d.ts.map +1 -1
- package/dist/simple-tree/api/configuration.js +10 -0
- package/dist/simple-tree/api/configuration.js.map +1 -1
- package/dist/simple-tree/api/discrepancies.d.ts +2 -2
- package/dist/simple-tree/api/discrepancies.js.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +4 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +8 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +2 -98
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +1 -52
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.d.ts +98 -2
- package/dist/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.js +61 -7
- package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +13 -4
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts +28 -0
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -0
- package/dist/simple-tree/api/simpleSchemaCodec.js +290 -0
- package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +103 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +128 -0
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -0
- package/dist/simple-tree/api/storedSchema.d.ts +2 -2
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +8 -6
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +3 -3
- package/dist/simple-tree/api/tree.js +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +6 -6
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +18 -3
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +78 -35
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.d.ts +3 -3
- package/dist/simple-tree/core/allowedTypes.js +2 -2
- package/dist/simple-tree/core/allowedTypes.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +3 -3
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +3 -1
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/toStored.d.ts +12 -5
- package/dist/simple-tree/core/toStored.d.ts.map +1 -1
- package/dist/simple-tree/core/toStored.js +26 -10
- package/dist/simple-tree/core/toStored.js.map +1 -1
- package/dist/simple-tree/core/treeNode.js +1 -1
- package/dist/simple-tree/core/treeNode.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +1 -6
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts +1 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.js +1 -2
- package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js +1 -8
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +12 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +0 -1
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +14 -50
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +2 -6
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.js +4 -12
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.js +3 -7
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +25 -5
- package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchema.js.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts +249 -0
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -0
- package/dist/simple-tree/simpleSchemaFormatV1.js +115 -0
- package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -0
- package/dist/simple-tree/toStoredSchema.d.ts +20 -8
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +27 -22
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +18 -15
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/tableSchema.d.ts +22 -52
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +141 -277
- package/dist/tableSchema.js.map +1 -1
- package/dist/treeFactory.d.ts +3 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +26 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/arrayUtilities.d.ts +45 -0
- package/dist/util/arrayUtilities.d.ts.map +1 -0
- package/dist/util/arrayUtilities.js +76 -0
- package/dist/util/arrayUtilities.js.map +1 -0
- package/dist/util/brand.d.ts +31 -2
- package/dist/util/brand.d.ts.map +1 -1
- package/dist/util/brand.js +28 -2
- package/dist/util/brand.js.map +1 -1
- package/dist/util/brandedMap.d.ts +3 -1
- package/dist/util/brandedMap.d.ts.map +1 -1
- package/dist/util/brandedMap.js.map +1 -1
- package/dist/util/index.d.ts +2 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +8 -2
- package/dist/util/index.js.map +1 -1
- package/lib/alpha.d.ts +12 -8
- package/lib/api.d.ts +6 -2
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +2 -13
- package/lib/api.js.map +1 -1
- package/lib/beta.d.ts +7 -0
- package/lib/codec/codec.d.ts +23 -1
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +23 -3
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +1 -1
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +7 -2
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +22 -0
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/index.d.ts +1 -1
- package/lib/codec/versioned/index.d.ts.map +1 -1
- package/lib/codec/versioned/index.js +1 -1
- package/lib/codec/versioned/index.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/schema-stored/index.d.ts +1 -1
- package/lib/core/schema-stored/index.d.ts.map +1 -1
- package/lib/core/schema-stored/index.js +1 -1
- package/lib/core/schema-stored/index.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +18 -7
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +6 -7
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts +2 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecCommon.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.d.ts +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV1.js +3 -2
- package/lib/core/tree/detachedFieldIndexCodecV1.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV2.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecV2.js +4 -2
- package/lib/core/tree/detachedFieldIndexCodecV2.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts +2 -3
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js +31 -8
- package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +10 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.js +7 -0
- package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV1.d.ts +2 -2
- package/lib/core/tree/detachedFieldIndexFormatV1.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV1.js +3 -3
- package/lib/core/tree/detachedFieldIndexFormatV1.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts +2 -2
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.js +3 -3
- package/lib/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/lib/core/tree/index.d.ts +2 -1
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +1 -1
- package/lib/core/tree/index.js.map +1 -1
- package/lib/external-utilities/typeboxValidator.js +1 -1
- package/lib/external-utilities/typeboxValidator.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +4 -5
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +2 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +2 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -10
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +42 -23
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +6 -6
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +5 -3
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +163 -6
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +12 -3
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +8 -3
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js +4 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +2 -2
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +13 -13
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +22 -6
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +9 -8
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +17 -2
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +35 -25
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +56 -76
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +1 -3
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +1 -3
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.d.ts +4 -5
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +16 -5
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts +9 -2
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +9 -2
- package/lib/feature-libraries/forest-summary/format.js.map +1 -1
- package/lib/feature-libraries/forest-summary/index.d.ts +2 -1
- package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/index.js +1 -0
- package/lib/feature-libraries/forest-summary/index.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +6 -5
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +5 -4
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +1 -2
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts +38 -12
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.js +29 -11
- package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +3 -2
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +0 -1
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +0 -1
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts +5 -6
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +8 -8
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1 -2
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +66 -9
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +2 -1
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +1 -5
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/index.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -7
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -5
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +10 -10
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +26 -20
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.d.ts +2 -2
- package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.js +2 -2
- package/lib/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -2
- package/lib/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +2 -2
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +2 -2
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/feature-libraries/{default-schema/schemaChecker.d.ts → schemaChecker.d.ts} +2 -2
- package/lib/feature-libraries/schemaChecker.d.ts.map +1 -0
- package/lib/feature-libraries/{default-schema/schemaChecker.js → schemaChecker.js} +3 -3
- package/lib/feature-libraries/schemaChecker.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +0 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +7 -0
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +11 -4
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +1 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +12 -60
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +70 -161
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +5 -6
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +1 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +5 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +1 -3
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +19 -6
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +39 -17
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +36 -0
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +39 -0
- package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js +5 -5
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV5.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV5.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV5.js +2 -2
- package/lib/shared-tree-core/editManagerFormatV5.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +5 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +4 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV5.d.ts +2 -1
- package/lib/shared-tree-core/messageCodecV5.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV5.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +19 -6
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +46 -20
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +48 -0
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/lib/shared-tree-core/messageFormat.js +50 -0
- package/lib/shared-tree-core/messageFormat.js.map +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts +8 -8
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +3 -3
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts +2 -0
- package/lib/simple-tree/api/configuration.d.ts.map +1 -1
- package/lib/simple-tree/api/configuration.js +10 -0
- package/lib/simple-tree/api/configuration.js.map +1 -1
- package/lib/simple-tree/api/discrepancies.d.ts +2 -2
- package/lib/simple-tree/api/discrepancies.js.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +4 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +2 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +2 -98
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +1 -52
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.d.ts +98 -2
- package/lib/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.js +58 -4
- package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +14 -5
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts +28 -0
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -0
- package/lib/simple-tree/api/simpleSchemaCodec.js +262 -0
- package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +103 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +122 -0
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -0
- package/lib/simple-tree/api/storedSchema.d.ts +2 -2
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +5 -3
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +3 -3
- package/lib/simple-tree/api/tree.js +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +6 -6
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +18 -3
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +75 -34
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.d.ts +3 -3
- package/lib/simple-tree/core/allowedTypes.js +2 -2
- package/lib/simple-tree/core/allowedTypes.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +3 -3
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +2 -2
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/toStored.d.ts +12 -5
- package/lib/simple-tree/core/toStored.d.ts.map +1 -1
- package/lib/simple-tree/core/toStored.js +25 -9
- package/lib/simple-tree/core/toStored.js.map +1 -1
- package/lib/simple-tree/core/treeNode.js +1 -1
- package/lib/simple-tree/core/treeNode.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +1 -6
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts +1 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.js +1 -2
- package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js +2 -9
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +1 -2
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +17 -53
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +5 -9
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.js +6 -14
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.js +6 -10
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +25 -5
- package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchema.js.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts +249 -0
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -0
- package/lib/simple-tree/simpleSchemaFormatV1.js +112 -0
- package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -0
- package/lib/simple-tree/toStoredSchema.d.ts +20 -8
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +28 -24
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +20 -17
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/tableSchema.d.ts +22 -52
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +143 -279
- package/lib/tableSchema.js.map +1 -1
- package/lib/treeFactory.d.ts +3 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +23 -1
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/arrayUtilities.d.ts +45 -0
- package/lib/util/arrayUtilities.d.ts.map +1 -0
- package/lib/util/arrayUtilities.js +69 -0
- package/lib/util/arrayUtilities.js.map +1 -0
- package/lib/util/brand.d.ts +31 -2
- package/lib/util/brand.d.ts.map +1 -1
- package/lib/util/brand.js +26 -1
- package/lib/util/brand.js.map +1 -1
- package/lib/util/brandedMap.d.ts +3 -1
- package/lib/util/brandedMap.d.ts.map +1 -1
- package/lib/util/brandedMap.js.map +1 -1
- package/lib/util/index.d.ts +2 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +24 -24
- package/src/api.ts +22 -11
- package/src/codec/codec.ts +25 -3
- package/src/codec/index.ts +1 -0
- package/src/codec/versioned/codec.ts +40 -2
- package/src/codec/versioned/index.ts +1 -0
- package/src/core/index.ts +1 -2
- package/src/core/schema-stored/index.ts +1 -2
- package/src/core/schema-stored/schema.ts +22 -8
- package/src/core/tree/detachedFieldIndexCodecCommon.ts +2 -1
- package/src/core/tree/detachedFieldIndexCodecV1.ts +4 -2
- package/src/core/tree/detachedFieldIndexCodecV2.ts +4 -6
- package/src/core/tree/detachedFieldIndexCodecs.ts +40 -11
- package/src/core/tree/detachedFieldIndexFormatCommon.ts +17 -2
- package/src/core/tree/detachedFieldIndexFormatV1.ts +6 -4
- package/src/core/tree/detachedFieldIndexFormatV2.ts +6 -4
- package/src/core/tree/index.ts +2 -4
- package/src/external-utilities/typeboxValidator.ts +1 -1
- package/src/feature-libraries/README.md +1 -1
- package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -3
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +5 -0
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +65 -27
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +9 -4
- package/src/feature-libraries/chunked-forest/codec/format.ts +26 -5
- package/src/feature-libraries/chunked-forest/codec/formatGeneric.ts +7 -2
- package/src/feature-libraries/chunked-forest/codec/index.ts +1 -2
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +62 -9
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +24 -2
- package/src/feature-libraries/chunked-forest/index.ts +1 -2
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +88 -103
- package/src/feature-libraries/default-schema/index.ts +1 -9
- package/src/feature-libraries/forest-summary/codec.ts +24 -9
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -1
- package/src/feature-libraries/forest-summary/format.ts +25 -9
- package/src/feature-libraries/forest-summary/index.ts +2 -1
- package/src/feature-libraries/index.ts +8 -7
- package/src/feature-libraries/modular-schema/comparison.ts +2 -3
- package/src/feature-libraries/modular-schema/fieldKind.ts +90 -13
- package/src/feature-libraries/modular-schema/fieldKindConfiguration.ts +2 -3
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +6 -6
- package/src/feature-libraries/modular-schema/index.ts +0 -1
- package/src/feature-libraries/modular-schema/isNeverTree.ts +7 -8
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +13 -13
- package/src/feature-libraries/object-forest/objectForest.ts +2 -6
- package/src/feature-libraries/optional-field/index.ts +1 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +1 -5
- package/src/feature-libraries/schema-edits/index.ts +0 -1
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +16 -16
- package/src/feature-libraries/schema-index/codec.ts +41 -22
- package/src/feature-libraries/schema-index/formatV1.ts +2 -2
- package/src/feature-libraries/schema-index/formatV2.ts +2 -2
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +2 -1
- package/src/feature-libraries/{default-schema/schemaChecker.ts → schemaChecker.ts} +4 -4
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +0 -2
- package/src/index.ts +6 -2
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +16 -5
- package/src/shared-tree/index.ts +0 -1
- package/src/shared-tree/sharedTree.ts +92 -222
- package/src/shared-tree/sharedTreeChangeCodecs.ts +14 -13
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -2
- package/src/shared-tree/treeAlpha.ts +6 -5
- package/src/shared-tree/treeCheckout.ts +1 -3
- package/src/shared-tree-core/editManagerCodecs.ts +69 -20
- package/src/shared-tree-core/editManagerFormatCommons.ts +46 -0
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +10 -5
- package/src/shared-tree-core/editManagerFormatV5.ts +3 -3
- package/src/shared-tree-core/index.ts +15 -5
- package/src/shared-tree-core/messageCodecV1ToV4.ts +6 -1
- package/src/shared-tree-core/messageCodecV5.ts +2 -1
- package/src/shared-tree-core/messageCodecs.ts +77 -28
- package/src/shared-tree-core/messageFormat.ts +58 -0
- package/src/shared-tree-core/sharedTreeCore.ts +11 -13
- package/src/simple-tree/api/configuration.ts +17 -4
- package/src/simple-tree/api/discrepancies.ts +2 -2
- package/src/simple-tree/api/incrementalAllowedTypes.ts +1 -1
- package/src/simple-tree/api/index.ts +11 -2
- package/src/simple-tree/api/schemaFactoryAlpha.ts +2 -168
- package/src/simple-tree/api/schemaFactoryBeta.ts +180 -14
- package/src/simple-tree/api/schemaFromSimple.ts +20 -9
- package/src/simple-tree/api/simpleSchemaCodec.ts +361 -0
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +135 -0
- package/src/simple-tree/api/storedSchema.ts +8 -5
- package/src/simple-tree/api/tree.ts +3 -3
- package/src/simple-tree/api/typesUnsafe.ts +6 -6
- package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +80 -47
- package/src/simple-tree/core/allowedTypes.ts +4 -4
- package/src/simple-tree/core/index.ts +3 -1
- package/src/simple-tree/core/toStored.ts +42 -18
- package/src/simple-tree/core/treeNode.ts +2 -2
- package/src/simple-tree/core/treeNodeSchema.ts +1 -7
- package/src/simple-tree/core/treeNodeValid.ts +0 -2
- package/src/simple-tree/fieldSchema.ts +2 -11
- package/src/simple-tree/index.ts +11 -2
- package/src/simple-tree/leafNodeSchema.ts +1 -2
- package/src/simple-tree/node-kinds/array/arrayNode.ts +28 -77
- package/src/simple-tree/node-kinds/map/mapNode.ts +3 -17
- package/src/simple-tree/node-kinds/object/objectNode.ts +5 -20
- package/src/simple-tree/node-kinds/record/recordNode.ts +4 -18
- package/src/simple-tree/simpleSchema.ts +27 -5
- package/src/simple-tree/simpleSchemaFormatV1.ts +179 -0
- package/src/simple-tree/toStoredSchema.ts +54 -38
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +22 -17
- package/src/tableSchema.ts +110 -331
- package/src/treeFactory.ts +33 -1
- package/src/util/arrayUtilities.ts +88 -0
- package/src/util/brand.ts +40 -2
- package/src/util/brandedMap.ts +3 -1
- package/src/util/index.ts +7 -0
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts +0 -10
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +0 -1
- package/dist/feature-libraries/default-schema/defaultSchema.js +0 -15
- package/dist/feature-libraries/default-schema/defaultSchema.js.map +0 -1
- package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +0 -1
- package/dist/feature-libraries/default-schema/schemaChecker.js.map +0 -1
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +0 -50
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js +0 -76
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +0 -12
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js +0 -158
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js.map +0 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +0 -11
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +0 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js +0 -245
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +0 -1
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts +0 -10
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +0 -1
- package/lib/feature-libraries/default-schema/defaultSchema.js +0 -12
- package/lib/feature-libraries/default-schema/defaultSchema.js.map +0 -1
- package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +0 -1
- package/lib/feature-libraries/default-schema/schemaChecker.js.map +0 -1
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +0 -50
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js +0 -71
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +0 -12
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js +0 -154
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js.map +0 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +0 -11
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +0 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js +0 -241
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +0 -1
- package/src/feature-libraries/default-schema/defaultSchema.ts +0 -15
- package/src/feature-libraries/modular-schema/fieldKindWithEditor.ts +0 -108
- package/src/feature-libraries/optional-field/optionalFieldCodecV1.ts +0 -208
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV1.ts +0 -344
|
@@ -5,15 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
7
7
|
import { unreachableCase } from "@fluidframework/core-utils/internal";
|
|
8
|
+
import {
|
|
9
|
+
getConfigForMinVersionForCollab,
|
|
10
|
+
lowestMinVersionForCollab,
|
|
11
|
+
} from "@fluidframework/runtime-utils/internal";
|
|
8
12
|
|
|
9
13
|
import {
|
|
10
14
|
type CodecTree,
|
|
15
|
+
type CodecWriteOptions,
|
|
11
16
|
type DependentFormatVersion,
|
|
17
|
+
FluidClientVersion,
|
|
12
18
|
type FormatVersion,
|
|
13
19
|
type ICodecFamily,
|
|
14
20
|
type ICodecOptions,
|
|
15
21
|
type IJsonCodec,
|
|
16
22
|
makeCodecFamily,
|
|
23
|
+
makeDiscontinuedCodecVersion,
|
|
17
24
|
} from "../codec/index.js";
|
|
18
25
|
import { makeVersionDispatchingCodec } from "../codec/index.js";
|
|
19
26
|
import type {
|
|
@@ -22,17 +29,64 @@ import type {
|
|
|
22
29
|
RevisionTag,
|
|
23
30
|
SchemaAndPolicy,
|
|
24
31
|
} from "../core/index.js";
|
|
25
|
-
import { brand, type
|
|
32
|
+
import { brand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
26
33
|
|
|
27
34
|
import type { SummaryData } from "./editManager.js";
|
|
28
35
|
import { makeV1CodecWithVersion } from "./editManagerCodecsV1toV4.js";
|
|
29
36
|
import { makeV5CodecWithVersion } from "./editManagerCodecsV5.js";
|
|
37
|
+
import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
|
|
38
|
+
import {
|
|
39
|
+
EditManagerFormatVersion,
|
|
40
|
+
editManagerFormatVersions,
|
|
41
|
+
} from "./editManagerFormatCommons.js";
|
|
30
42
|
|
|
31
43
|
export interface EditManagerEncodingContext {
|
|
32
44
|
idCompressor: IIdCompressor;
|
|
33
45
|
readonly schema?: SchemaAndPolicy;
|
|
34
46
|
}
|
|
35
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Convert a MinimumVersionForCollab to an EditManagerFormatVersion.
|
|
50
|
+
* @param clientVersion - The MinimumVersionForCollab to convert.
|
|
51
|
+
* @returns The EditManagerFormatVersion that corresponds to the provided MinimumVersionForCollab.
|
|
52
|
+
*/
|
|
53
|
+
export function clientVersionToEditManagerFormatVersion(
|
|
54
|
+
clientVersion: MinimumVersionForCollab,
|
|
55
|
+
writeVersionOverride?: EditManagerFormatVersion,
|
|
56
|
+
): EditManagerFormatVersion {
|
|
57
|
+
const compatibleVersion: EditManagerFormatVersion = brand(
|
|
58
|
+
getConfigForMinVersionForCollab(clientVersion, {
|
|
59
|
+
[lowestMinVersionForCollab]: EditManagerFormatVersion.v3,
|
|
60
|
+
[FluidClientVersion.v2_43]: EditManagerFormatVersion.v4,
|
|
61
|
+
}),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
return writeVersionOverride ?? compatibleVersion;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Returns the version that should be used for testing shared branches.
|
|
69
|
+
*/
|
|
70
|
+
export function editManagerFormatVersionSelectorForSharedBranches(
|
|
71
|
+
clientVersion: MinimumVersionForCollab,
|
|
72
|
+
): EditManagerFormatVersion {
|
|
73
|
+
return brand(EditManagerFormatVersion.v5);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface EditManagerCodecOptions {
|
|
77
|
+
readonly editManagerFormatSelector?: (
|
|
78
|
+
minVersionForCollab: MinimumVersionForCollab,
|
|
79
|
+
) => EditManagerFormatVersion;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function editManagerFormatVersionFromOptions(
|
|
83
|
+
options: EditManagerCodecOptions & CodecWriteOptions,
|
|
84
|
+
): EditManagerFormatVersion {
|
|
85
|
+
const selector =
|
|
86
|
+
options.editManagerFormatSelector ?? clientVersionToEditManagerFormatVersion;
|
|
87
|
+
return selector(options.minVersionForCollab);
|
|
88
|
+
}
|
|
89
|
+
|
|
36
90
|
export function makeEditManagerCodec<TChangeset>(
|
|
37
91
|
changeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,
|
|
38
92
|
dependentChangeFormatVersion: DependentFormatVersion<EditManagerFormatVersion>,
|
|
@@ -42,8 +96,7 @@ export function makeEditManagerCodec<TChangeset>(
|
|
|
42
96
|
EncodedRevisionTag,
|
|
43
97
|
ChangeEncodingContext
|
|
44
98
|
>,
|
|
45
|
-
options:
|
|
46
|
-
writeVersion: number,
|
|
99
|
+
options: EditManagerCodecOptions & CodecWriteOptions,
|
|
47
100
|
): IJsonCodec<
|
|
48
101
|
SummaryData<TChangeset>,
|
|
49
102
|
JsonCompatibleReadOnly,
|
|
@@ -56,6 +109,7 @@ export function makeEditManagerCodec<TChangeset>(
|
|
|
56
109
|
revisionTagCodec,
|
|
57
110
|
options,
|
|
58
111
|
);
|
|
112
|
+
const writeVersion = editManagerFormatVersionFromOptions(options);
|
|
59
113
|
return makeVersionDispatchingCodec(family, { ...options, writeVersion });
|
|
60
114
|
}
|
|
61
115
|
|
|
@@ -79,21 +133,25 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
79
133
|
EditManagerEncodingContext
|
|
80
134
|
>,
|
|
81
135
|
][] = Array.from(editManagerFormatVersions, (version) => {
|
|
82
|
-
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
83
136
|
switch (version) {
|
|
84
|
-
case
|
|
85
|
-
case
|
|
86
|
-
|
|
87
|
-
case
|
|
137
|
+
case EditManagerFormatVersion.v1:
|
|
138
|
+
case EditManagerFormatVersion.v2:
|
|
139
|
+
return [version, makeDiscontinuedCodecVersion(options, version, "2.73.0")];
|
|
140
|
+
case EditManagerFormatVersion.v3:
|
|
141
|
+
case EditManagerFormatVersion.v4: {
|
|
142
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
88
143
|
return [
|
|
89
144
|
version,
|
|
90
145
|
makeV1CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
91
146
|
];
|
|
92
|
-
|
|
147
|
+
}
|
|
148
|
+
case EditManagerFormatVersion.v5: {
|
|
149
|
+
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
93
150
|
return [
|
|
94
151
|
version,
|
|
95
152
|
makeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
96
153
|
];
|
|
154
|
+
}
|
|
97
155
|
default:
|
|
98
156
|
unreachableCase(version);
|
|
99
157
|
}
|
|
@@ -101,22 +159,13 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
101
159
|
return makeCodecFamily(registry);
|
|
102
160
|
}
|
|
103
161
|
|
|
104
|
-
export type EditManagerFormatVersion = Brand<1 | 2 | 3 | 4 | 5, "EditManagerFormatVersion">;
|
|
105
|
-
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set([
|
|
106
|
-
brand(1),
|
|
107
|
-
brand(2),
|
|
108
|
-
brand(3),
|
|
109
|
-
brand(4),
|
|
110
|
-
brand(5),
|
|
111
|
-
]);
|
|
112
|
-
|
|
113
162
|
export function getCodecTreeForEditManagerFormatWithChange(
|
|
114
|
-
|
|
163
|
+
clientVersion: MinimumVersionForCollab,
|
|
115
164
|
changeFormat: CodecTree,
|
|
116
165
|
): CodecTree {
|
|
117
166
|
return {
|
|
118
167
|
name: "EditManager",
|
|
119
|
-
version,
|
|
168
|
+
version: clientVersionToEditManagerFormatVersion(clientVersion),
|
|
120
169
|
children: [changeFormat],
|
|
121
170
|
};
|
|
122
171
|
}
|
|
@@ -120,4 +120,50 @@ export const EncodedSharedBranch = <ChangeSchema extends TSchema>(tChange: Chang
|
|
|
120
120
|
noAdditionalProps,
|
|
121
121
|
);
|
|
122
122
|
|
|
123
|
+
/**
|
|
124
|
+
* The format version for the EditManager.
|
|
125
|
+
*/
|
|
126
|
+
export const EditManagerFormatVersion = {
|
|
127
|
+
/**
|
|
128
|
+
* Introduced and retired prior to 2.0.
|
|
129
|
+
* Reading and writing capability removed in 2.73.0.
|
|
130
|
+
*/
|
|
131
|
+
v1: 1,
|
|
132
|
+
/**
|
|
133
|
+
* Introduced and retired prior to 2.0.
|
|
134
|
+
* Reading and writing capability removed in 2.73.0.
|
|
135
|
+
*/
|
|
136
|
+
v2: 2,
|
|
137
|
+
/**
|
|
138
|
+
* Introduced prior to 2.0 and used beyond.
|
|
139
|
+
* Reading capability is currently maintained for backwards compatibility, but it could be removed in the future.
|
|
140
|
+
* Writing capability needs to be maintained.
|
|
141
|
+
*/
|
|
142
|
+
v3: 3,
|
|
143
|
+
/**
|
|
144
|
+
* Was inadvertently released in 2.43.0 (through usages of configuredSharedTree) and remains available.
|
|
145
|
+
* Reading capability must be maintained for backwards compatibility.
|
|
146
|
+
* Writing capability needs to be maintained.
|
|
147
|
+
* @privateRemarks TODO: stop writing this version.
|
|
148
|
+
*/
|
|
149
|
+
v4: 4,
|
|
150
|
+
/**
|
|
151
|
+
* Not yet released.
|
|
152
|
+
* Only used for testing shared branches.
|
|
153
|
+
*/
|
|
154
|
+
v5: 5,
|
|
155
|
+
} as const;
|
|
156
|
+
export type EditManagerFormatVersion = Brand<
|
|
157
|
+
(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion],
|
|
158
|
+
"EditManagerFormatVersion"
|
|
159
|
+
>;
|
|
160
|
+
export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =
|
|
161
|
+
new Set([
|
|
162
|
+
EditManagerFormatVersion.v3,
|
|
163
|
+
EditManagerFormatVersion.v4,
|
|
164
|
+
EditManagerFormatVersion.v5,
|
|
165
|
+
] as EditManagerFormatVersion[]);
|
|
166
|
+
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(
|
|
167
|
+
Object.values(EditManagerFormatVersion) as EditManagerFormatVersion[],
|
|
168
|
+
);
|
|
123
169
|
/* eslint-enable @typescript-eslint/explicit-function-return-type */
|
|
@@ -8,6 +8,7 @@ import { type ObjectOptions, type TSchema, Type } from "@sinclair/typebox";
|
|
|
8
8
|
|
|
9
9
|
import { SessionIdSchema } from "../core/index.js";
|
|
10
10
|
import {
|
|
11
|
+
EditManagerFormatVersion,
|
|
11
12
|
type EncodedSummarySessionBranch,
|
|
12
13
|
SequencedCommit,
|
|
13
14
|
SummarySessionBranch,
|
|
@@ -21,17 +22,21 @@ const noAdditionalProps: ObjectOptions = { additionalProperties: false };
|
|
|
21
22
|
export interface EncodedEditManager<TChangeset> {
|
|
22
23
|
readonly trunk: readonly Readonly<SequencedCommit<TChangeset>>[];
|
|
23
24
|
readonly branches: readonly [SessionId, Readonly<EncodedSummarySessionBranch<TChangeset>>][];
|
|
24
|
-
readonly version:
|
|
25
|
+
readonly version:
|
|
26
|
+
| typeof EditManagerFormatVersion.v1
|
|
27
|
+
| typeof EditManagerFormatVersion.v2
|
|
28
|
+
| typeof EditManagerFormatVersion.v3
|
|
29
|
+
| typeof EditManagerFormatVersion.v4;
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
28
33
|
Type.Object(
|
|
29
34
|
{
|
|
30
35
|
version: Type.Union([
|
|
31
|
-
Type.Literal(
|
|
32
|
-
Type.Literal(
|
|
33
|
-
Type.Literal(
|
|
34
|
-
Type.Literal(
|
|
36
|
+
Type.Literal(EditManagerFormatVersion.v1),
|
|
37
|
+
Type.Literal(EditManagerFormatVersion.v2),
|
|
38
|
+
Type.Literal(EditManagerFormatVersion.v3),
|
|
39
|
+
Type.Literal(EditManagerFormatVersion.v4),
|
|
35
40
|
]),
|
|
36
41
|
trunk: Type.Array(SequencedCommit(tChange)),
|
|
37
42
|
branches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { type ObjectOptions, type TSchema, Type } from "@sinclair/typebox";
|
|
7
7
|
import type { SessionId } from "@fluidframework/id-compressor";
|
|
8
8
|
|
|
9
|
-
import { EncodedSharedBranch } from "./editManagerFormatCommons.js";
|
|
9
|
+
import { EncodedSharedBranch, EditManagerFormatVersion } from "./editManagerFormatCommons.js";
|
|
10
10
|
import { SessionIdSchema } from "../core/index.js";
|
|
11
11
|
|
|
12
12
|
const noAdditionalProps: ObjectOptions = { additionalProperties: false };
|
|
@@ -15,7 +15,7 @@ const noAdditionalProps: ObjectOptions = { additionalProperties: false };
|
|
|
15
15
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
16
16
|
|
|
17
17
|
export interface EncodedEditManager<TChangeset> {
|
|
18
|
-
readonly version:
|
|
18
|
+
readonly version: typeof EditManagerFormatVersion.v5;
|
|
19
19
|
readonly originator: SessionId;
|
|
20
20
|
readonly main: EncodedSharedBranch<TChangeset>;
|
|
21
21
|
readonly branches?: readonly EncodedSharedBranch<TChangeset>[];
|
|
@@ -24,7 +24,7 @@ export interface EncodedEditManager<TChangeset> {
|
|
|
24
24
|
export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
25
25
|
Type.Object(
|
|
26
26
|
{
|
|
27
|
-
version: Type.Union([Type.Literal(
|
|
27
|
+
version: Type.Union([Type.Literal(EditManagerFormatVersion.v5)]),
|
|
28
28
|
originator: SessionIdSchema,
|
|
29
29
|
main: EncodedSharedBranch(tChange),
|
|
30
30
|
branches: Type.Optional(Type.Array(EncodedSharedBranch(tChange))),
|
|
@@ -22,12 +22,12 @@ export {
|
|
|
22
22
|
} from "./transaction.js";
|
|
23
23
|
|
|
24
24
|
export {
|
|
25
|
-
type ExplicitCoreCodecVersions,
|
|
26
25
|
SharedTreeCore,
|
|
27
26
|
type Summarizable,
|
|
28
27
|
type SummaryElementParser,
|
|
29
28
|
type SummaryElementStringifier,
|
|
30
29
|
type ClonableSchemaAndPolicy,
|
|
30
|
+
type SharedTreeCoreOptionsInternal as SharedTreCoreOptionsInternal,
|
|
31
31
|
} from "./sharedTreeCore.js";
|
|
32
32
|
|
|
33
33
|
export type { ResubmitMachine } from "./resubmitMachine.js";
|
|
@@ -42,9 +42,14 @@ export {
|
|
|
42
42
|
export {
|
|
43
43
|
makeEditManagerCodec,
|
|
44
44
|
getCodecTreeForEditManagerFormatWithChange,
|
|
45
|
-
type
|
|
46
|
-
|
|
45
|
+
type EditManagerCodecOptions,
|
|
46
|
+
clientVersionToEditManagerFormatVersion,
|
|
47
|
+
editManagerFormatVersionSelectorForSharedBranches,
|
|
47
48
|
} from "./editManagerCodecs.js";
|
|
49
|
+
export {
|
|
50
|
+
EditManagerFormatVersion,
|
|
51
|
+
supportedEditManagerFormatVersions,
|
|
52
|
+
} from "./editManagerFormatCommons.js";
|
|
48
53
|
export { EditManagerSummarizer } from "./editManagerSummarizer.js";
|
|
49
54
|
export {
|
|
50
55
|
EditManager,
|
|
@@ -61,7 +66,12 @@ export type {
|
|
|
61
66
|
} from "./editManagerFormatCommons.js";
|
|
62
67
|
|
|
63
68
|
export {
|
|
64
|
-
type MessageFormatVersion,
|
|
65
|
-
messageFormatVersions,
|
|
66
69
|
getCodecTreeForMessageFormatWithChange,
|
|
70
|
+
clientVersionToMessageFormatVersion,
|
|
71
|
+
messageFormatVersionSelectorForSharedBranches,
|
|
67
72
|
} from "./messageCodecs.js";
|
|
73
|
+
export {
|
|
74
|
+
MessageFormatVersion,
|
|
75
|
+
messageFormatVersions,
|
|
76
|
+
supportedMessageFormatVersions,
|
|
77
|
+
} from "./messageFormat.js";
|
|
@@ -18,6 +18,7 @@ import type { JsonCompatibleReadOnly } from "../util/index.js";
|
|
|
18
18
|
import { Message } from "./messageFormatV1ToV4.js";
|
|
19
19
|
import type { DecodedMessage } from "./messageTypes.js";
|
|
20
20
|
import type { MessageEncodingContext } from "./messageCodecs.js";
|
|
21
|
+
import type { MessageFormatVersion } from "./messageFormat.js";
|
|
21
22
|
|
|
22
23
|
export function makeV1ToV4CodecWithVersion<TChangeset>(
|
|
23
24
|
changeCodec: ChangeFamilyCodec<TChangeset>,
|
|
@@ -28,7 +29,11 @@ export function makeV1ToV4CodecWithVersion<TChangeset>(
|
|
|
28
29
|
ChangeEncodingContext
|
|
29
30
|
>,
|
|
30
31
|
options: ICodecOptions,
|
|
31
|
-
version:
|
|
32
|
+
version:
|
|
33
|
+
| typeof MessageFormatVersion.v1
|
|
34
|
+
| typeof MessageFormatVersion.v2
|
|
35
|
+
| typeof MessageFormatVersion.v3
|
|
36
|
+
| typeof MessageFormatVersion.v4,
|
|
32
37
|
): IJsonCodec<
|
|
33
38
|
DecodedMessage<TChangeset>,
|
|
34
39
|
JsonCompatibleReadOnly,
|
|
@@ -19,6 +19,7 @@ import type { DecodedMessage } from "./messageTypes.js";
|
|
|
19
19
|
import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
|
|
20
20
|
import type { MessageEncodingContext } from "./messageCodecs.js";
|
|
21
21
|
import { decodeBranchId, encodeBranchId } from "./branchIdCodec.js";
|
|
22
|
+
import type { MessageFormatVersion } from "./messageFormat.js";
|
|
22
23
|
|
|
23
24
|
export function makeV5CodecWithVersion<TChangeset>(
|
|
24
25
|
changeCodec: ChangeFamilyCodec<TChangeset>,
|
|
@@ -29,7 +30,7 @@ export function makeV5CodecWithVersion<TChangeset>(
|
|
|
29
30
|
ChangeEncodingContext
|
|
30
31
|
>,
|
|
31
32
|
options: ICodecOptions,
|
|
32
|
-
version:
|
|
33
|
+
version: typeof MessageFormatVersion.v5,
|
|
33
34
|
): IJsonCodec<
|
|
34
35
|
DecodedMessage<TChangeset>,
|
|
35
36
|
JsonCompatibleReadOnly,
|
|
@@ -4,14 +4,23 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { unreachableCase } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal";
|
|
8
|
+
import {
|
|
9
|
+
getConfigForMinVersionForCollab,
|
|
10
|
+
lowestMinVersionForCollab,
|
|
11
|
+
} from "@fluidframework/runtime-utils/internal";
|
|
12
|
+
|
|
7
13
|
import {
|
|
8
14
|
type CodecTree,
|
|
15
|
+
type CodecWriteOptions,
|
|
9
16
|
type DependentFormatVersion,
|
|
17
|
+
FluidClientVersion,
|
|
10
18
|
type FormatVersion,
|
|
11
19
|
type ICodecFamily,
|
|
12
20
|
type ICodecOptions,
|
|
13
21
|
type IJsonCodec,
|
|
14
22
|
makeCodecFamily,
|
|
23
|
+
makeDiscontinuedCodecVersion,
|
|
15
24
|
makeVersionDispatchingCodec,
|
|
16
25
|
} from "../codec/index.js";
|
|
17
26
|
import type {
|
|
@@ -20,18 +29,59 @@ import type {
|
|
|
20
29
|
RevisionTag,
|
|
21
30
|
SchemaAndPolicy,
|
|
22
31
|
} from "../core/index.js";
|
|
23
|
-
import { brand, type
|
|
32
|
+
import { brand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
24
33
|
|
|
25
34
|
import type { DecodedMessage } from "./messageTypes.js";
|
|
26
35
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
27
36
|
import { makeV1ToV4CodecWithVersion } from "./messageCodecV1ToV4.js";
|
|
28
37
|
import { makeV5CodecWithVersion } from "./messageCodecV5.js";
|
|
38
|
+
import { MessageFormatVersion, messageFormatVersions } from "./messageFormat.js";
|
|
29
39
|
|
|
30
40
|
export interface MessageEncodingContext {
|
|
31
41
|
idCompressor: IIdCompressor;
|
|
32
42
|
schema?: SchemaAndPolicy;
|
|
33
43
|
}
|
|
34
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Convert a MinimumVersionForCollab to a MessageFormatVersion.
|
|
47
|
+
* @param clientVersion - The MinimumVersionForCollab to convert.
|
|
48
|
+
* @returns The MessageFormatVersion that corresponds to the provided MinimumVersionForCollab.
|
|
49
|
+
*/
|
|
50
|
+
export function clientVersionToMessageFormatVersion(
|
|
51
|
+
clientVersion: MinimumVersionForCollab,
|
|
52
|
+
writeVersionOverride?: MessageFormatVersion,
|
|
53
|
+
): MessageFormatVersion {
|
|
54
|
+
const compatibleVersion: MessageFormatVersion = brand(
|
|
55
|
+
getConfigForMinVersionForCollab(clientVersion, {
|
|
56
|
+
[lowestMinVersionForCollab]: MessageFormatVersion.v3,
|
|
57
|
+
[FluidClientVersion.v2_43]: MessageFormatVersion.v4,
|
|
58
|
+
}),
|
|
59
|
+
);
|
|
60
|
+
return writeVersionOverride ?? compatibleVersion;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface MessageCodecOptions {
|
|
64
|
+
readonly messageFormatSelector?: (
|
|
65
|
+
minVersionForCollab: MinimumVersionForCollab,
|
|
66
|
+
) => MessageFormatVersion;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function messageFormatVersionFromOptions(
|
|
70
|
+
options: MessageCodecOptions & CodecWriteOptions,
|
|
71
|
+
): MessageFormatVersion {
|
|
72
|
+
const selector = options.messageFormatSelector ?? clientVersionToMessageFormatVersion;
|
|
73
|
+
return selector(options.minVersionForCollab);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Returns the version that should be used for testing shared branches.
|
|
78
|
+
*/
|
|
79
|
+
export function messageFormatVersionSelectorForSharedBranches(
|
|
80
|
+
clientVersion: MinimumVersionForCollab,
|
|
81
|
+
): MessageFormatVersion {
|
|
82
|
+
return brand(MessageFormatVersion.v5);
|
|
83
|
+
}
|
|
84
|
+
|
|
35
85
|
export function makeMessageCodec<TChangeset>(
|
|
36
86
|
changeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,
|
|
37
87
|
dependentChangeFormatVersion: DependentFormatVersion<MessageFormatVersion>,
|
|
@@ -41,8 +91,7 @@ export function makeMessageCodec<TChangeset>(
|
|
|
41
91
|
EncodedRevisionTag,
|
|
42
92
|
ChangeEncodingContext
|
|
43
93
|
>,
|
|
44
|
-
options:
|
|
45
|
-
writeVersion: MessageFormatVersion = brand(1),
|
|
94
|
+
options: MessageCodecOptions & CodecWriteOptions,
|
|
46
95
|
): IJsonCodec<
|
|
47
96
|
DecodedMessage<TChangeset>,
|
|
48
97
|
JsonCompatibleReadOnly,
|
|
@@ -55,6 +104,7 @@ export function makeMessageCodec<TChangeset>(
|
|
|
55
104
|
revisionTagCodec,
|
|
56
105
|
options,
|
|
57
106
|
);
|
|
107
|
+
const writeVersion = messageFormatVersionFromOptions(options);
|
|
58
108
|
return makeVersionDispatchingCodec(family, { ...options, writeVersion });
|
|
59
109
|
}
|
|
60
110
|
|
|
@@ -81,24 +131,36 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
81
131
|
MessageEncodingContext
|
|
82
132
|
>,
|
|
83
133
|
][] = Array.from(messageFormatVersions).map((version) => {
|
|
84
|
-
const changeCodec = changeCodecs.resolve(
|
|
85
|
-
dependentChangeFormatVersion.lookup(version),
|
|
86
|
-
).json;
|
|
87
134
|
switch (version) {
|
|
88
|
-
case undefined:
|
|
89
|
-
case
|
|
90
|
-
case
|
|
91
|
-
|
|
92
|
-
|
|
135
|
+
case MessageFormatVersion.undefined:
|
|
136
|
+
case MessageFormatVersion.v1:
|
|
137
|
+
case MessageFormatVersion.v2: {
|
|
138
|
+
const versionOrUndefined =
|
|
139
|
+
version === MessageFormatVersion.undefined ? undefined : version;
|
|
140
|
+
return [
|
|
141
|
+
versionOrUndefined,
|
|
142
|
+
makeDiscontinuedCodecVersion(options, versionOrUndefined, "2.73.0"),
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
case MessageFormatVersion.v3:
|
|
146
|
+
case MessageFormatVersion.v4: {
|
|
147
|
+
const changeCodec = changeCodecs.resolve(
|
|
148
|
+
dependentChangeFormatVersion.lookup(version),
|
|
149
|
+
).json;
|
|
93
150
|
return [
|
|
94
151
|
version,
|
|
95
|
-
makeV1ToV4CodecWithVersion(changeCodec, revisionTagCodec, options, version
|
|
152
|
+
makeV1ToV4CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
96
153
|
];
|
|
97
|
-
|
|
154
|
+
}
|
|
155
|
+
case MessageFormatVersion.v5: {
|
|
156
|
+
const changeCodec = changeCodecs.resolve(
|
|
157
|
+
dependentChangeFormatVersion.lookup(version),
|
|
158
|
+
).json;
|
|
98
159
|
return [
|
|
99
160
|
version,
|
|
100
161
|
makeV5CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
101
162
|
];
|
|
163
|
+
}
|
|
102
164
|
default:
|
|
103
165
|
unreachableCase(version);
|
|
104
166
|
}
|
|
@@ -106,26 +168,13 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
106
168
|
return makeCodecFamily(registry);
|
|
107
169
|
}
|
|
108
170
|
|
|
109
|
-
export type MessageFormatVersion = Brand<
|
|
110
|
-
undefined | 1 | 2 | 3 | 4 | 5,
|
|
111
|
-
"MessageFormatVersion"
|
|
112
|
-
>;
|
|
113
|
-
export const messageFormatVersions: ReadonlySet<MessageFormatVersion> = new Set([
|
|
114
|
-
brand(undefined),
|
|
115
|
-
brand(1),
|
|
116
|
-
brand(2),
|
|
117
|
-
brand(3),
|
|
118
|
-
brand(4),
|
|
119
|
-
brand(5),
|
|
120
|
-
]);
|
|
121
|
-
|
|
122
171
|
export function getCodecTreeForMessageFormatWithChange(
|
|
123
|
-
|
|
172
|
+
clientVersion: MinimumVersionForCollab,
|
|
124
173
|
changeFormat: CodecTree,
|
|
125
174
|
): CodecTree {
|
|
126
175
|
return {
|
|
127
176
|
name: "Message",
|
|
128
|
-
version,
|
|
177
|
+
version: clientVersionToMessageFormatVersion(clientVersion),
|
|
129
178
|
children: [changeFormat],
|
|
130
179
|
};
|
|
131
180
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Brand } from "../util/index.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The format version for the message.
|
|
10
|
+
*/
|
|
11
|
+
export const MessageFormatVersion = {
|
|
12
|
+
/**
|
|
13
|
+
* NOTE: this is written as `undefined` rather than `0` in the wire format.
|
|
14
|
+
* Introduced and retired prior to 2.0.
|
|
15
|
+
* Reading and writing capability removed in 2.73.0.
|
|
16
|
+
*/
|
|
17
|
+
undefined: 0,
|
|
18
|
+
/**
|
|
19
|
+
* Introduced and retired prior to 2.0.
|
|
20
|
+
* Reading and writing capability removed in 2.73.0.
|
|
21
|
+
*/
|
|
22
|
+
v1: 1,
|
|
23
|
+
/**
|
|
24
|
+
* Introduced and retired prior to 2.0.
|
|
25
|
+
* Reading and writing capability removed in 2.73.0.
|
|
26
|
+
*/
|
|
27
|
+
v2: 2,
|
|
28
|
+
/**
|
|
29
|
+
* Introduced prior to 2.0 and used beyond.
|
|
30
|
+
* Reading capability is currently maintained for backwards compatibility, but it could be removed in the future.
|
|
31
|
+
* Writing capability needs to be maintained.
|
|
32
|
+
*/
|
|
33
|
+
v3: 3,
|
|
34
|
+
/**
|
|
35
|
+
* Was inadvertently released in 2.43.0 (through usages of configuredSharedTree) and remains available.
|
|
36
|
+
* Reading capability must be maintained for backwards compatibility.
|
|
37
|
+
* Writing capability needs to be maintained.
|
|
38
|
+
* @privateRemarks TODO: stop writing this version.
|
|
39
|
+
*/
|
|
40
|
+
v4: 4,
|
|
41
|
+
/**
|
|
42
|
+
* Not yet released.
|
|
43
|
+
* Only used for testing shared branches.
|
|
44
|
+
*/
|
|
45
|
+
v5: 5,
|
|
46
|
+
} as const;
|
|
47
|
+
export type MessageFormatVersion = Brand<
|
|
48
|
+
(typeof MessageFormatVersion)[keyof typeof MessageFormatVersion],
|
|
49
|
+
"MessageFormatVersion"
|
|
50
|
+
>;
|
|
51
|
+
export const supportedMessageFormatVersions: ReadonlySet<MessageFormatVersion> = new Set([
|
|
52
|
+
MessageFormatVersion.v3,
|
|
53
|
+
MessageFormatVersion.v4,
|
|
54
|
+
MessageFormatVersion.v5,
|
|
55
|
+
] as MessageFormatVersion[]);
|
|
56
|
+
export const messageFormatVersions: ReadonlySet<MessageFormatVersion> = new Set(
|
|
57
|
+
Object.values(MessageFormatVersion) as MessageFormatVersion[],
|
|
58
|
+
);
|
|
@@ -25,7 +25,7 @@ import type {
|
|
|
25
25
|
} from "@fluidframework/shared-object-base/internal";
|
|
26
26
|
import { createChildLogger } from "@fluidframework/telemetry-utils/internal";
|
|
27
27
|
|
|
28
|
-
import type {
|
|
28
|
+
import type { CodecWriteOptions, DependentFormatVersion, IJsonCodec } from "../codec/index.js";
|
|
29
29
|
import {
|
|
30
30
|
type ChangeFamily,
|
|
31
31
|
type ChangeFamilyEditor,
|
|
@@ -51,29 +51,30 @@ import { BranchCommitEnricher } from "./branchCommitEnricher.js";
|
|
|
51
51
|
import { type ChangeEnricherReadonlyCheckout, NoOpChangeEnricher } from "./changeEnricher.js";
|
|
52
52
|
import { DefaultResubmitMachine } from "./defaultResubmitMachine.js";
|
|
53
53
|
import { EditManager, minimumPossibleSequenceNumber } from "./editManager.js";
|
|
54
|
-
import { makeEditManagerCodec, type
|
|
55
|
-
import type { SeqNumber } from "./editManagerFormatCommons.js";
|
|
54
|
+
import { makeEditManagerCodec, type EditManagerCodecOptions } from "./editManagerCodecs.js";
|
|
55
|
+
import type { EditManagerFormatVersion, SeqNumber } from "./editManagerFormatCommons.js";
|
|
56
56
|
import { EditManagerSummarizer } from "./editManagerSummarizer.js";
|
|
57
57
|
import {
|
|
58
|
+
type MessageCodecOptions,
|
|
58
59
|
type MessageEncodingContext,
|
|
59
|
-
type MessageFormatVersion,
|
|
60
60
|
makeMessageCodec,
|
|
61
61
|
} from "./messageCodecs.js";
|
|
62
62
|
import type { DecodedMessage } from "./messageTypes.js";
|
|
63
63
|
import type { ResubmitMachine } from "./resubmitMachine.js";
|
|
64
|
+
import type { MessageFormatVersion } from "./messageFormat.js";
|
|
64
65
|
|
|
65
66
|
// TODO: Organize this to be adjacent to persisted types.
|
|
66
67
|
const summarizablesTreeKey = "indexes";
|
|
67
68
|
|
|
68
|
-
export interface ExplicitCoreCodecVersions {
|
|
69
|
-
editManager: EditManagerFormatVersion;
|
|
70
|
-
message: MessageFormatVersion;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
69
|
export interface ClonableSchemaAndPolicy extends SchemaAndPolicy {
|
|
74
70
|
schema: TreeStoredSchemaRepository;
|
|
75
71
|
}
|
|
76
72
|
|
|
73
|
+
export interface SharedTreeCoreOptionsInternal
|
|
74
|
+
extends CodecWriteOptions,
|
|
75
|
+
EditManagerCodecOptions,
|
|
76
|
+
MessageCodecOptions {}
|
|
77
|
+
|
|
77
78
|
/**
|
|
78
79
|
* Generic shared tree, which needs to be configured with indexes, field kinds and other configuration.
|
|
79
80
|
*/
|
|
@@ -128,8 +129,7 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
128
129
|
logger: ITelemetryBaseLogger | undefined,
|
|
129
130
|
summarizables: readonly Summarizable[],
|
|
130
131
|
protected readonly changeFamily: ChangeFamily<TEditor, TChange>,
|
|
131
|
-
options:
|
|
132
|
-
formatOptions: ExplicitCoreCodecVersions,
|
|
132
|
+
options: SharedTreeCoreOptionsInternal,
|
|
133
133
|
changeFormatVersionForEditManager: DependentFormatVersion<EditManagerFormatVersion>,
|
|
134
134
|
changeFormatVersionForMessage: DependentFormatVersion<MessageFormatVersion>,
|
|
135
135
|
protected readonly idCompressor: IIdCompressor,
|
|
@@ -172,7 +172,6 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
172
172
|
changeFormatVersionForEditManager,
|
|
173
173
|
revisionTagCodec,
|
|
174
174
|
options,
|
|
175
|
-
formatOptions.editManager,
|
|
176
175
|
);
|
|
177
176
|
this.summarizables = [
|
|
178
177
|
new EditManagerSummarizer(
|
|
@@ -193,7 +192,6 @@ export class SharedTreeCore<TEditor extends ChangeFamilyEditor, TChange>
|
|
|
193
192
|
changeFormatVersionForMessage,
|
|
194
193
|
new RevisionTagCodec(idCompressor),
|
|
195
194
|
options,
|
|
196
|
-
formatOptions.message,
|
|
197
195
|
);
|
|
198
196
|
|
|
199
197
|
this.registerSharedBranchForEditing(
|