@fluidframework/runtime-definitions 2.0.0-dev-rc.1.0.0.228517 → 2.0.0-dev-rc.2.0.0.245554
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/.eslintrc.cjs +1 -1
- package/CHANGELOG.md +75 -0
- package/api-extractor-cjs.json +8 -0
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -1
- package/api-report/runtime-definitions.api.md +103 -116
- package/dist/dataStoreContext.d.ts +128 -69
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +3 -0
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreFactory.d.ts +1 -1
- package/dist/dataStoreFactory.d.ts.map +1 -1
- package/dist/dataStoreFactory.js.map +1 -1
- package/dist/dataStoreRegistry.d.ts +1 -1
- package/dist/dataStoreRegistry.d.ts.map +1 -1
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/{garbageCollection.d.ts → garbageCollectionDefinitions.d.ts} +8 -2
- package/dist/garbageCollectionDefinitions.d.ts.map +1 -0
- package/dist/{garbageCollection.js → garbageCollectionDefinitions.js} +9 -3
- package/dist/garbageCollectionDefinitions.js.map +1 -0
- package/dist/index.d.ts +12 -52
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -26
- package/dist/index.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/protocol.d.ts +2 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runtime-definitions-alpha.d.ts +188 -165
- package/dist/runtime-definitions-beta.d.ts +37 -59
- package/dist/runtime-definitions-public.d.ts +37 -59
- package/dist/runtime-definitions-untrimmed.d.ts +195 -166
- package/dist/summary.d.ts +15 -20
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/attribution.d.ts +71 -0
- package/lib/attribution.d.ts.map +1 -0
- package/lib/attribution.js +6 -0
- package/lib/attribution.js.map +1 -0
- package/lib/dataStoreContext.d.ts +464 -0
- package/lib/dataStoreContext.d.ts.map +1 -0
- package/lib/dataStoreContext.js +67 -0
- package/lib/dataStoreContext.js.map +1 -0
- package/lib/dataStoreFactory.d.ts +33 -0
- package/lib/dataStoreFactory.d.ts.map +1 -0
- package/lib/dataStoreFactory.js +9 -0
- package/lib/dataStoreFactory.js.map +1 -0
- package/lib/dataStoreRegistry.d.ts +41 -0
- package/lib/dataStoreRegistry.d.ts.map +1 -0
- package/lib/dataStoreRegistry.js +9 -0
- package/lib/dataStoreRegistry.js.map +1 -0
- package/lib/garbageCollectionDefinitions.d.ts +62 -0
- package/lib/garbageCollectionDefinitions.d.ts.map +1 -0
- package/lib/garbageCollectionDefinitions.js +35 -0
- package/lib/garbageCollectionDefinitions.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib/protocol.d.ts +77 -0
- package/lib/protocol.d.ts.map +1 -0
- package/lib/protocol.js +6 -0
- package/lib/protocol.js.map +1 -0
- package/lib/runtime-definitions-alpha.d.ts +1019 -0
- package/lib/runtime-definitions-beta.d.ts +242 -0
- package/lib/runtime-definitions-public.d.ts +242 -0
- package/lib/runtime-definitions-untrimmed.d.ts +1100 -0
- package/lib/summary.d.ts +322 -0
- package/lib/summary.d.ts.map +1 -0
- package/lib/summary.js +26 -0
- package/lib/summary.js.map +1 -0
- package/package.json +115 -33
- package/src/dataStoreContext.ts +151 -85
- package/src/dataStoreFactory.ts +1 -1
- package/src/dataStoreRegistry.ts +1 -1
- package/src/{garbageCollection.ts → garbageCollectionDefinitions.ts} +7 -1
- package/src/index.ts +26 -71
- package/src/protocol.ts +2 -1
- package/src/summary.ts +18 -20
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/dist/garbageCollection.d.ts.map +0 -1
- package/dist/garbageCollection.js.map +0 -1
package/.eslintrc.cjs
CHANGED
|
@@ -7,6 +7,6 @@ module.exports = {
|
|
|
7
7
|
parserOptions: {
|
|
8
8
|
project: ["./tsconfig.json", "./src/test/tsconfig.json"],
|
|
9
9
|
},
|
|
10
|
-
extends: ["@fluidframework/eslint-config-fluid/minimal", "prettier"],
|
|
10
|
+
extends: ["@fluidframework/eslint-config-fluid/minimal-deprecated", "prettier"],
|
|
11
11
|
plugins: ["deprecation"],
|
|
12
12
|
};
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,80 @@
|
|
|
1
1
|
# @fluidframework/runtime-definitions
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.2.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- runtime-definitions: ITelemetryContext: Functions `get` and `serialize` are now deprecated ([#19409](https://github.com/microsoft/FluidFramework/issues/19409)) [42696564dd](https://github.com/microsoft/FluidFramework/commits/42696564ddbacfe200d653bdf7a1db18fc253bfb)
|
|
8
|
+
|
|
9
|
+
ITelemetryContext is to be used only for instrumentation, not for attempting to read the values already set by other code.
|
|
10
|
+
This is important because this _public_ interface may soon use FF's _should-be internal_ logging instrumentation types,
|
|
11
|
+
which we reserve the right to expand (to support richer instrumentation).
|
|
12
|
+
In that case, we would not be able to do so in a minor release if they're used as an "out" type
|
|
13
|
+
like the return type for `get`.
|
|
14
|
+
|
|
15
|
+
There is no replacement given in terms of immediate programmatic access to this data.
|
|
16
|
+
The expected use pattern is something like this:
|
|
17
|
+
|
|
18
|
+
- Some code creates a concrete implementation of `ITelemetryContext` and passes it around
|
|
19
|
+
- Callers use the "write" functions on the interface to build up the context
|
|
20
|
+
- The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
|
|
21
|
+
and passes the result to a logger
|
|
22
|
+
- The data is inspected along with other logs in whatever telemetry pipeline is used by the application (or Debug Tools, etc)
|
|
23
|
+
|
|
24
|
+
- container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
|
|
25
|
+
|
|
26
|
+
### Key changes
|
|
27
|
+
|
|
28
|
+
1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
|
|
29
|
+
2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
|
|
30
|
+
3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
|
|
31
|
+
|
|
32
|
+
### Implementation details
|
|
33
|
+
|
|
34
|
+
1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
|
|
35
|
+
|
|
36
|
+
### Breaking changes
|
|
37
|
+
|
|
38
|
+
1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
|
|
39
|
+
|
|
40
|
+
### Backward compatibility considerations
|
|
41
|
+
|
|
42
|
+
1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
|
|
43
|
+
2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
|
|
44
|
+
|
|
45
|
+
### Minor changes
|
|
46
|
+
|
|
47
|
+
1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
|
|
48
|
+
2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
|
|
49
|
+
|
|
50
|
+
- driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
|
|
51
|
+
|
|
52
|
+
The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
|
|
53
|
+
|
|
54
|
+
- runtime-definitions: FlushMode.Immediate is deprecated ([#19963](https://github.com/microsoft/FluidFramework/issues/19963)) [861500c1e2](https://github.com/microsoft/FluidFramework/commits/861500c1e2bdd3394308bd87007231d70b698be0)
|
|
55
|
+
|
|
56
|
+
`FlushMode.Immediate` is deprecated and will be removed in the next major version. It should not be used. Use
|
|
57
|
+
`FlushMode.TurnBased` instead, which is the default. See
|
|
58
|
+
<https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/opLifecycle#how-batching-works>
|
|
59
|
+
for more information
|
|
60
|
+
|
|
61
|
+
- container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
|
|
62
|
+
|
|
63
|
+
ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
|
|
64
|
+
|
|
65
|
+
- runtime-definitions: Deprecated ID compressor related types have been removed. ([#19031](https://github.com/microsoft/FluidFramework/issues/19031)) [de92ef0ac5](https://github.com/microsoft/FluidFramework/commits/de92ef0ac551ad89b00564c78c0091f8ecc33639)
|
|
66
|
+
|
|
67
|
+
This change should be a no-op for consumers, as these types were almost certainly unused and are also available in the
|
|
68
|
+
standalone package id-compressor (see <https://github.com/microsoft/FluidFramework/pull/18749>).
|
|
69
|
+
|
|
70
|
+
- container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
71
|
+
|
|
72
|
+
Added `containerMetadata` prop on IContainer interface.
|
|
73
|
+
|
|
74
|
+
- runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
75
|
+
|
|
76
|
+
The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
|
|
77
|
+
|
|
3
78
|
## 2.0.0-rc.1.0.0
|
|
4
79
|
|
|
5
80
|
### Minor Changes
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
}
|
package/api-extractor-lint.json
CHANGED
package/api-extractor.json
CHANGED
|
@@ -4,42 +4,31 @@
|
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
|
|
7
|
-
import { AttachState } from '@fluidframework/container-definitions';
|
|
8
|
-
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
9
|
-
import { IAudience } from '@fluidframework/container-definitions';
|
|
10
|
-
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import { ISnapshotTree } from '@fluidframework/protocol-definitions';
|
|
30
|
-
import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
31
|
-
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
32
|
-
import { ITree } from '@fluidframework/protocol-definitions';
|
|
7
|
+
import type { AttachState } from '@fluidframework/container-definitions';
|
|
8
|
+
import type { FluidObject } from '@fluidframework/core-interfaces';
|
|
9
|
+
import type { IAudience } from '@fluidframework/container-definitions';
|
|
10
|
+
import type { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
11
|
+
import type { IDeltaManager } from '@fluidframework/container-definitions';
|
|
12
|
+
import type { IDisposable } from '@fluidframework/core-interfaces';
|
|
13
|
+
import type { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
14
|
+
import type { IDocumentStorageService } from '@fluidframework/driver-definitions';
|
|
15
|
+
import type { IEvent } from '@fluidframework/core-interfaces';
|
|
16
|
+
import type { IEventProvider } from '@fluidframework/core-interfaces';
|
|
17
|
+
import type { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
18
|
+
import type { IIdCompressor } from '@fluidframework/id-compressor';
|
|
19
|
+
import type { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
20
|
+
import type { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
21
|
+
import type { IRequest } from '@fluidframework/core-interfaces';
|
|
22
|
+
import type { IResponse } from '@fluidframework/core-interfaces';
|
|
23
|
+
import type { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
24
|
+
import type { ISignalMessage } from '@fluidframework/protocol-definitions';
|
|
25
|
+
import type { ISnapshotTree } from '@fluidframework/protocol-definitions';
|
|
26
|
+
import type { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
27
|
+
import type { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
28
|
+
import type { ITree } from '@fluidframework/protocol-definitions';
|
|
33
29
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
|
|
37
|
-
import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
|
|
38
|
-
import { SessionId } from '@fluidframework/id-compressor';
|
|
39
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
40
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
41
|
-
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
42
|
-
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
30
|
+
import type { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
31
|
+
import type { TelemetryBaseEventPropertyType } from '@fluidframework/core-interfaces';
|
|
43
32
|
|
|
44
33
|
// @alpha
|
|
45
34
|
export type AliasResult = "Success" | "Conflict" | "AlreadyAliased";
|
|
@@ -96,6 +85,7 @@ export type FluidDataStoreRegistryEntry = Readonly<Partial<IProvideFluidDataStor
|
|
|
96
85
|
|
|
97
86
|
// @alpha
|
|
98
87
|
export enum FlushMode {
|
|
88
|
+
// @deprecated
|
|
99
89
|
Immediate = 0,
|
|
100
90
|
TurnBased = 1
|
|
101
91
|
}
|
|
@@ -108,6 +98,9 @@ export enum FlushModeExperimental {
|
|
|
108
98
|
// @internal
|
|
109
99
|
export const gcBlobPrefix = "__gc";
|
|
110
100
|
|
|
101
|
+
// @internal
|
|
102
|
+
export const gcDataBlobKey = ".gcdata";
|
|
103
|
+
|
|
111
104
|
// @internal
|
|
112
105
|
export const gcDeletedBlobKey = "__deletedNodes";
|
|
113
106
|
|
|
@@ -128,17 +121,24 @@ export interface IAttachMessage {
|
|
|
128
121
|
export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {
|
|
129
122
|
// (undocumented)
|
|
130
123
|
readonly clientDetails: IClientDetails;
|
|
131
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
124
|
+
createDataStore(pkg: Readonly<string | string[]>, loadingGroupId?: string): Promise<IDataStore>;
|
|
132
125
|
// @deprecated (undocumented)
|
|
133
|
-
_createDataStoreWithProps(pkg: string | string[]
|
|
134
|
-
createDetachedDataStore(pkg: Readonly<string[]
|
|
126
|
+
_createDataStoreWithProps(pkg: Readonly<string | string[]>, props?: any, id?: string): Promise<IDataStore>;
|
|
127
|
+
createDetachedDataStore(pkg: Readonly<string[]>, loadingGroupId?: string): IFluidDataStoreContextDetached;
|
|
128
|
+
// (undocumented)
|
|
129
|
+
readonly disposed: boolean;
|
|
130
|
+
generateDocumentUniqueId(): number | string;
|
|
135
131
|
getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
|
|
136
132
|
getAudience(): IAudience;
|
|
137
133
|
getQuorum(): IQuorumClients;
|
|
134
|
+
getSnapshotForLoadingGroupId(loadingGroupIds: string[], pathParts: string[]): Promise<{
|
|
135
|
+
snapshotTree: ISnapshotTree;
|
|
136
|
+
sequenceNumber: number;
|
|
137
|
+
}>;
|
|
138
138
|
// (undocumented)
|
|
139
139
|
readonly logger: ITelemetryBaseLogger;
|
|
140
140
|
orderSequentially(callback: () => void): void;
|
|
141
|
-
submitSignal(type: string, content: any): void;
|
|
141
|
+
submitSignal(type: string, content: any, targetClientId?: string): void;
|
|
142
142
|
// (undocumented)
|
|
143
143
|
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
|
|
144
144
|
}
|
|
@@ -153,6 +153,8 @@ export interface IContainerRuntimeBaseEvents extends IEvent {
|
|
|
153
153
|
(event: "batchEnd", listener: (error: any, op: ISequencedDocumentMessage) => void): any;
|
|
154
154
|
// (undocumented)
|
|
155
155
|
(event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
|
|
156
|
+
// (undocumented)
|
|
157
|
+
(event: "dispose", listener: () => void): any;
|
|
156
158
|
}
|
|
157
159
|
|
|
158
160
|
// @alpha
|
|
@@ -161,10 +163,6 @@ export interface IDataStore {
|
|
|
161
163
|
trySetAlias(alias: string): Promise<AliasResult>;
|
|
162
164
|
}
|
|
163
165
|
|
|
164
|
-
export { IdCompressor }
|
|
165
|
-
|
|
166
|
-
export { IdCreationRange }
|
|
167
|
-
|
|
168
166
|
// @alpha
|
|
169
167
|
export interface IEnvelope {
|
|
170
168
|
address: string;
|
|
@@ -182,36 +180,72 @@ export interface IExperimentalIncrementalSummaryContext {
|
|
|
182
180
|
export interface IFluidDataStoreChannel extends IDisposable {
|
|
183
181
|
// (undocumented)
|
|
184
182
|
applyStashedOp(content: any): Promise<unknown>;
|
|
185
|
-
// @deprecated
|
|
186
|
-
attachGraph(): void;
|
|
187
|
-
readonly attachState: AttachState;
|
|
188
183
|
readonly entryPoint: IFluidHandle<FluidObject>;
|
|
184
|
+
getAttachGCData?(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
|
|
189
185
|
getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
|
|
190
186
|
getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
|
|
191
|
-
// (undocumented)
|
|
192
|
-
readonly id: string;
|
|
193
187
|
makeVisibleAndAttachGraph(): void;
|
|
194
|
-
process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
|
|
195
|
-
processSignal(message:
|
|
188
|
+
process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown, addedOutboundReference?: (fromNodePath: string, toNodePath: string) => void): void;
|
|
189
|
+
processSignal(message: IInboundSignalMessage, local: boolean): void;
|
|
196
190
|
// (undocumented)
|
|
197
191
|
request(request: IRequest): Promise<IResponse>;
|
|
198
192
|
reSubmit(type: string, content: any, localOpMetadata: unknown): any;
|
|
199
193
|
rollback?(type: string, content: any, localOpMetadata: unknown): void;
|
|
194
|
+
// (undocumented)
|
|
195
|
+
setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
|
|
200
196
|
setConnectionState(connected: boolean, clientId?: string): any;
|
|
201
197
|
summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
|
|
202
198
|
updateUsedRoutes(usedRoutes: string[]): void;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// @alpha
|
|
202
|
+
export interface IFluidDataStoreContext extends IFluidParentContext {
|
|
203
|
+
addedGCOutboundRoute?(fromPath: string, toPath: string): void;
|
|
204
|
+
// (undocumented)
|
|
205
|
+
readonly baseSnapshot: ISnapshotTree | undefined;
|
|
206
|
+
// @deprecated (undocumented)
|
|
207
|
+
readonly createProps?: any;
|
|
208
|
+
// @deprecated (undocumented)
|
|
209
|
+
getBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;
|
|
203
210
|
// (undocumented)
|
|
204
|
-
readonly
|
|
211
|
+
readonly id: string;
|
|
212
|
+
readonly isLocalDataStore: boolean;
|
|
213
|
+
readonly packagePath: readonly string[];
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// @alpha (undocumented)
|
|
217
|
+
export interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {
|
|
218
|
+
attachRuntime(factory: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<IDataStore>;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// @alpha (undocumented)
|
|
222
|
+
export const IFluidDataStoreFactory: keyof IProvideFluidDataStoreFactory;
|
|
223
|
+
|
|
224
|
+
// @alpha
|
|
225
|
+
export interface IFluidDataStoreFactory extends IProvideFluidDataStoreFactory {
|
|
226
|
+
instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<IFluidDataStoreChannel>;
|
|
227
|
+
type: string;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// @alpha (undocumented)
|
|
231
|
+
export const IFluidDataStoreRegistry: keyof IProvideFluidDataStoreRegistry;
|
|
232
|
+
|
|
233
|
+
// @alpha
|
|
234
|
+
export interface IFluidDataStoreRegistry extends IProvideFluidDataStoreRegistry {
|
|
235
|
+
// (undocumented)
|
|
236
|
+
get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
|
|
205
237
|
}
|
|
206
238
|
|
|
207
239
|
// @alpha
|
|
208
|
-
export interface
|
|
240
|
+
export interface IFluidParentContext extends IProvideFluidHandleContext, Partial<IProvideFluidDataStoreRegistry> {
|
|
209
241
|
// @deprecated (undocumented)
|
|
210
|
-
addedGCOutboundReference?(srcHandle:
|
|
242
|
+
addedGCOutboundReference?(srcHandle: {
|
|
243
|
+
absolutePath: string;
|
|
244
|
+
}, outboundHandle: {
|
|
245
|
+
absolutePath: string;
|
|
246
|
+
}): void;
|
|
211
247
|
readonly attachState: AttachState;
|
|
212
248
|
// (undocumented)
|
|
213
|
-
readonly baseSnapshot: ISnapshotTree | undefined;
|
|
214
|
-
// (undocumented)
|
|
215
249
|
readonly clientDetails: IClientDetails;
|
|
216
250
|
// (undocumented)
|
|
217
251
|
readonly clientId: string | undefined;
|
|
@@ -219,31 +253,30 @@ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreCo
|
|
|
219
253
|
readonly connected: boolean;
|
|
220
254
|
// (undocumented)
|
|
221
255
|
readonly containerRuntime: IContainerRuntimeBase;
|
|
222
|
-
//
|
|
223
|
-
|
|
256
|
+
// (undocumented)
|
|
257
|
+
deleteChildSummarizerNode?(id: string): void;
|
|
224
258
|
// (undocumented)
|
|
225
259
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
226
260
|
ensureNoDataModelChanges<T>(callback: () => T): T;
|
|
261
|
+
// (undocumented)
|
|
262
|
+
readonly gcThrowOnTombstoneUsage: boolean;
|
|
263
|
+
// (undocumented)
|
|
264
|
+
readonly gcTombstoneEnforcementAllowed: boolean;
|
|
227
265
|
getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
|
|
228
266
|
getAudience(): IAudience;
|
|
229
|
-
// @deprecated (undocumented)
|
|
230
|
-
getBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;
|
|
231
267
|
// (undocumented)
|
|
232
268
|
getCreateChildSummarizerNodeFn(
|
|
233
269
|
id: string,
|
|
234
270
|
createParam: CreateChildSummarizerNodeParam): CreateChildSummarizerNodeFn;
|
|
235
271
|
getQuorum(): IQuorumClients;
|
|
236
272
|
// (undocumented)
|
|
237
|
-
readonly id: string;
|
|
238
|
-
// (undocumented)
|
|
239
273
|
readonly idCompressor?: IIdCompressor;
|
|
240
|
-
readonly
|
|
274
|
+
readonly loadingGroupId?: string;
|
|
241
275
|
// (undocumented)
|
|
242
276
|
readonly logger: ITelemetryBaseLogger;
|
|
243
277
|
makeLocallyVisible(): void;
|
|
244
278
|
// (undocumented)
|
|
245
|
-
readonly options:
|
|
246
|
-
readonly packagePath: readonly string[];
|
|
279
|
+
readonly options: Record<string | number, any>;
|
|
247
280
|
readonly scope: FluidObject;
|
|
248
281
|
setChannelDirty(address: string): void;
|
|
249
282
|
// (undocumented)
|
|
@@ -254,35 +287,6 @@ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreCo
|
|
|
254
287
|
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
|
|
255
288
|
}
|
|
256
289
|
|
|
257
|
-
// @alpha (undocumented)
|
|
258
|
-
export interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {
|
|
259
|
-
attachRuntime(factory: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<void>;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// @alpha (undocumented)
|
|
263
|
-
export interface IFluidDataStoreContextEvents extends IEvent {
|
|
264
|
-
// (undocumented)
|
|
265
|
-
(event: "attaching" | "attached", listener: () => void): any;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
// @alpha (undocumented)
|
|
269
|
-
export const IFluidDataStoreFactory: keyof IProvideFluidDataStoreFactory;
|
|
270
|
-
|
|
271
|
-
// @alpha
|
|
272
|
-
export interface IFluidDataStoreFactory extends IProvideFluidDataStoreFactory {
|
|
273
|
-
instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<IFluidDataStoreChannel>;
|
|
274
|
-
type: string;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// @alpha (undocumented)
|
|
278
|
-
export const IFluidDataStoreRegistry: keyof IProvideFluidDataStoreRegistry;
|
|
279
|
-
|
|
280
|
-
// @alpha
|
|
281
|
-
export interface IFluidDataStoreRegistry extends IProvideFluidDataStoreRegistry {
|
|
282
|
-
// (undocumented)
|
|
283
|
-
get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
290
|
// @public
|
|
287
291
|
export interface IGarbageCollectionData {
|
|
288
292
|
gcNodes: {
|
|
@@ -296,10 +300,6 @@ export interface IGarbageCollectionDetailsBase {
|
|
|
296
300
|
usedRoutes?: string[];
|
|
297
301
|
}
|
|
298
302
|
|
|
299
|
-
export { IIdCompressor }
|
|
300
|
-
|
|
301
|
-
export { IIdCompressorCore }
|
|
302
|
-
|
|
303
303
|
// @public
|
|
304
304
|
export interface IInboundSignalMessage extends ISignalMessage {
|
|
305
305
|
// (undocumented)
|
|
@@ -323,7 +323,7 @@ export interface IProvideFluidDataStoreRegistry {
|
|
|
323
323
|
readonly IFluidDataStoreRegistry: IFluidDataStoreRegistry;
|
|
324
324
|
}
|
|
325
325
|
|
|
326
|
-
// @internal (undocumented)
|
|
326
|
+
// @internal @deprecated (undocumented)
|
|
327
327
|
export interface ISignalEnvelope {
|
|
328
328
|
address?: string;
|
|
329
329
|
clientSignalSequenceNumber: number;
|
|
@@ -369,7 +369,6 @@ export interface ISummarizerNode {
|
|
|
369
369
|
// @alpha (undocumented)
|
|
370
370
|
export interface ISummarizerNodeConfig {
|
|
371
371
|
readonly canReuseHandle?: boolean;
|
|
372
|
-
readonly throwOnFailure?: true;
|
|
373
372
|
}
|
|
374
373
|
|
|
375
374
|
// @alpha (undocumented)
|
|
@@ -416,10 +415,12 @@ export interface ISummaryTreeWithStats {
|
|
|
416
415
|
|
|
417
416
|
// @public
|
|
418
417
|
export interface ITelemetryContext {
|
|
419
|
-
|
|
418
|
+
// @deprecated
|
|
419
|
+
get(prefix: string, property: string): TelemetryBaseEventPropertyType;
|
|
420
|
+
// @deprecated
|
|
420
421
|
serialize(): string;
|
|
421
|
-
set(prefix: string, property: string, value:
|
|
422
|
-
setMultiple(prefix: string, property: string, values: Record<string,
|
|
422
|
+
set(prefix: string, property: string, value: TelemetryBaseEventPropertyType): void;
|
|
423
|
+
setMultiple(prefix: string, property: string, values: Record<string, TelemetryBaseEventPropertyType>): void;
|
|
423
424
|
}
|
|
424
425
|
|
|
425
426
|
// @alpha
|
|
@@ -440,20 +441,6 @@ export interface OpAttributionKey {
|
|
|
440
441
|
type: "op";
|
|
441
442
|
}
|
|
442
443
|
|
|
443
|
-
export { OpSpaceCompressedId }
|
|
444
|
-
|
|
445
|
-
export { SerializedIdCompressor }
|
|
446
|
-
|
|
447
|
-
export { SerializedIdCompressorWithNoSession }
|
|
448
|
-
|
|
449
|
-
export { SerializedIdCompressorWithOngoingSession }
|
|
450
|
-
|
|
451
|
-
export { SessionId }
|
|
452
|
-
|
|
453
|
-
export { SessionSpaceCompressedId }
|
|
454
|
-
|
|
455
|
-
export { StableId }
|
|
456
|
-
|
|
457
444
|
// @alpha (undocumented)
|
|
458
445
|
export type SummarizeInternalFn = (fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext) => Promise<ISummarizeInternalResult>;
|
|
459
446
|
|