fluid-framework 2.74.0-370705 → 2.80.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.80.0
4
+
5
+ ### Minor Changes
6
+
7
+ - TreeBranch operations throw when called during transactions ([#26097](https://github.com/microsoft/FluidFramework/pull/26097)) [33b1ec0827c](https://github.com/microsoft/FluidFramework/commit/33b1ec0827c433ce9afc126f26457a9245bd43eb)
8
+
9
+ This breaking change only affects the behavior of `TreeBranch` methods (currently released as beta).
10
+ - Invoking `TreeBranch.fork()` now throws an error if a transaction is ongoing on the branch.
11
+ - Invoking `TreeBranch.merge(sourceBranch)` now throws an error if a transaction is ongoing on the source branch.
12
+ As before, it also throws an error if a transaction is ongoing on the target (i.e., `this`) branch.
13
+ - Invoking `TreeBranch.rebaseOnto(targetBranch)` now throws an error if a transaction is ongoing on the target branch.
14
+ As before, it also throws an error if a transaction is ongoing on the source (i.e., `this`) branch.
15
+
16
+ These new restrictions insulate branches and their dependents from experiencing incomplete transaction changes.
17
+ This is important because incomplete transaction changes may not uphold application invariants.
18
+
19
+ In scenarios that experience the new errors, application authors should consider whether the ongoing transaction can safely be closed before invoking these methods.
20
+
21
+ ## 2.74.0
22
+
23
+ ### Minor Changes
24
+
25
+ - Fixed bug in sending of revert edits after an aborted transaction ([#25978](https://github.com/microsoft/FluidFramework/pull/25978)) [93ec6c77dab](https://github.com/microsoft/FluidFramework/commit/93ec6c77dab27bd65c2b04862f578ac3876b2cbe)
26
+
27
+ Aborting a transaction used to put the tree in a state that would trigger an assert when sending some undo/redo edits to peers.
28
+ This would prevent some undo/redo edits from being sent and would put the tree in a broken state that prevented any further edits.
29
+ This issue could not have caused document corruption, so reopening the document was a possible remedy.
30
+ Aborting a transaction no longer puts the tree in such a state, so it is safe to perform undo/redo edits after that.
31
+
3
32
  ## 2.73.0
4
33
 
5
34
  ### Minor Changes
@@ -141,6 +141,15 @@ export interface BranchableTree extends ViewableTree {
141
141
  rebase(branch: TreeBranchFork): void;
142
142
  }
143
143
 
144
+ // @alpha @sealed
145
+ export type ChangeMetadata = CommitMetadata & ({
146
+ readonly isLocal: true;
147
+ getChange(): JsonCompatibleReadOnly;
148
+ } | {
149
+ readonly isLocal: false;
150
+ readonly getChange?: undefined;
151
+ });
152
+
144
153
  // @alpha
145
154
  export function checkCompatibility(viewWhichCreatedStoredSchema: TreeViewConfiguration, view: TreeViewConfiguration): Omit<SchemaCompatibilityStatus, "canInitialize">;
146
155
 
@@ -150,9 +159,14 @@ export function cloneWithReplacements(root: unknown, rootKey: string, replacer:
150
159
  value: unknown;
151
160
  }): unknown;
152
161
 
162
+ // @alpha
163
+ export type CodecName = string;
164
+
153
165
  // @alpha @input
154
166
  export interface CodecWriteOptions extends ICodecOptions {
167
+ readonly allowPossiblyIncompatibleWriteVersionOverrides?: boolean;
155
168
  readonly minVersionForCollab: MinimumVersionForCollab;
169
+ readonly writeVersionOverrides?: ReadonlyMap<CodecName, FormatVersion>;
156
170
  }
157
171
 
158
172
  // @public
@@ -293,6 +307,12 @@ export abstract class ErasedType<out Name = unknown> {
293
307
  protected abstract brand(dummy: never): Name;
294
308
  }
295
309
 
310
+ // @alpha
311
+ export function eraseSchemaDetails<TNode, ExtraSchemaProperties = unknown>(): <T extends ExtraSchemaProperties & TreeNodeSchema<string, NodeKind, TNode & TreeNode>>(schema: T) => ExtraSchemaProperties & TreeNodeSchema<T["identifier"], NodeKind, TNode & TreeNode & WithType<T["identifier"]>, never, false>;
312
+
313
+ // @alpha
314
+ export function eraseSchemaDetailsSubclassable<TNode, ExtraSchemaProperties = unknown>(): <T extends ExtraSchemaProperties & TreeNodeSchemaClass<string, NodeKind, TNode & TreeNode>>(schema: T) => ExtraSchemaProperties & TreeNodeSchemaClass<T["identifier"], NodeKind, TNode & TreeNode & WithType<T["identifier"]>, never, false>;
315
+
296
316
  // @alpha
297
317
  export function evaluateLazySchema<T extends TreeNodeSchema>(value: LazyItem<T>): T;
298
318
 
@@ -396,6 +416,7 @@ export const FluidClientVersion: {
396
416
  readonly v2_52: "2.52.0";
397
417
  readonly v2_73: "2.73.0";
398
418
  readonly v2_74: "2.74.0";
419
+ readonly v2_80: "2.80.0";
399
420
  };
400
421
 
401
422
  // @public
@@ -458,6 +479,9 @@ export const FormatValidatorBasic: FormatValidator_2;
458
479
  // @alpha
459
480
  export const FormatValidatorNoOp: FormatValidator;
460
481
 
482
+ // @alpha
483
+ export type FormatVersion = number | string | undefined;
484
+
461
485
  // @alpha
462
486
  export function generateSchemaFromSimpleSchema(simple: SimpleTreeSchema): TreeSchema;
463
487
 
@@ -1075,6 +1099,12 @@ export type Myself<M extends IMember = IMember> = M & {
1075
1099
  readonly currentConnection: string;
1076
1100
  };
1077
1101
 
1102
+ // @alpha
1103
+ export interface NoChangeConstraint {
1104
+ // (undocumented)
1105
+ readonly type: "noChange";
1106
+ }
1107
+
1078
1108
  // @public @system
1079
1109
  type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
1080
1110
 
@@ -1273,7 +1303,7 @@ export interface RunTransaction {
1273
1303
 
1274
1304
  // @alpha @input
1275
1305
  export interface RunTransactionParams {
1276
- readonly preconditions?: readonly TransactionConstraint[];
1306
+ readonly preconditions?: readonly TransactionConstraintAlpha[];
1277
1307
  }
1278
1308
 
1279
1309
  // @public @sealed
@@ -1420,7 +1450,6 @@ export interface SharedTreeFormatOptions {
1420
1450
 
1421
1451
  // @alpha @input
1422
1452
  export interface SharedTreeOptions extends SharedTreeOptionsBeta, Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions> {
1423
- readonly enableDetachedRootEditing?: boolean;
1424
1453
  readonly enableSharedBranches?: boolean;
1425
1454
  shouldEncodeIncrementally?: IncrementalEncodingPolicy;
1426
1455
  }
@@ -1541,20 +1570,9 @@ export namespace System_TableSchema {
1541
1570
  readonly cells: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>, unknown>;
1542
1571
  }>;
1543
1572
  // @system
1544
- export function createTableSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind.Object, false, {
1545
- readonly table: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table">, NodeKind.Object, TreeObjectNode_2< {
1546
- readonly rows: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
1547
- readonly columns: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
1548
- }, ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table">>, object & {
1549
- readonly rows: (InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>)> | undefined) & InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, true, TRowSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>> | undefined) => TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>)>;
1550
- readonly columns: (InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>)> | undefined) & InsertableTypedNode_2<TreeNodeSchemaCore_2<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, true, TColumnSchema, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, unknown> & (new (data?: InternalTreeNode | Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>> | undefined) => TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>)>;
1551
- }, true, {
1552
- readonly rows: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, TreeArrayNode<TRowSchema, [TRowSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TRowSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TRowSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.rows">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>>, true, TRowSchema, undefined>;
1553
- readonly columns: TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, TreeArrayNode<TColumnSchema, [TColumnSchema] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TColumnSchema> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, [TColumnSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema> : never, ReadonlyArrayNode_2<TreeNode | TreeLeafValue_2>> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "Table.columns">, NodeKind.Array, unknown>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>>, true, TColumnSchema, undefined>;
1554
- }, never, unknown>, unknown>;
1555
- }, never, unknown> & (new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>) & {
1573
+ export function createTableSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): {
1556
1574
  create<TThis extends new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>>(this: TThis, initialContents?: TableSchema.TableFactoryMethodParameters<TUserScope, TCellSchema, TColumnSchema, TRowSchema> | undefined): InstanceType<TThis>;
1557
- };
1575
+ } & (new (data?: InternalTreeNode | undefined) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown>) & TreeNodeSchemaCore<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot"> & string, NodeKind, false, unknown, never, unknown> & (new (data: InternalTreeNode) => TreeNode & TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot">, NodeKind, unknown> & WithType<ScopedSchemaName<`com.fluidframework.table<${TUserScope}>`, "TableRoot"> & string, NodeKind, unknown>);
1558
1576
  // @system
1559
1577
  export type DefaultPropsType = ReturnType<typeof SchemaFactory.optional<[]>>;
1560
1578
  // @system
@@ -1767,12 +1785,15 @@ export type TransactionCallbackStatus<TSuccessValue, TFailureValue> = ({
1767
1785
  rollback: true;
1768
1786
  value: TFailureValue;
1769
1787
  }) & {
1770
- preconditionsOnRevert?: readonly TransactionConstraint[];
1788
+ preconditionsOnRevert?: readonly TransactionConstraintAlpha[];
1771
1789
  };
1772
1790
 
1773
1791
  // @public
1774
1792
  export type TransactionConstraint = NodeInDocumentConstraint;
1775
1793
 
1794
+ // @alpha @sealed
1795
+ export type TransactionConstraintAlpha = TransactionConstraint | NoChangeConstraint;
1796
+
1776
1797
  // @alpha
1777
1798
  export type TransactionResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
1778
1799
 
@@ -1880,6 +1901,7 @@ export interface TreeBranch extends IDisposable {
1880
1901
 
1881
1902
  // @alpha @sealed
1882
1903
  export interface TreeBranchAlpha extends TreeBranch {
1904
+ applyChange(change: JsonCompatibleReadOnly): void;
1883
1905
  readonly events: Listenable<TreeBranchEvents>;
1884
1906
  // (undocumented)
1885
1907
  fork(): TreeBranchAlpha;
@@ -1890,7 +1912,7 @@ export interface TreeBranchAlpha extends TreeBranch {
1890
1912
 
1891
1913
  // @alpha @sealed
1892
1914
  export interface TreeBranchEvents extends Omit<TreeViewEvents, "commitApplied"> {
1893
- changed(data: CommitMetadata, getRevertible?: RevertibleAlphaFactory): void;
1915
+ changed(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
1894
1916
  commitApplied(data: CommitMetadata, getRevertible?: RevertibleAlphaFactory): void;
1895
1917
  }
1896
1918
 
package/dist/alpha.d.ts CHANGED
@@ -195,6 +195,8 @@ export {
195
195
  ArrayNodePojoEmulationSchema,
196
196
  ArrayNodeSchema,
197
197
  BranchableTree,
198
+ ChangeMetadata,
199
+ CodecName,
198
200
  CodecWriteOptions,
199
201
  DirtyTreeMap,
200
202
  DirtyTreeStatus,
@@ -207,6 +209,7 @@ export {
207
209
  FormatValidator,
208
210
  FormatValidatorBasic,
209
211
  FormatValidatorNoOp,
212
+ FormatVersion,
210
213
  HandleConverter,
211
214
  ICodecOptions,
212
215
  ITreeAlpha,
@@ -237,6 +240,7 @@ export {
237
240
  MapNodeCustomizableSchemaUnsafe,
238
241
  MapNodePojoEmulationSchema,
239
242
  MapNodeSchema,
243
+ NoChangeConstraint,
240
244
  NodeSchemaOptionsAlpha,
241
245
  ObjectNodeSchema,
242
246
  ObjectSchemaOptionsAlpha,
@@ -268,6 +272,7 @@ export {
268
272
  System_TableSchema,
269
273
  TableSchema,
270
274
  TransactionCallbackStatus,
275
+ TransactionConstraintAlpha,
271
276
  TransactionResult,
272
277
  TransactionResultExt,
273
278
  TransactionResultFailed,
@@ -306,6 +311,8 @@ export {
306
311
  createSimpleTreeIndex,
307
312
  decodeSchemaCompatibilitySnapshot,
308
313
  encodeSchemaCompatibilitySnapshot,
314
+ eraseSchemaDetails,
315
+ eraseSchemaDetailsSubclassable,
309
316
  evaluateLazySchema,
310
317
  exportCompatibilitySchemaSnapshot,
311
318
  extractPersistedSchema,
@@ -0,0 +1,22 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * GENERATED FILE - DO NOT EDIT DIRECTLY.
4
+ * To regenerate: pnpm tsx scripts/generate-flat-eslint-configs.ts --typescript
5
+ */
6
+ import type { Linter } from "eslint";
7
+ import { strict } from "../../../common/build/eslint-config-fluid/flat.mts";
8
+
9
+ const config: Linter.Config[] = [
10
+ ...strict,
11
+ {
12
+ files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
13
+ languageOptions: {
14
+ parserOptions: {
15
+ projectService: false,
16
+ project: ["./tsconfig.json"],
17
+ },
18
+ },
19
+ },
20
+ ];
21
+
22
+ export default config;
package/lib/alpha.d.ts CHANGED
@@ -195,6 +195,8 @@ export {
195
195
  ArrayNodePojoEmulationSchema,
196
196
  ArrayNodeSchema,
197
197
  BranchableTree,
198
+ ChangeMetadata,
199
+ CodecName,
198
200
  CodecWriteOptions,
199
201
  DirtyTreeMap,
200
202
  DirtyTreeStatus,
@@ -207,6 +209,7 @@ export {
207
209
  FormatValidator,
208
210
  FormatValidatorBasic,
209
211
  FormatValidatorNoOp,
212
+ FormatVersion,
210
213
  HandleConverter,
211
214
  ICodecOptions,
212
215
  ITreeAlpha,
@@ -237,6 +240,7 @@ export {
237
240
  MapNodeCustomizableSchemaUnsafe,
238
241
  MapNodePojoEmulationSchema,
239
242
  MapNodeSchema,
243
+ NoChangeConstraint,
240
244
  NodeSchemaOptionsAlpha,
241
245
  ObjectNodeSchema,
242
246
  ObjectSchemaOptionsAlpha,
@@ -268,6 +272,7 @@ export {
268
272
  System_TableSchema,
269
273
  TableSchema,
270
274
  TransactionCallbackStatus,
275
+ TransactionConstraintAlpha,
271
276
  TransactionResult,
272
277
  TransactionResultExt,
273
278
  TransactionResultFailed,
@@ -306,6 +311,8 @@ export {
306
311
  createSimpleTreeIndex,
307
312
  decodeSchemaCompatibilitySnapshot,
308
313
  encodeSchemaCompatibilitySnapshot,
314
+ eraseSchemaDetails,
315
+ eraseSchemaDetailsSubclassable,
309
316
  evaluateLazySchema,
310
317
  exportCompatibilitySchemaSnapshot,
311
318
  extractPersistedSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.74.0-370705",
3
+ "version": "2.80.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,31 +57,32 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "2.74.0-370705",
61
- "@fluidframework/container-loader": "2.74.0-370705",
62
- "@fluidframework/core-interfaces": "2.74.0-370705",
63
- "@fluidframework/core-utils": "2.74.0-370705",
64
- "@fluidframework/driver-definitions": "2.74.0-370705",
65
- "@fluidframework/fluid-static": "2.74.0-370705",
66
- "@fluidframework/map": "2.74.0-370705",
67
- "@fluidframework/runtime-utils": "2.74.0-370705",
68
- "@fluidframework/sequence": "2.74.0-370705",
69
- "@fluidframework/shared-object-base": "2.74.0-370705",
70
- "@fluidframework/tree": "2.74.0-370705"
60
+ "@fluidframework/container-definitions": "~2.80.0",
61
+ "@fluidframework/container-loader": "~2.80.0",
62
+ "@fluidframework/core-interfaces": "~2.80.0",
63
+ "@fluidframework/core-utils": "~2.80.0",
64
+ "@fluidframework/driver-definitions": "~2.80.0",
65
+ "@fluidframework/fluid-static": "~2.80.0",
66
+ "@fluidframework/map": "~2.80.0",
67
+ "@fluidframework/runtime-utils": "~2.80.0",
68
+ "@fluidframework/sequence": "~2.80.0",
69
+ "@fluidframework/shared-object-base": "~2.80.0",
70
+ "@fluidframework/tree": "~2.80.0"
71
71
  },
72
72
  "devDependencies": {
73
- "@arethetypeswrong/cli": "^0.17.1",
73
+ "@arethetypeswrong/cli": "^0.18.2",
74
74
  "@biomejs/biome": "~1.9.3",
75
- "@fluid-tools/build-cli": "^0.60.0",
75
+ "@fluid-tools/build-cli": "^0.62.0",
76
76
  "@fluidframework/build-common": "^2.0.3",
77
- "@fluidframework/build-tools": "^0.60.0",
78
- "@fluidframework/eslint-config-fluid": "2.74.0-370705",
77
+ "@fluidframework/build-tools": "^0.62.0",
78
+ "@fluidframework/eslint-config-fluid": "~2.80.0",
79
79
  "@microsoft/api-extractor": "7.52.11",
80
80
  "@types/node": "^18.19.0",
81
- "concurrently": "^8.2.1",
81
+ "concurrently": "^9.2.1",
82
82
  "copyfiles": "^2.4.1",
83
- "eslint": "~8.57.1",
84
- "rimraf": "^4.4.0",
83
+ "eslint": "~9.39.1",
84
+ "jiti": "^2.6.1",
85
+ "rimraf": "^6.1.2",
85
86
  "typescript": "~5.4.5"
86
87
  },
87
88
  "fluidBuild": {