@fluidframework/runtime-definitions 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.1
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 +12 -0
- package/api-extractor-lint.json +13 -0
- package/api-extractor.json +3 -3
- package/api-report/runtime-definitions.api.md +76 -109
- package/dist/attribution.d.ts +1 -4
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js.map +1 -1
- package/dist/dataStoreContext.d.ts +26 -2
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +5 -0
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreFactory.d.ts +7 -0
- package/dist/dataStoreFactory.d.ts.map +1 -1
- package/dist/dataStoreFactory.js +3 -0
- package/dist/dataStoreFactory.js.map +1 -1
- package/dist/dataStoreRegistry.d.ts +10 -0
- package/dist/dataStoreRegistry.d.ts.map +1 -1
- package/dist/dataStoreRegistry.js +3 -0
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/garbageCollection.d.ts +22 -4
- package/dist/garbageCollection.d.ts.map +1 -1
- package/dist/garbageCollection.js +20 -4
- package/dist/garbageCollection.js.map +1 -1
- package/dist/index.d.ts +49 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +7 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runtime-definitions-alpha.d.ts +1002 -0
- package/dist/runtime-definitions-beta.d.ts +201 -0
- package/dist/runtime-definitions-public.d.ts +201 -0
- package/dist/runtime-definitions-untrimmed.d.ts +1117 -0
- package/dist/summary.d.ts +34 -0
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +12 -0
- package/dist/summary.js.map +1 -1
- package/lib/runtime-definitions-alpha.d.ts +1002 -0
- package/lib/runtime-definitions-beta.d.ts +201 -0
- package/lib/runtime-definitions-public.d.ts +201 -0
- package/lib/runtime-definitions-untrimmed.d.ts +1117 -0
- package/package.json +28 -8
- package/src/attribution.ts +1 -4
- package/src/dataStoreContext.ts +26 -2
- package/src/dataStoreFactory.ts +7 -0
- package/src/dataStoreRegistry.ts +10 -0
- package/src/garbageCollection.ts +22 -4
- package/src/index.ts +46 -6
- package/src/protocol.ts +7 -0
- package/src/summary.ts +34 -0
- package/dist/id-compressor/idCompressor.d.ts +0 -136
- package/dist/id-compressor/idCompressor.d.ts.map +0 -1
- package/dist/id-compressor/idCompressor.js +0 -7
- package/dist/id-compressor/idCompressor.js.map +0 -1
- package/dist/id-compressor/identifiers.d.ts +0 -36
- package/dist/id-compressor/identifiers.d.ts.map +0 -1
- package/dist/id-compressor/identifiers.js +0 -7
- package/dist/id-compressor/identifiers.js.map +0 -1
- package/dist/id-compressor/index.d.ts +0 -8
- package/dist/id-compressor/index.d.ts.map +0 -1
- package/dist/id-compressor/index.js +0 -10
- package/dist/id-compressor/index.js.map +0 -1
- package/dist/id-compressor/persisted-types/0.0.1.d.ts +0 -41
- package/dist/id-compressor/persisted-types/0.0.1.d.ts.map +0 -1
- package/dist/id-compressor/persisted-types/0.0.1.js +0 -13
- package/dist/id-compressor/persisted-types/0.0.1.js.map +0 -1
- package/dist/id-compressor/persisted-types/index.d.ts +0 -6
- package/dist/id-compressor/persisted-types/index.d.ts.map +0 -1
- package/dist/id-compressor/persisted-types/index.js +0 -10
- package/dist/id-compressor/persisted-types/index.js.map +0 -1
- package/src/id-compressor/idCompressor.ts +0 -152
- package/src/id-compressor/identifiers.ts +0 -35
- package/src/id-compressor/index.ts +0 -16
- package/src/id-compressor/persisted-types/0.0.1.ts +0 -46
- package/src/id-compressor/persisted-types/README.md +0 -3
- package/src/id-compressor/persisted-types/index.ts +0 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/runtime-definitions",
|
|
3
|
-
"version": "2.0.0-internal.7.
|
|
3
|
+
"version": "2.0.0-internal.7.4.1",
|
|
4
4
|
"description": "Fluid Runtime definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -14,24 +14,39 @@
|
|
|
14
14
|
"main": "dist/index.js",
|
|
15
15
|
"types": "dist/index.d.ts",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@fluidframework/container-definitions": ">=2.0.0-internal.7.
|
|
18
|
-
"@fluidframework/core-interfaces": ">=2.0.0-internal.7.
|
|
19
|
-
"@fluidframework/driver-definitions": ">=2.0.0-internal.7.
|
|
17
|
+
"@fluidframework/container-definitions": ">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0",
|
|
18
|
+
"@fluidframework/core-interfaces": ">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0",
|
|
19
|
+
"@fluidframework/driver-definitions": ">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0",
|
|
20
|
+
"@fluidframework/id-compressor": ">=2.0.0-internal.7.4.1 <2.0.0-internal.7.5.0",
|
|
20
21
|
"@fluidframework/protocol-definitions": "^3.0.0"
|
|
21
22
|
},
|
|
22
23
|
"devDependencies": {
|
|
24
|
+
"@arethetypeswrong/cli": "^0.13.3",
|
|
23
25
|
"@fluid-tools/build-cli": "^0.28.0",
|
|
24
26
|
"@fluidframework/build-common": "^2.0.3",
|
|
25
27
|
"@fluidframework/build-tools": "^0.28.0",
|
|
26
28
|
"@fluidframework/eslint-config-fluid": "^3.1.0",
|
|
27
29
|
"@fluidframework/runtime-definitions-previous": "npm:@fluidframework/runtime-definitions@2.0.0-internal.7.2.0",
|
|
28
30
|
"@microsoft/api-extractor": "^7.38.3",
|
|
31
|
+
"copyfiles": "^2.4.1",
|
|
29
32
|
"eslint": "~8.50.0",
|
|
30
33
|
"eslint-plugin-deprecation": "~2.0.0",
|
|
31
34
|
"prettier": "~3.0.3",
|
|
32
35
|
"rimraf": "^4.4.0",
|
|
33
36
|
"typescript": "~5.1.6"
|
|
34
37
|
},
|
|
38
|
+
"fluidBuild": {
|
|
39
|
+
"tasks": {
|
|
40
|
+
"build:docs": {
|
|
41
|
+
"dependsOn": [
|
|
42
|
+
"...",
|
|
43
|
+
"api-extractor:commonjs",
|
|
44
|
+
"api-extractor:esnext"
|
|
45
|
+
],
|
|
46
|
+
"script": false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
35
50
|
"typeValidation": {
|
|
36
51
|
"broken": {
|
|
37
52
|
"TypeAliasDeclaration_IdCreationRangeWithStashedState": {
|
|
@@ -45,19 +60,24 @@
|
|
|
45
60
|
}
|
|
46
61
|
},
|
|
47
62
|
"scripts": {
|
|
63
|
+
"api": "fluid-build . --task api",
|
|
64
|
+
"api-extractor:commonjs": "api-extractor run --local",
|
|
65
|
+
"api-extractor:esnext": "copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib",
|
|
48
66
|
"build": "fluid-build . --task build",
|
|
49
67
|
"build:compile": "fluid-build . --task compile",
|
|
50
|
-
"build:docs": "
|
|
68
|
+
"build:docs": "fluid-build . --task api",
|
|
51
69
|
"build:test": "tsc --project ./src/test/tsconfig.json",
|
|
70
|
+
"check:are-the-types-wrong": "attw --pack",
|
|
71
|
+
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
52
72
|
"ci:build:docs": "api-extractor run",
|
|
53
73
|
"clean": "rimraf --glob dist \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
54
74
|
"eslint": "eslint --format stylish src",
|
|
55
75
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
56
76
|
"format": "npm run prettier:fix",
|
|
57
|
-
"lint": "npm run prettier && npm run eslint",
|
|
77
|
+
"lint": "npm run prettier && npm run check:release-tags && npm run eslint",
|
|
58
78
|
"lint:fix": "npm run prettier:fix && npm run eslint:fix",
|
|
59
|
-
"prettier": "prettier --check . --ignore-path ../../../.prettierignore",
|
|
60
|
-
"prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
|
|
79
|
+
"prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
80
|
+
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
61
81
|
"tsc": "tsc",
|
|
62
82
|
"typetests:gen": "fluid-type-test-generator",
|
|
63
83
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
package/src/attribution.ts
CHANGED
|
@@ -8,7 +8,6 @@ import type { IUser } from "@fluidframework/protocol-definitions";
|
|
|
8
8
|
/**
|
|
9
9
|
* AttributionKey representing a reference to some op in the op stream.
|
|
10
10
|
* Content associated with this key aligns with content modified by that op.
|
|
11
|
-
*
|
|
12
11
|
* @alpha
|
|
13
12
|
*/
|
|
14
13
|
export interface OpAttributionKey {
|
|
@@ -33,7 +32,6 @@ export interface OpAttributionKey {
|
|
|
33
32
|
* is currently unsupported, as applications can effectively modify content anonymously while detached.
|
|
34
33
|
* The runtime has no mechanism for reliably obtaining the user. It would be reasonable to start supporting
|
|
35
34
|
* this functionality if the host provided additional context to their attributor or attach calls.
|
|
36
|
-
*
|
|
37
35
|
* @alpha
|
|
38
36
|
*/
|
|
39
37
|
export interface DetachedAttributionKey {
|
|
@@ -52,7 +50,6 @@ export interface DetachedAttributionKey {
|
|
|
52
50
|
|
|
53
51
|
/**
|
|
54
52
|
* AttributionKey associated with content that has been made locally but not yet acked by the server.
|
|
55
|
-
*
|
|
56
53
|
* @alpha
|
|
57
54
|
*/
|
|
58
55
|
export interface LocalAttributionKey {
|
|
@@ -67,7 +64,7 @@ export type AttributionKey = OpAttributionKey | DetachedAttributionKey | LocalAt
|
|
|
67
64
|
|
|
68
65
|
/**
|
|
69
66
|
* Attribution information associated with a change.
|
|
70
|
-
* @
|
|
67
|
+
* @internal
|
|
71
68
|
*/
|
|
72
69
|
export interface AttributionInfo {
|
|
73
70
|
/**
|
package/src/dataStoreContext.ts
CHANGED
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
ISequencedDocumentMessage,
|
|
32
32
|
ISnapshotTree,
|
|
33
33
|
} from "@fluidframework/protocol-definitions";
|
|
34
|
+
import { IIdCompressor } from "@fluidframework/id-compressor";
|
|
34
35
|
import { IProvideFluidDataStoreFactory } from "./dataStoreFactory";
|
|
35
36
|
import { IProvideFluidDataStoreRegistry } from "./dataStoreRegistry";
|
|
36
37
|
import { IGarbageCollectionData, IGarbageCollectionDetailsBase } from "./garbageCollection";
|
|
@@ -42,10 +43,10 @@ import {
|
|
|
42
43
|
ITelemetryContext,
|
|
43
44
|
SummarizeInternalFn,
|
|
44
45
|
} from "./summary";
|
|
45
|
-
import { IIdCompressor } from "./id-compressor";
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Runtime flush mode handling
|
|
49
|
+
* @alpha
|
|
49
50
|
*/
|
|
50
51
|
export enum FlushMode {
|
|
51
52
|
/**
|
|
@@ -60,6 +61,9 @@ export enum FlushMode {
|
|
|
60
61
|
TurnBased,
|
|
61
62
|
}
|
|
62
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
63
67
|
export enum FlushModeExperimental {
|
|
64
68
|
/**
|
|
65
69
|
* When in Async flush mode, the runtime will accumulate all operations across JS turns and send them as a single
|
|
@@ -76,6 +80,7 @@ export enum FlushModeExperimental {
|
|
|
76
80
|
/**
|
|
77
81
|
* This tells the visibility state of a Fluid object. It basically tracks whether the object is not visible, visible
|
|
78
82
|
* locally within the container only or visible globally to all clients.
|
|
83
|
+
* @alpha
|
|
79
84
|
*/
|
|
80
85
|
export const VisibilityState = {
|
|
81
86
|
/**
|
|
@@ -101,8 +106,14 @@ export const VisibilityState = {
|
|
|
101
106
|
*/
|
|
102
107
|
GloballyVisible: "GloballyVisible",
|
|
103
108
|
};
|
|
109
|
+
/**
|
|
110
|
+
* @alpha
|
|
111
|
+
*/
|
|
104
112
|
export type VisibilityState = (typeof VisibilityState)[keyof typeof VisibilityState];
|
|
105
113
|
|
|
114
|
+
/**
|
|
115
|
+
* @alpha
|
|
116
|
+
*/
|
|
106
117
|
export interface IContainerRuntimeBaseEvents extends IEvent {
|
|
107
118
|
(event: "batchBegin", listener: (op: ISequencedDocumentMessage) => void);
|
|
108
119
|
/**
|
|
@@ -122,6 +133,7 @@ export interface IContainerRuntimeBaseEvents extends IEvent {
|
|
|
122
133
|
* the `IContainerRuntime.getAliasedDataStoreEntryPoint` function. The current datastore should be discarded
|
|
123
134
|
* and will be garbage collected. The current datastore cannot be aliased to a different value.
|
|
124
135
|
* 'AlreadyAliased' - the datastore has already been previously bound to another alias name.
|
|
136
|
+
* @alpha
|
|
125
137
|
*/
|
|
126
138
|
export type AliasResult = "Success" | "Conflict" | "AlreadyAliased";
|
|
127
139
|
|
|
@@ -130,6 +142,7 @@ export type AliasResult = "Success" | "Conflict" | "AlreadyAliased";
|
|
|
130
142
|
* - Handle to the data store's entryPoint
|
|
131
143
|
* - Fluid router for the data store
|
|
132
144
|
* - Can be assigned an alias
|
|
145
|
+
* @alpha
|
|
133
146
|
*/
|
|
134
147
|
export interface IDataStore {
|
|
135
148
|
/**
|
|
@@ -184,6 +197,7 @@ export interface IDataStore {
|
|
|
184
197
|
/**
|
|
185
198
|
* A reduced set of functionality of IContainerRuntime that a data store context/data store runtime will need
|
|
186
199
|
* TODO: this should be merged into IFluidDataStoreContext
|
|
200
|
+
* @alpha
|
|
187
201
|
*/
|
|
188
202
|
export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {
|
|
189
203
|
readonly logger: ITelemetryBaseLogger;
|
|
@@ -210,7 +224,6 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
210
224
|
|
|
211
225
|
/**
|
|
212
226
|
* @deprecated 0.16 Issue #1537, #3631
|
|
213
|
-
* @internal
|
|
214
227
|
*/
|
|
215
228
|
_createDataStoreWithProps(
|
|
216
229
|
pkg: string | string[],
|
|
@@ -264,6 +277,7 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
264
277
|
*
|
|
265
278
|
* Functionality include attach, snapshot, op/signal processing, request routes, expose an entryPoint,
|
|
266
279
|
* and connection state notifications
|
|
280
|
+
* @alpha
|
|
267
281
|
*/
|
|
268
282
|
export interface IFluidDataStoreChannel extends IDisposable {
|
|
269
283
|
readonly id: string;
|
|
@@ -369,6 +383,9 @@ export interface IFluidDataStoreChannel extends IDisposable {
|
|
|
369
383
|
readonly IFluidRouter: IFluidRouter;
|
|
370
384
|
}
|
|
371
385
|
|
|
386
|
+
/**
|
|
387
|
+
* @alpha
|
|
388
|
+
*/
|
|
372
389
|
export type CreateChildSummarizerNodeFn = (
|
|
373
390
|
summarizeInternal: SummarizeInternalFn,
|
|
374
391
|
getGCDataFn: (fullGC?: boolean) => Promise<IGarbageCollectionData>,
|
|
@@ -378,6 +395,9 @@ export type CreateChildSummarizerNodeFn = (
|
|
|
378
395
|
getBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,
|
|
379
396
|
) => ISummarizerNodeWithGC;
|
|
380
397
|
|
|
398
|
+
/**
|
|
399
|
+
* @alpha
|
|
400
|
+
*/
|
|
381
401
|
export interface IFluidDataStoreContextEvents extends IEvent {
|
|
382
402
|
(event: "attaching" | "attached", listener: () => void);
|
|
383
403
|
}
|
|
@@ -385,6 +405,7 @@ export interface IFluidDataStoreContextEvents extends IEvent {
|
|
|
385
405
|
/**
|
|
386
406
|
* Represents the context for the data store. It is used by the data store runtime to
|
|
387
407
|
* get information and call functionality to the container.
|
|
408
|
+
* @alpha
|
|
388
409
|
*/
|
|
389
410
|
export interface IFluidDataStoreContext
|
|
390
411
|
extends IEventProvider<IFluidDataStoreContextEvents>,
|
|
@@ -520,6 +541,9 @@ export interface IFluidDataStoreContext
|
|
|
520
541
|
addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;
|
|
521
542
|
}
|
|
522
543
|
|
|
544
|
+
/**
|
|
545
|
+
* @alpha
|
|
546
|
+
*/
|
|
523
547
|
export interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {
|
|
524
548
|
/**
|
|
525
549
|
* Binds a runtime to the context.
|
package/src/dataStoreFactory.ts
CHANGED
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
import { IFluidDataStoreContext, IFluidDataStoreChannel } from "./dataStoreContext";
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
8
11
|
export const IFluidDataStoreFactory: keyof IProvideFluidDataStoreFactory = "IFluidDataStoreFactory";
|
|
9
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @alpha
|
|
15
|
+
*/
|
|
10
16
|
export interface IProvideFluidDataStoreFactory {
|
|
11
17
|
readonly IFluidDataStoreFactory: IFluidDataStoreFactory;
|
|
12
18
|
}
|
|
@@ -14,6 +20,7 @@ export interface IProvideFluidDataStoreFactory {
|
|
|
14
20
|
/**
|
|
15
21
|
* IFluidDataStoreFactory create data stores. It is associated with an identifier (its `type` member)
|
|
16
22
|
* and usually provided to consumers using this mapping through a data store registry.
|
|
23
|
+
* @alpha
|
|
17
24
|
*/
|
|
18
25
|
export interface IFluidDataStoreFactory extends IProvideFluidDataStoreFactory {
|
|
19
26
|
/**
|
package/src/dataStoreRegistry.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { IProvideFluidDataStoreFactory } from "./dataStoreFactory";
|
|
|
8
8
|
/**
|
|
9
9
|
* A single registry entry that may be used to create data stores
|
|
10
10
|
* It has to have either factory or registry, or both.
|
|
11
|
+
* @alpha
|
|
11
12
|
*/
|
|
12
13
|
export type FluidDataStoreRegistryEntry = Readonly<
|
|
13
14
|
Partial<IProvideFluidDataStoreRegistry & IProvideFluidDataStoreFactory>
|
|
@@ -15,16 +16,24 @@ export type FluidDataStoreRegistryEntry = Readonly<
|
|
|
15
16
|
/**
|
|
16
17
|
* An associated pair of an identifier and registry entry. Registry entries
|
|
17
18
|
* may be dynamically loaded.
|
|
19
|
+
* @alpha
|
|
18
20
|
*/
|
|
19
21
|
export type NamedFluidDataStoreRegistryEntry = [string, Promise<FluidDataStoreRegistryEntry>];
|
|
20
22
|
/**
|
|
21
23
|
* An iterable identifier/registry entry pair list
|
|
24
|
+
* @alpha
|
|
22
25
|
*/
|
|
23
26
|
export type NamedFluidDataStoreRegistryEntries = Iterable<NamedFluidDataStoreRegistryEntry>;
|
|
24
27
|
|
|
28
|
+
/**
|
|
29
|
+
* @alpha
|
|
30
|
+
*/
|
|
25
31
|
export const IFluidDataStoreRegistry: keyof IProvideFluidDataStoreRegistry =
|
|
26
32
|
"IFluidDataStoreRegistry";
|
|
27
33
|
|
|
34
|
+
/**
|
|
35
|
+
* @alpha
|
|
36
|
+
*/
|
|
28
37
|
export interface IProvideFluidDataStoreRegistry {
|
|
29
38
|
readonly IFluidDataStoreRegistry: IFluidDataStoreRegistry;
|
|
30
39
|
}
|
|
@@ -32,6 +41,7 @@ export interface IProvideFluidDataStoreRegistry {
|
|
|
32
41
|
/**
|
|
33
42
|
* An association of identifiers to data store registry entries, where the
|
|
34
43
|
* entries can be used to create data stores.
|
|
44
|
+
* @alpha
|
|
35
45
|
*/
|
|
36
46
|
export interface IFluidDataStoreRegistry extends IProvideFluidDataStoreRegistry {
|
|
37
47
|
get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
|
package/src/garbageCollection.ts
CHANGED
|
@@ -3,18 +3,35 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* The key for the GC tree in summary.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
7
11
|
export const gcTreeKey = "gc";
|
|
8
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* They prefix for GC blobs in the GC tree in summary.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
9
17
|
export const gcBlobPrefix = "__gc";
|
|
10
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* The key for tombstone blob in the GC tree in summary.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
11
23
|
export const gcTombstoneBlobKey = "__tombstones";
|
|
12
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* The key for deleted nodes blob in the GC tree in summary.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
13
29
|
export const gcDeletedBlobKey = "__deletedNodes";
|
|
14
30
|
|
|
15
31
|
/**
|
|
16
32
|
* Garbage collection data returned by nodes in a Container.
|
|
17
33
|
* Used for running GC in the Container.
|
|
34
|
+
* @alpha
|
|
18
35
|
*/
|
|
19
36
|
export interface IGarbageCollectionData {
|
|
20
37
|
/**
|
|
@@ -25,6 +42,7 @@ export interface IGarbageCollectionData {
|
|
|
25
42
|
|
|
26
43
|
/**
|
|
27
44
|
* GC details provided to each node during creation.
|
|
45
|
+
* @alpha
|
|
28
46
|
*/
|
|
29
47
|
export interface IGarbageCollectionDetailsBase {
|
|
30
48
|
/**
|
package/src/index.ts
CHANGED
|
@@ -65,16 +65,56 @@ export {
|
|
|
65
65
|
SummarizeInternalFn,
|
|
66
66
|
totalBlobSizePropertyName,
|
|
67
67
|
} from "./summary";
|
|
68
|
+
|
|
69
|
+
// Re-exports for backwards compatibility.
|
|
70
|
+
// Will be removed in the future.
|
|
68
71
|
export {
|
|
69
|
-
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
74
|
+
*/
|
|
75
|
+
IdCompressor,
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
78
|
+
*/
|
|
70
79
|
IIdCompressor,
|
|
80
|
+
/**
|
|
81
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
82
|
+
*/
|
|
83
|
+
IIdCompressorCore,
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
86
|
+
*/
|
|
87
|
+
IdCreationRange,
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
90
|
+
*/
|
|
91
|
+
OpSpaceCompressedId,
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
94
|
+
*/
|
|
71
95
|
SerializedIdCompressor,
|
|
72
|
-
|
|
96
|
+
/**
|
|
97
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
98
|
+
*/
|
|
73
99
|
SerializedIdCompressorWithNoSession,
|
|
74
|
-
|
|
75
|
-
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
102
|
+
*/
|
|
103
|
+
SerializedIdCompressorWithOngoingSession,
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
106
|
+
*/
|
|
76
107
|
SessionId,
|
|
108
|
+
/**
|
|
109
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
110
|
+
*/
|
|
111
|
+
SessionSpaceCompressedId,
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
114
|
+
*/
|
|
77
115
|
StableId,
|
|
78
|
-
|
|
116
|
+
/**
|
|
117
|
+
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
118
|
+
*/
|
|
79
119
|
initialClusterCapacity,
|
|
80
|
-
} from "
|
|
120
|
+
} from "@fluidframework/id-compressor";
|
package/src/protocol.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { ISignalMessage, ITree } from "@fluidframework/protocol-definitions";
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* An envelope wraps the contents with the intended target
|
|
10
|
+
* @internal
|
|
10
11
|
*/
|
|
11
12
|
export interface IEnvelope {
|
|
12
13
|
/**
|
|
@@ -20,6 +21,9 @@ export interface IEnvelope {
|
|
|
20
21
|
contents: any;
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
23
27
|
export interface ISignalEnvelope {
|
|
24
28
|
/**
|
|
25
29
|
* The target for the envelope, undefined for the container
|
|
@@ -42,6 +46,7 @@ export interface ISignalEnvelope {
|
|
|
42
46
|
|
|
43
47
|
/**
|
|
44
48
|
* Represents ISignalMessage with its type.
|
|
49
|
+
* @alpha
|
|
45
50
|
*/
|
|
46
51
|
export interface IInboundSignalMessage extends ISignalMessage {
|
|
47
52
|
type: string;
|
|
@@ -50,6 +55,7 @@ export interface IInboundSignalMessage extends ISignalMessage {
|
|
|
50
55
|
/**
|
|
51
56
|
* Message send by client attaching local data structure.
|
|
52
57
|
* Contains snapshot of data structure which is the current state of this data structure.
|
|
58
|
+
* @internal
|
|
53
59
|
*/
|
|
54
60
|
export interface IAttachMessage {
|
|
55
61
|
/**
|
|
@@ -73,6 +79,7 @@ export interface IAttachMessage {
|
|
|
73
79
|
* but it should not be used when creating a new attach op.
|
|
74
80
|
* Older versions of attach messages could have null snapshots,
|
|
75
81
|
* so this gives correct typings for writing backward compatible code.
|
|
82
|
+
* @internal
|
|
76
83
|
*/
|
|
77
84
|
export type InboundAttachMessage = Omit<IAttachMessage, "snapshot"> & {
|
|
78
85
|
snapshot: IAttachMessage["snapshot"] | null;
|
package/src/summary.ts
CHANGED
|
@@ -15,6 +15,7 @@ import { IGarbageCollectionData, IGarbageCollectionDetailsBase } from "./garbage
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Contains the aggregation data from a Tree/Subtree.
|
|
18
|
+
* @alpha
|
|
18
19
|
*/
|
|
19
20
|
export interface ISummaryStats {
|
|
20
21
|
treeNodeCount: number;
|
|
@@ -30,6 +31,7 @@ export interface ISummaryStats {
|
|
|
30
31
|
* each of its DDS.
|
|
31
32
|
* Any component that implements IChannelContext, IFluidDataStoreChannel or extends SharedObject
|
|
32
33
|
* will be taking part of the summarization process.
|
|
34
|
+
* @alpha
|
|
33
35
|
*/
|
|
34
36
|
export interface ISummaryTreeWithStats {
|
|
35
37
|
/**
|
|
@@ -45,6 +47,7 @@ export interface ISummaryTreeWithStats {
|
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
49
|
* Represents a summary at a current sequence number.
|
|
50
|
+
* @alpha
|
|
48
51
|
*/
|
|
49
52
|
export interface ISummarizeResult {
|
|
50
53
|
stats: ISummaryStats;
|
|
@@ -65,6 +68,7 @@ export interface ISummarizeResult {
|
|
|
65
68
|
* ...
|
|
66
69
|
* "path1":
|
|
67
70
|
* ```
|
|
71
|
+
* @alpha
|
|
68
72
|
*/
|
|
69
73
|
export interface ISummarizeInternalResult extends ISummarizeResult {
|
|
70
74
|
id: string;
|
|
@@ -77,6 +81,7 @@ export interface ISummarizeInternalResult extends ISummarizeResult {
|
|
|
77
81
|
/**
|
|
78
82
|
* @experimental - Can be deleted/changed at any time
|
|
79
83
|
* Contains the necessary information to allow DDSes to do incremental summaries
|
|
84
|
+
* @alpha
|
|
80
85
|
*/
|
|
81
86
|
export interface IExperimentalIncrementalSummaryContext {
|
|
82
87
|
/**
|
|
@@ -101,6 +106,9 @@ export interface IExperimentalIncrementalSummaryContext {
|
|
|
101
106
|
summaryPath: string;
|
|
102
107
|
}
|
|
103
108
|
|
|
109
|
+
/**
|
|
110
|
+
* @alpha
|
|
111
|
+
*/
|
|
104
112
|
export type SummarizeInternalFn = (
|
|
105
113
|
fullTree: boolean,
|
|
106
114
|
trackState: boolean,
|
|
@@ -108,6 +116,9 @@ export type SummarizeInternalFn = (
|
|
|
108
116
|
incrementalSummaryContext?: IExperimentalIncrementalSummaryContext,
|
|
109
117
|
) => Promise<ISummarizeInternalResult>;
|
|
110
118
|
|
|
119
|
+
/**
|
|
120
|
+
* @alpha
|
|
121
|
+
*/
|
|
111
122
|
export interface ISummarizerNodeConfig {
|
|
112
123
|
/**
|
|
113
124
|
* True to reuse previous handle when unchanged since last acked summary.
|
|
@@ -126,6 +137,9 @@ export interface ISummarizerNodeConfig {
|
|
|
126
137
|
readonly throwOnFailure?: true;
|
|
127
138
|
}
|
|
128
139
|
|
|
140
|
+
/**
|
|
141
|
+
* @alpha
|
|
142
|
+
*/
|
|
129
143
|
export interface ISummarizerNodeConfigWithGC extends ISummarizerNodeConfig {
|
|
130
144
|
/**
|
|
131
145
|
* True if GC is disabled. If so, don't track GC related state for a summary.
|
|
@@ -134,11 +148,17 @@ export interface ISummarizerNodeConfigWithGC extends ISummarizerNodeConfig {
|
|
|
134
148
|
readonly gcDisabled?: boolean;
|
|
135
149
|
}
|
|
136
150
|
|
|
151
|
+
/**
|
|
152
|
+
* @alpha
|
|
153
|
+
*/
|
|
137
154
|
export enum CreateSummarizerNodeSource {
|
|
138
155
|
FromSummary,
|
|
139
156
|
FromAttach,
|
|
140
157
|
Local,
|
|
141
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* @alpha
|
|
161
|
+
*/
|
|
142
162
|
export type CreateChildSummarizerNodeParam =
|
|
143
163
|
| {
|
|
144
164
|
type: CreateSummarizerNodeSource.FromSummary;
|
|
@@ -152,6 +172,9 @@ export type CreateChildSummarizerNodeParam =
|
|
|
152
172
|
type: CreateSummarizerNodeSource.Local;
|
|
153
173
|
};
|
|
154
174
|
|
|
175
|
+
/**
|
|
176
|
+
* @alpha
|
|
177
|
+
*/
|
|
155
178
|
export interface ISummarizerNode {
|
|
156
179
|
/**
|
|
157
180
|
* Latest successfully acked summary reference sequence number
|
|
@@ -240,6 +263,7 @@ export interface ISummarizerNode {
|
|
|
240
263
|
* `isReferenced`: This tells whether this node is referenced in the document or not.
|
|
241
264
|
*
|
|
242
265
|
* `updateUsedRoutes`: Used to notify this node of routes that are currently in use in it.
|
|
266
|
+
* @alpha
|
|
243
267
|
*/
|
|
244
268
|
export interface ISummarizerNodeWithGC extends ISummarizerNode {
|
|
245
269
|
createChild(
|
|
@@ -298,11 +322,15 @@ export interface ISummarizerNodeWithGC extends ISummarizerNode {
|
|
|
298
322
|
updateUsedRoutes(usedRoutes: string[]): void;
|
|
299
323
|
}
|
|
300
324
|
|
|
325
|
+
/**
|
|
326
|
+
* @internal
|
|
327
|
+
*/
|
|
301
328
|
export const channelsTreeName = ".channels";
|
|
302
329
|
|
|
303
330
|
/**
|
|
304
331
|
* Contains telemetry data relevant to summarization workflows.
|
|
305
332
|
* This object is expected to be modified directly by various summarize methods.
|
|
333
|
+
* @alpha
|
|
306
334
|
*/
|
|
307
335
|
export interface ITelemetryContext {
|
|
308
336
|
/**
|
|
@@ -340,6 +368,12 @@ export interface ITelemetryContext {
|
|
|
340
368
|
serialize(): string;
|
|
341
369
|
}
|
|
342
370
|
|
|
371
|
+
/**
|
|
372
|
+
* @internal
|
|
373
|
+
*/
|
|
343
374
|
export const blobCountPropertyName = "BlobCount";
|
|
344
375
|
|
|
376
|
+
/**
|
|
377
|
+
* @internal
|
|
378
|
+
*/
|
|
345
379
|
export const totalBlobSizePropertyName = "TotalBlobSize";
|