fluid-framework 2.60.0 → 2.61.0-355516

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.
@@ -2,7 +2,6 @@
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
3
  "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.current.json",
4
4
  "mainEntryPointFilePath": "<projectFolder>/lib/alpha.d.ts",
5
- "bundledPackages": ["@fluidframework/*"],
6
5
  "apiReport": {
7
6
  // The base config omits alpha. Explicitly opt into alpha reports (in addition to public/beta) for this package.
8
7
  "reportVariants": ["public", "beta", "alpha"]
@@ -1,5 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.legacy.json",
4
- "bundledPackages": ["@fluidframework/*"]
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.legacy.json"
5
4
  }
@@ -1144,7 +1144,7 @@ export interface SchemaCompatibilityStatus {
1144
1144
  }
1145
1145
 
1146
1146
  // @public @sealed
1147
- export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
1147
+ export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
1148
1148
  constructor(
1149
1149
  scope: TScope);
1150
1150
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
@@ -1152,14 +1152,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
1152
1152
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
1153
1153
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
1154
1154
  }, false, T, undefined>;
1155
- readonly boolean: LeafSchema<"boolean", boolean>;
1156
- static readonly boolean: LeafSchema<"boolean", boolean>;
1157
1155
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
1158
- readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
1159
- static readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
1160
1156
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
1161
- readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
1162
- static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
1163
1157
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
1164
1158
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
1165
1159
  mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
@@ -1170,25 +1164,14 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
1170
1164
  } | {
1171
1165
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1172
1166
  }, false, T, undefined>;
1173
- readonly null: LeafSchema<"null", null>;
1174
- static readonly null: LeafSchema<"null", null>;
1175
- readonly number: LeafSchema<"number", number>;
1176
- static readonly number: LeafSchema<"number", number>;
1177
1167
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
1178
1168
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1179
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
1180
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
1181
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
1182
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
1183
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
1184
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
1185
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
1186
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
1187
1169
  readonly scope: TScope;
1188
- readonly string: LeafSchema<"string", string>;
1189
- static readonly string: LeafSchema<"string", string>;
1190
1170
  }
1191
1171
 
1172
+ // @public @system
1173
+ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
1174
+
1192
1175
  // @alpha
1193
1176
  export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactoryBeta<TScope, TName> {
1194
1177
  arrayAlpha<const Name extends TName, const T extends ImplicitAnnotatedAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
@@ -2000,7 +1983,7 @@ export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
2000
1983
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
2001
1984
 
2002
1985
  // @public @system
2003
- export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1986
+ export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchemaClass> = TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
2004
1987
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
2005
1988
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
2006
1989
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
@@ -697,7 +697,7 @@ export interface SchemaCompatibilityStatus {
697
697
  }
698
698
 
699
699
  // @public @sealed
700
- export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
700
+ export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
701
701
  constructor(
702
702
  scope: TScope);
703
703
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
@@ -705,14 +705,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
705
705
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
706
706
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
707
707
  }, false, T, undefined>;
708
- readonly boolean: LeafSchema<"boolean", boolean>;
709
- static readonly boolean: LeafSchema<"boolean", boolean>;
710
708
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
711
- readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
712
- static readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
713
709
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
714
- readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
715
- static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
716
710
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
717
711
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
718
712
  mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
@@ -723,25 +717,14 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
723
717
  } | {
724
718
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
725
719
  }, false, T, undefined>;
726
- readonly null: LeafSchema<"null", null>;
727
- static readonly null: LeafSchema<"null", null>;
728
- readonly number: LeafSchema<"number", number>;
729
- static readonly number: LeafSchema<"number", number>;
730
720
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
731
721
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
732
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
733
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
734
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
735
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
736
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
737
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
738
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
739
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
740
722
  readonly scope: TScope;
741
- readonly string: LeafSchema<"string", string>;
742
- static readonly string: LeafSchema<"string", string>;
743
723
  }
744
724
 
725
+ // @public @system
726
+ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
727
+
745
728
  // @beta
746
729
  export class SchemaFactoryBeta<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
747
730
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
@@ -1075,7 +1058,7 @@ export type UnionToTuple<Union, A extends unknown[] = [], First = PopUnion<Union
1075
1058
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
1076
1059
 
1077
1060
  // @public @system
1078
- export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1061
+ export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchemaClass> = TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1079
1062
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
1080
1063
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
1081
1064
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
@@ -4,6 +4,17 @@
4
4
 
5
5
  ```ts
6
6
 
7
+ // @beta
8
+ export function adaptEnum<TScope extends string, const TEnum extends Record<string, string | number>>(factory: SchemaFactory<TScope>, members: TEnum): (<TValue extends TEnum[keyof TEnum]>(value: TValue) => TValue extends unknown ? TreeNode & {
9
+ readonly value: TValue;
10
+ } : never) & { readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
11
+ readonly value: TEnum[Property];
12
+ }, Record<string, never>, true, Record<string, never>, undefined>; } & {
13
+ readonly schema: UnionToTuple<{ readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
14
+ readonly value: TEnum[Property];
15
+ }, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
16
+ };
17
+
7
18
  // @public @system
8
19
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
9
20
 
@@ -78,6 +89,17 @@ interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider
78
89
  // @beta @legacy (undocumented)
79
90
  export type DeserializeCallback = (properties: PropertySet) => void;
80
91
 
92
+ // @beta
93
+ export function enumFromStrings<TScope extends string, const Members extends readonly string[]>(factory: SchemaFactory<TScope>, members: Members): (<TValue extends Members[number]>(value: TValue) => TValue extends unknown ? TreeNode & {
94
+ readonly value: TValue;
95
+ } : never) & { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
96
+ readonly value: Members[Index];
97
+ }, Record<string, never>, true, Record<string, never>, undefined>; } & {
98
+ readonly schema: UnionToTuple<Members[number] extends unknown ? { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
99
+ readonly value: Members[Index];
100
+ }, Record<string, never>, true, Record<string, never>, undefined>; }[Members[number]] : never>;
101
+ };
102
+
81
103
  // @public @sealed
82
104
  export abstract class ErasedType<out Name = unknown> {
83
105
  static [Symbol.hasInstance](value: never): value is never;
@@ -146,6 +168,15 @@ export type FluidObject<T = unknown> = {
146
168
  // @public
147
169
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
148
170
 
171
+ // @beta @input
172
+ export interface ForestOptions {
173
+ readonly forest?: ForestType;
174
+ }
175
+
176
+ // @beta @sealed
177
+ export interface ForestType extends ErasedType<"ForestType"> {
178
+ }
179
+
149
180
  // @beta @legacy
150
181
  export interface IBranchOrigin {
151
182
  id: string;
@@ -830,6 +861,11 @@ export type Myself<M extends IMember = IMember> = M & {
830
861
  // @public @system
831
862
  type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
832
863
 
864
+ // @beta @sealed
865
+ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
866
+ readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
867
+ }
868
+
833
869
  // @public
834
870
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
835
871
 
@@ -869,6 +905,9 @@ export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFie
869
905
  // @public
870
906
  export type Off = () => void;
871
907
 
908
+ // @beta @system
909
+ export type PopUnion<Union, AsOverloadedFunction = UnionToIntersection<Union extends unknown ? (f: Union) => void : never>> = AsOverloadedFunction extends (a: infer First) => void ? First : never;
910
+
872
911
  // @public @sealed @system
873
912
  export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
874
913
  }
@@ -936,7 +975,7 @@ export interface SchemaCompatibilityStatus {
936
975
  }
937
976
 
938
977
  // @public @sealed
939
- export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
978
+ export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
940
979
  constructor(
941
980
  scope: TScope);
942
981
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
@@ -944,14 +983,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
944
983
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
945
984
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
946
985
  }, false, T, undefined>;
947
- readonly boolean: LeafSchema<"boolean", boolean>;
948
- static readonly boolean: LeafSchema<"boolean", boolean>;
949
986
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
950
- readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
951
- static readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
952
987
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
953
- readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
954
- static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
955
988
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
956
989
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
957
990
  mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
@@ -962,23 +995,17 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
962
995
  } | {
963
996
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
964
997
  }, false, T, undefined>;
965
- readonly null: LeafSchema<"null", null>;
966
- static readonly null: LeafSchema<"null", null>;
967
- readonly number: LeafSchema<"number", number>;
968
- static readonly number: LeafSchema<"number", number>;
969
998
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
970
999
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
971
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
972
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
973
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
974
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
975
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
976
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
977
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
978
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
979
1000
  readonly scope: TScope;
980
- readonly string: LeafSchema<"string", string>;
981
- static readonly string: LeafSchema<"string", string>;
1001
+ }
1002
+
1003
+ // @public @system
1004
+ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
1005
+
1006
+ // @beta
1007
+ export class SchemaFactoryBeta<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
1008
+ scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
982
1009
  }
983
1010
 
984
1011
  // @public @sealed @system
@@ -1098,6 +1125,11 @@ export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCusto
1098
1125
  readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
1099
1126
  }
1100
1127
 
1128
+ // @beta
1129
+ export function singletonSchema<TScope extends string, TName extends string | number>(factory: SchemaFactory<TScope, TName>, name: TName): TreeNodeSchemaClass<ScopedSchemaName<TScope, TName>, NodeKind.Object, TreeNode & {
1130
+ readonly value: TName;
1131
+ }, Record<string, never>, true, Record<string, never>, undefined>;
1132
+
1101
1133
  // @public @system
1102
1134
  export namespace System_Unsafe {
1103
1135
  // @system
@@ -1234,12 +1266,26 @@ export const TreeArrayNode: {
1234
1266
  readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
1235
1267
  };
1236
1268
 
1269
+ // @beta @sealed @system
1270
+ export interface TreeBeta {
1271
+ clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
1272
+ on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
1273
+ }
1274
+
1275
+ // @beta
1276
+ export const TreeBeta: TreeBeta;
1277
+
1237
1278
  // @public @sealed
1238
1279
  export interface TreeChangeEvents {
1239
1280
  nodeChanged(unstable?: unknown): void;
1240
1281
  treeChanged(): void;
1241
1282
  }
1242
1283
 
1284
+ // @beta @sealed
1285
+ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
1286
+ nodeChanged: (data: NodeChangedData<TNode> & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? Required<Pick<NodeChangedData<TNode>, "changedProperties">> : unknown)) => void;
1287
+ }
1288
+
1243
1289
  // @public
1244
1290
  export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
1245
1291
 
@@ -1363,11 +1409,14 @@ export type Unhydrated<T> = T;
1363
1409
  // @public @system
1364
1410
  export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
1365
1411
 
1412
+ // @beta @system
1413
+ export type UnionToTuple<Union, A extends unknown[] = [], First = PopUnion<Union>> = IsUnion<Union> extends true ? UnionToTuple<Exclude<Union, First>, [First, ...A]> : [Union, ...A];
1414
+
1366
1415
  // @public
1367
1416
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
1368
1417
 
1369
1418
  // @public @system
1370
- export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1419
+ export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchemaClass> = TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1371
1420
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
1372
1421
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
1373
1422
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
@@ -692,7 +692,7 @@ export interface SchemaCompatibilityStatus {
692
692
  }
693
693
 
694
694
  // @public @sealed
695
- export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
695
+ export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
696
696
  constructor(
697
697
  scope: TScope);
698
698
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
@@ -700,14 +700,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
700
700
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
701
701
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
702
702
  }, false, T, undefined>;
703
- readonly boolean: LeafSchema<"boolean", boolean>;
704
- static readonly boolean: LeafSchema<"boolean", boolean>;
705
703
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
706
- readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
707
- static readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
708
704
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
709
- readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
710
- static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
711
705
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
712
706
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
713
707
  mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
@@ -718,25 +712,14 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
718
712
  } | {
719
713
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
720
714
  }, false, T, undefined>;
721
- readonly null: LeafSchema<"null", null>;
722
- static readonly null: LeafSchema<"null", null>;
723
- readonly number: LeafSchema<"number", number>;
724
- static readonly number: LeafSchema<"number", number>;
725
715
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
726
716
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
727
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
728
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
729
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
730
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
731
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
732
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
733
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
734
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
735
717
  readonly scope: TScope;
736
- readonly string: LeafSchema<"string", string>;
737
- static readonly string: LeafSchema<"string", string>;
738
718
  }
739
719
 
720
+ // @public @system
721
+ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
722
+
740
723
  // @public @sealed @system
741
724
  export interface SchemaStatics {
742
725
  readonly boolean: LeafSchema<"boolean", boolean>;
@@ -1043,7 +1026,7 @@ export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) e
1043
1026
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
1044
1027
 
1045
1028
  // @public @system
1046
- export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1029
+ export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchemaClass> = TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1047
1030
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
1048
1031
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
1049
1032
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
@@ -658,7 +658,7 @@ export interface SchemaCompatibilityStatus {
658
658
  }
659
659
 
660
660
  // @public @sealed
661
- export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
661
+ export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
662
662
  constructor(
663
663
  scope: TScope);
664
664
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
@@ -666,14 +666,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
666
666
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
667
667
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
668
668
  }, false, T, undefined>;
669
- readonly boolean: LeafSchema<"boolean", boolean>;
670
- static readonly boolean: LeafSchema<"boolean", boolean>;
671
669
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
672
- readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
673
- static readonly handle: LeafSchema<"handle", IFluidHandle_2<unknown>>;
674
670
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
675
- readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
676
- static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle_2<unknown>>];
677
671
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
678
672
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
679
673
  mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
@@ -684,25 +678,14 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
684
678
  } | {
685
679
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
686
680
  }, false, T, undefined>;
687
- readonly null: LeafSchema<"null", null>;
688
- static readonly null: LeafSchema<"null", null>;
689
- readonly number: LeafSchema<"number", number>;
690
- static readonly number: LeafSchema<"number", number>;
691
681
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
692
682
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
693
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
694
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
695
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
696
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
697
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
698
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
699
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
700
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
701
683
  readonly scope: TScope;
702
- readonly string: LeafSchema<"string", string>;
703
- static readonly string: LeafSchema<"string", string>;
704
684
  }
705
685
 
686
+ // @public @system
687
+ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
688
+
706
689
  // @public @sealed @system
707
690
  export interface SchemaStatics {
708
691
  readonly boolean: LeafSchema<"boolean", boolean>;
@@ -1009,7 +992,7 @@ export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) e
1009
992
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
1010
993
 
1011
994
  // @public @system
1012
- export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchema> = TreeNodeSchema<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
995
+ export type ValidateRecursiveSchemaTemplate<T extends TreeNodeSchemaClass> = TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object | NodeKind.Record, TreeNode & WithType<T["identifier"], T["kind"]>, {
1013
996
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
1014
997
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
1015
998
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
package/dist/alpha.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,8 +133,9 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @beta APIs
138
+ // #region @beta APIs
136
139
  ForestOptions,
137
140
  ForestType,
138
141
  NodeChangedData,
@@ -144,8 +147,9 @@ export {
144
147
  adaptEnum,
145
148
  enumFromStrings,
146
149
  singletonSchema,
150
+ // #endregion
147
151
 
148
- // @alpha APIs
152
+ // #region @alpha APIs
149
153
  AllowedTypeMetadata,
150
154
  AllowedTypesMetadata,
151
155
  AnnotatedAllowedType,
@@ -295,4 +299,5 @@ export {
295
299
  replaceHandles,
296
300
  replaceVerboseTreeHandles,
297
301
  typeboxValidator
302
+ // #endregion
298
303
  } from "./index.js";
package/dist/beta.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,8 +133,9 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @beta APIs
138
+ // #region @beta APIs
136
139
  ForestOptions,
137
140
  ForestType,
138
141
  NodeChangedData,
@@ -144,4 +147,5 @@ export {
144
147
  adaptEnum,
145
148
  enumFromStrings,
146
149
  singletonSchema
150
+ // #endregion
147
151
  } from "./index.js";
package/dist/legacy.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,13 +133,32 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @legacy APIs
136
- DeserializeCallback,
137
- IBranchOrigin,
138
+ // #region @legacyPublic APIs
138
139
  IDirectory,
139
140
  IDirectoryEvents,
140
141
  IDirectoryValueChanged,
142
+ IValueChanged,
143
+ // #endregion
144
+
145
+ // #region @beta APIs
146
+ ForestOptions,
147
+ ForestType,
148
+ NodeChangedData,
149
+ PopUnion,
150
+ SchemaFactoryBeta,
151
+ TreeBeta,
152
+ TreeChangeEventsBeta,
153
+ UnionToTuple,
154
+ adaptEnum,
155
+ enumFromStrings,
156
+ singletonSchema,
157
+ // #endregion
158
+
159
+ // #region @legacyBeta APIs
160
+ DeserializeCallback,
161
+ IBranchOrigin,
141
162
  IInterval,
142
163
  ISequenceDeltaRange,
143
164
  ISequenceIntervalCollection,
@@ -154,7 +175,6 @@ export {
154
175
  ISharedSegmentSequenceEvents,
155
176
  ISharedString,
156
177
  ITrace,
157
- IValueChanged,
158
178
  InteriorSequencePlace,
159
179
  IntervalStickiness,
160
180
  IntervalType,
@@ -169,4 +189,5 @@ export {
169
189
  SharedString,
170
190
  SharedStringSegment,
171
191
  Side
192
+ // #endregion
172
193
  } from "./index.js";
package/dist/public.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,4 +133,5 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol
136
+ // #endregion
134
137
  } from "./index.js";
package/lib/alpha.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,8 +133,9 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @beta APIs
138
+ // #region @beta APIs
136
139
  ForestOptions,
137
140
  ForestType,
138
141
  NodeChangedData,
@@ -144,8 +147,9 @@ export {
144
147
  adaptEnum,
145
148
  enumFromStrings,
146
149
  singletonSchema,
150
+ // #endregion
147
151
 
148
- // @alpha APIs
152
+ // #region @alpha APIs
149
153
  AllowedTypeMetadata,
150
154
  AllowedTypesMetadata,
151
155
  AnnotatedAllowedType,
@@ -295,4 +299,5 @@ export {
295
299
  replaceHandles,
296
300
  replaceVerboseTreeHandles,
297
301
  typeboxValidator
302
+ // #endregion
298
303
  } from "./index.js";
package/lib/beta.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,8 +133,9 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @beta APIs
138
+ // #region @beta APIs
136
139
  ForestOptions,
137
140
  ForestType,
138
141
  NodeChangedData,
@@ -144,4 +147,5 @@ export {
144
147
  adaptEnum,
145
148
  enumFromStrings,
146
149
  singletonSchema
150
+ // #endregion
147
151
  } from "./index.js";
package/lib/legacy.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,13 +133,32 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol,
136
+ // #endregion
134
137
 
135
- // @legacy APIs
136
- DeserializeCallback,
137
- IBranchOrigin,
138
+ // #region @legacyPublic APIs
138
139
  IDirectory,
139
140
  IDirectoryEvents,
140
141
  IDirectoryValueChanged,
142
+ IValueChanged,
143
+ // #endregion
144
+
145
+ // #region @beta APIs
146
+ ForestOptions,
147
+ ForestType,
148
+ NodeChangedData,
149
+ PopUnion,
150
+ SchemaFactoryBeta,
151
+ TreeBeta,
152
+ TreeChangeEventsBeta,
153
+ UnionToTuple,
154
+ adaptEnum,
155
+ enumFromStrings,
156
+ singletonSchema,
157
+ // #endregion
158
+
159
+ // #region @legacyBeta APIs
160
+ DeserializeCallback,
161
+ IBranchOrigin,
141
162
  IInterval,
142
163
  ISequenceDeltaRange,
143
164
  ISequenceIntervalCollection,
@@ -154,7 +175,6 @@ export {
154
175
  ISharedSegmentSequenceEvents,
155
176
  ISharedString,
156
177
  ITrace,
157
- IValueChanged,
158
178
  InteriorSequencePlace,
159
179
  IntervalStickiness,
160
180
  IntervalType,
@@ -169,4 +189,5 @@ export {
169
189
  SharedString,
170
190
  SharedStringSegment,
171
191
  Side
192
+ // #endregion
172
193
  } from "./index.js";
package/lib/public.d.ts CHANGED
@@ -16,10 +16,11 @@
16
16
  */
17
17
 
18
18
  export {
19
- // Unrestricted APIs
19
+ // #region Unrestricted APIs
20
20
  InternalTypes,
21
-
22
- // @public APIs
21
+ // #endregion
22
+
23
+ // #region @public APIs
23
24
  AllowedTypes,
24
25
  AttachState,
25
26
  CommitKind,
@@ -94,6 +95,7 @@ export {
94
95
  RunTransaction,
95
96
  SchemaCompatibilityStatus,
96
97
  SchemaFactory,
98
+ SchemaFactory_base,
97
99
  SchemaStatics,
98
100
  SharedObjectKind,
99
101
  SharedTree,
@@ -131,4 +133,5 @@ export {
131
133
  isFluidHandle,
132
134
  rollback,
133
135
  typeSchemaSymbol
136
+ // #endregion
134
137
  } from "./index.js";
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.8"
8
+ "packageVersion": "7.52.11"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.60.0",
3
+ "version": "2.61.0-355516",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,26 +57,26 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "~2.60.0",
61
- "@fluidframework/container-loader": "~2.60.0",
62
- "@fluidframework/core-interfaces": "~2.60.0",
63
- "@fluidframework/core-utils": "~2.60.0",
64
- "@fluidframework/driver-definitions": "~2.60.0",
65
- "@fluidframework/fluid-static": "~2.60.0",
66
- "@fluidframework/map": "~2.60.0",
67
- "@fluidframework/runtime-utils": "~2.60.0",
68
- "@fluidframework/sequence": "~2.60.0",
69
- "@fluidframework/shared-object-base": "~2.60.0",
70
- "@fluidframework/tree": "~2.60.0"
60
+ "@fluidframework/container-definitions": "2.61.0-355516",
61
+ "@fluidframework/container-loader": "2.61.0-355516",
62
+ "@fluidframework/core-interfaces": "2.61.0-355516",
63
+ "@fluidframework/core-utils": "2.61.0-355516",
64
+ "@fluidframework/driver-definitions": "2.61.0-355516",
65
+ "@fluidframework/fluid-static": "2.61.0-355516",
66
+ "@fluidframework/map": "2.61.0-355516",
67
+ "@fluidframework/runtime-utils": "2.61.0-355516",
68
+ "@fluidframework/sequence": "2.61.0-355516",
69
+ "@fluidframework/shared-object-base": "2.61.0-355516",
70
+ "@fluidframework/tree": "2.61.0-355516"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.17.1",
74
74
  "@biomejs/biome": "~1.9.3",
75
- "@fluid-tools/build-cli": "^0.57.0",
75
+ "@fluid-tools/build-cli": "^0.58.1",
76
76
  "@fluidframework/build-common": "^2.0.3",
77
- "@fluidframework/build-tools": "^0.57.0",
77
+ "@fluidframework/build-tools": "^0.58.1",
78
78
  "@fluidframework/eslint-config-fluid": "^6.0.0",
79
- "@microsoft/api-extractor": "7.52.8",
79
+ "@microsoft/api-extractor": "7.52.11",
80
80
  "@types/node": "^18.19.0",
81
81
  "concurrently": "^8.2.1",
82
82
  "copyfiles": "^2.4.1",
@@ -103,8 +103,8 @@
103
103
  },
104
104
  "scripts": {
105
105
  "api": "fluid-build . --task api",
106
- "api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
107
- "api-extractor:esnext": "flub generate entrypoints --outDir ./lib --node10TypeCompat",
106
+ "api-extractor:commonjs": "flub generate entrypoints --outFileLegacyBeta legacy --outDir ./dist",
107
+ "api-extractor:esnext": "flub generate entrypoints --outFileLegacyBeta legacy --outDir ./lib --node10TypeCompat",
108
108
  "build": "fluid-build . --task build",
109
109
  "build:api-reports": "concurrently \"npm:build:api-reports:*\"",
110
110
  "build:api-reports:current": "api-extractor run --local --config api-extractor/api-extractor.current.json",