fluid-framework 2.70.0-361248 → 2.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # fluid-framework
2
2
 
3
+ ## 2.70.0
4
+
5
+ ### Minor Changes
6
+
7
+ - All non-structurally named beta schema factory APIs now support node schema metadata ([#25685](https://github.com/microsoft/FluidFramework/pull/25685)) [6d8c0ca181](https://github.com/microsoft/FluidFramework/commit/6d8c0ca181c7ed7c600e56197ed4bc75cfbba3db)
8
+
9
+ The "options" parameter which allows providing metadata for `TreeNodeSchema` is now available consistently on `SchemaFactoryBeta`,
10
+ not just `SchemaFactoryAlpha` and a subset of `SchemaFactoryBeta`.
11
+
12
+ - A minimal set of branching APIs has been promoted to beta. ([#25744](https://github.com/microsoft/FluidFramework/pull/25744)) [32cc2c75d8](https://github.com/microsoft/FluidFramework/commit/32cc2c75d82c35403caa91e67e81f71baee5d092)
13
+
14
+ The following APIs have been promoted to beta in `@fluidframework/tree`:
15
+
16
+ - `TreeBranch.fork()`
17
+ - `TreeBranch.merge()`
18
+ - `TreeBranch.rebaseOnto()`
19
+ - `TreeBranch.dispose()`
20
+ - `TreeView.fork()`
21
+
22
+ These APIs enable applications to implement basic local branching flows.
23
+
24
+ - Promote FluidSerializableAsTree APIs from alpha to beta ([#25693](https://github.com/microsoft/FluidFramework/pull/25693)) [43fbc54d05](https://github.com/microsoft/FluidFramework/commit/43fbc54d05351d06c4bc20d1e6f5ca732775f605)
25
+
26
+ `FluidSerializableAsTree` may now be imported from `/beta`.
27
+
28
+ - Update TableSchema APIs (alpha) to accept SchemaFactoryBeta in addition to SchemaFactoryAlpha ([#25613](https://github.com/microsoft/FluidFramework/pull/25613)) [1bdf44ac5a](https://github.com/microsoft/FluidFramework/commit/1bdf44ac5a93bcd1956e15e54c46a16ad2d1c005)
29
+
30
+ Makes the [TableSchema](https://fluidframework.com/docs/api/fluid-framework/tableschema-namespace) APIs more flexible, and prepares them for future promotion to beta themselves.
31
+
3
32
  ## 2.63.0
4
33
 
5
34
  ### Minor Changes
@@ -15,7 +15,7 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
15
15
  }, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
16
16
  };
17
17
 
18
- // @alpha @input
18
+ // @beta @input
19
19
  export interface AllowedTypeMetadata {
20
20
  readonly custom?: unknown;
21
21
  readonly stagedSchemaUpgrade?: SchemaUpgrade;
@@ -24,13 +24,13 @@ export interface AllowedTypeMetadata {
24
24
  // @public @system
25
25
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
26
26
 
27
- // @alpha @sealed
27
+ // @beta @sealed
28
28
  export type AllowedTypesFull<T extends readonly AnnotatedAllowedType[] = readonly AnnotatedAllowedType[]> = AnnotatedAllowedTypes<T> & UnannotateAllowedTypesList<T>;
29
29
 
30
- // @alpha @sealed
30
+ // @beta @sealed
31
31
  export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllowedType<TreeNodeSchema>[]>;
32
32
 
33
- // @alpha @sealed
33
+ // @beta @sealed @system
34
34
  export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
35
 
36
36
  // @alpha @sealed @system
@@ -39,7 +39,7 @@ export type AllowedTypesFullFromMixedUnsafe<T extends readonly Unenforced<Annota
39
39
  // @alpha @sealed @system
40
40
  export type AllowedTypesFullUnsafe<T extends readonly AnnotatedAllowedTypeUnsafe[] = readonly AnnotatedAllowedTypeUnsafe[]> = AnnotatedAllowedTypes<T> & UnannotateAllowedTypesListUnsafe<T>;
41
41
 
42
- // @alpha @input
42
+ // @beta @input
43
43
  export interface AllowedTypesMetadata {
44
44
  readonly custom?: unknown;
45
45
  }
@@ -47,7 +47,7 @@ export interface AllowedTypesMetadata {
47
47
  // @alpha
48
48
  export function allowUnused<T>(t?: T): void;
49
49
 
50
- // @alpha @system
50
+ // @beta @system
51
51
  export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
52
52
  [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
53
53
  };
@@ -57,13 +57,13 @@ export type AnnotateAllowedTypesListUnsafe<T extends readonly Unenforced<Annotat
57
57
  [I in keyof T]: T[I] extends AnnotatedAllowedTypeUnsafe ? T[I] : AnnotatedAllowedTypeUnsafe<T[I]>;
58
58
  };
59
59
 
60
- // @alpha @sealed
60
+ // @beta @sealed
61
61
  export interface AnnotatedAllowedType<T = LazyItem<TreeNodeSchema>> {
62
62
  readonly metadata: AllowedTypeMetadata;
63
63
  readonly type: T;
64
64
  }
65
65
 
66
- // @alpha @sealed
66
+ // @beta @sealed
67
67
  export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> extends ErasedBaseType<"tree.AnnotatedAllowedTypes"> {
68
68
  evaluate(): AllowedTypesFullEvaluated;
69
69
  evaluateIdentifiers(): ReadonlySet<string>;
@@ -117,6 +117,9 @@ export const ArrayNodeSchema: {
117
117
  // @alpha
118
118
  export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewAlpha<TSchema>;
119
119
 
120
+ // @beta
121
+ export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
122
+
120
123
  // @alpha @deprecated
121
124
  export function asTreeViewAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewAlpha<TSchema>;
122
125
 
@@ -205,6 +208,9 @@ export interface ContainerSchema {
205
208
  readonly initialObjects: Record<string, SharedObjectKind>;
206
209
  }
207
210
 
211
+ // @alpha
212
+ export const contentSchemaSymbol: unique symbol;
213
+
208
214
  // @alpha
209
215
  export function createIdentifierIndex<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): IdentifierIndex;
210
216
 
@@ -246,7 +252,7 @@ export function enumFromStrings<TScope extends string, const Members extends rea
246
252
  }, Record<string, never>, true, Record<string, never>, undefined>; }[Members[number]] : never>;
247
253
  };
248
254
 
249
- // @alpha @sealed @system
255
+ // @beta @sealed @system
250
256
  export abstract class ErasedBaseType<out Name = unknown> {
251
257
  protected constructor();
252
258
  protected abstract brand(dummy: never): Name;
@@ -1296,9 +1302,9 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string |
1296
1302
 
1297
1303
  // @beta
1298
1304
  export class SchemaFactoryBeta<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
1299
- object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
1305
+ object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T, never, TCustomMetadata>;
1300
1306
  // (undocumented)
1301
- objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1307
+ objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata>;
1302
1308
  record<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined>;
1303
1309
  record<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined, TCustomMetadata>;
1304
1310
  recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
@@ -1335,7 +1341,7 @@ export interface SchemaStaticsAlpha {
1335
1341
  readonly typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1336
1342
  }
1337
1343
 
1338
- // @alpha @sealed
1344
+ // @beta @sealed
1339
1345
  export class SchemaUpgrade {
1340
1346
  // (undocumented)
1341
1347
  protected _typeCheck: MakeNominal;
@@ -1736,7 +1742,7 @@ export const Tree: Tree;
1736
1742
 
1737
1743
  // @alpha @sealed @system
1738
1744
  export interface TreeAlpha {
1739
- branch(node: TreeNode): TreeBranch | undefined;
1745
+ branch(node: TreeNode): TreeBranchAlpha | undefined;
1740
1746
  child(node: TreeNode, key: string | number): TreeNode | TreeLeafValue | undefined;
1741
1747
  children(node: TreeNode): Iterable<[propertyKey: string | number, child: TreeNode | TreeLeafValue]>;
1742
1748
  create<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: InsertableField<TSchema>): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
@@ -1753,6 +1759,7 @@ export interface TreeAlpha {
1753
1759
  importConcise<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: ConciseTree | undefined): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
1754
1760
  importVerbose<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: VerboseTree | undefined, options?: TreeParsingOptions): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
1755
1761
  key2(node: TreeNode): string | number | undefined;
1762
+ tagContentSchema<TSchema extends TreeNodeSchema, TContent extends InsertableField<TSchema>>(schema: TSchema, content: TContent): TContent;
1756
1763
  trackObservations<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
1757
1764
  trackObservationsOnce<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
1758
1765
  }
@@ -1800,14 +1807,20 @@ export interface TreeBeta {
1800
1807
  // @beta
1801
1808
  export const TreeBeta: TreeBeta;
1802
1809
 
1803
- // @alpha @sealed
1810
+ // @beta @sealed
1804
1811
  export interface TreeBranch extends IDisposable {
1805
1812
  dispose(error?: Error): void;
1806
- readonly events: Listenable<TreeBranchEvents>;
1807
1813
  fork(): TreeBranch;
1808
- hasRootSchema<TSchema extends ImplicitFieldSchema>(schema: TSchema): this is TreeViewAlpha<TSchema>;
1809
1814
  merge(branch: TreeBranch, disposeMerged?: boolean): void;
1810
1815
  rebaseOnto(branch: TreeBranch): void;
1816
+ }
1817
+
1818
+ // @alpha @sealed
1819
+ export interface TreeBranchAlpha extends TreeBranch {
1820
+ readonly events: Listenable<TreeBranchEvents>;
1821
+ // (undocumented)
1822
+ fork(): TreeBranchAlpha;
1823
+ hasRootSchema<TSchema extends ImplicitFieldSchema>(schema: TSchema): this is TreeViewAlpha<TSchema>;
1811
1824
  runTransaction<TSuccessValue, TFailureValue>(transaction: () => TransactionCallbackStatus<TSuccessValue, TFailureValue>, params?: RunTransactionParams): TransactionResultExt<TSuccessValue, TFailureValue>;
1812
1825
  runTransaction(transaction: () => VoidTransactionCallbackStatus | void, params?: RunTransactionParams): TransactionResult;
1813
1826
  }
@@ -1987,7 +2000,7 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1987
2000
  }
1988
2001
 
1989
2002
  // @alpha @sealed
1990
- export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeView<ReadSchema<TSchema>>, "root" | "initialize">, TreeBranch {
2003
+ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork">, TreeBranchAlpha {
1991
2004
  // (undocumented)
1992
2005
  readonly events: Listenable<TreeViewEvents & TreeBranchEvents>;
1993
2006
  // (undocumented)
@@ -1999,6 +2012,12 @@ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | Unsa
1999
2012
  set root(newRoot: InsertableField<TSchema>);
2000
2013
  }
2001
2014
 
2015
+ // @beta @sealed
2016
+ export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
2017
+ // (undocumented)
2018
+ fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
2019
+ }
2020
+
2002
2021
  // @public @sealed
2003
2022
  export class TreeViewConfiguration<const TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> implements Required<ITreeViewConfiguration<TSchema>> {
2004
2023
  constructor(props: ITreeViewConfiguration<TSchema>);
@@ -2030,7 +2049,7 @@ const typeNameSymbol: unique symbol;
2030
2049
  // @public @system
2031
2050
  export const typeSchemaSymbol: unique symbol;
2032
2051
 
2033
- // @alpha @system
2052
+ // @beta @system
2034
2053
  export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
2035
2054
  [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
2036
2055
  };
@@ -15,9 +15,49 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
15
15
  }, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
16
16
  };
17
17
 
18
+ // @beta @input
19
+ export interface AllowedTypeMetadata {
20
+ readonly custom?: unknown;
21
+ readonly stagedSchemaUpgrade?: SchemaUpgrade;
22
+ }
23
+
18
24
  // @public @system
19
25
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
20
26
 
27
+ // @beta @sealed
28
+ export type AllowedTypesFull<T extends readonly AnnotatedAllowedType[] = readonly AnnotatedAllowedType[]> = AnnotatedAllowedTypes<T> & UnannotateAllowedTypesList<T>;
29
+
30
+ // @beta @sealed
31
+ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllowedType<TreeNodeSchema>[]>;
32
+
33
+ // @beta @sealed @system
34
+ export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
+
36
+ // @beta @input
37
+ export interface AllowedTypesMetadata {
38
+ readonly custom?: unknown;
39
+ }
40
+
41
+ // @beta @system
42
+ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
43
+ [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
44
+ };
45
+
46
+ // @beta @sealed
47
+ export interface AnnotatedAllowedType<T = LazyItem<TreeNodeSchema>> {
48
+ readonly metadata: AllowedTypeMetadata;
49
+ readonly type: T;
50
+ }
51
+
52
+ // @beta @sealed
53
+ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> extends ErasedBaseType<"tree.AnnotatedAllowedTypes"> {
54
+ evaluate(): AllowedTypesFullEvaluated;
55
+ evaluateIdentifiers(): ReadonlySet<string>;
56
+ evaluateSet(): ReadonlySet<TreeNodeSchema>;
57
+ readonly metadata: AllowedTypesMetadata;
58
+ readonly types: T;
59
+ }
60
+
21
61
  // @public @system
22
62
  type ApplyKind<T, Kind extends FieldKind> = {
23
63
  [FieldKind.Required]: T;
@@ -30,6 +70,9 @@ type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boole
30
70
  Kind
31
71
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
32
72
 
73
+ // @beta
74
+ export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
75
+
33
76
  // @public
34
77
  export enum AttachState {
35
78
  Attached = "Attached",
@@ -105,6 +148,12 @@ export function enumFromStrings<TScope extends string, const Members extends rea
105
148
  }, Record<string, never>, true, Record<string, never>, undefined>; }[Members[number]] : never>;
106
149
  };
107
150
 
151
+ // @beta @sealed @system
152
+ export abstract class ErasedBaseType<out Name = unknown> {
153
+ protected constructor();
154
+ protected abstract brand(dummy: never): Name;
155
+ }
156
+
108
157
  // @public @sealed
109
158
  export abstract class ErasedType<out Name = unknown> {
110
159
  static [Symbol.hasInstance](value: never): value is never;
@@ -801,9 +850,9 @@ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
801
850
 
802
851
  // @beta
803
852
  export class SchemaFactoryBeta<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
804
- object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
853
+ object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T, never, TCustomMetadata>;
805
854
  // (undocumented)
806
- objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
855
+ objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata>;
807
856
  record<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined>;
808
857
  record<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined, TCustomMetadata>;
809
858
  recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
@@ -832,6 +881,12 @@ export interface SchemaStatics {
832
881
  readonly string: LeafSchema<"string", string>;
833
882
  }
834
883
 
884
+ // @beta @sealed
885
+ export class SchemaUpgrade {
886
+ // (undocumented)
887
+ protected _typeCheck: MakeNominal;
888
+ }
889
+
835
890
  // @public @system
836
891
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
837
892
 
@@ -1006,6 +1061,14 @@ export interface TreeBeta {
1006
1061
  // @beta
1007
1062
  export const TreeBeta: TreeBeta;
1008
1063
 
1064
+ // @beta @sealed
1065
+ export interface TreeBranch extends IDisposable {
1066
+ dispose(error?: Error): void;
1067
+ fork(): TreeBranch;
1068
+ merge(branch: TreeBranch, disposeMerged?: boolean): void;
1069
+ rebaseOnto(branch: TreeBranch): void;
1070
+ }
1071
+
1009
1072
  // @public @sealed
1010
1073
  export interface TreeChangeEvents {
1011
1074
  nodeChanged(unstable?: unknown): void;
@@ -1129,6 +1192,12 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1129
1192
  upgradeSchema(): void;
1130
1193
  }
1131
1194
 
1195
+ // @beta @sealed
1196
+ export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
1197
+ // (undocumented)
1198
+ fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
1199
+ }
1200
+
1132
1201
  // @public @sealed
1133
1202
  export class TreeViewConfiguration<const TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> implements Required<ITreeViewConfiguration<TSchema>> {
1134
1203
  constructor(props: ITreeViewConfiguration<TSchema>);
@@ -1153,6 +1222,11 @@ const typeNameSymbol: unique symbol;
1153
1222
  // @public @system
1154
1223
  export const typeSchemaSymbol: unique symbol;
1155
1224
 
1225
+ // @beta @system
1226
+ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
1227
+ [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
1228
+ };
1229
+
1156
1230
  // @public
1157
1231
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
1158
1232
 
@@ -15,9 +15,49 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
15
15
  }, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
16
16
  };
17
17
 
18
+ // @beta @input
19
+ export interface AllowedTypeMetadata {
20
+ readonly custom?: unknown;
21
+ readonly stagedSchemaUpgrade?: SchemaUpgrade;
22
+ }
23
+
18
24
  // @public @system
19
25
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
20
26
 
27
+ // @beta @sealed
28
+ export type AllowedTypesFull<T extends readonly AnnotatedAllowedType[] = readonly AnnotatedAllowedType[]> = AnnotatedAllowedTypes<T> & UnannotateAllowedTypesList<T>;
29
+
30
+ // @beta @sealed
31
+ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllowedType<TreeNodeSchema>[]>;
32
+
33
+ // @beta @sealed @system
34
+ export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
+
36
+ // @beta @input
37
+ export interface AllowedTypesMetadata {
38
+ readonly custom?: unknown;
39
+ }
40
+
41
+ // @beta @system
42
+ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
43
+ [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
44
+ };
45
+
46
+ // @beta @sealed
47
+ export interface AnnotatedAllowedType<T = LazyItem<TreeNodeSchema>> {
48
+ readonly metadata: AllowedTypeMetadata;
49
+ readonly type: T;
50
+ }
51
+
52
+ // @beta @sealed
53
+ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> extends ErasedBaseType<"tree.AnnotatedAllowedTypes"> {
54
+ evaluate(): AllowedTypesFullEvaluated;
55
+ evaluateIdentifiers(): ReadonlySet<string>;
56
+ evaluateSet(): ReadonlySet<TreeNodeSchema>;
57
+ readonly metadata: AllowedTypesMetadata;
58
+ readonly types: T;
59
+ }
60
+
21
61
  // @public @system
22
62
  type ApplyKind<T, Kind extends FieldKind> = {
23
63
  [FieldKind.Required]: T;
@@ -30,6 +70,9 @@ type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boole
30
70
  Kind
31
71
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
32
72
 
73
+ // @beta
74
+ export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
75
+
33
76
  // @public
34
77
  export enum AttachState {
35
78
  Attached = "Attached",
@@ -108,6 +151,12 @@ export function enumFromStrings<TScope extends string, const Members extends rea
108
151
  }, Record<string, never>, true, Record<string, never>, undefined>; }[Members[number]] : never>;
109
152
  };
110
153
 
154
+ // @beta @sealed @system
155
+ export abstract class ErasedBaseType<out Name = unknown> {
156
+ protected constructor();
157
+ protected abstract brand(dummy: never): Name;
158
+ }
159
+
111
160
  // @public @sealed
112
161
  export abstract class ErasedType<out Name = unknown> {
113
162
  static [Symbol.hasInstance](value: never): value is never;
@@ -1079,9 +1128,9 @@ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
1079
1128
 
1080
1129
  // @beta
1081
1130
  export class SchemaFactoryBeta<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
1082
- object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
1131
+ object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T, never, TCustomMetadata>;
1083
1132
  // (undocumented)
1084
- objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1133
+ objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata>;
1085
1134
  record<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined>;
1086
1135
  record<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined, TCustomMetadata>;
1087
1136
  recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
@@ -1110,6 +1159,12 @@ export interface SchemaStatics {
1110
1159
  readonly string: LeafSchema<"string", string>;
1111
1160
  }
1112
1161
 
1162
+ // @beta @sealed
1163
+ export class SchemaUpgrade {
1164
+ // (undocumented)
1165
+ protected _typeCheck: MakeNominal;
1166
+ }
1167
+
1113
1168
  // @public @system
1114
1169
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
1115
1170
 
@@ -1364,6 +1419,14 @@ export interface TreeBeta {
1364
1419
  // @beta
1365
1420
  export const TreeBeta: TreeBeta;
1366
1421
 
1422
+ // @beta @sealed
1423
+ export interface TreeBranch extends IDisposable {
1424
+ dispose(error?: Error): void;
1425
+ fork(): TreeBranch;
1426
+ merge(branch: TreeBranch, disposeMerged?: boolean): void;
1427
+ rebaseOnto(branch: TreeBranch): void;
1428
+ }
1429
+
1367
1430
  // @public @sealed
1368
1431
  export interface TreeChangeEvents {
1369
1432
  nodeChanged(unstable?: unknown): void;
@@ -1487,6 +1550,12 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1487
1550
  upgradeSchema(): void;
1488
1551
  }
1489
1552
 
1553
+ // @beta @sealed
1554
+ export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
1555
+ // (undocumented)
1556
+ fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
1557
+ }
1558
+
1490
1559
  // @public @sealed
1491
1560
  export class TreeViewConfiguration<const TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> implements Required<ITreeViewConfiguration<TSchema>> {
1492
1561
  constructor(props: ITreeViewConfiguration<TSchema>);
@@ -1511,6 +1580,11 @@ const typeNameSymbol: unique symbol;
1511
1580
  // @public @system
1512
1581
  export const typeSchemaSymbol: unique symbol;
1513
1582
 
1583
+ // @beta @system
1584
+ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
1585
+ [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
1586
+ };
1587
+
1514
1588
  // @public
1515
1589
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
1516
1590
 
package/dist/alpha.d.ts CHANGED
@@ -137,7 +137,16 @@ export {
137
137
  // #endregion
138
138
 
139
139
  // #region @beta APIs
140
+ AllowedTypeMetadata,
141
+ AllowedTypesFull,
142
+ AllowedTypesFullEvaluated,
143
+ AllowedTypesFullFromMixed,
144
+ AllowedTypesMetadata,
145
+ AnnotateAllowedTypesList,
146
+ AnnotatedAllowedType,
147
+ AnnotatedAllowedTypes,
140
148
  ConciseTree,
149
+ ErasedBaseType,
141
150
  FixRecursiveArraySchema,
142
151
  FluidSerializableAsTree,
143
152
  ForestOptions,
@@ -153,32 +162,29 @@ export {
153
162
  PopUnion,
154
163
  RecordNodeInsertableData,
155
164
  SchemaFactoryBeta,
165
+ SchemaUpgrade,
156
166
  SharedTreeOptionsBeta,
157
167
  TreeBeta,
168
+ TreeBranch,
158
169
  TreeChangeEventsBeta,
159
170
  TreeEncodingOptions,
160
171
  TreeRecordNode,
161
172
  TreeRecordNodeUnsafe,
173
+ TreeViewBeta,
174
+ UnannotateAllowedTypesList,
162
175
  UnionToTuple,
163
176
  adaptEnum,
177
+ asBeta,
164
178
  configuredSharedTreeBeta,
165
179
  enumFromStrings,
166
180
  singletonSchema,
167
181
  // #endregion
168
182
 
169
183
  // #region @alpha APIs
170
- AllowedTypeMetadata,
171
- AllowedTypesFull,
172
- AllowedTypesFullEvaluated,
173
- AllowedTypesFullFromMixed,
174
184
  AllowedTypesFullFromMixedUnsafe,
175
185
  AllowedTypesFullUnsafe,
176
- AllowedTypesMetadata,
177
- AnnotateAllowedTypesList,
178
186
  AnnotateAllowedTypesListUnsafe,
179
- AnnotatedAllowedType,
180
187
  AnnotatedAllowedTypeUnsafe,
181
- AnnotatedAllowedTypes,
182
188
  AnnotatedAllowedTypesUnsafe,
183
189
  ArrayNodeCustomizableSchema,
184
190
  ArrayNodeCustomizableSchemaUnsafe,
@@ -188,7 +194,6 @@ export {
188
194
  CodecWriteOptions,
189
195
  DirtyTreeMap,
190
196
  DirtyTreeStatus,
191
- ErasedBaseType,
192
197
  FactoryContent,
193
198
  FactoryContentObject,
194
199
  FieldPropsAlpha,
@@ -241,7 +246,6 @@ export {
241
246
  RunTransactionParams,
242
247
  SchemaFactoryAlpha,
243
248
  SchemaStaticsAlpha,
244
- SchemaUpgrade,
245
249
  SharedTreeFormatOptions,
246
250
  SharedTreeFormatVersion,
247
251
  SharedTreeOptions,
@@ -264,7 +268,7 @@ export {
264
268
  TransactionResultFailed,
265
269
  TransactionResultSuccess,
266
270
  TreeAlpha,
267
- TreeBranch,
271
+ TreeBranchAlpha,
268
272
  TreeBranchEvents,
269
273
  TreeBranchFork,
270
274
  TreeCompressionStrategy,
@@ -278,7 +282,6 @@ export {
278
282
  TreeViewAlpha,
279
283
  TreeViewConfigurationAlpha,
280
284
  UnannotateAllowedTypeUnsafe,
281
- UnannotateAllowedTypesList,
282
285
  UnannotateAllowedTypesListUnsafe,
283
286
  UnsafeUnknownSchema,
284
287
  ValueSchema,
@@ -292,6 +295,7 @@ export {
292
295
  cloneWithReplacements,
293
296
  comparePersistedSchema,
294
297
  configuredSharedTree,
298
+ contentSchemaSymbol,
295
299
  createIdentifierIndex,
296
300
  createSimpleTreeIndex,
297
301
  evaluateLazySchema,
package/dist/beta.d.ts CHANGED
@@ -137,7 +137,16 @@ export {
137
137
  // #endregion
138
138
 
139
139
  // #region @beta APIs
140
+ AllowedTypeMetadata,
141
+ AllowedTypesFull,
142
+ AllowedTypesFullEvaluated,
143
+ AllowedTypesFullFromMixed,
144
+ AllowedTypesMetadata,
145
+ AnnotateAllowedTypesList,
146
+ AnnotatedAllowedType,
147
+ AnnotatedAllowedTypes,
140
148
  ConciseTree,
149
+ ErasedBaseType,
141
150
  FixRecursiveArraySchema,
142
151
  FluidSerializableAsTree,
143
152
  ForestOptions,
@@ -153,14 +162,19 @@ export {
153
162
  PopUnion,
154
163
  RecordNodeInsertableData,
155
164
  SchemaFactoryBeta,
165
+ SchemaUpgrade,
156
166
  SharedTreeOptionsBeta,
157
167
  TreeBeta,
168
+ TreeBranch,
158
169
  TreeChangeEventsBeta,
159
170
  TreeEncodingOptions,
160
171
  TreeRecordNode,
161
172
  TreeRecordNodeUnsafe,
173
+ TreeViewBeta,
174
+ UnannotateAllowedTypesList,
162
175
  UnionToTuple,
163
176
  adaptEnum,
177
+ asBeta,
164
178
  configuredSharedTreeBeta,
165
179
  enumFromStrings,
166
180
  singletonSchema
package/dist/legacy.d.ts CHANGED
@@ -144,7 +144,16 @@ export {
144
144
  // #endregion
145
145
 
146
146
  // #region @beta APIs
147
+ AllowedTypeMetadata,
148
+ AllowedTypesFull,
149
+ AllowedTypesFullEvaluated,
150
+ AllowedTypesFullFromMixed,
151
+ AllowedTypesMetadata,
152
+ AnnotateAllowedTypesList,
153
+ AnnotatedAllowedType,
154
+ AnnotatedAllowedTypes,
147
155
  ConciseTree,
156
+ ErasedBaseType,
148
157
  FixRecursiveArraySchema,
149
158
  FluidSerializableAsTree,
150
159
  ForestOptions,
@@ -160,14 +169,19 @@ export {
160
169
  PopUnion,
161
170
  RecordNodeInsertableData,
162
171
  SchemaFactoryBeta,
172
+ SchemaUpgrade,
163
173
  SharedTreeOptionsBeta,
164
174
  TreeBeta,
175
+ TreeBranch,
165
176
  TreeChangeEventsBeta,
166
177
  TreeEncodingOptions,
167
178
  TreeRecordNode,
168
179
  TreeRecordNodeUnsafe,
180
+ TreeViewBeta,
181
+ UnannotateAllowedTypesList,
169
182
  UnionToTuple,
170
183
  adaptEnum,
184
+ asBeta,
171
185
  configuredSharedTreeBeta,
172
186
  enumFromStrings,
173
187
  singletonSchema,
package/lib/alpha.d.ts CHANGED
@@ -137,7 +137,16 @@ export {
137
137
  // #endregion
138
138
 
139
139
  // #region @beta APIs
140
+ AllowedTypeMetadata,
141
+ AllowedTypesFull,
142
+ AllowedTypesFullEvaluated,
143
+ AllowedTypesFullFromMixed,
144
+ AllowedTypesMetadata,
145
+ AnnotateAllowedTypesList,
146
+ AnnotatedAllowedType,
147
+ AnnotatedAllowedTypes,
140
148
  ConciseTree,
149
+ ErasedBaseType,
141
150
  FixRecursiveArraySchema,
142
151
  FluidSerializableAsTree,
143
152
  ForestOptions,
@@ -153,32 +162,29 @@ export {
153
162
  PopUnion,
154
163
  RecordNodeInsertableData,
155
164
  SchemaFactoryBeta,
165
+ SchemaUpgrade,
156
166
  SharedTreeOptionsBeta,
157
167
  TreeBeta,
168
+ TreeBranch,
158
169
  TreeChangeEventsBeta,
159
170
  TreeEncodingOptions,
160
171
  TreeRecordNode,
161
172
  TreeRecordNodeUnsafe,
173
+ TreeViewBeta,
174
+ UnannotateAllowedTypesList,
162
175
  UnionToTuple,
163
176
  adaptEnum,
177
+ asBeta,
164
178
  configuredSharedTreeBeta,
165
179
  enumFromStrings,
166
180
  singletonSchema,
167
181
  // #endregion
168
182
 
169
183
  // #region @alpha APIs
170
- AllowedTypeMetadata,
171
- AllowedTypesFull,
172
- AllowedTypesFullEvaluated,
173
- AllowedTypesFullFromMixed,
174
184
  AllowedTypesFullFromMixedUnsafe,
175
185
  AllowedTypesFullUnsafe,
176
- AllowedTypesMetadata,
177
- AnnotateAllowedTypesList,
178
186
  AnnotateAllowedTypesListUnsafe,
179
- AnnotatedAllowedType,
180
187
  AnnotatedAllowedTypeUnsafe,
181
- AnnotatedAllowedTypes,
182
188
  AnnotatedAllowedTypesUnsafe,
183
189
  ArrayNodeCustomizableSchema,
184
190
  ArrayNodeCustomizableSchemaUnsafe,
@@ -188,7 +194,6 @@ export {
188
194
  CodecWriteOptions,
189
195
  DirtyTreeMap,
190
196
  DirtyTreeStatus,
191
- ErasedBaseType,
192
197
  FactoryContent,
193
198
  FactoryContentObject,
194
199
  FieldPropsAlpha,
@@ -241,7 +246,6 @@ export {
241
246
  RunTransactionParams,
242
247
  SchemaFactoryAlpha,
243
248
  SchemaStaticsAlpha,
244
- SchemaUpgrade,
245
249
  SharedTreeFormatOptions,
246
250
  SharedTreeFormatVersion,
247
251
  SharedTreeOptions,
@@ -264,7 +268,7 @@ export {
264
268
  TransactionResultFailed,
265
269
  TransactionResultSuccess,
266
270
  TreeAlpha,
267
- TreeBranch,
271
+ TreeBranchAlpha,
268
272
  TreeBranchEvents,
269
273
  TreeBranchFork,
270
274
  TreeCompressionStrategy,
@@ -278,7 +282,6 @@ export {
278
282
  TreeViewAlpha,
279
283
  TreeViewConfigurationAlpha,
280
284
  UnannotateAllowedTypeUnsafe,
281
- UnannotateAllowedTypesList,
282
285
  UnannotateAllowedTypesListUnsafe,
283
286
  UnsafeUnknownSchema,
284
287
  ValueSchema,
@@ -292,6 +295,7 @@ export {
292
295
  cloneWithReplacements,
293
296
  comparePersistedSchema,
294
297
  configuredSharedTree,
298
+ contentSchemaSymbol,
295
299
  createIdentifierIndex,
296
300
  createSimpleTreeIndex,
297
301
  evaluateLazySchema,
package/lib/beta.d.ts CHANGED
@@ -137,7 +137,16 @@ export {
137
137
  // #endregion
138
138
 
139
139
  // #region @beta APIs
140
+ AllowedTypeMetadata,
141
+ AllowedTypesFull,
142
+ AllowedTypesFullEvaluated,
143
+ AllowedTypesFullFromMixed,
144
+ AllowedTypesMetadata,
145
+ AnnotateAllowedTypesList,
146
+ AnnotatedAllowedType,
147
+ AnnotatedAllowedTypes,
140
148
  ConciseTree,
149
+ ErasedBaseType,
141
150
  FixRecursiveArraySchema,
142
151
  FluidSerializableAsTree,
143
152
  ForestOptions,
@@ -153,14 +162,19 @@ export {
153
162
  PopUnion,
154
163
  RecordNodeInsertableData,
155
164
  SchemaFactoryBeta,
165
+ SchemaUpgrade,
156
166
  SharedTreeOptionsBeta,
157
167
  TreeBeta,
168
+ TreeBranch,
158
169
  TreeChangeEventsBeta,
159
170
  TreeEncodingOptions,
160
171
  TreeRecordNode,
161
172
  TreeRecordNodeUnsafe,
173
+ TreeViewBeta,
174
+ UnannotateAllowedTypesList,
162
175
  UnionToTuple,
163
176
  adaptEnum,
177
+ asBeta,
164
178
  configuredSharedTreeBeta,
165
179
  enumFromStrings,
166
180
  singletonSchema
package/lib/legacy.d.ts CHANGED
@@ -144,7 +144,16 @@ export {
144
144
  // #endregion
145
145
 
146
146
  // #region @beta APIs
147
+ AllowedTypeMetadata,
148
+ AllowedTypesFull,
149
+ AllowedTypesFullEvaluated,
150
+ AllowedTypesFullFromMixed,
151
+ AllowedTypesMetadata,
152
+ AnnotateAllowedTypesList,
153
+ AnnotatedAllowedType,
154
+ AnnotatedAllowedTypes,
147
155
  ConciseTree,
156
+ ErasedBaseType,
148
157
  FixRecursiveArraySchema,
149
158
  FluidSerializableAsTree,
150
159
  ForestOptions,
@@ -160,14 +169,19 @@ export {
160
169
  PopUnion,
161
170
  RecordNodeInsertableData,
162
171
  SchemaFactoryBeta,
172
+ SchemaUpgrade,
163
173
  SharedTreeOptionsBeta,
164
174
  TreeBeta,
175
+ TreeBranch,
165
176
  TreeChangeEventsBeta,
166
177
  TreeEncodingOptions,
167
178
  TreeRecordNode,
168
179
  TreeRecordNodeUnsafe,
180
+ TreeViewBeta,
181
+ UnannotateAllowedTypesList,
169
182
  UnionToTuple,
170
183
  adaptEnum,
184
+ asBeta,
171
185
  configuredSharedTreeBeta,
172
186
  enumFromStrings,
173
187
  singletonSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.70.0-361248",
3
+ "version": "2.70.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,17 +57,17 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "2.70.0-361248",
61
- "@fluidframework/container-loader": "2.70.0-361248",
62
- "@fluidframework/core-interfaces": "2.70.0-361248",
63
- "@fluidframework/core-utils": "2.70.0-361248",
64
- "@fluidframework/driver-definitions": "2.70.0-361248",
65
- "@fluidframework/fluid-static": "2.70.0-361248",
66
- "@fluidframework/map": "2.70.0-361248",
67
- "@fluidframework/runtime-utils": "2.70.0-361248",
68
- "@fluidframework/sequence": "2.70.0-361248",
69
- "@fluidframework/shared-object-base": "2.70.0-361248",
70
- "@fluidframework/tree": "2.70.0-361248"
60
+ "@fluidframework/container-definitions": "~2.70.0",
61
+ "@fluidframework/container-loader": "~2.70.0",
62
+ "@fluidframework/core-interfaces": "~2.70.0",
63
+ "@fluidframework/core-utils": "~2.70.0",
64
+ "@fluidframework/driver-definitions": "~2.70.0",
65
+ "@fluidframework/fluid-static": "~2.70.0",
66
+ "@fluidframework/map": "~2.70.0",
67
+ "@fluidframework/runtime-utils": "~2.70.0",
68
+ "@fluidframework/sequence": "~2.70.0",
69
+ "@fluidframework/shared-object-base": "~2.70.0",
70
+ "@fluidframework/tree": "~2.70.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.17.1",