@fluidframework/datastore 2.0.0-dev-rc.3.0.0.254274 → 2.0.0-dev-rc.3.0.0.254674

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.
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
10
+ export {
11
+ // alpha APIs
12
+ DataStoreMessageType,
13
+ FluidDataStoreRuntime,
14
+ FluidObjectHandle,
15
+ ISharedObjectRegistry,
16
+ mixinSummaryHandler
17
+ } from "./index.js";
package/dist/beta.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/datastore";
8
- export declare const pkgVersion = "2.0.0-dev-rc.3.0.0.254274";
8
+ export declare const pkgVersion = "2.0.0-dev-rc.3.0.0.254674";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -8,5 +8,5 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.pkgVersion = exports.pkgName = void 0;
10
10
  exports.pkgName = "@fluidframework/datastore";
11
- exports.pkgVersion = "2.0.0-dev-rc.3.0.0.254274";
11
+ exports.pkgVersion = "2.0.0-dev-rc.3.0.0.254674";
12
12
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,2BAA2B,CAAC;AACtC,QAAA,UAAU,GAAG,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.0.0-dev-rc.3.0.0.254274\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,2BAA2B,CAAC;AACtC,QAAA,UAAU,GAAG,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.0.0-dev-rc.3.0.0.254674\";\n"]}
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
package/lib/alpha.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
10
+ export {
11
+ // alpha APIs
12
+ DataStoreMessageType,
13
+ FluidDataStoreRuntime,
14
+ FluidObjectHandle,
15
+ ISharedObjectRegistry,
16
+ mixinSummaryHandler
17
+ } from "./index.js";
package/lib/beta.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/datastore";
8
- export declare const pkgVersion = "2.0.0-dev-rc.3.0.0.254274";
8
+ export declare const pkgVersion = "2.0.0-dev-rc.3.0.0.254674";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export const pkgName = "@fluidframework/datastore";
8
- export const pkgVersion = "2.0.0-dev-rc.3.0.0.254274";
8
+ export const pkgVersion = "2.0.0-dev-rc.3.0.0.254674";
9
9
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.0.0-dev-rc.3.0.0.254274\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.0.0-dev-rc.3.0.0.254674\";\n"]}
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/datastore",
3
- "version": "2.0.0-dev-rc.3.0.0.254274",
3
+ "version": "2.0.0-dev-rc.3.0.0.254674",
4
4
  "description": "Fluid data store implementation",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -15,21 +15,21 @@
15
15
  "exports": {
16
16
  ".": {
17
17
  "import": {
18
- "types": "./lib/datastore-public.d.ts",
18
+ "types": "./lib/public.d.ts",
19
19
  "default": "./lib/index.js"
20
20
  },
21
21
  "require": {
22
- "types": "./dist/datastore-public.d.ts",
22
+ "types": "./dist/public.d.ts",
23
23
  "default": "./dist/index.js"
24
24
  }
25
25
  },
26
26
  "./alpha": {
27
27
  "import": {
28
- "types": "./lib/datastore-alpha.d.ts",
28
+ "types": "./lib/alpha.d.ts",
29
29
  "default": "./lib/index.js"
30
30
  },
31
31
  "require": {
32
- "types": "./dist/datastore-alpha.d.ts",
32
+ "types": "./dist/alpha.d.ts",
33
33
  "default": "./dist/index.js"
34
34
  }
35
35
  },
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "main": "dist/index.js",
48
- "types": "./dist/datastore-public.d.ts",
48
+ "types": "./dist/public.d.ts",
49
49
  "c8": {
50
50
  "all": true,
51
51
  "cache-dir": "nyc/.cache",
@@ -67,30 +67,30 @@
67
67
  "temp-directory": "nyc/.nyc_output"
68
68
  },
69
69
  "dependencies": {
70
- "@fluid-internal/client-utils": "2.0.0-dev-rc.3.0.0.254274",
71
- "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.254274",
72
- "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.254274",
73
- "@fluidframework/core-utils": "2.0.0-dev-rc.3.0.0.254274",
74
- "@fluidframework/datastore-definitions": "2.0.0-dev-rc.3.0.0.254274",
75
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.254274",
76
- "@fluidframework/driver-utils": "2.0.0-dev-rc.3.0.0.254274",
77
- "@fluidframework/id-compressor": "2.0.0-dev-rc.3.0.0.254274",
70
+ "@fluid-internal/client-utils": "2.0.0-dev-rc.3.0.0.254674",
71
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.254674",
72
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.254674",
73
+ "@fluidframework/core-utils": "2.0.0-dev-rc.3.0.0.254674",
74
+ "@fluidframework/datastore-definitions": "2.0.0-dev-rc.3.0.0.254674",
75
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.254674",
76
+ "@fluidframework/driver-utils": "2.0.0-dev-rc.3.0.0.254674",
77
+ "@fluidframework/id-compressor": "2.0.0-dev-rc.3.0.0.254674",
78
78
  "@fluidframework/protocol-definitions": "^3.2.0",
79
- "@fluidframework/runtime-definitions": "2.0.0-dev-rc.3.0.0.254274",
80
- "@fluidframework/runtime-utils": "2.0.0-dev-rc.3.0.0.254274",
81
- "@fluidframework/telemetry-utils": "2.0.0-dev-rc.3.0.0.254274",
79
+ "@fluidframework/runtime-definitions": "2.0.0-dev-rc.3.0.0.254674",
80
+ "@fluidframework/runtime-utils": "2.0.0-dev-rc.3.0.0.254674",
81
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.3.0.0.254674",
82
82
  "uuid": "^9.0.0"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@arethetypeswrong/cli": "^0.15.2",
86
86
  "@biomejs/biome": "^1.6.2",
87
- "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.254274",
88
- "@fluid-tools/build-cli": "^0.34.0",
87
+ "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.254674",
88
+ "@fluid-tools/build-cli": "^0.35.0",
89
89
  "@fluidframework/build-common": "^2.0.3",
90
- "@fluidframework/build-tools": "^0.34.0",
90
+ "@fluidframework/build-tools": "^0.35.0",
91
91
  "@fluidframework/datastore-previous": "npm:@fluidframework/datastore@2.0.0-internal.8.0.0",
92
92
  "@fluidframework/eslint-config-fluid": "^5.1.0",
93
- "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.3.0.0.254274",
93
+ "@fluidframework/test-runtime-utils": "2.0.0-dev-rc.3.0.0.254674",
94
94
  "@microsoft/api-extractor": "^7.42.3",
95
95
  "@types/lodash": "^4.14.118",
96
96
  "@types/mocha": "^9.1.1",
@@ -108,18 +108,6 @@
108
108
  "rimraf": "^4.4.0",
109
109
  "typescript": "~5.1.6"
110
110
  },
111
- "fluidBuild": {
112
- "tasks": {
113
- "build:docs": {
114
- "dependsOn": [
115
- "...",
116
- "api-extractor:commonjs",
117
- "api-extractor:esnext"
118
- ],
119
- "script": false
120
- }
121
- }
122
- },
123
111
  "typeValidation": {
124
112
  "broken": {
125
113
  "ClassDeclaration_FluidDataStoreRuntime": {
@@ -129,12 +117,12 @@
129
117
  },
130
118
  "scripts": {
131
119
  "api": "fluid-build . --task api",
132
- "api-extractor:commonjs": "api-extractor run --config ./api-extractor-cjs.json",
133
- "api-extractor:esnext": "api-extractor run --local",
120
+ "api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
121
+ "api-extractor:esnext": "flub generate entrypoints --outDir ./lib",
134
122
  "build": "fluid-build . --task build",
135
123
  "build:commonjs": "fluid-build . --task commonjs",
136
124
  "build:compile": "fluid-build . --task compile",
137
- "build:docs": "fluid-build . --task api",
125
+ "build:docs": "api-extractor run --local",
138
126
  "build:esnext": "tsc --project ./tsconfig.json",
139
127
  "build:genver": "gen-version",
140
128
  "build:test": "npm run build:test:esm && npm run build:test:cjs",
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/datastore";
9
- export const pkgVersion = "2.0.0-dev-rc.3.0.0.254274";
9
+ export const pkgVersion = "2.0.0-dev-rc.3.0.0.254674";
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
4
- // CJS is actually secondary; so, no report.
5
- "apiReport": {
6
- "enabled": false
7
- }
8
- }
@@ -1,335 +0,0 @@
1
- import { AttachState } from '@fluidframework/container-definitions';
2
- import { FluidObject } from '@fluidframework/core-interfaces';
3
- import { IAudience } from '@fluidframework/container-definitions';
4
- import { IChannel } from '@fluidframework/datastore-definitions';
5
- import { IChannelFactory } from '@fluidframework/datastore-definitions';
6
- import { IClientDetails } from '@fluidframework/protocol-definitions';
7
- import { IDeltaManager } from '@fluidframework/container-definitions';
8
- import { IDocumentMessage } from '@fluidframework/protocol-definitions';
9
- import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions/internal';
10
- import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions/internal';
11
- import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
12
- import { IFluidDataStoreRuntimeEvents } from '@fluidframework/datastore-definitions';
13
- import { IFluidHandle } from '@fluidframework/core-interfaces';
14
- import { IFluidHandleContext } from '@fluidframework/core-interfaces';
15
- import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
16
- import { IIdCompressor } from '@fluidframework/id-compressor';
17
- import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
18
- import { IQuorumClients } from '@fluidframework/protocol-definitions';
19
- import { IRequest } from '@fluidframework/core-interfaces';
20
- import { IResponse } from '@fluidframework/core-interfaces';
21
- import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
22
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
23
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
24
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
25
- import { TypedEventEmitter } from '@fluid-internal/client-utils';
26
- import { VisibilityState } from '@fluidframework/runtime-definitions/internal';
27
-
28
- /**
29
- * @alpha
30
- */
31
- export declare enum DataStoreMessageType {
32
- Attach = "attach",
33
- ChannelOp = "op"
34
- }
35
-
36
- /**
37
- * Base data store class
38
- * @alpha
39
- */
40
- export declare class FluidDataStoreRuntime extends TypedEventEmitter<IFluidDataStoreRuntimeEvents> implements IFluidDataStoreChannel, IFluidDataStoreRuntime, IFluidHandleContext {
41
- private readonly dataStoreContext;
42
- private readonly sharedObjectRegistry;
43
- /**
44
- * {@inheritDoc @fluidframework/datastore-definitions#IFluidDataStoreRuntime.entryPoint}
45
- */
46
- readonly entryPoint: IFluidHandle<FluidObject>;
47
- get connected(): boolean;
48
- get clientId(): string | undefined;
49
- get clientDetails(): IClientDetails;
50
- get isAttached(): boolean;
51
- get attachState(): AttachState;
52
- get absolutePath(): string;
53
- get routeContext(): IFluidHandleContext;
54
- get idCompressor(): IIdCompressor | undefined;
55
- get IFluidHandleContext(): this;
56
- get rootRoutingContext(): this;
57
- get channelsRoutingContext(): this;
58
- get objectsRoutingContext(): this;
59
- private _disposed;
60
- get disposed(): boolean;
61
- private readonly contexts;
62
- private readonly pendingAttach;
63
- private readonly deferredAttached;
64
- private readonly localChannelContextQueue;
65
- private readonly notBoundedChannelContextSet;
66
- private _attachState;
67
- visibilityState: VisibilityState;
68
- private readonly pendingHandlesToMakeVisible;
69
- readonly id: string;
70
- readonly options: Record<string | number, any>;
71
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
72
- private readonly quorum;
73
- private readonly audience;
74
- private readonly mc;
75
- get logger(): ITelemetryLoggerExt;
76
- /**
77
- * If the summarizer makes local changes, a telemetry event is logged. This has the potential to be very noisy.
78
- * So, adding a count of how many telemetry events are logged per data store context. This can be
79
- * controlled via feature flags.
80
- */
81
- private localChangesTelemetryCount;
82
- /**
83
- * Invokes the given callback and expects that no ops are submitted
84
- * until execution finishes. If an op is submitted, an error will be raised.
85
- *
86
- * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
87
- *
88
- * @param callback - the callback to be invoked
89
- */
90
- ensureNoDataModelChanges<T>(callback: () => T): T;
91
- /**
92
- * Create an instance of a DataStore runtime.
93
- *
94
- * @param dataStoreContext - Context object for the runtime.
95
- * @param sharedObjectRegistry - The registry of shared objects that this data store will be able to instantiate.
96
- * @param existing - Pass 'true' if loading this datastore from an existing file; pass 'false' otherwise.
97
- * @param provideEntryPoint - Function to initialize the entryPoint object for the data store runtime. The
98
- * handle to this data store runtime will point to the object returned by this function. If this function is not
99
- * provided, the handle will be left undefined. This is here so we can start making handles a first-class citizen
100
- * and the primary way of interacting with some Fluid objects, and should be used if possible.
101
- */
102
- constructor(dataStoreContext: IFluidDataStoreContext, sharedObjectRegistry: ISharedObjectRegistry, existing: boolean, provideEntryPoint: (runtime: IFluidDataStoreRuntime) => Promise<FluidObject>);
103
- dispose(): void;
104
- resolveHandle(request: IRequest): Promise<IResponse>;
105
- request(request: IRequest): Promise<IResponse>;
106
- getChannel(id: string): Promise<IChannel>;
107
- /**
108
- * Validate user provided channel ID
109
- * Channel ID has limitations. "/" is not allowed as IDs in storage can not have slashes - we parse tree paths and use "/" as separator.
110
- * IDs cannot start with "_" as it could result in collision of IDs with auto-assigned (by FF) short IDs.
111
- * @param id - channel ID.
112
- */
113
- protected validateChannelId(id: string): void;
114
- /**
115
- * Api which allows caller to create the channel first and then add it to the runtime.
116
- * The channel type should be present in the registry, otherwise the runtime would reject
117
- * the channel. Also the runtime used to create the channel object should be same to which
118
- * it is added.
119
- * @param channel - channel which needs to be added to the runtime.
120
- */
121
- addChannel(channel: IChannel): void;
122
- createChannel(idArg: string | undefined, type: string): IChannel;
123
- private createChannelContext;
124
- private createRehydratedLocalChannelContext;
125
- /**
126
- * Binds a channel with the runtime. If the runtime is attached we will attach the channel right away.
127
- * If the runtime is not attached we will defer the attach until the runtime attaches.
128
- * @param channel - channel to be registered.
129
- */
130
- bindChannel(channel: IChannel): void;
131
- /**
132
- * This function is called when a data store becomes root. It does the following:
133
- *
134
- * 1. Marks the data store locally visible in the container.
135
- *
136
- * 2. Attaches the graph of all the handles bound to it.
137
- *
138
- * 3. Calls into the data store context to mark it visible in the container too. If the container is globally
139
- * visible, it will mark us globally visible. Otherwise, it will mark us globally visible when it becomes
140
- * globally visible.
141
- */
142
- makeVisibleAndAttachGraph(): void;
143
- /**
144
- * This function is called when a handle to this data store is added to a visible DDS.
145
- */
146
- attachGraph(): void;
147
- bind(handle: IFluidHandle): void;
148
- setConnectionState(connected: boolean, clientId?: string): void;
149
- getQuorum(): IQuorumClients;
150
- getAudience(): IAudience;
151
- uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
152
- private createRemoteChannelContext;
153
- process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
154
- processSignal(message: IInboundSignalMessage, local: boolean): void;
155
- private isChannelAttached;
156
- /**
157
- * Returns the outbound routes of this channel. Currently, all contexts in this channel are considered
158
- * referenced and are hence outbound. This will change when we have root and non-root channel contexts.
159
- * The only root contexts will be considered as referenced.
160
- */
161
- private getOutboundRoutes;
162
- /**
163
- * Updates the GC nodes of this channel. It does the following:
164
- * - Adds a back route to self to all its child GC nodes.
165
- * - Adds a node for this channel.
166
- * @param builder - The builder that contains the GC nodes for this channel's children.
167
- */
168
- private updateGCNodes;
169
- /**
170
- * Generates data used for garbage collection. This includes a list of GC nodes that represent this channel
171
- * including any of its child channel contexts. Each node has a set of outbound routes to other GC nodes in the
172
- * document. It does the following:
173
- *
174
- * 1. Calls into each child context to get its GC data.
175
- *
176
- * 2. Prefixes the child context's id to the GC nodes in the child's GC data. This makes sure that the node can be
177
- * identified as belonging to the child.
178
- *
179
- * 3. Adds a GC node for this channel to the nodes received from the children. All these nodes together represent
180
- * the GC data of this channel.
181
- *
182
- * @param fullGC - true to bypass optimizations and force full generation of GC data.
183
- */
184
- getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
185
- /**
186
- * After GC has run, called to notify this channel of routes that are used in it. It calls the child contexts to
187
- * update their used routes.
188
- * @param usedRoutes - The routes that are used in all contexts in this channel.
189
- */
190
- updateUsedRoutes(usedRoutes: string[]): void;
191
- /**
192
- * Called when a new outbound reference is added to another node. This is used by garbage collection to identify
193
- * all references added in the system.
194
- * @param srcHandle - The handle of the node that added the reference.
195
- * @param outboundHandle - The handle of the outbound node that is referenced.
196
- */
197
- private addedGCOutboundReference;
198
- /**
199
- * Returns a summary at the current sequence number.
200
- * @param fullTree - true to bypass optimizations and force a full summary tree
201
- * @param trackState - This tells whether we should track state from this summary.
202
- * @param telemetryContext - summary data passed through the layers for telemetry purposes
203
- */
204
- summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
205
- getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
206
- /**
207
- * Get the GC Data for the initial state being attached so remote clients can learn of this DataStore's outbound routes
208
- */
209
- getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
210
- /**
211
- * Helper method for preparing to attach this dataStore.
212
- * Runs the callback for each bound context to incorporate its data however the caller specifies
213
- */
214
- private visitLocalBoundContextsDuringAttach;
215
- submitMessage(type: DataStoreMessageType, content: any, localOpMetadata: unknown): void;
216
- /**
217
- * Submits the signal to be sent to other clients.
218
- * @param type - Type of the signal.
219
- * @param content - Content of the signal. Should be a JSON serializable object or primitive.
220
- * @param targetClientId - When specified, the signal is only sent to the provided client id.
221
- */
222
- submitSignal(type: string, content: unknown, targetClientId?: string): void;
223
- /**
224
- * Will return when the data store is attached.
225
- */
226
- waitAttached(): Promise<void>;
227
- /**
228
- * Assuming this DataStore is already attached, this will make the given channel locally visible
229
- * by submitting its attach op.
230
- */
231
- private makeChannelLocallyVisible;
232
- private submitChannelOp;
233
- private submit;
234
- /**
235
- * For messages of type MessageType.Operation, finds the right channel and asks it to resubmit the message.
236
- * For all other messages, just submit it again.
237
- * This typically happens when we reconnect and there are unacked messages.
238
- * @param content - The content of the original message.
239
- * @param localOpMetadata - The local metadata associated with the original message.
240
- */
241
- reSubmit(type: DataStoreMessageType, content: any, localOpMetadata: unknown): void;
242
- /**
243
- * Revert a local op.
244
- * @param content - The content of the original message.
245
- * @param localOpMetadata - The local metadata associated with the original message.
246
- */
247
- rollback?(type: DataStoreMessageType, content: any, localOpMetadata: unknown): void;
248
- applyStashedOp(content: any): Promise<unknown>;
249
- private setChannelDirty;
250
- private processChannelOp;
251
- private attachListener;
252
- private verifyNotClosed;
253
- /**
254
- * Summarizer client should not have local changes. These changes can become part of the summary and can break
255
- * eventual consistency. For example, the next summary (say at ref seq# 100) may contain these changes whereas
256
- * other clients that are up-to-date till seq# 100 may not have them yet.
257
- */
258
- private identifyLocalChangeInSummarizer;
259
- setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
260
- }
261
-
262
- /**
263
- * Handle for a shared {@link @fluidframework/core-interfaces#FluidObject}.
264
- * @alpha
265
- */
266
- export declare class FluidObjectHandle<T extends FluidObject = FluidObject> implements IFluidHandle {
267
- protected readonly value: T | Promise<T>;
268
- readonly path: string;
269
- readonly routeContext: IFluidHandleContext;
270
- private readonly pendingHandlesToMakeVisible;
271
- /**
272
- * {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.absolutePath}
273
- */
274
- readonly absolutePath: string;
275
- /**
276
- * {@inheritDoc @fluidframework/core-interfaces#IProvideFluidHandle.IFluidHandle}
277
- */
278
- get IFluidHandle(): IFluidHandle;
279
- /**
280
- * {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.isAttached}
281
- */
282
- get isAttached(): boolean;
283
- /**
284
- * Tells whether the object of this handle is visible in the container locally or globally.
285
- */
286
- private get visible();
287
- /**
288
- * Tracks whether this handle is locally visible in the container.
289
- */
290
- private locallyVisible;
291
- /**
292
- * Creates a new `FluidObjectHandle`.
293
- *
294
- * @param value - The {@link @fluidframework/core-interfaces#FluidObject} object this handle is for.
295
- * @param path - The path to this handle relative to the `routeContext`.
296
- * @param routeContext - The parent {@link @fluidframework/core-interfaces#IFluidHandleContext} that has a route
297
- * to this handle.
298
- */
299
- constructor(value: T | Promise<T>, path: string, routeContext: IFluidHandleContext);
300
- /**
301
- * {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.get}
302
- */
303
- get(): Promise<any>;
304
- /**
305
- * {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.attachGraph }
306
- */
307
- attachGraph(): void;
308
- /**
309
- * {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.bind}
310
- */
311
- bind(handle: IFluidHandle): void;
312
- }
313
-
314
- /**
315
- * @alpha
316
- */
317
- export declare interface ISharedObjectRegistry {
318
- get(name: string): IChannelFactory | undefined;
319
- }
320
-
321
- /* Excluded from this release type: mixinRequestHandler */
322
-
323
- /**
324
- * Mixin class that adds await for DataObject to finish initialization before we proceed to summary.
325
- * @param handler - handler that returns info about blob to be added to summary.
326
- * Or undefined not to add anything to summary.
327
- * @param Base - base class, inherits from FluidDataStoreRuntime
328
- * @alpha
329
- */
330
- export declare const mixinSummaryHandler: (handler: (runtime: FluidDataStoreRuntime) => Promise<{
331
- path: string[];
332
- content: string;
333
- } | undefined>, Base?: typeof FluidDataStoreRuntime) => typeof FluidDataStoreRuntime;
334
-
335
- export { }
@@ -1,46 +0,0 @@
1
- import { AttachState } from '@fluidframework/container-definitions';
2
- import { FluidObject } from '@fluidframework/core-interfaces';
3
- import { IAudience } from '@fluidframework/container-definitions';
4
- import { IChannel } from '@fluidframework/datastore-definitions';
5
- import { IChannelFactory } from '@fluidframework/datastore-definitions';
6
- import { IClientDetails } from '@fluidframework/protocol-definitions';
7
- import { IDeltaManager } from '@fluidframework/container-definitions';
8
- import { IDocumentMessage } from '@fluidframework/protocol-definitions';
9
- import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions/internal';
10
- import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions/internal';
11
- import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
12
- import { IFluidDataStoreRuntimeEvents } from '@fluidframework/datastore-definitions';
13
- import { IFluidHandle } from '@fluidframework/core-interfaces';
14
- import { IFluidHandleContext } from '@fluidframework/core-interfaces';
15
- import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
16
- import { IIdCompressor } from '@fluidframework/id-compressor';
17
- import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
18
- import { IQuorumClients } from '@fluidframework/protocol-definitions';
19
- import { IRequest } from '@fluidframework/core-interfaces';
20
- import { IResponse } from '@fluidframework/core-interfaces';
21
- import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
22
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
23
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
24
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
25
- import { TypedEventEmitter } from '@fluid-internal/client-utils';
26
- import { VisibilityState } from '@fluidframework/runtime-definitions/internal';
27
-
28
- /* Excluded from this release type: DataStoreMessageType */
29
-
30
- /* Excluded from this release type: FluidDataStoreRuntime */
31
-
32
- /* Excluded from this release type: FluidObjectHandle */
33
-
34
- /* Excluded from this release type: IFluidDataStoreChannel */
35
-
36
- /* Excluded from this release type: IFluidDataStoreContext */
37
-
38
- /* Excluded from this release type: ISharedObjectRegistry */
39
-
40
- /* Excluded from this release type: mixinRequestHandler */
41
-
42
- /* Excluded from this release type: mixinSummaryHandler */
43
-
44
- /* Excluded from this release type: VisibilityState */
45
-
46
- export { }