@fluidframework/tree 2.74.0-368706 → 2.74.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/.vscode/settings.json +2 -0
- package/CHANGELOG.md +11 -0
- package/api-report/tree.alpha.api.md +19 -15
- package/assertTagging.config.mjs +1 -1
- package/dist/alpha.d.ts +3 -0
- package/dist/codec/codec.d.ts +32 -17
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +40 -24
- package/dist/codec/codec.js.map +1 -1
- package/dist/core/change-family/changeFamily.d.ts +1 -4
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/change-family/index.d.ts +1 -1
- package/dist/core/change-family/index.d.ts.map +1 -1
- package/dist/core/change-family/index.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +1 -6
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/index.d.ts +1 -1
- package/dist/core/rebase/index.d.ts.map +1 -1
- package/dist/core/rebase/index.js +1 -2
- package/dist/core/rebase/index.js.map +1 -1
- package/dist/core/rebase/types.d.ts +21 -3
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +1 -5
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +7 -25
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +4 -7
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +2 -2
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +0 -6
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +0 -9
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +4 -4
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js +2 -2
- package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/dist/core/tree/index.d.ts +1 -1
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js +3 -4
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/pathTree.d.ts +3 -11
- package/dist/core/tree/pathTree.d.ts.map +1 -1
- package/dist/core/tree/pathTree.js +2 -14
- package/dist/core/tree/pathTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.js +0 -7
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +1 -4
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +5 -5
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +4 -4
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +42 -90
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +69 -234
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +2 -11
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +1 -2
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +2 -4
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts +6 -7
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js +0 -15
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/dist/feature-libraries/deltaUtils.d.ts +0 -1
- package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/dist/feature-libraries/deltaUtils.js +1 -6
- package/dist/feature-libraries/deltaUtils.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +0 -9
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +0 -6
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +7 -8
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +8 -37
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.d.ts +8 -2
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +13 -11
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +18 -9
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts +61 -0
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/{format.js → formatCommon.js} +9 -6
- package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -0
- package/dist/feature-libraries/forest-summary/{format.d.ts → formatV1.d.ts} +6 -14
- package/dist/feature-libraries/forest-summary/formatV1.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/formatV1.js +11 -0
- package/dist/feature-libraries/forest-summary/formatV1.js.map +1 -0
- package/dist/feature-libraries/forest-summary/formatV2.d.ts +51 -0
- package/dist/feature-libraries/forest-summary/formatV2.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/formatV2.js +11 -0
- package/dist/feature-libraries/forest-summary/formatV2.js.map +1 -0
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +7 -15
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +11 -20
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/dist/feature-libraries/forest-summary/index.d.ts +1 -2
- package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/index.js +3 -5
- package/dist/feature-libraries/forest-summary/index.js.map +1 -1
- package/dist/feature-libraries/forest-summary/summaryFormatCommon.d.ts +35 -0
- package/dist/feature-libraries/forest-summary/summaryFormatCommon.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryFormatCommon.js +43 -0
- package/dist/feature-libraries/forest-summary/summaryFormatCommon.js.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts +11 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.js +14 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV1ToV2.js.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV3.d.ts +18 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV3.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV3.js +21 -0
- package/dist/feature-libraries/forest-summary/summaryFormatV3.js.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryTypes.d.ts +7 -37
- package/dist/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/summaryTypes.js +23 -45
- package/dist/feature-libraries/forest-summary/summaryTypes.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -3
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +3 -6
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.js +0 -1
- package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/dist/feature-libraries/mitigatedChangeFamily.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 -1
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +21 -97
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +7 -4
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +52 -20
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +9 -3
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +2 -2
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +4 -4
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +8 -11
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +284 -8
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +15 -48
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +465 -1298
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/{lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts → dist/feature-libraries/modular-schema/modularChangeFormat.d.ts} +2 -2
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/{modularChangeFormatV1.js → modularChangeFormat.js} +5 -5
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +10 -50
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js +3 -24
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +2 -2
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js +2 -1
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +26 -5
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +451 -217
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +33 -24
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +28 -57
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +2 -3
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +4 -4
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.d.ts +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts +7 -6
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +256 -80
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts +10 -14
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/dist/feature-libraries/sequence-field/index.d.ts +3 -2
- package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/index.js +3 -1
- package/dist/feature-libraries/sequence-field/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +167 -65
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +56 -4
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +86 -7
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.js +112 -106
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +50 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
- package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.js +33 -16
- package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +2 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -22
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +179 -358
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +60 -20
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +109 -14
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +59 -30
- package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/types.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.d.ts +24 -15
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +299 -111
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +1 -1
- 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.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +4 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +1 -2
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +7 -2
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +36 -32
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +3 -9
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +0 -10
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +2 -3
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +6 -16
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +6 -13
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +15 -12
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +54 -48
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +2 -3
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +3 -4
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +2 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +9 -9
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +0 -4
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +7 -15
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +8 -44
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +2 -8
- 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 +0 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +1 -1
- package/dist/shared-tree-core/index.d.ts +3 -2
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +2 -3
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +1 -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/messageCodecs.d.ts +0 -4
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +9 -17
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +9 -50
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +3 -8
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +2 -3
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js +1 -8
- package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +0 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/shared-tree-core/versionedSummarizer.d.ts +6 -1
- package/dist/shared-tree-core/versionedSummarizer.d.ts.map +1 -1
- package/dist/shared-tree-core/versionedSummarizer.js +4 -3
- package/dist/shared-tree-core/versionedSummarizer.js.map +1 -1
- package/dist/simple-tree/api/eraseSchemaDetails.d.ts +89 -0
- package/dist/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -0
- package/dist/simple-tree/api/eraseSchemaDetails.js +97 -0
- package/dist/simple-tree/api/eraseSchemaDetails.js.map +1 -0
- package/dist/simple-tree/api/index.d.ts +1 -0
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +5 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +1 -2
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +15 -2
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/core/treeNode.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNode.js +1 -0
- package/dist/simple-tree/core/treeNode.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +8 -59
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/createContext.d.ts.map +1 -1
- package/dist/simple-tree/createContext.js +1 -1
- package/dist/simple-tree/createContext.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +4 -4
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +5 -3
- package/dist/simple-tree/index.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 +3 -5
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/common.js +1 -1
- package/dist/simple-tree/node-kinds/common.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +2 -2
- 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 +18 -18
- 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 +2 -4
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/prepareForInsertion.d.ts +47 -54
- package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/dist/simple-tree/prepareForInsertion.js +125 -183
- package/dist/simple-tree/prepareForInsertion.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +3 -3
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +4 -13
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +11 -29
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/tableSchema.d.ts +3 -14
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +2 -2
- package/dist/tableSchema.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +3 -17
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/brand.d.ts +49 -0
- package/dist/util/brand.d.ts.map +1 -1
- package/dist/util/brand.js +47 -1
- package/dist/util/brand.js.map +1 -1
- package/dist/util/index.d.ts +2 -2
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +4 -3
- package/dist/util/index.js.map +1 -1
- package/dist/util/rangeMap.d.ts +12 -24
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +6 -46
- package/dist/util/rangeMap.js.map +1 -1
- package/docs/main/sequence-field/move-composition.md +46 -0
- package/eslint.config.mts +98 -0
- package/lib/alpha.d.ts +3 -0
- package/lib/codec/codec.d.ts +32 -17
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +34 -18
- package/lib/codec/codec.js.map +1 -1
- package/lib/core/change-family/changeFamily.d.ts +1 -4
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/change-family/index.d.ts +1 -1
- package/lib/core/change-family/index.d.ts.map +1 -1
- package/lib/core/change-family/index.js.map +1 -1
- package/lib/core/index.d.ts +3 -3
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +1 -6
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/index.d.ts +1 -1
- package/lib/core/rebase/index.d.ts.map +1 -1
- package/lib/core/rebase/index.js +1 -1
- package/lib/core/rebase/index.js.map +1 -1
- package/lib/core/rebase/types.d.ts +21 -3
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +0 -3
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +7 -25
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +4 -7
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +3 -3
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +0 -6
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +1 -10
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +4 -4
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.js +3 -3
- package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/lib/core/tree/index.d.ts +1 -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/core/tree/pathTree.d.ts +3 -11
- package/lib/core/tree/pathTree.d.ts.map +1 -1
- package/lib/core/tree/pathTree.js +1 -12
- package/lib/core/tree/pathTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js +1 -8
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +1 -4
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +3 -3
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +5 -5
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +5 -5
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +42 -90
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +69 -232
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +2 -11
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +1 -2
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +1 -2
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts +6 -7
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js +0 -15
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/lib/feature-libraries/deltaUtils.d.ts +0 -1
- package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/lib/feature-libraries/deltaUtils.js +1 -5
- package/lib/feature-libraries/deltaUtils.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +0 -9
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +0 -6
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +7 -8
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +9 -38
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.d.ts +8 -2
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +12 -11
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +19 -10
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts +61 -0
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/{format.js → formatCommon.js} +8 -6
- package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -0
- package/lib/feature-libraries/forest-summary/{format.d.ts → formatV1.d.ts} +6 -14
- package/lib/feature-libraries/forest-summary/formatV1.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/formatV1.js +8 -0
- package/lib/feature-libraries/forest-summary/formatV1.js.map +1 -0
- package/lib/feature-libraries/forest-summary/formatV2.d.ts +51 -0
- package/lib/feature-libraries/forest-summary/formatV2.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/formatV2.js +8 -0
- package/lib/feature-libraries/forest-summary/formatV2.js.map +1 -0
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +7 -15
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +11 -20
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/lib/feature-libraries/forest-summary/index.d.ts +1 -2
- package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/index.js +1 -2
- package/lib/feature-libraries/forest-summary/index.js.map +1 -1
- package/lib/feature-libraries/forest-summary/summaryFormatCommon.d.ts +35 -0
- package/lib/feature-libraries/forest-summary/summaryFormatCommon.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryFormatCommon.js +40 -0
- package/lib/feature-libraries/forest-summary/summaryFormatCommon.js.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts +11 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.js +11 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV1ToV2.js.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV3.d.ts +18 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV3.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV3.js +18 -0
- package/lib/feature-libraries/forest-summary/summaryFormatV3.js.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryTypes.d.ts +7 -37
- package/lib/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/summaryTypes.js +20 -43
- package/lib/feature-libraries/forest-summary/summaryTypes.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -3
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +2 -2
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.js +1 -2
- package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/lib/feature-libraries/mitigatedChangeFamily.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 -1
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +21 -97
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +5 -3
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +52 -20
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +9 -3
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +4 -4
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +2 -3
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +285 -9
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +15 -48
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +458 -1284
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/{dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts → lib/feature-libraries/modular-schema/modularChangeFormat.d.ts} +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/{modularChangeFormatV1.js → modularChangeFormat.js} +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +10 -50
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js +2 -20
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +2 -2
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +26 -5
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +449 -217
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +33 -24
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +26 -55
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +2 -3
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +5 -5
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.d.ts +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts +7 -6
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +258 -82
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts +10 -14
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/lib/feature-libraries/sequence-field/index.d.ts +3 -2
- package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/index.js +1 -0
- package/lib/feature-libraries/sequence-field/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +169 -67
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +56 -4
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +80 -6
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.js +114 -108
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +46 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
- package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.js +33 -16
- package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +2 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -22
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +175 -350
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +61 -21
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +109 -14
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +59 -30
- package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/types.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.d.ts +24 -15
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +292 -107
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +2 -2
- 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.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +4 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +2 -3
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +7 -2
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +39 -35
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +3 -9
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +0 -10
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +2 -3
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +4 -4
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +3 -3
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +6 -16
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +5 -11
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +15 -12
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +57 -51
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +2 -3
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +3 -4
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +2 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +9 -9
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +0 -4
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +7 -14
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +8 -44
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +3 -9
- 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 +0 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +1 -1
- package/lib/shared-tree-core/index.d.ts +3 -2
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +2 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +1 -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/messageCodecs.d.ts +0 -4
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +9 -16
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +9 -50
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +3 -8
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +2 -3
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -8
- package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +0 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/shared-tree-core/versionedSummarizer.d.ts +6 -1
- package/lib/shared-tree-core/versionedSummarizer.d.ts.map +1 -1
- package/lib/shared-tree-core/versionedSummarizer.js +4 -3
- package/lib/shared-tree-core/versionedSummarizer.js.map +1 -1
- package/lib/simple-tree/api/eraseSchemaDetails.d.ts +89 -0
- package/lib/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -0
- package/lib/simple-tree/api/eraseSchemaDetails.js +92 -0
- package/lib/simple-tree/api/eraseSchemaDetails.js.map +1 -0
- package/lib/simple-tree/api/index.d.ts +1 -0
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +1 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +1 -2
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +15 -2
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/core/treeNode.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNode.js +1 -0
- package/lib/simple-tree/core/treeNode.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +8 -58
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/createContext.d.ts.map +1 -1
- package/lib/simple-tree/createContext.js +1 -1
- package/lib/simple-tree/createContext.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +4 -4
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -2
- package/lib/simple-tree/index.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 +4 -6
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/common.js +2 -2
- package/lib/simple-tree/node-kinds/common.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +2 -2
- 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 +19 -19
- 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 +2 -4
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/prepareForInsertion.d.ts +47 -54
- package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/lib/simple-tree/prepareForInsertion.js +124 -183
- package/lib/simple-tree/prepareForInsertion.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +3 -3
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +4 -13
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +9 -26
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/tableSchema.d.ts +3 -14
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +3 -3
- package/lib/tableSchema.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +4 -18
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/brand.d.ts +49 -0
- package/lib/util/brand.d.ts.map +1 -1
- package/lib/util/brand.js +44 -0
- package/lib/util/brand.js.map +1 -1
- package/lib/util/index.d.ts +2 -2
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -2
- package/lib/util/index.js.map +1 -1
- package/lib/util/rangeMap.d.ts +12 -24
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +5 -44
- package/lib/util/rangeMap.js.map +1 -1
- package/package.json +24 -23
- package/src/codec/codec.ts +34 -18
- package/src/core/change-family/changeFamily.ts +0 -5
- package/src/core/change-family/index.ts +0 -1
- package/src/core/index.ts +2 -4
- package/src/core/rebase/changeRebaser.ts +1 -6
- package/src/core/rebase/index.ts +1 -1
- package/src/core/rebase/types.ts +26 -8
- package/src/core/rebase/utils.ts +7 -31
- package/src/core/schema-stored/schema.ts +5 -7
- package/src/core/tree/detachedFieldIndex.ts +1 -17
- package/src/core/tree/detachedFieldIndexFormatCommon.ts +4 -7
- package/src/core/tree/index.ts +1 -2
- package/src/core/tree/pathTree.ts +4 -16
- package/src/feature-libraries/chunked-forest/basicChunk.ts +1 -7
- package/src/feature-libraries/chunked-forest/chunkTree.ts +1 -6
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +3 -2
- package/src/feature-libraries/chunked-forest/codec/format.ts +6 -9
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +127 -393
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +5 -13
- package/src/feature-libraries/default-schema/index.ts +5 -16
- package/src/feature-libraries/default-schema/mappedEditBuilder.ts +9 -35
- package/src/feature-libraries/deltaUtils.ts +1 -6
- package/src/feature-libraries/flex-tree/context.ts +0 -17
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +8 -7
- package/src/feature-libraries/flex-tree/lazyField.ts +24 -66
- package/src/feature-libraries/forest-summary/codec.ts +25 -13
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +37 -12
- package/src/feature-libraries/forest-summary/{format.ts → formatCommon.ts} +10 -11
- package/src/feature-libraries/forest-summary/formatV1.ts +12 -0
- package/src/feature-libraries/forest-summary/formatV2.ts +12 -0
- package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +18 -21
- package/src/feature-libraries/forest-summary/index.ts +1 -2
- package/src/feature-libraries/forest-summary/summaryFormatCommon.ts +41 -0
- package/src/feature-libraries/forest-summary/summaryFormatV1ToV2.ts +11 -0
- package/src/feature-libraries/forest-summary/summaryFormatV3.ts +18 -0
- package/src/feature-libraries/forest-summary/summaryTypes.ts +26 -46
- package/src/feature-libraries/index.ts +8 -21
- package/src/feature-libraries/mapTreeCursor.ts +1 -2
- package/src/feature-libraries/mitigatedChangeFamily.ts +1 -3
- package/src/feature-libraries/modular-schema/comparison.ts +2 -1
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +44 -142
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +57 -36
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +18 -6
- package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +1 -1
- package/src/feature-libraries/modular-schema/index.ts +15 -20
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +499 -29
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +741 -2541
- package/src/feature-libraries/modular-schema/{modularChangeFormatV1.ts → modularChangeFormat.ts} +1 -2
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +10 -98
- package/src/feature-libraries/optional-field/index.ts +3 -1
- package/src/feature-libraries/optional-field/optionalField.ts +574 -317
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +38 -24
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +35 -89
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +2 -3
- package/src/feature-libraries/schema-index/codec.ts +7 -9
- package/src/feature-libraries/sequence-field/compose.ts +519 -134
- package/src/feature-libraries/sequence-field/helperTypes.ts +19 -34
- package/src/feature-libraries/sequence-field/index.ts +9 -0
- package/src/feature-libraries/sequence-field/invert.ts +228 -103
- package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +191 -8
- package/src/feature-libraries/sequence-field/rebase.ts +203 -168
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +57 -0
- package/src/feature-libraries/sequence-field/replaceRevisions.ts +52 -31
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +2 -0
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +220 -643
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +68 -56
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +27 -25
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +129 -19
- package/src/feature-libraries/sequence-field/types.ts +64 -34
- package/src/feature-libraries/sequence-field/utils.ts +346 -133
- package/src/index.ts +3 -0
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +1 -2
- package/src/shared-tree/index.ts +2 -3
- package/src/shared-tree/schematizeTree.ts +8 -21
- package/src/shared-tree/schematizingTreeView.ts +73 -50
- package/src/shared-tree/sharedTree.ts +3 -19
- package/src/shared-tree/sharedTreeChangeCodecs.ts +3 -7
- package/src/shared-tree/sharedTreeChangeFamily.ts +4 -7
- package/src/shared-tree/sharedTreeEditBuilder.ts +12 -46
- package/src/shared-tree/treeCheckout.ts +92 -82
- package/src/shared-tree-core/branch.ts +2 -8
- package/src/shared-tree-core/editManager.ts +2 -16
- package/src/shared-tree-core/editManagerCodecs.ts +7 -17
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +1 -1
- package/src/shared-tree-core/editManagerFormatCommons.ts +6 -15
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +1 -3
- package/src/shared-tree-core/index.ts +3 -2
- package/src/shared-tree-core/messageCodecV1ToV4.ts +1 -2
- package/src/shared-tree-core/messageCodecs.ts +9 -19
- package/src/shared-tree-core/messageFormat.ts +7 -15
- package/src/shared-tree-core/messageFormatV1ToV4.ts +2 -16
- package/src/shared-tree-core/sharedTreeCore.ts +1 -4
- package/src/shared-tree-core/versionedSummarizer.ts +10 -3
- package/src/simple-tree/api/eraseSchemaDetails.ts +123 -0
- package/src/simple-tree/api/index.ts +4 -0
- package/src/simple-tree/api/storedSchema.ts +2 -2
- package/src/simple-tree/api/tree.ts +16 -1
- package/src/simple-tree/core/treeNode.ts +1 -0
- package/src/simple-tree/core/unhydratedFlexTree.ts +36 -87
- package/src/simple-tree/createContext.ts +4 -1
- package/src/simple-tree/fieldSchema.ts +4 -6
- package/src/simple-tree/index.ts +3 -2
- package/src/simple-tree/node-kinds/array/arrayNode.ts +5 -7
- package/src/simple-tree/node-kinds/common.ts +5 -2
- package/src/simple-tree/node-kinds/map/mapNode.ts +4 -4
- package/src/simple-tree/node-kinds/object/objectNode.ts +26 -26
- package/src/simple-tree/node-kinds/record/recordNode.ts +9 -10
- package/src/simple-tree/prepareForInsertion.ts +200 -343
- package/src/simple-tree/toStoredSchema.ts +3 -3
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +14 -42
- package/src/tableSchema.ts +13 -18
- package/src/treeFactory.ts +5 -19
- package/src/util/brand.ts +61 -0
- package/src/util/index.ts +3 -3
- package/src/util/rangeMap.ts +18 -72
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +0 -36
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +0 -1
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +0 -126
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js.map +0 -1
- package/dist/feature-libraries/forest-summary/format.d.ts.map +0 -1
- package/dist/feature-libraries/forest-summary/format.js.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +0 -17
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +0 -388
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +0 -17
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js +0 -413
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +0 -146
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +0 -32
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +0 -1
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +0 -36
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +0 -1
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +0 -122
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js.map +0 -1
- package/lib/feature-libraries/forest-summary/format.d.ts.map +0 -1
- package/lib/feature-libraries/forest-summary/format.js.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +0 -17
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +0 -384
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +0 -17
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js +0 -409
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +0 -146
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +0 -29
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +0 -1
- package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +0 -180
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +0 -732
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +0 -790
- package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +0 -62
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { assert, unreachableCase, fail } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import type { IFluidHandle, Listenable } from "@fluidframework/core-interfaces/internal";
|
|
8
8
|
import { createEmitter } from "@fluid-internal/client-utils";
|
|
9
|
-
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
9
|
+
import type { IIdCompressor, SessionId } from "@fluidframework/id-compressor";
|
|
10
10
|
import {
|
|
11
11
|
UsageError,
|
|
12
12
|
type ITelemetryLoggerExt,
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
type AnchorSetRootEvents,
|
|
21
21
|
type ChangeFamily,
|
|
22
22
|
CommitKind,
|
|
23
|
-
type CommitMetadata,
|
|
24
23
|
type DeltaVisitor,
|
|
25
24
|
type DetachedFieldIndex,
|
|
26
25
|
type IEditableForest,
|
|
@@ -47,27 +46,21 @@ import {
|
|
|
47
46
|
type TreeNodeSchemaIdentifier,
|
|
48
47
|
type TreeNodeStoredSchema,
|
|
49
48
|
LeafNodeStoredSchema,
|
|
50
|
-
type ChangeAtomId,
|
|
51
|
-
offsetChangeAtomId,
|
|
52
49
|
diffHistories,
|
|
50
|
+
type ChangeMetadata,
|
|
51
|
+
type ChangeEncodingContext,
|
|
53
52
|
type ReadOnlyDetachedFieldIndex,
|
|
54
53
|
} from "../core/index.js";
|
|
55
54
|
import {
|
|
56
|
-
type DetachedRootIds,
|
|
57
|
-
type DetachedRootLocation,
|
|
58
|
-
type DetachedRootsLocation,
|
|
59
55
|
type FieldBatchCodec,
|
|
60
|
-
type Locator,
|
|
61
56
|
type TreeCompressionStrategy,
|
|
62
57
|
allowsRepoSuperset,
|
|
63
58
|
buildForest,
|
|
64
|
-
changeAtomFromDetachedNodeId,
|
|
65
59
|
createNodeIdentifierManager,
|
|
66
60
|
defaultSchemaPolicy,
|
|
67
61
|
intoDelta,
|
|
68
62
|
jsonableTreeFromCursor,
|
|
69
63
|
makeFieldBatchCodec,
|
|
70
|
-
nodeIdFromChangeAtom,
|
|
71
64
|
} from "../feature-libraries/index.js";
|
|
72
65
|
import {
|
|
73
66
|
SquashingTransactionStack,
|
|
@@ -81,18 +74,13 @@ import {
|
|
|
81
74
|
Breakable,
|
|
82
75
|
disposeSymbol,
|
|
83
76
|
getOrCreate,
|
|
84
|
-
|
|
77
|
+
type JsonCompatibleReadOnly,
|
|
85
78
|
type WithBreakable,
|
|
86
79
|
} from "../util/index.js";
|
|
87
80
|
|
|
88
81
|
import { SharedTreeChangeFamily, hasSchemaChange } from "./sharedTreeChangeFamily.js";
|
|
89
82
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
90
|
-
import {
|
|
91
|
-
type IdBasedSharedTreeEditBuilder,
|
|
92
|
-
type ILocationBasedSharedTreeEditor,
|
|
93
|
-
type IIdBasedSharedTreeEditor,
|
|
94
|
-
LocationBasedSharedTreeEditBuilder,
|
|
95
|
-
} from "./sharedTreeEditBuilder.js";
|
|
83
|
+
import type { ISharedTreeEditor, SharedTreeEditBuilder } from "./sharedTreeEditBuilder.js";
|
|
96
84
|
import type { IDisposable } from "@fluidframework/core-interfaces";
|
|
97
85
|
import {
|
|
98
86
|
type ImplicitFieldSchema,
|
|
@@ -109,6 +97,7 @@ import {
|
|
|
109
97
|
type CustomTreeNode,
|
|
110
98
|
} from "../simple-tree/index.js";
|
|
111
99
|
import { getCheckout, SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
100
|
+
import { isStableId } from "@fluidframework/id-compressor/internal";
|
|
112
101
|
|
|
113
102
|
/**
|
|
114
103
|
* Events for {@link ITreeCheckout}.
|
|
@@ -142,7 +131,7 @@ export interface CheckoutEvents {
|
|
|
142
131
|
* @param getRevertible - a function provided that allows users to get a revertible for the change. If not provided,
|
|
143
132
|
* this change is not revertible.
|
|
144
133
|
*/
|
|
145
|
-
changed(data:
|
|
134
|
+
changed(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
146
135
|
|
|
147
136
|
/**
|
|
148
137
|
* Fired when a new branch is created from this checkout.
|
|
@@ -243,7 +232,7 @@ export interface ITreeCheckout extends AnchorLocator, ViewableTree, WithBreakabl
|
|
|
243
232
|
* Used to edit the state of the tree. Edits will be immediately applied locally to the tree.
|
|
244
233
|
* If there is no transaction currently ongoing, then the edits will be submitted to Fluid immediately as well.
|
|
245
234
|
*/
|
|
246
|
-
readonly editor:
|
|
235
|
+
readonly editor: ISharedTreeEditor;
|
|
247
236
|
|
|
248
237
|
/**
|
|
249
238
|
* A collection of functions for managing transactions.
|
|
@@ -301,8 +290,8 @@ export function createTreeCheckout(
|
|
|
301
290
|
mintRevisionTag: () => RevisionTag,
|
|
302
291
|
revisionTagCodec: RevisionTagCodec,
|
|
303
292
|
args?: {
|
|
304
|
-
branch?: SharedTreeBranch<
|
|
305
|
-
changeFamily?: ChangeFamily<
|
|
293
|
+
branch?: SharedTreeBranch<SharedTreeEditBuilder, SharedTreeChange>;
|
|
294
|
+
changeFamily?: ChangeFamily<SharedTreeEditBuilder, SharedTreeChange>;
|
|
306
295
|
schema?: TreeStoredSchemaRepository;
|
|
307
296
|
forest?: IEditableForest;
|
|
308
297
|
fieldBatchCodec?: FieldBatchCodec;
|
|
@@ -389,7 +378,6 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
389
378
|
public disposed = false;
|
|
390
379
|
|
|
391
380
|
private editLock: EditLock;
|
|
392
|
-
private readonly locator: Locator;
|
|
393
381
|
|
|
394
382
|
private readonly views = new Set<TreeView<ImplicitFieldSchema>>();
|
|
395
383
|
|
|
@@ -405,7 +393,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
405
393
|
*/
|
|
406
394
|
private readonly revertibleCommitBranches = new Map<
|
|
407
395
|
RevisionTag,
|
|
408
|
-
SharedTreeBranch<
|
|
396
|
+
SharedTreeBranch<SharedTreeEditBuilder, SharedTreeChange>
|
|
409
397
|
>();
|
|
410
398
|
|
|
411
399
|
/**
|
|
@@ -418,13 +406,10 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
418
406
|
public events: Listenable<CheckoutEvents> = this.#events;
|
|
419
407
|
|
|
420
408
|
public constructor(
|
|
421
|
-
branch: SharedTreeBranch<
|
|
409
|
+
branch: SharedTreeBranch<SharedTreeEditBuilder, SharedTreeChange>,
|
|
422
410
|
/** True if and only if this checkout is for a branch which is persisted and shared with other clients. */
|
|
423
411
|
public readonly isSharedBranch: boolean,
|
|
424
|
-
private readonly changeFamily: ChangeFamily<
|
|
425
|
-
IdBasedSharedTreeEditBuilder,
|
|
426
|
-
SharedTreeChange
|
|
427
|
-
>,
|
|
412
|
+
private readonly changeFamily: ChangeFamily<SharedTreeEditBuilder, SharedTreeChange>,
|
|
428
413
|
public readonly storedSchema: TreeStoredSchemaRepository,
|
|
429
414
|
public readonly forest: IEditableForest,
|
|
430
415
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
@@ -442,31 +427,6 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
442
427
|
) {
|
|
443
428
|
this.#transaction = this.createTransactionStack(branch);
|
|
444
429
|
this.editLock = new EditLock(this.#transaction.activeBranchEditor);
|
|
445
|
-
this.locator = {
|
|
446
|
-
locationFromId: (id: ChangeAtomId): DetachedRootLocation => {
|
|
447
|
-
const rootId = this.removedRoots.getEntry(nodeIdFromChangeAtom(id));
|
|
448
|
-
return this.removedRoots.toFieldKey(rootId);
|
|
449
|
-
},
|
|
450
|
-
idFromLocation: (location: DetachedRootLocation): ChangeAtomId => {
|
|
451
|
-
const nodeId = this.removedRoots.fromFieldKey(location);
|
|
452
|
-
return changeAtomFromDetachedNodeId(nodeId);
|
|
453
|
-
},
|
|
454
|
-
locationsFromIdRanges: (ids: DetachedRootIds): DetachedRootsLocation => {
|
|
455
|
-
return ids.flatMap((id) => {
|
|
456
|
-
return makeArray(id.count, (offset) => {
|
|
457
|
-
const field = this.locator.locationFromId(offsetChangeAtomId(id.first, offset));
|
|
458
|
-
return { field, count: 1 };
|
|
459
|
-
});
|
|
460
|
-
});
|
|
461
|
-
},
|
|
462
|
-
idRangesFromLocations: (ids: DetachedRootsLocation): DetachedRootIds => {
|
|
463
|
-
return ids.map((id) => {
|
|
464
|
-
assert(id.count === 1, "Expected count of 1");
|
|
465
|
-
const first = this.locator.idFromLocation(id.field);
|
|
466
|
-
return { first, count: id.count };
|
|
467
|
-
});
|
|
468
|
-
},
|
|
469
|
-
};
|
|
470
430
|
this.registerForBranchEvents();
|
|
471
431
|
}
|
|
472
432
|
|
|
@@ -487,8 +447,8 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
487
447
|
}
|
|
488
448
|
|
|
489
449
|
private createTransactionStack(
|
|
490
|
-
branch: SharedTreeBranch<
|
|
491
|
-
): SquashingTransactionStack<
|
|
450
|
+
branch: SharedTreeBranch<SharedTreeEditBuilder, SharedTreeChange>,
|
|
451
|
+
): SquashingTransactionStack<SharedTreeEditBuilder, SharedTreeChange> {
|
|
492
452
|
return new SquashingTransactionStack(
|
|
493
453
|
branch,
|
|
494
454
|
(commits) => {
|
|
@@ -585,7 +545,34 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
585
545
|
};
|
|
586
546
|
|
|
587
547
|
let withinEventContext = true;
|
|
588
|
-
|
|
548
|
+
|
|
549
|
+
const metadata: ChangeMetadata = {
|
|
550
|
+
kind,
|
|
551
|
+
isLocal: true,
|
|
552
|
+
getChange: () => {
|
|
553
|
+
const context: ChangeEncodingContext = {
|
|
554
|
+
idCompressor: this.idCompressor,
|
|
555
|
+
originatorId: this.idCompressor.localSessionId,
|
|
556
|
+
revision,
|
|
557
|
+
};
|
|
558
|
+
const encodedChange = this.changeFamily.codecs
|
|
559
|
+
.resolve(4)
|
|
560
|
+
.json.encode(change, context);
|
|
561
|
+
|
|
562
|
+
assert(
|
|
563
|
+
commit.parent !== undefined,
|
|
564
|
+
0xca4 /* Expected applied commit to be parented */,
|
|
565
|
+
);
|
|
566
|
+
return {
|
|
567
|
+
version: 1,
|
|
568
|
+
revision,
|
|
569
|
+
originatorId: this.idCompressor.localSessionId,
|
|
570
|
+
change: encodedChange,
|
|
571
|
+
} satisfies SerializedChange;
|
|
572
|
+
},
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
this.#events.emit("changed", metadata, getRevertible);
|
|
589
576
|
withinEventContext = false;
|
|
590
577
|
}
|
|
591
578
|
} else if (this.isRemoteChangeEvent(event)) {
|
|
@@ -612,6 +599,28 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
612
599
|
}
|
|
613
600
|
};
|
|
614
601
|
|
|
602
|
+
/**
|
|
603
|
+
* Applies the given serialized change (as was produced via a `"changed"` event of another checkout) to this checkout.
|
|
604
|
+
*/
|
|
605
|
+
public applySerializedChange(serializedChange: JsonCompatibleReadOnly): void {
|
|
606
|
+
if (!isSerializedChange(serializedChange)) {
|
|
607
|
+
throw new UsageError(`Cannot apply change. Invalid serialized change format.`);
|
|
608
|
+
}
|
|
609
|
+
const { revision, originatorId, change } = serializedChange;
|
|
610
|
+
if (originatorId !== this.idCompressor.localSessionId) {
|
|
611
|
+
throw new UsageError(
|
|
612
|
+
`Cannot apply change. A serialized changed must be applied to the same SharedTree as it was created from.`,
|
|
613
|
+
);
|
|
614
|
+
}
|
|
615
|
+
const context: ChangeEncodingContext = {
|
|
616
|
+
idCompressor: this.idCompressor,
|
|
617
|
+
originatorId: this.idCompressor.localSessionId,
|
|
618
|
+
revision,
|
|
619
|
+
};
|
|
620
|
+
const decodedChange = this.changeFamily.codecs.resolve(4).json.decode(change, context);
|
|
621
|
+
this.applyChange(decodedChange, revision);
|
|
622
|
+
}
|
|
623
|
+
|
|
615
624
|
// Revision is the revision of the commit, if any, which caused this change.
|
|
616
625
|
private applyChange(change: SharedTreeChange, revision?: RevisionTag): void {
|
|
617
626
|
// Conflicts due to schema will be empty and thus are not applied.
|
|
@@ -784,9 +793,9 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
784
793
|
return this.forest.anchors.events;
|
|
785
794
|
}
|
|
786
795
|
|
|
787
|
-
public get editor():
|
|
796
|
+
public get editor(): ISharedTreeEditor {
|
|
788
797
|
this.checkNotDisposed();
|
|
789
|
-
return
|
|
798
|
+
return this.editLock.editor;
|
|
790
799
|
}
|
|
791
800
|
|
|
792
801
|
public locate(anchor: Anchor): AnchorNode | undefined {
|
|
@@ -807,7 +816,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
807
816
|
* To avoid updating observers of the view state with intermediate results during a transaction,
|
|
808
817
|
* use {@link ITreeCheckout#branch} and {@link ISharedTreeFork#merge}.
|
|
809
818
|
*/
|
|
810
|
-
#transaction: SquashingTransactionStack<
|
|
819
|
+
#transaction: SquashingTransactionStack<SharedTreeEditBuilder, SharedTreeChange>;
|
|
811
820
|
|
|
812
821
|
public branch(): TreeCheckout {
|
|
813
822
|
this.checkNotDisposed(
|
|
@@ -837,7 +846,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
837
846
|
}
|
|
838
847
|
|
|
839
848
|
public switchBranch(
|
|
840
|
-
branch: SharedTreeBranch<
|
|
849
|
+
branch: SharedTreeBranch<SharedTreeEditBuilder, SharedTreeChange>,
|
|
841
850
|
): void {
|
|
842
851
|
// TODO: Dispose old branch, if necessary
|
|
843
852
|
assert(
|
|
@@ -1123,23 +1132,19 @@ class EditLock {
|
|
|
1123
1132
|
* Edits the tree by calling the methods of the editor passed into the {@link EditLock} constructor.
|
|
1124
1133
|
* @remarks Edits will throw an error if the lock is currently locked.
|
|
1125
1134
|
*/
|
|
1126
|
-
public readonly editor:
|
|
1135
|
+
public readonly editor: ISharedTreeEditor;
|
|
1127
1136
|
private locked = false;
|
|
1128
1137
|
|
|
1129
1138
|
/**
|
|
1130
1139
|
* @param editor - an editor which will be used to create a new editor that is monitored to determine if any changes are happening to the tree.
|
|
1131
1140
|
* Use {@link EditLock.editor} in place of the original editor to ensure that changes are monitored.
|
|
1132
1141
|
*/
|
|
1133
|
-
public constructor(editor:
|
|
1142
|
+
public constructor(editor: ISharedTreeEditor) {
|
|
1134
1143
|
const checkLock = (): void => this.checkUnlocked("Editing the tree");
|
|
1135
1144
|
this.editor = {
|
|
1136
1145
|
get schema() {
|
|
1137
1146
|
return editor.schema;
|
|
1138
1147
|
},
|
|
1139
|
-
buildRoots(unhydrated) {
|
|
1140
|
-
checkLock();
|
|
1141
|
-
return editor.buildRoots(unhydrated);
|
|
1142
|
-
},
|
|
1143
1148
|
valueField(...fieldArgs) {
|
|
1144
1149
|
const valueField = editor.valueField(...fieldArgs);
|
|
1145
1150
|
return {
|
|
@@ -1147,10 +1152,6 @@ class EditLock {
|
|
|
1147
1152
|
checkLock();
|
|
1148
1153
|
valueField.set(...editArgs);
|
|
1149
1154
|
},
|
|
1150
|
-
attach(...editArgs) {
|
|
1151
|
-
checkLock();
|
|
1152
|
-
valueField.attach(...editArgs);
|
|
1153
|
-
},
|
|
1154
1155
|
};
|
|
1155
1156
|
},
|
|
1156
1157
|
optionalField(...fieldArgs) {
|
|
@@ -1160,14 +1161,6 @@ class EditLock {
|
|
|
1160
1161
|
checkLock();
|
|
1161
1162
|
optionalField.set(...editArgs);
|
|
1162
1163
|
},
|
|
1163
|
-
attach(...editArgs) {
|
|
1164
|
-
checkLock();
|
|
1165
|
-
optionalField.attach(...editArgs);
|
|
1166
|
-
},
|
|
1167
|
-
clear(...editArgs) {
|
|
1168
|
-
checkLock();
|
|
1169
|
-
optionalField.clear(...editArgs);
|
|
1170
|
-
},
|
|
1171
1164
|
};
|
|
1172
1165
|
},
|
|
1173
1166
|
sequenceField(...fieldArgs) {
|
|
@@ -1177,10 +1170,6 @@ class EditLock {
|
|
|
1177
1170
|
checkLock();
|
|
1178
1171
|
sequenceField.insert(...editArgs);
|
|
1179
1172
|
},
|
|
1180
|
-
attach(...editArgs) {
|
|
1181
|
-
checkLock();
|
|
1182
|
-
sequenceField.attach(...editArgs);
|
|
1183
|
-
},
|
|
1184
1173
|
remove(...editArgs) {
|
|
1185
1174
|
checkLock();
|
|
1186
1175
|
sequenceField.remove(...editArgs);
|
|
@@ -1278,3 +1267,24 @@ function verboseFromCursor(
|
|
|
1278
1267
|
fields: fields as CustomTreeNode<IFluidHandle>,
|
|
1279
1268
|
};
|
|
1280
1269
|
}
|
|
1270
|
+
|
|
1271
|
+
interface SerializedChange {
|
|
1272
|
+
version: 1;
|
|
1273
|
+
revision: RevisionTag;
|
|
1274
|
+
change: JsonCompatibleReadOnly;
|
|
1275
|
+
originatorId: SessionId;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
function isSerializedChange(value: unknown): value is SerializedChange {
|
|
1279
|
+
if (typeof value !== "object" || value === null) {
|
|
1280
|
+
return false;
|
|
1281
|
+
}
|
|
1282
|
+
const change = value as Partial<SerializedChange>;
|
|
1283
|
+
return (
|
|
1284
|
+
change.version === 1 &&
|
|
1285
|
+
(change.revision === "root" || typeof change.revision === "number") &&
|
|
1286
|
+
typeof change.originatorId === "string" &&
|
|
1287
|
+
isStableId(change.originatorId) &&
|
|
1288
|
+
change.change !== undefined
|
|
1289
|
+
);
|
|
1290
|
+
}
|
|
@@ -22,7 +22,6 @@ import {
|
|
|
22
22
|
rebaseBranch,
|
|
23
23
|
tagRollbackInverse,
|
|
24
24
|
type RebaseStatsWithDuration,
|
|
25
|
-
type EditorOptions,
|
|
26
25
|
} from "../core/index.js";
|
|
27
26
|
import { hasSome, defineLazyCachedProperty } from "../util/index.js";
|
|
28
27
|
import type {
|
|
@@ -129,12 +128,9 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
129
128
|
private readonly telemetryEventBatcher?: TelemetryEventBatcher<
|
|
130
129
|
keyof RebaseStatsWithDuration
|
|
131
130
|
>,
|
|
132
|
-
private readonly editorOptions?: EditorOptions,
|
|
133
131
|
) {
|
|
134
|
-
this.editor = this.changeFamily.buildEditor(
|
|
135
|
-
|
|
136
|
-
(change) => this.apply(change),
|
|
137
|
-
this.editorOptions,
|
|
132
|
+
this.editor = this.changeFamily.buildEditor(mintRevisionTag, (change) =>
|
|
133
|
+
this.apply(change),
|
|
138
134
|
);
|
|
139
135
|
this.unsubscribeBranchTrimmer = branchTrimmer?.on("ancestryTrimmed", (commit) => {
|
|
140
136
|
this.#events.emit("ancestryTrimmed", commit);
|
|
@@ -200,8 +196,6 @@ export class SharedTreeBranch<TEditor extends ChangeFamilyEditor, TChange> {
|
|
|
200
196
|
this.changeFamily,
|
|
201
197
|
this.mintRevisionTag,
|
|
202
198
|
this.branchTrimmer,
|
|
203
|
-
undefined,
|
|
204
|
-
this.editorOptions,
|
|
205
199
|
);
|
|
206
200
|
this.#events.emit("fork", fork);
|
|
207
201
|
return fork;
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
mintCommit,
|
|
19
19
|
type RebaseStatsWithDuration,
|
|
20
20
|
tagChange,
|
|
21
|
-
type EditorOptions,
|
|
22
21
|
} from "../core/index.js";
|
|
23
22
|
import { type Mutable, brand, getOrCreate, mapIterable } from "../util/index.js";
|
|
24
23
|
|
|
@@ -124,7 +123,6 @@ export class EditManager<
|
|
|
124
123
|
public readonly localSessionId: SessionId,
|
|
125
124
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
126
125
|
private readonly onSharedBranchCreated?: (branchId: BranchId) => void,
|
|
127
|
-
editorOptions?: EditorOptions,
|
|
128
126
|
logger?: ITelemetryLoggerExt,
|
|
129
127
|
) {
|
|
130
128
|
this.trunkBase = {
|
|
@@ -149,10 +147,9 @@ export class EditManager<
|
|
|
149
147
|
mintRevisionTag,
|
|
150
148
|
this._events,
|
|
151
149
|
this.telemetryEventBatcher,
|
|
152
|
-
editorOptions,
|
|
153
150
|
);
|
|
154
151
|
|
|
155
|
-
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk
|
|
152
|
+
this.createAndAddSharedBranch("main", undefined, undefined, mainTrunk);
|
|
156
153
|
}
|
|
157
154
|
|
|
158
155
|
public getLocalBranch(branchId: BranchId): SharedTreeBranch<TEditor, TChangeset> {
|
|
@@ -483,15 +480,8 @@ export class EditManager<
|
|
|
483
480
|
sessionId: SessionId | undefined,
|
|
484
481
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
485
482
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
486
|
-
editorOptions?: EditorOptions,
|
|
487
483
|
): SharedBranch<TEditor, TChangeset> {
|
|
488
|
-
const sharedBranch = this.createSharedBranch(
|
|
489
|
-
branchId,
|
|
490
|
-
sessionId,
|
|
491
|
-
parent,
|
|
492
|
-
branch,
|
|
493
|
-
editorOptions,
|
|
494
|
-
);
|
|
484
|
+
const sharedBranch = this.createSharedBranch(branchId, sessionId, parent, branch);
|
|
495
485
|
this.addSharedBranch(branchId, sharedBranch);
|
|
496
486
|
return sharedBranch;
|
|
497
487
|
}
|
|
@@ -522,7 +512,6 @@ export class EditManager<
|
|
|
522
512
|
sessionId: SessionId | undefined,
|
|
523
513
|
parent: SharedBranch<TEditor, TChangeset> | undefined,
|
|
524
514
|
branch: SharedTreeBranch<TEditor, TChangeset>,
|
|
525
|
-
editorOptions?: EditorOptions,
|
|
526
515
|
): SharedBranch<TEditor, TChangeset> {
|
|
527
516
|
const sharedBranch = new SharedBranch(
|
|
528
517
|
parent,
|
|
@@ -534,7 +523,6 @@ export class EditManager<
|
|
|
534
523
|
this.mintRevisionTag,
|
|
535
524
|
this._events,
|
|
536
525
|
this.telemetryEventBatcher,
|
|
537
|
-
editorOptions,
|
|
538
526
|
);
|
|
539
527
|
|
|
540
528
|
return sharedBranch;
|
|
@@ -707,7 +695,6 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
707
695
|
private readonly mintRevisionTag: () => RevisionTag,
|
|
708
696
|
branchTrimmer: Listenable<BranchTrimmingEvents>,
|
|
709
697
|
telemetryEventBatcher: TelemetryEventBatcher<keyof RebaseStatsWithDuration> | undefined,
|
|
710
|
-
editorOptions?: EditorOptions,
|
|
711
698
|
) {
|
|
712
699
|
this.localBranch = new SharedTreeBranch(
|
|
713
700
|
this.trunk.getHead(),
|
|
@@ -715,7 +702,6 @@ class SharedBranch<TEditor extends ChangeFamilyEditor, TChangeset> {
|
|
|
715
702
|
mintRevisionTag,
|
|
716
703
|
branchTrimmer,
|
|
717
704
|
telemetryEventBatcher,
|
|
718
|
-
editorOptions,
|
|
719
705
|
);
|
|
720
706
|
|
|
721
707
|
this.sequenceIdToCommit.set(baseCommitSequenceId, this.trunk.getHead());
|
|
@@ -29,7 +29,7 @@ import type {
|
|
|
29
29
|
RevisionTag,
|
|
30
30
|
SchemaAndPolicy,
|
|
31
31
|
} from "../core/index.js";
|
|
32
|
-
import { brand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
32
|
+
import { brand, unbrand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
33
33
|
|
|
34
34
|
import type { SummaryData } from "./editManager.js";
|
|
35
35
|
import { makeV1CodecWithVersion } from "./editManagerCodecsV1toV4.js";
|
|
@@ -73,15 +73,6 @@ export function editManagerFormatVersionSelectorForSharedBranches(
|
|
|
73
73
|
return brand(EditManagerFormatVersion.vSharedBranches);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
/**
|
|
77
|
-
* Returns the version that should be used for testing shared branches.
|
|
78
|
-
*/
|
|
79
|
-
export function editManagerFormatVersionSelectorForDetachedRootEditing(
|
|
80
|
-
clientVersion: MinimumVersionForCollab,
|
|
81
|
-
): EditManagerFormatVersion {
|
|
82
|
-
return brand(EditManagerFormatVersion.vDetachedRoots);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
76
|
export interface EditManagerCodecOptions {
|
|
86
77
|
readonly editManagerFormatSelector?: (
|
|
87
78
|
minVersionForCollab: MinimumVersionForCollab,
|
|
@@ -143,21 +134,20 @@ export function makeEditManagerCodecs<TChangeset>(
|
|
|
143
134
|
>,
|
|
144
135
|
][] = Array.from(editManagerFormatVersions, (version) => {
|
|
145
136
|
switch (version) {
|
|
146
|
-
case EditManagerFormatVersion.v1:
|
|
147
|
-
case EditManagerFormatVersion.v2:
|
|
137
|
+
case unbrand(EditManagerFormatVersion.v1):
|
|
138
|
+
case unbrand(EditManagerFormatVersion.v2):
|
|
148
139
|
return [version, makeDiscontinuedCodecVersion(options, version, "2.73.0")];
|
|
149
|
-
case EditManagerFormatVersion.v3:
|
|
150
|
-
case EditManagerFormatVersion.v4:
|
|
151
|
-
case EditManagerFormatVersion.vDetachedRoots: {
|
|
140
|
+
case unbrand(EditManagerFormatVersion.v3):
|
|
141
|
+
case unbrand(EditManagerFormatVersion.v4): {
|
|
152
142
|
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
153
143
|
return [
|
|
154
144
|
version,
|
|
155
145
|
makeV1CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
156
146
|
];
|
|
157
147
|
}
|
|
158
|
-
case EditManagerFormatVersion.v5:
|
|
148
|
+
case unbrand(EditManagerFormatVersion.v5):
|
|
159
149
|
return [version, makeDiscontinuedCodecVersion(options, version, "2.74.0")];
|
|
160
|
-
case EditManagerFormatVersion.vSharedBranches: {
|
|
150
|
+
case unbrand(EditManagerFormatVersion.vSharedBranches): {
|
|
161
151
|
const changeCodec = changeCodecs.resolve(dependentChangeFormatVersion.lookup(version));
|
|
162
152
|
return [
|
|
163
153
|
version,
|
|
@@ -78,7 +78,7 @@ export function makeSharedBranchesCodecWithVersion<TChangeset>(
|
|
|
78
78
|
);
|
|
79
79
|
assert(
|
|
80
80
|
data.originator !== undefined,
|
|
81
|
-
|
|
81
|
+
0xca5 /* Cannot encode vSharedBranches summary without originator */,
|
|
82
82
|
);
|
|
83
83
|
const json: Mutable<EncodedEditManager<TChangeset>> = {
|
|
84
84
|
main: mainBranch,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
RevisionTagSchema,
|
|
13
13
|
SessionIdSchema,
|
|
14
14
|
} from "../core/index.js";
|
|
15
|
-
import { type Brand, brandedNumberType } from "../util/index.js";
|
|
15
|
+
import { type Brand, brandedNumberType, strictEnum, type Values } from "../util/index.js";
|
|
16
16
|
import type { EncodedBranchId } from "./branch.js";
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -123,7 +123,7 @@ export const EncodedSharedBranch = <ChangeSchema extends TSchema>(tChange: Chang
|
|
|
123
123
|
/**
|
|
124
124
|
* The format version for the EditManager.
|
|
125
125
|
*/
|
|
126
|
-
export const EditManagerFormatVersion = {
|
|
126
|
+
export const EditManagerFormatVersion = strictEnum("editManager.FormatVersion", {
|
|
127
127
|
/**
|
|
128
128
|
* Introduced and retired prior to 2.0.
|
|
129
129
|
* Reading and writing capability removed in 2.73.0.
|
|
@@ -161,24 +161,15 @@ export const EditManagerFormatVersion = {
|
|
|
161
161
|
* Only used for testing shared branches.
|
|
162
162
|
*/
|
|
163
163
|
vSharedBranches: "shared-branches|v0.1",
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
* Only used for testing detached roots.
|
|
167
|
-
*/
|
|
168
|
-
vDetachedRoots: "detached-roots|v0.1",
|
|
169
|
-
} as const;
|
|
170
|
-
export type EditManagerFormatVersion = Brand<
|
|
171
|
-
(typeof EditManagerFormatVersion)[keyof typeof EditManagerFormatVersion],
|
|
172
|
-
"EditManagerFormatVersion"
|
|
173
|
-
>;
|
|
164
|
+
});
|
|
165
|
+
export type EditManagerFormatVersion = Values<typeof EditManagerFormatVersion>;
|
|
174
166
|
export const supportedEditManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> =
|
|
175
167
|
new Set([
|
|
176
168
|
EditManagerFormatVersion.v3,
|
|
177
169
|
EditManagerFormatVersion.v4,
|
|
178
170
|
EditManagerFormatVersion.vSharedBranches,
|
|
179
|
-
|
|
180
|
-
] as EditManagerFormatVersion[]);
|
|
171
|
+
]);
|
|
181
172
|
export const editManagerFormatVersions: ReadonlySet<EditManagerFormatVersion> = new Set(
|
|
182
|
-
Object.values(EditManagerFormatVersion)
|
|
173
|
+
Object.values(EditManagerFormatVersion),
|
|
183
174
|
);
|
|
184
175
|
/* eslint-enable @typescript-eslint/explicit-function-return-type */
|
|
@@ -26,8 +26,7 @@ export interface EncodedEditManager<TChangeset> {
|
|
|
26
26
|
| typeof EditManagerFormatVersion.v1
|
|
27
27
|
| typeof EditManagerFormatVersion.v2
|
|
28
28
|
| typeof EditManagerFormatVersion.v3
|
|
29
|
-
| typeof EditManagerFormatVersion.v4
|
|
30
|
-
| typeof EditManagerFormatVersion.vDetachedRoots;
|
|
29
|
+
| typeof EditManagerFormatVersion.v4;
|
|
31
30
|
}
|
|
32
31
|
|
|
33
32
|
export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: ChangeSchema) =>
|
|
@@ -38,7 +37,6 @@ export const EncodedEditManager = <ChangeSchema extends TSchema>(tChange: Change
|
|
|
38
37
|
Type.Literal(EditManagerFormatVersion.v2),
|
|
39
38
|
Type.Literal(EditManagerFormatVersion.v3),
|
|
40
39
|
Type.Literal(EditManagerFormatVersion.v4),
|
|
41
|
-
Type.Literal(EditManagerFormatVersion.vDetachedRoots),
|
|
42
40
|
]),
|
|
43
41
|
trunk: Type.Array(SequencedCommit(tChange)),
|
|
44
42
|
branches: Type.Array(Type.Tuple([SessionIdSchema, SummarySessionBranch(tChange)])),
|
|
@@ -51,7 +51,6 @@ export {
|
|
|
51
51
|
type EditManagerCodecOptions,
|
|
52
52
|
clientVersionToEditManagerFormatVersion,
|
|
53
53
|
editManagerFormatVersionSelectorForSharedBranches,
|
|
54
|
-
editManagerFormatVersionSelectorForDetachedRootEditing,
|
|
55
54
|
} from "./editManagerCodecs.js";
|
|
56
55
|
export {
|
|
57
56
|
EditManagerFormatVersion,
|
|
@@ -72,11 +71,13 @@ export type {
|
|
|
72
71
|
EncodedCommit,
|
|
73
72
|
} from "./editManagerFormatCommons.js";
|
|
74
73
|
|
|
74
|
+
export type { DecodedMessage } from "./messageTypes.js";
|
|
75
75
|
export {
|
|
76
76
|
getCodecTreeForMessageFormatWithChange,
|
|
77
77
|
clientVersionToMessageFormatVersion,
|
|
78
78
|
messageFormatVersionSelectorForSharedBranches,
|
|
79
|
-
|
|
79
|
+
makeMessageCodec,
|
|
80
|
+
type MessageEncodingContext,
|
|
80
81
|
} from "./messageCodecs.js";
|
|
81
82
|
export {
|
|
82
83
|
MessageFormatVersion,
|
|
@@ -33,8 +33,7 @@ export function makeV1ToV4CodecWithVersion<TChangeset>(
|
|
|
33
33
|
| typeof MessageFormatVersion.v1
|
|
34
34
|
| typeof MessageFormatVersion.v2
|
|
35
35
|
| typeof MessageFormatVersion.v3
|
|
36
|
-
| typeof MessageFormatVersion.v4
|
|
37
|
-
| typeof MessageFormatVersion.vDetachedRoots,
|
|
36
|
+
| typeof MessageFormatVersion.v4,
|
|
38
37
|
): IJsonCodec<
|
|
39
38
|
DecodedMessage<TChangeset>,
|
|
40
39
|
JsonCompatibleReadOnly,
|
|
@@ -29,7 +29,7 @@ import type {
|
|
|
29
29
|
RevisionTag,
|
|
30
30
|
SchemaAndPolicy,
|
|
31
31
|
} from "../core/index.js";
|
|
32
|
-
import { brand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
32
|
+
import { brand, unbrand, type JsonCompatibleReadOnly } from "../util/index.js";
|
|
33
33
|
|
|
34
34
|
import type { DecodedMessage } from "./messageTypes.js";
|
|
35
35
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
@@ -82,15 +82,6 @@ export function messageFormatVersionSelectorForSharedBranches(
|
|
|
82
82
|
return brand(MessageFormatVersion.vSharedBranches);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
/**
|
|
86
|
-
* Returns the version that should be used for testing detached root editing.
|
|
87
|
-
*/
|
|
88
|
-
export function messageFormatVersionSelectorForDetachedRootEditing(
|
|
89
|
-
clientVersion: MinimumVersionForCollab,
|
|
90
|
-
): MessageFormatVersion {
|
|
91
|
-
return brand(MessageFormatVersion.vDetachedRoots);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
85
|
export function makeMessageCodec<TChangeset>(
|
|
95
86
|
changeCodecs: ICodecFamily<TChangeset, ChangeEncodingContext>,
|
|
96
87
|
dependentChangeFormatVersion: DependentFormatVersion<MessageFormatVersion>,
|
|
@@ -141,19 +132,18 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
141
132
|
>,
|
|
142
133
|
][] = Array.from(messageFormatVersions).map((version) => {
|
|
143
134
|
switch (version) {
|
|
144
|
-
case MessageFormatVersion.undefined:
|
|
145
|
-
case MessageFormatVersion.v1:
|
|
146
|
-
case MessageFormatVersion.v2: {
|
|
135
|
+
case unbrand(MessageFormatVersion.undefined):
|
|
136
|
+
case unbrand(MessageFormatVersion.v1):
|
|
137
|
+
case unbrand(MessageFormatVersion.v2): {
|
|
147
138
|
const versionOrUndefined =
|
|
148
|
-
version === MessageFormatVersion.undefined ? undefined : version;
|
|
139
|
+
version === unbrand(MessageFormatVersion.undefined) ? undefined : version;
|
|
149
140
|
return [
|
|
150
141
|
versionOrUndefined,
|
|
151
142
|
makeDiscontinuedCodecVersion(options, versionOrUndefined, "2.73.0"),
|
|
152
143
|
];
|
|
153
144
|
}
|
|
154
|
-
case MessageFormatVersion.v3:
|
|
155
|
-
case MessageFormatVersion.v4:
|
|
156
|
-
case MessageFormatVersion.vDetachedRoots: {
|
|
145
|
+
case unbrand(MessageFormatVersion.v3):
|
|
146
|
+
case unbrand(MessageFormatVersion.v4): {
|
|
157
147
|
const changeCodec = changeCodecs.resolve(
|
|
158
148
|
dependentChangeFormatVersion.lookup(version),
|
|
159
149
|
).json;
|
|
@@ -162,9 +152,9 @@ export function makeMessageCodecs<TChangeset>(
|
|
|
162
152
|
makeV1ToV4CodecWithVersion(changeCodec, revisionTagCodec, options, version),
|
|
163
153
|
];
|
|
164
154
|
}
|
|
165
|
-
case MessageFormatVersion.v5:
|
|
155
|
+
case unbrand(MessageFormatVersion.v5):
|
|
166
156
|
return [version, makeDiscontinuedCodecVersion(options, version, "2.74.0")];
|
|
167
|
-
case MessageFormatVersion.vSharedBranches: {
|
|
157
|
+
case unbrand(MessageFormatVersion.vSharedBranches): {
|
|
168
158
|
const changeCodec = changeCodecs.resolve(
|
|
169
159
|
dependentChangeFormatVersion.lookup(version),
|
|
170
160
|
).json;
|