@fluidframework/datastore-definitions 2.0.0-rc.3.0.2 → 2.0.0-rc.4.0.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,26 @@
1
1
  # @fluidframework/datastore-definitions
2
2
 
3
+ ## 2.0.0-rc.4.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
8
+
9
+ Make IFluidDataStoreRuntime.deltaManager have an opaque type.
10
+ Marks the following types which were reachable from it as alpha:
11
+
12
+ - IConnectionDetails
13
+ - IDeltaSender
14
+ - IDeltaManagerEvents
15
+ - IDeltaManager
16
+ - IDeltaQueueEvents
17
+ - IDeltaQueue
18
+ - ReadOnlyInfo
19
+
20
+ As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
21
+
22
+ Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
23
+
3
24
  ## 2.0.0-rc.3.0.0
4
25
 
5
26
  ### Major Changes
@@ -5,11 +5,10 @@
5
5
  ```ts
6
6
 
7
7
  import type { AttachState } from '@fluidframework/container-definitions';
8
+ import type { ErasedType } from '@fluidframework/core-interfaces';
8
9
  import type { FluidObject } from '@fluidframework/core-interfaces';
9
10
  import type { IAudience } from '@fluidframework/container-definitions';
10
- import type { IDeltaManager } from '@fluidframework/container-definitions';
11
11
  import type { IDisposable } from '@fluidframework/core-interfaces';
12
- import type { IDocumentMessage } from '@fluidframework/protocol-definitions';
13
12
  import type { IEvent } from '@fluidframework/core-interfaces';
14
13
  import type { IEventProvider } from '@fluidframework/core-interfaces';
15
14
  import type { IExperimentalIncrementalSummaryContext } from '@fluidframework/runtime-definitions';
@@ -88,6 +87,9 @@ export interface IDeltaHandler {
88
87
  }
89
88
 
90
89
  // @public
90
+ export type IDeltaManagerErased = ErasedType<"@fluidframework/container-definitions.IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>">;
91
+
92
+ // @public @sealed
91
93
  export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable {
92
94
  addChannel(channel: IChannel): void;
93
95
  readonly attachState: AttachState;
@@ -100,8 +102,7 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
100
102
  readonly connected: boolean;
101
103
  createChannel(id: string | undefined, type: string): IChannel;
102
104
  // (undocumented)
103
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
104
- ensureNoDataModelChanges<T>(callback: () => T): T;
105
+ readonly deltaManager: IDeltaManagerErased;
105
106
  readonly entryPoint: IFluidHandle<FluidObject>;
106
107
  getAudience(): IAudience;
107
108
  getChannel(id: string): Promise<IChannel>;
@@ -2,10 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
6
- import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
5
+ import type { AttachState, IAudience } from "@fluidframework/container-definitions";
6
+ import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger, ErasedType } from "@fluidframework/core-interfaces";
7
7
  import type { IIdCompressor } from "@fluidframework/id-compressor";
8
- import type { IDocumentMessage, IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
8
+ import type { IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
9
9
  import type { IInboundSignalMessage } from "@fluidframework/runtime-definitions";
10
10
  import type { IChannel } from "./channel.js";
11
11
  /**
@@ -18,8 +18,14 @@ export interface IFluidDataStoreRuntimeEvents extends IEvent {
18
18
  (event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
19
19
  (event: "connected", listener: (clientId: string) => void): any;
20
20
  }
21
+ /**
22
+ * Manages the transmission of ops between the runtime and storage.
23
+ * @public
24
+ */
25
+ export type IDeltaManagerErased = ErasedType<"@fluidframework/container-definitions.IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>">;
21
26
  /**
22
27
  * Represents the runtime for the data store. Contains helper functions/state of the data store.
28
+ * @sealed
23
29
  * @public
24
30
  */
25
31
  export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable {
@@ -29,7 +35,7 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
29
35
  readonly channelsRoutingContext: IFluidHandleContext;
30
36
  readonly objectsRoutingContext: IFluidHandleContext;
31
37
  readonly options: Record<string | number, any>;
32
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
38
+ readonly deltaManager: IDeltaManagerErased;
33
39
  readonly clientId: string | undefined;
34
40
  readonly connected: boolean;
35
41
  readonly logger: ITelemetryBaseLogger;
@@ -42,15 +48,6 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
42
48
  * Returns the channel with the given id
43
49
  */
44
50
  getChannel(id: string): Promise<IChannel>;
45
- /**
46
- * Invokes the given callback and expects that no ops are submitted
47
- * until execution finishes. If an op is submitted, an error will be raised.
48
- *
49
- * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
50
- *
51
- * @param callback - the callback to be invoked
52
- */
53
- ensureNoDataModelChanges<T>(callback: () => T): T;
54
51
  /**
55
52
  * Creates a new channel of the given type.
56
53
  * @param id - ID of the channel to be created. A unique ID will be generated if left undefined.
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  export type { IChannel, IChannelFactory, IChannelServices, IChannelStorageService, IDeltaConnection, IDeltaHandler, } from "./channel.js";
12
- export type { IFluidDataStoreRuntime, IFluidDataStoreRuntimeEvents } from "./dataStoreRuntime.js";
12
+ export type { IFluidDataStoreRuntime, IFluidDataStoreRuntimeEvents, IDeltaManagerErased, } from "./dataStoreRuntime.js";
13
13
  export type { Jsonable, JsonableTypeWith, Internal_InterfaceOfJsonableTypesWith, } from "./jsonable.js";
14
14
  export type { Serializable } from "./serializable.js";
15
15
  export type { IChannelAttributes } from "./storage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAClG,YAAY,EACX,QAAQ,EACR,gBAAgB,EAChB,qCAAqC,GACrC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACX,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,QAAQ,EACR,gBAAgB,EAChB,qCAAqC,GACrC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
package/dist/legacy.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  export {
12
- // public APIs
12
+ // @public APIs
13
13
  IChannel,
14
14
  IChannelAttributes,
15
15
  IChannelFactory,
@@ -17,10 +17,11 @@ export {
17
17
  IChannelStorageService,
18
18
  IDeltaConnection,
19
19
  IDeltaHandler,
20
+ IDeltaManagerErased,
20
21
  IFluidDataStoreRuntime,
21
22
  IFluidDataStoreRuntimeEvents,
22
23
 
23
- // alpha APIs
24
+ // @alpha APIs
24
25
  Internal_InterfaceOfJsonableTypesWith,
25
26
  Jsonable,
26
27
  JsonableTypeWith,
package/dist/public.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  export {
12
- // public APIs
12
+ // @public APIs
13
13
  IChannel,
14
14
  IChannelAttributes,
15
15
  IChannelFactory,
@@ -17,6 +17,7 @@ export {
17
17
  IChannelStorageService,
18
18
  IDeltaConnection,
19
19
  IDeltaHandler,
20
+ IDeltaManagerErased,
20
21
  IFluidDataStoreRuntime,
21
22
  IFluidDataStoreRuntimeEvents
22
23
  } from "./index.js";
@@ -2,10 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
6
- import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
5
+ import type { AttachState, IAudience } from "@fluidframework/container-definitions";
6
+ import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger, ErasedType } from "@fluidframework/core-interfaces";
7
7
  import type { IIdCompressor } from "@fluidframework/id-compressor";
8
- import type { IDocumentMessage, IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
8
+ import type { IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
9
9
  import type { IInboundSignalMessage } from "@fluidframework/runtime-definitions";
10
10
  import type { IChannel } from "./channel.js";
11
11
  /**
@@ -18,8 +18,14 @@ export interface IFluidDataStoreRuntimeEvents extends IEvent {
18
18
  (event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
19
19
  (event: "connected", listener: (clientId: string) => void): any;
20
20
  }
21
+ /**
22
+ * Manages the transmission of ops between the runtime and storage.
23
+ * @public
24
+ */
25
+ export type IDeltaManagerErased = ErasedType<"@fluidframework/container-definitions.IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>">;
21
26
  /**
22
27
  * Represents the runtime for the data store. Contains helper functions/state of the data store.
28
+ * @sealed
23
29
  * @public
24
30
  */
25
31
  export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable {
@@ -29,7 +35,7 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
29
35
  readonly channelsRoutingContext: IFluidHandleContext;
30
36
  readonly objectsRoutingContext: IFluidHandleContext;
31
37
  readonly options: Record<string | number, any>;
32
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
38
+ readonly deltaManager: IDeltaManagerErased;
33
39
  readonly clientId: string | undefined;
34
40
  readonly connected: boolean;
35
41
  readonly logger: ITelemetryBaseLogger;
@@ -42,15 +48,6 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
42
48
  * Returns the channel with the given id
43
49
  */
44
50
  getChannel(id: string): Promise<IChannel>;
45
- /**
46
- * Invokes the given callback and expects that no ops are submitted
47
- * until execution finishes. If an op is submitted, an error will be raised.
48
- *
49
- * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
50
- *
51
- * @param callback - the callback to be invoked
52
- */
53
- ensureNoDataModelChanges<T>(callback: () => T): T;
54
51
  /**
55
52
  * Creates a new channel of the given type.
56
53
  * @param id - ID of the channel to be created. A unique ID will be generated if left undefined.
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  export type { IChannel, IChannelFactory, IChannelServices, IChannelStorageService, IDeltaConnection, IDeltaHandler, } from "./channel.js";
12
- export type { IFluidDataStoreRuntime, IFluidDataStoreRuntimeEvents } from "./dataStoreRuntime.js";
12
+ export type { IFluidDataStoreRuntime, IFluidDataStoreRuntimeEvents, IDeltaManagerErased, } from "./dataStoreRuntime.js";
13
13
  export type { Jsonable, JsonableTypeWith, Internal_InterfaceOfJsonableTypesWith, } from "./jsonable.js";
14
14
  export type { Serializable } from "./serializable.js";
15
15
  export type { IChannelAttributes } from "./storage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAClG,YAAY,EACX,QAAQ,EACR,gBAAgB,EAChB,qCAAqC,GACrC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACX,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,QAAQ,EACR,gBAAgB,EAChB,qCAAqC,GACrC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
package/lib/legacy.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  export {
12
- // public APIs
12
+ // @public APIs
13
13
  IChannel,
14
14
  IChannelAttributes,
15
15
  IChannelFactory,
@@ -17,10 +17,11 @@ export {
17
17
  IChannelStorageService,
18
18
  IDeltaConnection,
19
19
  IDeltaHandler,
20
+ IDeltaManagerErased,
20
21
  IFluidDataStoreRuntime,
21
22
  IFluidDataStoreRuntimeEvents,
22
23
 
23
- // alpha APIs
24
+ // @alpha APIs
24
25
  Internal_InterfaceOfJsonableTypesWith,
25
26
  Jsonable,
26
27
  JsonableTypeWith,
package/lib/public.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  export {
12
- // public APIs
12
+ // @public APIs
13
13
  IChannel,
14
14
  IChannelAttributes,
15
15
  IChannelFactory,
@@ -17,6 +17,7 @@ export {
17
17
  IChannelStorageService,
18
18
  IDeltaConnection,
19
19
  IDeltaHandler,
20
+ IDeltaManagerErased,
20
21
  IFluidDataStoreRuntime,
21
22
  IFluidDataStoreRuntimeEvents
22
23
  } from "./index.js";
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.42.3"
8
+ "packageVersion": "7.43.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/datastore-definitions",
3
- "version": "2.0.0-rc.3.0.2",
3
+ "version": "2.0.0-rc.4.0.0",
4
4
  "description": "Fluid data store definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -41,21 +41,21 @@
41
41
  "main": "",
42
42
  "types": "lib/public.d.ts",
43
43
  "dependencies": {
44
- "@fluidframework/container-definitions": ">=2.0.0-rc.3.0.2 <2.0.0-rc.3.1.0",
45
- "@fluidframework/core-interfaces": ">=2.0.0-rc.3.0.2 <2.0.0-rc.3.1.0",
46
- "@fluidframework/id-compressor": ">=2.0.0-rc.3.0.2 <2.0.0-rc.3.1.0",
44
+ "@fluidframework/container-definitions": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0",
45
+ "@fluidframework/core-interfaces": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0",
46
+ "@fluidframework/id-compressor": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0",
47
47
  "@fluidframework/protocol-definitions": "^3.2.0",
48
- "@fluidframework/runtime-definitions": ">=2.0.0-rc.3.0.2 <2.0.0-rc.3.1.0"
48
+ "@fluidframework/runtime-definitions": ">=2.0.0-rc.4.0.0 <2.0.0-rc.4.1.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@arethetypeswrong/cli": "^0.15.2",
52
52
  "@biomejs/biome": "^1.6.2",
53
- "@fluid-tools/build-cli": "^0.37.0",
53
+ "@fluid-tools/build-cli": "^0.38.0",
54
54
  "@fluidframework/build-common": "^2.0.3",
55
- "@fluidframework/build-tools": "^0.37.0",
56
- "@fluidframework/datastore-definitions-previous": "npm:@fluidframework/datastore-definitions@2.0.0-internal.8.0.0",
55
+ "@fluidframework/build-tools": "^0.38.0",
56
+ "@fluidframework/datastore-definitions-previous": "npm:@fluidframework/datastore-definitions@2.0.0-rc.3.0.0",
57
57
  "@fluidframework/eslint-config-fluid": "^5.1.0",
58
- "@microsoft/api-extractor": "^7.42.3",
58
+ "@microsoft/api-extractor": "^7.43.1",
59
59
  "copyfiles": "^2.4.1",
60
60
  "eslint": "~8.55.0",
61
61
  "prettier": "~3.0.3",
@@ -65,6 +65,10 @@
65
65
  "typeValidation": {
66
66
  "broken": {
67
67
  "InterfaceDeclaration_IFluidDataStoreRuntime": {
68
+ "backCompat": false,
69
+ "forwardCompat": false
70
+ },
71
+ "InterfaceDeclaration_IChannel": {
68
72
  "forwardCompat": false,
69
73
  "backCompat": false
70
74
  }
@@ -93,7 +97,7 @@
93
97
  "lint": "fluid-build . --task lint",
94
98
  "lint:fix": "fluid-build . --task eslint:fix --task format",
95
99
  "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
96
- "typetests:gen": "fluid-type-test-generator",
100
+ "typetests:gen": "flub generate typetests --dir . -v --publicFallback",
97
101
  "typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
98
102
  }
99
103
  }
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
6
+ import type { AttachState, IAudience } from "@fluidframework/container-definitions";
7
7
  import type {
8
8
  FluidObject,
9
9
  IDisposable,
@@ -12,10 +12,10 @@ import type {
12
12
  IFluidHandle,
13
13
  IFluidHandleContext,
14
14
  ITelemetryBaseLogger,
15
+ ErasedType,
15
16
  } from "@fluidframework/core-interfaces";
16
17
  import type { IIdCompressor } from "@fluidframework/id-compressor";
17
18
  import type {
18
- IDocumentMessage,
19
19
  IQuorumClients,
20
20
  ISequencedDocumentMessage,
21
21
  } from "@fluidframework/protocol-definitions";
@@ -34,8 +34,16 @@ export interface IFluidDataStoreRuntimeEvents extends IEvent {
34
34
  (event: "connected", listener: (clientId: string) => void);
35
35
  }
36
36
 
37
+ /**
38
+ * Manages the transmission of ops between the runtime and storage.
39
+ * @public
40
+ */
41
+ export type IDeltaManagerErased =
42
+ ErasedType<"@fluidframework/container-definitions.IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>">;
43
+
37
44
  /**
38
45
  * Represents the runtime for the data store. Contains helper functions/state of the data store.
46
+ * @sealed
39
47
  * @public
40
48
  */
41
49
  export interface IFluidDataStoreRuntime
@@ -52,7 +60,7 @@ export interface IFluidDataStoreRuntime
52
60
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
61
  readonly options: Record<string | number, any>;
54
62
 
55
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
63
+ readonly deltaManager: IDeltaManagerErased;
56
64
 
57
65
  readonly clientId: string | undefined;
58
66
 
@@ -72,16 +80,6 @@ export interface IFluidDataStoreRuntime
72
80
  */
73
81
  getChannel(id: string): Promise<IChannel>;
74
82
 
75
- /**
76
- * Invokes the given callback and expects that no ops are submitted
77
- * until execution finishes. If an op is submitted, an error will be raised.
78
- *
79
- * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
80
- *
81
- * @param callback - the callback to be invoked
82
- */
83
- ensureNoDataModelChanges<T>(callback: () => T): T;
84
-
85
83
  /**
86
84
  * Creates a new channel of the given type.
87
85
  * @param id - ID of the channel to be created. A unique ID will be generated if left undefined.
package/src/index.ts CHANGED
@@ -18,7 +18,11 @@ export type {
18
18
  IDeltaConnection,
19
19
  IDeltaHandler,
20
20
  } from "./channel.js";
21
- export type { IFluidDataStoreRuntime, IFluidDataStoreRuntimeEvents } from "./dataStoreRuntime.js";
21
+ export type {
22
+ IFluidDataStoreRuntime,
23
+ IFluidDataStoreRuntimeEvents,
24
+ IDeltaManagerErased,
25
+ } from "./dataStoreRuntime.js";
22
26
  export type {
23
27
  Jsonable,
24
28
  JsonableTypeWith,