fluid-framework 2.103.0 → 2.111.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,114 @@
1
1
  # fluid-framework
2
2
 
3
+ ## 2.111.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add an opt-in postProcessor option when running a transaction ([#27610](https://github.com/microsoft/FluidFramework/pull/27610)) [ee981100f3f](https://github.com/microsoft/FluidFramework/commit/ee981100f3fa5fb9b5ea26b9ef62efa7e0691b69)
8
+
9
+ `RunTransactionParams` now accepts an optional `postProcessor` (used by `runTransaction` and `runTransactionAsync`). When supplied, the edits made during the transaction are post-processed when the transaction is committed, transforming the resulting squashed change. For example, post-processing could be used to "minimize" the change so that it contains no extraneous information. Such extraneous information includes data for nodes that were both created and removed within the transaction, or changes whose effects cancel out to nothing.
10
+
11
+ `postProcessor` is a type-erased handle (`TransactionPostProcessor`) whose concrete representation is an implementation detail of `@fluidframework/tree`. It is opt-in: when it is omitted the existing behavior is preserved.
12
+
13
+ Note: minimization is the first intended implementation and use of post-processing, but it is not yet available.
14
+
15
+ - TreeView transaction APIs have been promoted to beta ([#27592](https://github.com/microsoft/FluidFramework/pull/27592)) [1ed11dbeddd](https://github.com/microsoft/FluidFramework/commit/1ed11dbeddd98fd0b788aad6f74b6d480249ce28)
16
+
17
+ The [TreeViewBeta](https://fluidframework.com/docs/api/fluid-framework/treeviewbeta-interface) interface exposes `runTransaction` and `runTransactionAsync` methods.
18
+
19
+ The [asBeta](https://fluidframework.com/docs/api/fluid-framework/#asbeta-function) helper function can be used to down-cast a `TreeView` to a `TreeViewBeta`.
20
+
21
+ ```typescript
22
+ import { asBeta } from "fluid-framework/beta";
23
+ // ...
24
+ const view = asBeta(tree.viewWith(config));
25
+ const result = view.runTransaction(() => {
26
+ // ... make edits to the tree ...
27
+ });
28
+ if (result.success === false) {
29
+ // ... handle the failed transaction ...
30
+ }
31
+ ```
32
+
33
+ > [!IMPORTANT]
34
+ > Transaction constraints are not yet available as a part of the beta transaction APIs.
35
+ > These capabilities can still be accessed via the updated alpha APIs.
36
+
37
+ **Type Name Changes**
38
+
39
+ With the introduction of new beta types, existing alpha types have been replaced with new alpha and beta variants.
40
+
41
+ | Old | New Alpha | New Beta |
42
+ | ------------------------------- | ------------------------------------ | ----------------------------------- |
43
+ | `RunTransactionParams` | `RunTransactionParamsAlpha` | `RunTransactionParamsBeta` |
44
+ | `TransactionCallbackStatus` | `TransactionCallbackStatusAlpha` | `TransactionCallbackStatusBeta` |
45
+ | `VoidTransactionCallbackStatus` | `VoidTransactionCallbackStatusAlpha` | `VoidTransactionCallbackStatusBeta` |
46
+
47
+ **Other Renames**
48
+ - `TransactionResult` (alpha) -> `TransactionVoidResult` (beta)
49
+ - `TransactionResultExt` (alpha) -> `TransactionValueResult` (beta)
50
+
51
+ ## 2.110.0
52
+
53
+ ### Minor Changes
54
+
55
+ - TreeBranchAlpha.isMissingEditsFrom ([#27583](https://github.com/microsoft/FluidFramework/pull/27583)) [ef92f1f1cd8](https://github.com/microsoft/FluidFramework/commit/ef92f1f1cd880ed361e9f8efa49fb23c4ee64ca3)
56
+
57
+ Adds a new method (`isMissingEditsFrom(branch: TreeBranch): boolean`) to `TreeBranchAlpha`.
58
+ `isMissingEditsFrom` can be used to determine whether there are edits on the given `branch` that have not yet been merged into this branch.
59
+
60
+ - Forks created on "changed" event are no longer auto-disposed ([#27580](https://github.com/microsoft/FluidFramework/pull/27580)) [ae64be7688e](https://github.com/microsoft/FluidFramework/commit/ae64be7688e26da9bfc5c0286e50d3df0647ff3a)
61
+
62
+ The "changed" event is emitted from a `TreeBranch` when a change is made to the branch.
63
+ Previously, when this event was fired due to a transaction being committed, it was possible to fork the branch in response to the "changed" event, but such a fork would be automatically disposed immediately after the event callback.
64
+ This was a bug. Such forks are no longer disposed automatically.
65
+
66
+ - Editing a SharedTree during its change-event callbacks now consistently throws ([#27285](https://github.com/microsoft/FluidFramework/pull/27285)) [255d4505ed5](https://github.com/microsoft/FluidFramework/commit/255d4505ed574676735c6f2078199e5b29dede2a)
67
+
68
+ Editing a `SharedTree` from inside one of its change-event callbacks has always been forbidden, but some paths were not being caught: edits and the start of a transaction (along with branch operations, reverts, etc.) made while the tree was emitting its post-change notification ran to completion instead of throwing.
69
+
70
+ Such edits would apply to the tree, trigger further change notifications, and could re-enter the same listener for the resulting commits.
71
+ This can produce infinite edit loops, redundant work across clients, incorrect attribution, broken undo/redo grouping, and pollution of the outer commit's label data.
72
+
73
+ This release closes those gaps: both editing the tree and starting a transaction during a change-event callback now throw the same canonical `UsageError` as the other change-event callbacks:
74
+
75
+ > Editing the tree is forbidden during a change event callback
76
+
77
+ > Running a transaction is forbidden during a change event callback
78
+
79
+ More generally, edits should not be made in response to changes to the document.
80
+ See [Editing in response to change events](https://fluidframework.com/docs/data-structures/tree/events#editing-in-response-to-change-events) for why, and for the recommended alternatives.
81
+
82
+ - TableSchema (beta) methods now accept positional arguments ([#27545](https://github.com/microsoft/FluidFramework/pull/27545)) [e121ff71f3e](https://github.com/microsoft/FluidFramework/commit/e121ff71f3ebed80c656315486933fe2d6859b32)
83
+
84
+ The `insertColumns`, `insertRows`, `setCell`, and `removeCell` methods on `TableSchema.Table` now accept positional arguments in addition to the existing property-bag form.
85
+ The new overloads remove a layer of object construction at call sites and make the common cases more concise.
86
+
87
+ The existing property-bag overloads continue to work but are now deprecated.
88
+ They will be removed in a future release.
89
+
90
+ #### Migration
91
+
92
+ ```typescript
93
+ // ...
94
+
95
+ // Before
96
+ table.insertColumns({ columns: [columnA, columnB] });
97
+ table.insertColumns({ index: 0, columns: [columnA] });
98
+ table.insertRows({ rows: [rowA, rowB] });
99
+ table.insertRows({ index: 0, rows: [rowA] });
100
+ table.setCell({ key: { column, row }, cell });
101
+ table.removeCell({ column, row });
102
+
103
+ // After
104
+ table.insertColumns([columnA, columnB]);
105
+ table.insertColumns([columnA], 0);
106
+ table.insertRows([rowA, rowB]);
107
+ table.insertRows([rowA], 0);
108
+ table.setCell(row, column, cell);
109
+ table.removeCell(row, column);
110
+ ```
111
+
3
112
  ## 2.103.0
4
113
 
5
114
  Dependency updates only.
@@ -1486,11 +1486,16 @@ export interface RunTransaction {
1486
1486
  }
1487
1487
 
1488
1488
  // @alpha @input
1489
- export interface RunTransactionParams {
1490
- readonly label?: unknown;
1489
+ export interface RunTransactionParamsAlpha extends RunTransactionParamsBeta {
1490
+ readonly postProcessor?: TransactionPostProcessor;
1491
1491
  readonly preconditions?: readonly TransactionConstraintAlpha[];
1492
1492
  }
1493
1493
 
1494
+ // @beta @input
1495
+ export interface RunTransactionParamsBeta {
1496
+ readonly label?: unknown;
1497
+ }
1498
+
1494
1499
  // @public @sealed
1495
1500
  export interface SchemaCompatibilityStatus {
1496
1501
  readonly canInitialize: boolean;
@@ -1942,12 +1947,12 @@ export namespace TableSchema {
1942
1947
  export function column<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateColumnOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1943
1948
  readonly props: TProps;
1944
1949
  }): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
1945
- // @input
1950
+ // @deprecated @input
1946
1951
  export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
1947
1952
  readonly columns: InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[];
1948
1953
  readonly index?: number | undefined;
1949
1954
  }
1950
- // @input
1955
+ // @deprecated @input
1951
1956
  export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
1952
1957
  readonly index?: number | undefined;
1953
1958
  readonly rows: InsertableTreeNodeFromImplicitAllowedTypes<TRow>[];
@@ -1962,7 +1967,7 @@ export namespace TableSchema {
1962
1967
  export function row<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1963
1968
  readonly props: TProps;
1964
1969
  }): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
1965
- // @input
1970
+ // @deprecated @input
1966
1971
  export interface SetCellParameters<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
1967
1972
  readonly cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>;
1968
1973
  readonly key: CellKey<TColumn, TRow>;
@@ -1975,8 +1980,14 @@ export namespace TableSchema {
1975
1980
  getColumn(index: number): TreeNodeFromImplicitAllowedTypes<TColumn> | undefined;
1976
1981
  getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1977
1982
  getRow(index: number): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1983
+ insertColumns(columns: readonly InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[], index?: number): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1984
+ // @deprecated
1978
1985
  insertColumns(params: InsertColumnsParameters<TColumn>): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1986
+ insertRows(rows: readonly InsertableTreeNodeFromImplicitAllowedTypes<TRow>[], index?: number): TreeNodeFromImplicitAllowedTypes<TRow>[];
1987
+ // @deprecated
1979
1988
  insertRows(params: InsertRowsParameters<TRow>): TreeNodeFromImplicitAllowedTypes<TRow>[];
1989
+ removeCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1990
+ // @deprecated
1980
1991
  removeCell(key: CellKey<TColumn, TRow>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1981
1992
  removeColumns(index?: number | undefined, count?: number | undefined): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1982
1993
  removeColumns(columns: readonly TreeNodeFromImplicitAllowedTypes<TColumn>[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
@@ -1985,6 +1996,8 @@ export namespace TableSchema {
1985
1996
  removeRows(rows: readonly TreeNodeFromImplicitAllowedTypes<TRow>[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1986
1997
  removeRows(rows: readonly string[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1987
1998
  readonly rows: System_TableSchema.RearrangeableList<TRow>;
1999
+ setCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>, cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
2000
+ // @deprecated
1988
2001
  setCell(params: SetCellParameters<TCell, TColumn, TRow>): void;
1989
2002
  }
1990
2003
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell>): System_TableSchema.TableSchemaBase<TUserScope, TCell, System_TableSchema.ColumnSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>, System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>>;
@@ -2055,15 +2068,18 @@ export namespace TextAsTree {
2055
2068
  // @alpha
2056
2069
  export function trackDirtyNodes(view: TreeViewAlpha<ImplicitFieldSchema>, dirty: DirtyTreeMap): () => void;
2057
2070
 
2058
- // @alpha
2059
- export type TransactionCallbackStatus<TSuccessValue, TFailureValue> = ((WithValue<TSuccessValue> & {
2060
- rollback?: false;
2061
- }) | (WithValue<TFailureValue> & {
2062
- rollback: true;
2063
- })) & {
2064
- preconditionsOnRevert?: readonly TransactionConstraintAlpha[];
2071
+ // @alpha @input
2072
+ export type TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue> = TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> & {
2073
+ readonly preconditionsOnRevert?: readonly TransactionConstraintAlpha[];
2065
2074
  };
2066
2075
 
2076
+ // @beta @input
2077
+ export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
2078
+ readonly rollback?: false;
2079
+ }) | (WithValue<TFailureValue> & {
2080
+ readonly rollback: true;
2081
+ });
2082
+
2067
2083
  // @public
2068
2084
  export type TransactionConstraint = NodeInDocumentConstraint;
2069
2085
 
@@ -2075,22 +2091,26 @@ export type TransactionLabels = Set<unknown> & {
2075
2091
  tree?: LabelTree;
2076
2092
  };
2077
2093
 
2078
- // @alpha
2079
- export type TransactionResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
2080
-
2081
- // @alpha
2082
- export type TransactionResultExt<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
2094
+ // @alpha @sealed @system
2095
+ export interface TransactionPostProcessor extends ErasedType<"@fluidframework/tree.TransactionPostProcessor"> {
2096
+ }
2083
2097
 
2084
- // @alpha
2098
+ // @beta @sealed
2085
2099
  export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
2086
- success: false;
2100
+ readonly success: false;
2087
2101
  }
2088
2102
 
2089
- // @alpha
2103
+ // @beta @sealed
2090
2104
  export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
2091
- success: true;
2105
+ readonly success: true;
2092
2106
  }
2093
2107
 
2108
+ // @beta @sealed
2109
+ export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
2110
+
2111
+ // @beta @sealed
2112
+ export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
2113
+
2094
2114
  // @public
2095
2115
  export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
2096
2116
 
@@ -2194,10 +2214,11 @@ export interface TreeBranchAlpha extends TreeBranch, TreeContextAlpha {
2194
2214
  // (undocumented)
2195
2215
  fork(): TreeBranchAlpha;
2196
2216
  hasRootSchema<TSchema extends ImplicitFieldSchema>(schema: TSchema): this is TreeViewAlpha<TSchema>;
2197
- runTransaction<TSuccessValue, TFailureValue>(transaction: () => TransactionCallbackStatus<TSuccessValue, TFailureValue>, params?: RunTransactionParams): TransactionResultExt<TSuccessValue, TFailureValue>;
2198
- runTransaction(transaction: () => VoidTransactionCallbackStatus | void, params?: RunTransactionParams): TransactionResult;
2199
- runTransactionAsync<TSuccessValue, TFailureValue>(transaction: () => Promise<TransactionCallbackStatus<TSuccessValue, TFailureValue>>, params?: RunTransactionParams): Promise<TransactionResultExt<TSuccessValue, TFailureValue>>;
2200
- runTransactionAsync(transaction: () => Promise<VoidTransactionCallbackStatus | void>, params?: RunTransactionParams): Promise<TransactionResult>;
2217
+ isMissingEditsFrom(branch: TreeBranch): boolean;
2218
+ runTransaction<TSuccessValue, TFailureValue>(transaction: () => TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue>, params?: RunTransactionParamsAlpha): TransactionValueResult<TSuccessValue, TFailureValue>;
2219
+ runTransaction(transaction: () => VoidTransactionCallbackStatusAlpha | void, params?: RunTransactionParamsAlpha): TransactionVoidResult;
2220
+ runTransactionAsync<TSuccessValue, TFailureValue>(transaction: () => Promise<TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue>>, params?: RunTransactionParamsAlpha): Promise<TransactionValueResult<TSuccessValue, TFailureValue>>;
2221
+ runTransactionAsync(transaction: () => Promise<VoidTransactionCallbackStatusAlpha | void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
2201
2222
  }
2202
2223
 
2203
2224
  // @alpha @sealed
@@ -2232,10 +2253,10 @@ export enum TreeCompressionStrategy {
2232
2253
  // @alpha
2233
2254
  export interface TreeContextAlpha {
2234
2255
  isBranch(): this is TreeBranchAlpha;
2235
- runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParams): TransactionResultExt<TValue, TValue>;
2236
- runTransaction(transaction: () => void, params?: RunTransactionParams): TransactionResult;
2237
- runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParams): Promise<TransactionResultExt<TValue, TValue>>;
2238
- runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParams): Promise<TransactionResult>;
2256
+ runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsAlpha): TransactionValueResult<TValue, TValue>;
2257
+ runTransaction(transaction: () => void, params?: RunTransactionParamsAlpha): TransactionVoidResult;
2258
+ runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsAlpha): Promise<TransactionValueResult<TValue, TValue>>;
2259
+ runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
2239
2260
  }
2240
2261
 
2241
2262
  // @beta @input
@@ -2389,7 +2410,7 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
2389
2410
  }
2390
2411
 
2391
2412
  // @alpha @sealed
2392
- export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork">, TreeBranchAlpha {
2413
+ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork" | "runTransaction" | "runTransactionAsync">, TreeBranchAlpha {
2393
2414
  // (undocumented)
2394
2415
  readonly events: Listenable<TreeViewEvents & TreeBranchEvents>;
2395
2416
  // (undocumented)
@@ -2405,6 +2426,8 @@ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | Unsa
2405
2426
  export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
2406
2427
  // (undocumented)
2407
2428
  fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
2429
+ runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
2430
+ runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
2408
2431
  }
2409
2432
 
2410
2433
  // @public @sealed
@@ -2529,8 +2552,11 @@ export interface ViewContent {
2529
2552
  readonly tree: JsonCompatible<IFluidHandle>;
2530
2553
  }
2531
2554
 
2532
- // @alpha
2533
- export type VoidTransactionCallbackStatus = Omit<TransactionCallbackStatus<unknown, unknown>, "value">;
2555
+ // @alpha @input
2556
+ export type VoidTransactionCallbackStatusAlpha = Omit<TransactionCallbackStatusAlpha<unknown, unknown>, "value">;
2557
+
2558
+ // @beta @input
2559
+ export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
2534
2560
 
2535
2561
  // @public @sealed
2536
2562
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
@@ -2539,9 +2565,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
2539
2565
  get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
2540
2566
  }
2541
2567
 
2542
- // @alpha
2568
+ // @beta @input
2543
2569
  export interface WithValue<TValue> {
2544
- value: TValue;
2570
+ readonly value: TValue;
2545
2571
  }
2546
2572
 
2547
2573
  ```
@@ -907,6 +907,11 @@ export interface RunTransaction {
907
907
  readonly rollback: typeof rollback;
908
908
  }
909
909
 
910
+ // @beta @input
911
+ export interface RunTransactionParamsBeta {
912
+ readonly label?: unknown;
913
+ }
914
+
910
915
  // @public @sealed
911
916
  export interface SchemaCompatibilityStatus {
912
917
  readonly canInitialize: boolean;
@@ -1219,12 +1224,12 @@ export namespace TableSchema {
1219
1224
  export function column<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateColumnOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1220
1225
  readonly props: TProps;
1221
1226
  }): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
1222
- // @input
1227
+ // @deprecated @input
1223
1228
  export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
1224
1229
  readonly columns: InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[];
1225
1230
  readonly index?: number | undefined;
1226
1231
  }
1227
- // @input
1232
+ // @deprecated @input
1228
1233
  export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
1229
1234
  readonly index?: number | undefined;
1230
1235
  readonly rows: InsertableTreeNodeFromImplicitAllowedTypes<TRow>[];
@@ -1239,7 +1244,7 @@ export namespace TableSchema {
1239
1244
  export function row<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1240
1245
  readonly props: TProps;
1241
1246
  }): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
1242
- // @input
1247
+ // @deprecated @input
1243
1248
  export interface SetCellParameters<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
1244
1249
  readonly cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>;
1245
1250
  readonly key: CellKey<TColumn, TRow>;
@@ -1252,8 +1257,14 @@ export namespace TableSchema {
1252
1257
  getColumn(index: number): TreeNodeFromImplicitAllowedTypes<TColumn> | undefined;
1253
1258
  getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1254
1259
  getRow(index: number): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1260
+ insertColumns(columns: readonly InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[], index?: number): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1261
+ // @deprecated
1255
1262
  insertColumns(params: InsertColumnsParameters<TColumn>): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1263
+ insertRows(rows: readonly InsertableTreeNodeFromImplicitAllowedTypes<TRow>[], index?: number): TreeNodeFromImplicitAllowedTypes<TRow>[];
1264
+ // @deprecated
1256
1265
  insertRows(params: InsertRowsParameters<TRow>): TreeNodeFromImplicitAllowedTypes<TRow>[];
1266
+ removeCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1267
+ // @deprecated
1257
1268
  removeCell(key: CellKey<TColumn, TRow>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1258
1269
  removeColumns(index?: number | undefined, count?: number | undefined): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1259
1270
  removeColumns(columns: readonly TreeNodeFromImplicitAllowedTypes<TColumn>[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
@@ -1262,6 +1273,8 @@ export namespace TableSchema {
1262
1273
  removeRows(rows: readonly TreeNodeFromImplicitAllowedTypes<TRow>[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1263
1274
  removeRows(rows: readonly string[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1264
1275
  readonly rows: System_TableSchema.RearrangeableList<TRow>;
1276
+ setCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>, cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
1277
+ // @deprecated
1265
1278
  setCell(params: SetCellParameters<TCell, TColumn, TRow>): void;
1266
1279
  }
1267
1280
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell>): System_TableSchema.TableSchemaBase<TUserScope, TCell, System_TableSchema.ColumnSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>, System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>>;
@@ -1293,9 +1306,32 @@ export interface Tagged<V, T extends string = string> {
1293
1306
  // @public
1294
1307
  export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
1295
1308
 
1309
+ // @beta @input
1310
+ export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
1311
+ readonly rollback?: false;
1312
+ }) | (WithValue<TFailureValue> & {
1313
+ readonly rollback: true;
1314
+ });
1315
+
1296
1316
  // @public
1297
1317
  export type TransactionConstraint = NodeInDocumentConstraint;
1298
1318
 
1319
+ // @beta @sealed
1320
+ export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
1321
+ readonly success: false;
1322
+ }
1323
+
1324
+ // @beta @sealed
1325
+ export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
1326
+ readonly success: true;
1327
+ }
1328
+
1329
+ // @beta @sealed
1330
+ export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
1331
+
1332
+ // @beta @sealed
1333
+ export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
1334
+
1299
1335
  // @public
1300
1336
  export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
1301
1337
 
@@ -1495,6 +1531,8 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1495
1531
  export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
1496
1532
  // (undocumented)
1497
1533
  fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
1534
+ runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
1535
+ runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
1498
1536
  }
1499
1537
 
1500
1538
  // @public @sealed
@@ -1572,6 +1610,9 @@ export interface ViewableTree {
1572
1610
  viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
1573
1611
  }
1574
1612
 
1613
+ // @beta @input
1614
+ export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
1615
+
1575
1616
  // @public @sealed
1576
1617
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
1577
1618
  // @deprecated
@@ -1579,4 +1620,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
1579
1620
  get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
1580
1621
  }
1581
1622
 
1623
+ // @beta @input
1624
+ export interface WithValue<TValue> {
1625
+ readonly value: TValue;
1626
+ }
1627
+
1582
1628
  ```
@@ -1193,6 +1193,11 @@ export interface RunTransaction {
1193
1193
  readonly rollback: typeof rollback;
1194
1194
  }
1195
1195
 
1196
+ // @beta @input
1197
+ export interface RunTransactionParamsBeta {
1198
+ readonly label?: unknown;
1199
+ }
1200
+
1196
1201
  // @public @sealed
1197
1202
  export interface SchemaCompatibilityStatus {
1198
1203
  readonly canInitialize: boolean;
@@ -1585,12 +1590,12 @@ export namespace TableSchema {
1585
1590
  export function column<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateColumnOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1586
1591
  readonly props: TProps;
1587
1592
  }): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
1588
- // @input
1593
+ // @deprecated @input
1589
1594
  export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
1590
1595
  readonly columns: InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[];
1591
1596
  readonly index?: number | undefined;
1592
1597
  }
1593
- // @input
1598
+ // @deprecated @input
1594
1599
  export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
1595
1600
  readonly index?: number | undefined;
1596
1601
  readonly rows: InsertableTreeNodeFromImplicitAllowedTypes<TRow>[];
@@ -1605,7 +1610,7 @@ export namespace TableSchema {
1605
1610
  export function row<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1606
1611
  readonly props: TProps;
1607
1612
  }): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
1608
- // @input
1613
+ // @deprecated @input
1609
1614
  export interface SetCellParameters<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
1610
1615
  readonly cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>;
1611
1616
  readonly key: CellKey<TColumn, TRow>;
@@ -1618,8 +1623,14 @@ export namespace TableSchema {
1618
1623
  getColumn(index: number): TreeNodeFromImplicitAllowedTypes<TColumn> | undefined;
1619
1624
  getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1620
1625
  getRow(index: number): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1626
+ insertColumns(columns: readonly InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[], index?: number): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1627
+ // @deprecated
1621
1628
  insertColumns(params: InsertColumnsParameters<TColumn>): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1629
+ insertRows(rows: readonly InsertableTreeNodeFromImplicitAllowedTypes<TRow>[], index?: number): TreeNodeFromImplicitAllowedTypes<TRow>[];
1630
+ // @deprecated
1622
1631
  insertRows(params: InsertRowsParameters<TRow>): TreeNodeFromImplicitAllowedTypes<TRow>[];
1632
+ removeCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1633
+ // @deprecated
1623
1634
  removeCell(key: CellKey<TColumn, TRow>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1624
1635
  removeColumns(index?: number | undefined, count?: number | undefined): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1625
1636
  removeColumns(columns: readonly TreeNodeFromImplicitAllowedTypes<TColumn>[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
@@ -1628,6 +1639,8 @@ export namespace TableSchema {
1628
1639
  removeRows(rows: readonly TreeNodeFromImplicitAllowedTypes<TRow>[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1629
1640
  removeRows(rows: readonly string[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1630
1641
  readonly rows: System_TableSchema.RearrangeableList<TRow>;
1642
+ setCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>, cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
1643
+ // @deprecated
1631
1644
  setCell(params: SetCellParameters<TCell, TColumn, TRow>): void;
1632
1645
  }
1633
1646
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell>): System_TableSchema.TableSchemaBase<TUserScope, TCell, System_TableSchema.ColumnSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>, System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>>;
@@ -1659,9 +1672,32 @@ export interface Tagged<V, T extends string = string> {
1659
1672
  // @public
1660
1673
  export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
1661
1674
 
1675
+ // @beta @input
1676
+ export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
1677
+ readonly rollback?: false;
1678
+ }) | (WithValue<TFailureValue> & {
1679
+ readonly rollback: true;
1680
+ });
1681
+
1662
1682
  // @public
1663
1683
  export type TransactionConstraint = NodeInDocumentConstraint;
1664
1684
 
1685
+ // @beta @sealed
1686
+ export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
1687
+ readonly success: false;
1688
+ }
1689
+
1690
+ // @beta @sealed
1691
+ export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
1692
+ readonly success: true;
1693
+ }
1694
+
1695
+ // @beta @sealed
1696
+ export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
1697
+
1698
+ // @beta @sealed
1699
+ export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
1700
+
1665
1701
  // @public
1666
1702
  export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
1667
1703
 
@@ -1861,6 +1897,8 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1861
1897
  export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
1862
1898
  // (undocumented)
1863
1899
  fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
1900
+ runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
1901
+ runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
1864
1902
  }
1865
1903
 
1866
1904
  // @public @sealed
@@ -1938,6 +1976,9 @@ export interface ViewableTree {
1938
1976
  viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
1939
1977
  }
1940
1978
 
1979
+ // @beta @input
1980
+ export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
1981
+
1941
1982
  // @public @sealed
1942
1983
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
1943
1984
  // @deprecated
@@ -1945,4 +1986,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
1945
1986
  get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
1946
1987
  }
1947
1988
 
1989
+ // @beta @input
1990
+ export interface WithValue<TValue> {
1991
+ readonly value: TValue;
1992
+ }
1993
+
1948
1994
  ```
package/dist/alpha.d.ts CHANGED
@@ -173,6 +173,7 @@ export {
173
173
  ObjectSchemaOptions,
174
174
  PopUnion,
175
175
  RecordNodeInsertableData,
176
+ RunTransactionParamsBeta,
176
177
  SchemaFactoryBeta,
177
178
  SchemaStaticsBeta,
178
179
  SchemaUpgrade,
@@ -181,6 +182,11 @@ export {
181
182
  SnapshotSchemaCompatibilityOptions,
182
183
  System_TableSchema,
183
184
  TableSchema,
185
+ TransactionCallbackStatusBeta,
186
+ TransactionResultFailed,
187
+ TransactionResultSuccess,
188
+ TransactionValueResult,
189
+ TransactionVoidResult,
184
190
  TreeBeta,
185
191
  TreeBranch,
186
192
  TreeChangeEventsBeta,
@@ -195,6 +201,8 @@ export {
195
201
  UnannotateAllowedTypesList,
196
202
  UnannotateAllowedTypesListUnsafe,
197
203
  UnionToTuple,
204
+ VoidTransactionCallbackStatusBeta,
205
+ WithValue,
198
206
  adaptEnum,
199
207
  asBeta,
200
208
  configuredSharedTreeBeta,
@@ -295,7 +303,7 @@ export {
295
303
  RemoteChangeMetadata,
296
304
  RevertibleAlpha,
297
305
  RevertibleAlphaFactory,
298
- RunTransactionParams,
306
+ RunTransactionParamsAlpha,
299
307
  SchemaFactoryAlpha,
300
308
  SchemaStaticsAlpha,
301
309
  SchemaType,
@@ -313,13 +321,10 @@ export {
313
321
  SimpleRecordNodeSchema,
314
322
  SimpleTreeSchema,
315
323
  TextAsTree,
316
- TransactionCallbackStatus,
324
+ TransactionCallbackStatusAlpha,
317
325
  TransactionConstraintAlpha,
318
326
  TransactionLabels,
319
- TransactionResult,
320
- TransactionResultExt,
321
- TransactionResultFailed,
322
- TransactionResultSuccess,
327
+ TransactionPostProcessor,
323
328
  TreeAlpha,
324
329
  TreeArrayNodeAlpha,
325
330
  TreeBranchAlpha,
@@ -339,8 +344,7 @@ export {
339
344
  VerboseTree,
340
345
  VerboseTreeNode,
341
346
  ViewContent,
342
- VoidTransactionCallbackStatus,
343
- WithValue,
347
+ VoidTransactionCallbackStatusAlpha,
344
348
  allowUnused,
345
349
  asAlpha,
346
350
  asTreeViewAlpha,
package/dist/beta.d.ts CHANGED
@@ -173,6 +173,7 @@ export {
173
173
  ObjectSchemaOptions,
174
174
  PopUnion,
175
175
  RecordNodeInsertableData,
176
+ RunTransactionParamsBeta,
176
177
  SchemaFactoryBeta,
177
178
  SchemaStaticsBeta,
178
179
  SchemaUpgrade,
@@ -181,6 +182,11 @@ export {
181
182
  SnapshotSchemaCompatibilityOptions,
182
183
  System_TableSchema,
183
184
  TableSchema,
185
+ TransactionCallbackStatusBeta,
186
+ TransactionResultFailed,
187
+ TransactionResultSuccess,
188
+ TransactionValueResult,
189
+ TransactionVoidResult,
184
190
  TreeBeta,
185
191
  TreeBranch,
186
192
  TreeChangeEventsBeta,
@@ -195,6 +201,8 @@ export {
195
201
  UnannotateAllowedTypesList,
196
202
  UnannotateAllowedTypesListUnsafe,
197
203
  UnionToTuple,
204
+ VoidTransactionCallbackStatusBeta,
205
+ WithValue,
198
206
  adaptEnum,
199
207
  asBeta,
200
208
  configuredSharedTreeBeta,
package/dist/legacy.d.ts CHANGED
@@ -180,6 +180,7 @@ export {
180
180
  ObjectSchemaOptions,
181
181
  PopUnion,
182
182
  RecordNodeInsertableData,
183
+ RunTransactionParamsBeta,
183
184
  SchemaFactoryBeta,
184
185
  SchemaStaticsBeta,
185
186
  SchemaUpgrade,
@@ -188,6 +189,11 @@ export {
188
189
  SnapshotSchemaCompatibilityOptions,
189
190
  System_TableSchema,
190
191
  TableSchema,
192
+ TransactionCallbackStatusBeta,
193
+ TransactionResultFailed,
194
+ TransactionResultSuccess,
195
+ TransactionValueResult,
196
+ TransactionVoidResult,
191
197
  TreeBeta,
192
198
  TreeBranch,
193
199
  TreeChangeEventsBeta,
@@ -202,6 +208,8 @@ export {
202
208
  UnannotateAllowedTypesList,
203
209
  UnannotateAllowedTypesListUnsafe,
204
210
  UnionToTuple,
211
+ VoidTransactionCallbackStatusBeta,
212
+ WithValue,
205
213
  adaptEnum,
206
214
  asBeta,
207
215
  configuredSharedTreeBeta,
package/lib/alpha.d.ts CHANGED
@@ -173,6 +173,7 @@ export {
173
173
  ObjectSchemaOptions,
174
174
  PopUnion,
175
175
  RecordNodeInsertableData,
176
+ RunTransactionParamsBeta,
176
177
  SchemaFactoryBeta,
177
178
  SchemaStaticsBeta,
178
179
  SchemaUpgrade,
@@ -181,6 +182,11 @@ export {
181
182
  SnapshotSchemaCompatibilityOptions,
182
183
  System_TableSchema,
183
184
  TableSchema,
185
+ TransactionCallbackStatusBeta,
186
+ TransactionResultFailed,
187
+ TransactionResultSuccess,
188
+ TransactionValueResult,
189
+ TransactionVoidResult,
184
190
  TreeBeta,
185
191
  TreeBranch,
186
192
  TreeChangeEventsBeta,
@@ -195,6 +201,8 @@ export {
195
201
  UnannotateAllowedTypesList,
196
202
  UnannotateAllowedTypesListUnsafe,
197
203
  UnionToTuple,
204
+ VoidTransactionCallbackStatusBeta,
205
+ WithValue,
198
206
  adaptEnum,
199
207
  asBeta,
200
208
  configuredSharedTreeBeta,
@@ -295,7 +303,7 @@ export {
295
303
  RemoteChangeMetadata,
296
304
  RevertibleAlpha,
297
305
  RevertibleAlphaFactory,
298
- RunTransactionParams,
306
+ RunTransactionParamsAlpha,
299
307
  SchemaFactoryAlpha,
300
308
  SchemaStaticsAlpha,
301
309
  SchemaType,
@@ -313,13 +321,10 @@ export {
313
321
  SimpleRecordNodeSchema,
314
322
  SimpleTreeSchema,
315
323
  TextAsTree,
316
- TransactionCallbackStatus,
324
+ TransactionCallbackStatusAlpha,
317
325
  TransactionConstraintAlpha,
318
326
  TransactionLabels,
319
- TransactionResult,
320
- TransactionResultExt,
321
- TransactionResultFailed,
322
- TransactionResultSuccess,
327
+ TransactionPostProcessor,
323
328
  TreeAlpha,
324
329
  TreeArrayNodeAlpha,
325
330
  TreeBranchAlpha,
@@ -339,8 +344,7 @@ export {
339
344
  VerboseTree,
340
345
  VerboseTreeNode,
341
346
  ViewContent,
342
- VoidTransactionCallbackStatus,
343
- WithValue,
347
+ VoidTransactionCallbackStatusAlpha,
344
348
  allowUnused,
345
349
  asAlpha,
346
350
  asTreeViewAlpha,
package/lib/beta.d.ts CHANGED
@@ -173,6 +173,7 @@ export {
173
173
  ObjectSchemaOptions,
174
174
  PopUnion,
175
175
  RecordNodeInsertableData,
176
+ RunTransactionParamsBeta,
176
177
  SchemaFactoryBeta,
177
178
  SchemaStaticsBeta,
178
179
  SchemaUpgrade,
@@ -181,6 +182,11 @@ export {
181
182
  SnapshotSchemaCompatibilityOptions,
182
183
  System_TableSchema,
183
184
  TableSchema,
185
+ TransactionCallbackStatusBeta,
186
+ TransactionResultFailed,
187
+ TransactionResultSuccess,
188
+ TransactionValueResult,
189
+ TransactionVoidResult,
184
190
  TreeBeta,
185
191
  TreeBranch,
186
192
  TreeChangeEventsBeta,
@@ -195,6 +201,8 @@ export {
195
201
  UnannotateAllowedTypesList,
196
202
  UnannotateAllowedTypesListUnsafe,
197
203
  UnionToTuple,
204
+ VoidTransactionCallbackStatusBeta,
205
+ WithValue,
198
206
  adaptEnum,
199
207
  asBeta,
200
208
  configuredSharedTreeBeta,
package/lib/legacy.d.ts CHANGED
@@ -180,6 +180,7 @@ export {
180
180
  ObjectSchemaOptions,
181
181
  PopUnion,
182
182
  RecordNodeInsertableData,
183
+ RunTransactionParamsBeta,
183
184
  SchemaFactoryBeta,
184
185
  SchemaStaticsBeta,
185
186
  SchemaUpgrade,
@@ -188,6 +189,11 @@ export {
188
189
  SnapshotSchemaCompatibilityOptions,
189
190
  System_TableSchema,
190
191
  TableSchema,
192
+ TransactionCallbackStatusBeta,
193
+ TransactionResultFailed,
194
+ TransactionResultSuccess,
195
+ TransactionValueResult,
196
+ TransactionVoidResult,
191
197
  TreeBeta,
192
198
  TreeBranch,
193
199
  TreeChangeEventsBeta,
@@ -202,6 +208,8 @@ export {
202
208
  UnannotateAllowedTypesList,
203
209
  UnannotateAllowedTypesListUnsafe,
204
210
  UnionToTuple,
211
+ VoidTransactionCallbackStatusBeta,
212
+ WithValue,
205
213
  adaptEnum,
206
214
  asBeta,
207
215
  configuredSharedTreeBeta,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.103.0",
3
+ "version": "2.111.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.103.0",
61
- "@fluidframework/container-loader": "~2.103.0",
62
- "@fluidframework/core-interfaces": "~2.103.0",
63
- "@fluidframework/core-utils": "~2.103.0",
64
- "@fluidframework/driver-definitions": "~2.103.0",
65
- "@fluidframework/fluid-static": "~2.103.0",
66
- "@fluidframework/map": "~2.103.0",
67
- "@fluidframework/runtime-utils": "~2.103.0",
68
- "@fluidframework/sequence": "~2.103.0",
69
- "@fluidframework/shared-object-base": "~2.103.0",
70
- "@fluidframework/tree": "~2.103.0"
60
+ "@fluidframework/container-definitions": "~2.111.0",
61
+ "@fluidframework/container-loader": "~2.111.0",
62
+ "@fluidframework/core-interfaces": "~2.111.0",
63
+ "@fluidframework/core-utils": "~2.111.0",
64
+ "@fluidframework/driver-definitions": "~2.111.0",
65
+ "@fluidframework/fluid-static": "~2.111.0",
66
+ "@fluidframework/map": "~2.111.0",
67
+ "@fluidframework/runtime-utils": "~2.111.0",
68
+ "@fluidframework/sequence": "~2.111.0",
69
+ "@fluidframework/shared-object-base": "~2.111.0",
70
+ "@fluidframework/tree": "~2.111.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.18.2",
@@ -75,13 +75,13 @@
75
75
  "@fluid-tools/build-cli": "^0.65.0",
76
76
  "@fluidframework/build-common": "^2.0.3",
77
77
  "@fluidframework/build-tools": "^0.65.0",
78
- "@fluidframework/eslint-config-fluid": "^9.0.0",
78
+ "@fluidframework/eslint-config-fluid": "^13.0.0",
79
79
  "@microsoft/api-extractor": "7.58.1",
80
80
  "@types/node": "~22.19.17",
81
- "concurrently": "^9.2.1",
81
+ "concurrently": "^10.0.3",
82
82
  "copyfiles": "^2.4.1",
83
83
  "eslint": "~9.39.1",
84
- "fluid-framework-previous": "npm:fluid-framework@2.101.0",
84
+ "fluid-framework-previous": "npm:fluid-framework@2.110.0",
85
85
  "jiti": "^2.6.1",
86
86
  "rimraf": "^6.1.3",
87
87
  "typescript": "~5.4.5"