@fluidframework/runtime-definitions 2.0.0-dev-rc.1.0.0.228517 → 2.0.0-dev-rc.1.0.0.232845
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/api-report/runtime-definitions.api.md +5 -36
- package/dist/dataStoreContext.d.ts +11 -3
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/index.d.ts +0 -45
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -8
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +1 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runtime-definitions-alpha.d.ts +11 -48
- package/dist/runtime-definitions-beta.d.ts +0 -29
- package/dist/runtime-definitions-public.d.ts +0 -29
- package/dist/runtime-definitions-untrimmed.d.ts +12 -48
- package/dist/summary.d.ts +0 -13
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +50 -12
- package/src/dataStoreContext.ts +15 -3
- package/src/index.ts +0 -49
- package/src/protocol.ts +1 -0
- package/src/summary.ts +0 -13
|
@@ -8,8 +8,6 @@ import { AttachState } from '@fluidframework/container-definitions';
|
|
|
8
8
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
9
9
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
10
10
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
11
|
-
import { IdCompressor } from '@fluidframework/id-compressor';
|
|
12
|
-
import { IdCreationRange } from '@fluidframework/id-compressor';
|
|
13
11
|
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
14
12
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
15
13
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
@@ -18,7 +16,6 @@ import { IEvent } from '@fluidframework/core-interfaces';
|
|
|
18
16
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
19
17
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
20
18
|
import { IIdCompressor } from '@fluidframework/id-compressor';
|
|
21
|
-
import { IIdCompressorCore } from '@fluidframework/id-compressor';
|
|
22
19
|
import { ILoaderOptions } from '@fluidframework/container-definitions';
|
|
23
20
|
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
24
21
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
@@ -31,13 +28,6 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
31
28
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
32
29
|
import { ITree } from '@fluidframework/protocol-definitions';
|
|
33
30
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
34
|
-
import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
35
|
-
import { SerializedIdCompressor } from '@fluidframework/id-compressor';
|
|
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
31
|
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
42
32
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
43
33
|
|
|
@@ -128,10 +118,10 @@ export interface IAttachMessage {
|
|
|
128
118
|
export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {
|
|
129
119
|
// (undocumented)
|
|
130
120
|
readonly clientDetails: IClientDetails;
|
|
131
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
121
|
+
createDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;
|
|
132
122
|
// @deprecated (undocumented)
|
|
133
123
|
_createDataStoreWithProps(pkg: string | string[], props?: any, id?: string): Promise<IDataStore>;
|
|
134
|
-
createDetachedDataStore(pkg: Readonly<string[]
|
|
124
|
+
createDetachedDataStore(pkg: Readonly<string[]>, groupId?: string): IFluidDataStoreContextDetached;
|
|
135
125
|
getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
|
|
136
126
|
getAudience(): IAudience;
|
|
137
127
|
getQuorum(): IQuorumClients;
|
|
@@ -161,10 +151,6 @@ export interface IDataStore {
|
|
|
161
151
|
trySetAlias(alias: string): Promise<AliasResult>;
|
|
162
152
|
}
|
|
163
153
|
|
|
164
|
-
export { IdCompressor }
|
|
165
|
-
|
|
166
|
-
export { IdCreationRange }
|
|
167
|
-
|
|
168
154
|
// @alpha
|
|
169
155
|
export interface IEnvelope {
|
|
170
156
|
address: string;
|
|
@@ -234,6 +220,8 @@ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreCo
|
|
|
234
220
|
createParam: CreateChildSummarizerNodeParam): CreateChildSummarizerNodeFn;
|
|
235
221
|
getQuorum(): IQuorumClients;
|
|
236
222
|
// (undocumented)
|
|
223
|
+
readonly groupId?: string;
|
|
224
|
+
// (undocumented)
|
|
237
225
|
readonly id: string;
|
|
238
226
|
// (undocumented)
|
|
239
227
|
readonly idCompressor?: IIdCompressor;
|
|
@@ -296,10 +284,6 @@ export interface IGarbageCollectionDetailsBase {
|
|
|
296
284
|
usedRoutes?: string[];
|
|
297
285
|
}
|
|
298
286
|
|
|
299
|
-
export { IIdCompressor }
|
|
300
|
-
|
|
301
|
-
export { IIdCompressorCore }
|
|
302
|
-
|
|
303
287
|
// @public
|
|
304
288
|
export interface IInboundSignalMessage extends ISignalMessage {
|
|
305
289
|
// (undocumented)
|
|
@@ -323,7 +307,7 @@ export interface IProvideFluidDataStoreRegistry {
|
|
|
323
307
|
readonly IFluidDataStoreRegistry: IFluidDataStoreRegistry;
|
|
324
308
|
}
|
|
325
309
|
|
|
326
|
-
// @internal (undocumented)
|
|
310
|
+
// @internal @deprecated (undocumented)
|
|
327
311
|
export interface ISignalEnvelope {
|
|
328
312
|
address?: string;
|
|
329
313
|
clientSignalSequenceNumber: number;
|
|
@@ -369,7 +353,6 @@ export interface ISummarizerNode {
|
|
|
369
353
|
// @alpha (undocumented)
|
|
370
354
|
export interface ISummarizerNodeConfig {
|
|
371
355
|
readonly canReuseHandle?: boolean;
|
|
372
|
-
readonly throwOnFailure?: true;
|
|
373
356
|
}
|
|
374
357
|
|
|
375
358
|
// @alpha (undocumented)
|
|
@@ -440,20 +423,6 @@ export interface OpAttributionKey {
|
|
|
440
423
|
type: "op";
|
|
441
424
|
}
|
|
442
425
|
|
|
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
426
|
// @alpha (undocumented)
|
|
458
427
|
export type SummarizeInternalFn = (fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext) => Promise<ISummarizeInternalResult>;
|
|
459
428
|
|
|
@@ -130,7 +130,9 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
130
130
|
readonly clientDetails: IClientDetails;
|
|
131
131
|
/**
|
|
132
132
|
* Invokes the given callback and guarantees that all operations generated within the callback will be ordered
|
|
133
|
-
* sequentially.
|
|
133
|
+
* sequentially.
|
|
134
|
+
*
|
|
135
|
+
* If the callback throws an error, the container will close and the error will be logged.
|
|
134
136
|
*/
|
|
135
137
|
orderSequentially(callback: () => void): void;
|
|
136
138
|
/**
|
|
@@ -150,13 +152,18 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
150
152
|
* already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this
|
|
151
153
|
* store being attached to storage.
|
|
152
154
|
* @param pkg - Package name of the data store factory
|
|
155
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
156
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
153
157
|
*/
|
|
154
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
158
|
+
createDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;
|
|
155
159
|
/**
|
|
156
160
|
* Creates detached data store context. Only after context.attachRuntime() is called,
|
|
157
161
|
* data store initialization is considered complete.
|
|
162
|
+
* @param pkg - Package name of the data store factory
|
|
163
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
164
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
158
165
|
*/
|
|
159
|
-
createDetachedDataStore(pkg: Readonly<string[]
|
|
166
|
+
createDetachedDataStore(pkg: Readonly<string[]>, groupId?: string): IFluidDataStoreContextDetached;
|
|
160
167
|
/**
|
|
161
168
|
* Get an absolute url for a provided container-relative request.
|
|
162
169
|
* Returns undefined if the container or data store isn't attached to storage.
|
|
@@ -300,6 +307,7 @@ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreCo
|
|
|
300
307
|
readonly logger: ITelemetryBaseLogger;
|
|
301
308
|
readonly clientDetails: IClientDetails;
|
|
302
309
|
readonly idCompressor?: IIdCompressor;
|
|
310
|
+
readonly groupId?: string;
|
|
303
311
|
/**
|
|
304
312
|
* Indicates the attachment state of the data store to a host service.
|
|
305
313
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACN,8BAA8B,EAC9B,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,oBAAY,SAAS;IACpB;;OAEG;IACH,SAAS,IAAA;IAET;;;OAGG;IACH,SAAS,IAAA;CACT;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAChC;;;;;;;;OAQG;IACH,KAAK,IAAI;CACT;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC3B;;OAEG;;IAGH;;;;OAIG;;IAGH;;;;;;;;OAQG;;CAEH,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,MAAM;IAC1D,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,yBAAyB,KAAK,IAAI,OAAE;IACzE;;;OAGG;IACH,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,yBAAyB,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,IAAI,OAAE;IAC3F,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,yBAAyB,KAAK,IAAI,OAAE;IACnF,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,OAAE;CACtF;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAC1B;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjD;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,2BAA2B,CAAC;IACzF,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IAEvC
|
|
1
|
+
{"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreContext.js","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwCH;;;GAGG;AACH,IAAY,SAWX;AAXD,WAAY,SAAS;IACpB;;OAEG;IACH,mDAAS,CAAA;IAET;;;OAGG;IACH,mDAAS,CAAA;AACV,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB;AAED;;GAEG;AACH,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAChC;;;;;;;;OAQG;IACH,mEAAS,CAAA;AACV,CAAC,EAXW,qBAAqB,qCAArB,qBAAqB,QAWhC;AAED;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC9B;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;;;OAIG;IACH,cAAc,EAAE,gBAAgB;IAEhC;;;;;;;;OAQG;IACH,eAAe,EAAE,iBAAiB;CAClC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n\tIDisposable,\n\tIProvideFluidHandleContext,\n\tIFluidHandle,\n\tIRequest,\n\tIResponse,\n\tFluidObject,\n} from \"@fluidframework/core-interfaces\";\nimport {\n\tIAudience,\n\tIDeltaManager,\n\tAttachState,\n\tILoaderOptions,\n} from \"@fluidframework/container-definitions\";\nimport { IDocumentStorageService } from \"@fluidframework/driver-definitions\";\nimport {\n\tIClientDetails,\n\tIDocumentMessage,\n\tIQuorumClients,\n\tISequencedDocumentMessage,\n\tISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IIdCompressor } from \"@fluidframework/id-compressor\";\nimport { IProvideFluidDataStoreFactory } from \"./dataStoreFactory\";\nimport { IProvideFluidDataStoreRegistry } from \"./dataStoreRegistry\";\nimport { IGarbageCollectionData, IGarbageCollectionDetailsBase } from \"./garbageCollection\";\nimport { IInboundSignalMessage } from \"./protocol\";\nimport {\n\tCreateChildSummarizerNodeParam,\n\tISummarizerNodeWithGC,\n\tISummaryTreeWithStats,\n\tITelemetryContext,\n\tSummarizeInternalFn,\n} from \"./summary\";\n\n/**\n * Runtime flush mode handling\n * @alpha\n */\nexport enum FlushMode {\n\t/**\n\t * In Immediate flush mode the runtime will immediately send all operations to the driver layer.\n\t */\n\tImmediate,\n\n\t/**\n\t * When in TurnBased flush mode the runtime will buffer operations in the current turn and send them as a single\n\t * batch at the end of the turn. The flush call on the runtime can be used to force send the current batch.\n\t */\n\tTurnBased,\n}\n\n/**\n * @internal\n */\nexport enum FlushModeExperimental {\n\t/**\n\t * When in Async flush mode, the runtime will accumulate all operations across JS turns and send them as a single\n\t * batch when all micro-tasks are complete.\n\t *\n\t * This feature requires a version of the loader which supports reference sequence numbers. If an older version of\n\t * the loader is used, the runtime will fall back on FlushMode.TurnBased.\n\t *\n\t * @experimental - Not ready for use\n\t */\n\tAsync = 2,\n}\n\n/**\n * This tells the visibility state of a Fluid object. It basically tracks whether the object is not visible, visible\n * locally within the container only or visible globally to all clients.\n * @alpha\n */\nexport const VisibilityState = {\n\t/**\n\t * Indicates that the object is not visible. This is the state when an object is first created.\n\t */\n\tNotVisible: \"NotVisible\",\n\n\t/**\n\t * Indicates that the object is visible locally within the container. This is the state when an object is attached\n\t * to the container's graph but the container itself isn't globally visible. The object's state goes from not\n\t * visible to locally visible.\n\t */\n\tLocallyVisible: \"LocallyVisible\",\n\n\t/**\n\t * Indicates that the object is visible globally to all clients. This is the state of an object in 2 scenarios:\n\t *\n\t * 1. It is attached to the container's graph when the container is globally visible. The object's state goes from\n\t * not visible to globally visible.\n\t *\n\t * 2. When a container becomes globally visible, all locally visible objects go from locally visible to globally\n\t * visible.\n\t */\n\tGloballyVisible: \"GloballyVisible\",\n};\n/**\n * @alpha\n */\nexport type VisibilityState = (typeof VisibilityState)[keyof typeof VisibilityState];\n\n/**\n * @alpha\n */\nexport interface IContainerRuntimeBaseEvents extends IEvent {\n\t(event: \"batchBegin\", listener: (op: ISequencedDocumentMessage) => void);\n\t/**\n\t * @param runtimeMessage - tells if op is runtime op. If it is, it was unpacked, i.e. it's type and content\n\t * represent internal container runtime type / content.\n\t */\n\t(event: \"op\", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void);\n\t(event: \"batchEnd\", listener: (error: any, op: ISequencedDocumentMessage) => void);\n\t(event: \"signal\", listener: (message: IInboundSignalMessage, local: boolean) => void);\n}\n\n/**\n * Encapsulates the return codes of the aliasing API.\n *\n * 'Success' - the datastore has been successfully aliased. It can now be used.\n * 'Conflict' - there is already a datastore bound to the provided alias. To acquire it's entry point, use\n * the `IContainerRuntime.getAliasedDataStoreEntryPoint` function. The current datastore should be discarded\n * and will be garbage collected. The current datastore cannot be aliased to a different value.\n * 'AlreadyAliased' - the datastore has already been previously bound to another alias name.\n * @alpha\n */\nexport type AliasResult = \"Success\" | \"Conflict\" | \"AlreadyAliased\";\n\n/**\n * Exposes some functionality/features of a data store:\n * - Handle to the data store's entryPoint\n * - Fluid router for the data store\n * - Can be assigned an alias\n * @alpha\n */\nexport interface IDataStore {\n\t/**\n\t * Attempt to assign an alias to the datastore.\n\t * If the operation succeeds, the datastore can be referenced\n\t * by the supplied alias and will not be garbage collected.\n\t *\n\t * @param alias - Given alias for this datastore.\n\t * @returns A promise with the {@link AliasResult}\n\t */\n\ttrySetAlias(alias: string): Promise<AliasResult>;\n\n\t/**\n\t * Exposes a handle to the root object / entryPoint of the data store. Use this as the primary way of interacting\n\t * with it.\n\t */\n\treadonly entryPoint: IFluidHandle<FluidObject>;\n}\n\n/**\n * A reduced set of functionality of IContainerRuntime that a data store context/data store runtime will need\n * TODO: this should be merged into IFluidDataStoreContext\n * @alpha\n */\nexport interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {\n\treadonly logger: ITelemetryBaseLogger;\n\treadonly clientDetails: IClientDetails;\n\n\t/**\n\t * Invokes the given callback and guarantees that all operations generated within the callback will be ordered\n\t * sequentially. Total size of all messages must be less than maxOpSize.\n\t */\n\torderSequentially(callback: () => void): void;\n\n\t/**\n\t * Submits a container runtime level signal to be sent to other clients.\n\t * @param type - Type of the signal.\n\t * @param content - Content of the signal.\n\t */\n\tsubmitSignal(type: string, content: any): void;\n\n\t/**\n\t * @deprecated 0.16 Issue #1537, #3631\n\t */\n\t_createDataStoreWithProps(\n\t\tpkg: string | string[],\n\t\tprops?: any,\n\t\tid?: string,\n\t): Promise<IDataStore>;\n\n\t/**\n\t * Creates a data store and returns an object that exposes a handle to the data store's entryPoint, and also serves\n\t * as the data store's router. The data store is not bound to a container, and in such state is not persisted to\n\t * storage (file). Storing the entryPoint handle (or any other handle inside the data store, e.g. for DDS) into an\n\t * already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this\n\t * store being attached to storage.\n\t * @param pkg - Package name of the data store factory\n\t */\n\tcreateDataStore(pkg: string | string[]): Promise<IDataStore>;\n\n\t/**\n\t * Creates detached data store context. Only after context.attachRuntime() is called,\n\t * data store initialization is considered complete.\n\t */\n\tcreateDetachedDataStore(pkg: Readonly<string[]>): IFluidDataStoreContextDetached;\n\n\t/**\n\t * Get an absolute url for a provided container-relative request.\n\t * Returns undefined if the container or data store isn't attached to storage.\n\t * @param relativeUrl - A relative request within the container\n\t */\n\tgetAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n\tuploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;\n\n\t/**\n\t * Returns the current quorum.\n\t */\n\tgetQuorum(): IQuorumClients;\n\n\t/**\n\t * Returns the current audience.\n\t */\n\tgetAudience(): IAudience;\n}\n\n/**\n * Minimal interface a data store runtime needs to provide for IFluidDataStoreContext to bind to control.\n *\n * Functionality include attach, snapshot, op/signal processing, request routes, expose an entryPoint,\n * and connection state notifications\n * @alpha\n */\nexport interface IFluidDataStoreChannel extends IDisposable {\n\treadonly id: string;\n\n\t/**\n\t * Indicates the attachment state of the channel to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\treadonly visibilityState: VisibilityState;\n\n\t/**\n\t * Runs through the graph and attaches the bound handles. Then binds this runtime to the container.\n\t * @deprecated This will be removed in favor of {@link IFluidDataStoreChannel.makeVisibleAndAttachGraph}.\n\t */\n\tattachGraph(): void;\n\n\t/**\n\t * Makes the data store channel visible in the container. Also, runs through its graph and attaches all\n\t * bound handles that represent its dependencies in the container's graph.\n\t */\n\tmakeVisibleAndAttachGraph(): void;\n\n\t/**\n\t * Retrieves the summary used as part of the initial summary message\n\t */\n\tgetAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;\n\n\t/**\n\t * Processes the op.\n\t */\n\tprocess(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;\n\n\t/**\n\t * Processes the signal.\n\t */\n\tprocessSignal(message: any, local: boolean): void;\n\n\t/**\n\t * Generates a summary for the channel.\n\t * Introduced with summarizerNode - will be required in a future release.\n\t * @param fullTree - true to bypass optimizations and force a full summary tree.\n\t * @param trackState - This tells whether we should track state from this summary.\n\t * @param telemetryContext - summary data passed through the layers for telemetry purposes\n\t */\n\tsummarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats>;\n\n\t/**\n\t * Returns the data used for garbage collection. This includes a list of GC nodes that represent this context\n\t * including any of its children. Each node has a list of outbound routes to other GC nodes in the document.\n\t * @param fullGC - true to bypass optimizations and force full generation of GC data.\n\t */\n\tgetGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;\n\n\t/**\n\t * After GC has run, called to notify this channel of routes that are used in it.\n\t * @param usedRoutes - The routes that are used in this channel.\n\t */\n\tupdateUsedRoutes(usedRoutes: string[]): void;\n\n\t/**\n\t * Notifies this object about changes in the connection state.\n\t * @param value - New connection state.\n\t * @param clientId - ID of the client. It's old ID when in disconnected state and\n\t * it's new client ID when we are connecting or connected.\n\t */\n\tsetConnectionState(connected: boolean, clientId?: string);\n\n\t/**\n\t * Ask the DDS to resubmit a message. This could be because we reconnected and this message was not acked.\n\t * @param type - The type of the original message.\n\t * @param content - The content of the original message.\n\t * @param localOpMetadata - The local metadata associated with the original message.\n\t */\n\treSubmit(type: string, content: any, localOpMetadata: unknown);\n\n\tapplyStashedOp(content: any): Promise<unknown>;\n\n\t/**\n\t * Revert a local message.\n\t * @param type - The type of the original message.\n\t * @param content - The content of the original message.\n\t * @param localOpMetadata - The local metadata associated with the original message.\n\t */\n\trollback?(type: string, content: any, localOpMetadata: unknown): void;\n\n\t/**\n\t * Exposes a handle to the root object / entryPoint of the component. Use this as the primary way of interacting\n\t * with the component.\n\t */\n\treadonly entryPoint: IFluidHandle<FluidObject>;\n\n\trequest(request: IRequest): Promise<IResponse>;\n}\n\n/**\n * @alpha\n */\nexport type CreateChildSummarizerNodeFn = (\n\tsummarizeInternal: SummarizeInternalFn,\n\tgetGCDataFn: (fullGC?: boolean) => Promise<IGarbageCollectionData>,\n\t/**\n\t * @deprecated The functionality to get base GC details has been moved to summarizer node.\n\t */\n\tgetBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,\n) => ISummarizerNodeWithGC;\n\n/**\n * @alpha\n */\nexport interface IFluidDataStoreContextEvents extends IEvent {\n\t(event: \"attaching\" | \"attached\", listener: () => void);\n}\n\n/**\n * Represents the context for the data store. It is used by the data store runtime to\n * get information and call functionality to the container.\n * @alpha\n */\nexport interface IFluidDataStoreContext\n\textends IEventProvider<IFluidDataStoreContextEvents>,\n\t\tPartial<IProvideFluidDataStoreRegistry>,\n\t\tIProvideFluidHandleContext {\n\treadonly id: string;\n\t/**\n\t * A data store created by a client, is a local data store for that client. Also, when a detached container loads\n\t * from a snapshot, all the data stores are treated as local data stores because at that stage the container\n\t * still doesn't exists in storage and so the data store couldn't have been created by any other client.\n\t * Value of this never changes even after the data store is attached.\n\t * As implementer of data store runtime, you can use this property to check that this data store belongs to this\n\t * client and hence implement any scenario based on that.\n\t */\n\treadonly isLocalDataStore: boolean;\n\t/**\n\t * The package path of the data store as per the package factory.\n\t */\n\treadonly packagePath: readonly string[];\n\treadonly options: ILoaderOptions;\n\treadonly clientId: string | undefined;\n\treadonly connected: boolean;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\treadonly storage: IDocumentStorageService;\n\treadonly baseSnapshot: ISnapshotTree | undefined;\n\treadonly logger: ITelemetryBaseLogger;\n\treadonly clientDetails: IClientDetails;\n\treadonly idCompressor?: IIdCompressor;\n\t/**\n\t * Indicates the attachment state of the data store to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\treadonly containerRuntime: IContainerRuntimeBase;\n\n\t/**\n\t * @deprecated 0.16 Issue #1635, #3631\n\t */\n\treadonly createProps?: any;\n\n\t/**\n\t * Ambient services provided with the context\n\t */\n\treadonly scope: FluidObject;\n\n\t/**\n\t * Returns the current quorum.\n\t */\n\tgetQuorum(): IQuorumClients;\n\n\t/**\n\t * Returns the current audience.\n\t */\n\tgetAudience(): IAudience;\n\n\t/**\n\t * Invokes the given callback and expects that no ops are submitted\n\t * until execution finishes. If an op is submitted, an error will be raised.\n\t *\n\t * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`\n\t *\n\t * @param callback - the callback to be invoked\n\t */\n\tensureNoDataModelChanges<T>(callback: () => T): T;\n\n\t/**\n\t * Submits the message to be sent to other clients.\n\t * @param type - Type of the message.\n\t * @param content - Content of the message.\n\t * @param localOpMetadata - The local metadata associated with the message. This is kept locally and not sent to\n\t * the server. This will be sent back when this message is received back from the server. This is also sent if\n\t * we are asked to resubmit the message.\n\t */\n\tsubmitMessage(type: string, content: any, localOpMetadata: unknown): void;\n\n\t/**\n\t * Submits the signal to be sent to other clients.\n\t * @param type - Type of the signal.\n\t * @param content - Content of the signal.\n\t * @param targetClientId - When specified, the signal is only sent to the provided client id.\n\t */\n\tsubmitSignal(type: string, content: any, targetClientId?: string): void;\n\n\t/**\n\t * Called to make the data store locally visible in the container. This happens automatically for root data stores\n\t * when they are marked as root. For non-root data stores, this happens when their handle is added to a visible DDS.\n\t */\n\tmakeLocallyVisible(): void;\n\n\t/**\n\t * Call by IFluidDataStoreChannel, indicates that a channel is dirty and needs to be part of the summary.\n\t * @param address - The address of the channel that is dirty.\n\t */\n\tsetChannelDirty(address: string): void;\n\n\t/**\n\t * Get an absolute url to the container based on the provided relativeUrl.\n\t * Returns undefined if the container or data store isn't attached to storage.\n\t * @param relativeUrl - A relative request within the container\n\t */\n\tgetAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n\tgetCreateChildSummarizerNodeFn(\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t): CreateChildSummarizerNodeFn;\n\n\tuploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;\n\n\t/**\n\t * @deprecated The functionality to get base GC details has been moved to summarizer node.\n\t *\n\t * Returns the GC details in the initial summary of this data store. This is used to initialize the data store\n\t * and its children with the GC details from the previous summary.\n\t */\n\tgetBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;\n\n\t/**\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * Called when a new outbound reference is added to another node. This is used by garbage collection to identify\n\t * all references added in the system.\n\t * @param srcHandle - The handle of the node that added the reference.\n\t * @param outboundHandle - The handle of the outbound node that is referenced.\n\t */\n\taddedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;\n}\n\n/**\n * @alpha\n */\nexport interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {\n\t/**\n\t * Binds a runtime to the context.\n\t */\n\tattachRuntime(\n\t\tfactory: IProvideFluidDataStoreFactory,\n\t\tdataStoreRuntime: IFluidDataStoreChannel,\n\t): Promise<void>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dataStoreContext.js","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwCH;;;GAGG;AACH,IAAY,SAWX;AAXD,WAAY,SAAS;IACpB;;OAEG;IACH,mDAAS,CAAA;IAET;;;OAGG;IACH,mDAAS,CAAA;AACV,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB;AAED;;GAEG;AACH,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAChC;;;;;;;;OAQG;IACH,mEAAS,CAAA;AACV,CAAC,EAXW,qBAAqB,qCAArB,qBAAqB,QAWhC;AAED;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC9B;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;;;OAIG;IACH,cAAc,EAAE,gBAAgB;IAEhC;;;;;;;;OAQG;IACH,eAAe,EAAE,iBAAiB;CAClC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n\tIDisposable,\n\tIProvideFluidHandleContext,\n\tIFluidHandle,\n\tIRequest,\n\tIResponse,\n\tFluidObject,\n} from \"@fluidframework/core-interfaces\";\nimport {\n\tIAudience,\n\tIDeltaManager,\n\tAttachState,\n\tILoaderOptions,\n} from \"@fluidframework/container-definitions\";\nimport { IDocumentStorageService } from \"@fluidframework/driver-definitions\";\nimport {\n\tIClientDetails,\n\tIDocumentMessage,\n\tIQuorumClients,\n\tISequencedDocumentMessage,\n\tISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IIdCompressor } from \"@fluidframework/id-compressor\";\nimport { IProvideFluidDataStoreFactory } from \"./dataStoreFactory\";\nimport { IProvideFluidDataStoreRegistry } from \"./dataStoreRegistry\";\nimport { IGarbageCollectionData, IGarbageCollectionDetailsBase } from \"./garbageCollection\";\nimport { IInboundSignalMessage } from \"./protocol\";\nimport {\n\tCreateChildSummarizerNodeParam,\n\tISummarizerNodeWithGC,\n\tISummaryTreeWithStats,\n\tITelemetryContext,\n\tSummarizeInternalFn,\n} from \"./summary\";\n\n/**\n * Runtime flush mode handling\n * @alpha\n */\nexport enum FlushMode {\n\t/**\n\t * In Immediate flush mode the runtime will immediately send all operations to the driver layer.\n\t */\n\tImmediate,\n\n\t/**\n\t * When in TurnBased flush mode the runtime will buffer operations in the current turn and send them as a single\n\t * batch at the end of the turn. The flush call on the runtime can be used to force send the current batch.\n\t */\n\tTurnBased,\n}\n\n/**\n * @internal\n */\nexport enum FlushModeExperimental {\n\t/**\n\t * When in Async flush mode, the runtime will accumulate all operations across JS turns and send them as a single\n\t * batch when all micro-tasks are complete.\n\t *\n\t * This feature requires a version of the loader which supports reference sequence numbers. If an older version of\n\t * the loader is used, the runtime will fall back on FlushMode.TurnBased.\n\t *\n\t * @experimental - Not ready for use\n\t */\n\tAsync = 2,\n}\n\n/**\n * This tells the visibility state of a Fluid object. It basically tracks whether the object is not visible, visible\n * locally within the container only or visible globally to all clients.\n * @alpha\n */\nexport const VisibilityState = {\n\t/**\n\t * Indicates that the object is not visible. This is the state when an object is first created.\n\t */\n\tNotVisible: \"NotVisible\",\n\n\t/**\n\t * Indicates that the object is visible locally within the container. This is the state when an object is attached\n\t * to the container's graph but the container itself isn't globally visible. The object's state goes from not\n\t * visible to locally visible.\n\t */\n\tLocallyVisible: \"LocallyVisible\",\n\n\t/**\n\t * Indicates that the object is visible globally to all clients. This is the state of an object in 2 scenarios:\n\t *\n\t * 1. It is attached to the container's graph when the container is globally visible. The object's state goes from\n\t * not visible to globally visible.\n\t *\n\t * 2. When a container becomes globally visible, all locally visible objects go from locally visible to globally\n\t * visible.\n\t */\n\tGloballyVisible: \"GloballyVisible\",\n};\n/**\n * @alpha\n */\nexport type VisibilityState = (typeof VisibilityState)[keyof typeof VisibilityState];\n\n/**\n * @alpha\n */\nexport interface IContainerRuntimeBaseEvents extends IEvent {\n\t(event: \"batchBegin\", listener: (op: ISequencedDocumentMessage) => void);\n\t/**\n\t * @param runtimeMessage - tells if op is runtime op. If it is, it was unpacked, i.e. it's type and content\n\t * represent internal container runtime type / content.\n\t */\n\t(event: \"op\", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void);\n\t(event: \"batchEnd\", listener: (error: any, op: ISequencedDocumentMessage) => void);\n\t(event: \"signal\", listener: (message: IInboundSignalMessage, local: boolean) => void);\n}\n\n/**\n * Encapsulates the return codes of the aliasing API.\n *\n * 'Success' - the datastore has been successfully aliased. It can now be used.\n * 'Conflict' - there is already a datastore bound to the provided alias. To acquire it's entry point, use\n * the `IContainerRuntime.getAliasedDataStoreEntryPoint` function. The current datastore should be discarded\n * and will be garbage collected. The current datastore cannot be aliased to a different value.\n * 'AlreadyAliased' - the datastore has already been previously bound to another alias name.\n * @alpha\n */\nexport type AliasResult = \"Success\" | \"Conflict\" | \"AlreadyAliased\";\n\n/**\n * Exposes some functionality/features of a data store:\n * - Handle to the data store's entryPoint\n * - Fluid router for the data store\n * - Can be assigned an alias\n * @alpha\n */\nexport interface IDataStore {\n\t/**\n\t * Attempt to assign an alias to the datastore.\n\t * If the operation succeeds, the datastore can be referenced\n\t * by the supplied alias and will not be garbage collected.\n\t *\n\t * @param alias - Given alias for this datastore.\n\t * @returns A promise with the {@link AliasResult}\n\t */\n\ttrySetAlias(alias: string): Promise<AliasResult>;\n\n\t/**\n\t * Exposes a handle to the root object / entryPoint of the data store. Use this as the primary way of interacting\n\t * with it.\n\t */\n\treadonly entryPoint: IFluidHandle<FluidObject>;\n}\n\n/**\n * A reduced set of functionality of IContainerRuntime that a data store context/data store runtime will need\n * TODO: this should be merged into IFluidDataStoreContext\n * @alpha\n */\nexport interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {\n\treadonly logger: ITelemetryBaseLogger;\n\treadonly clientDetails: IClientDetails;\n\n\t/**\n\t * Invokes the given callback and guarantees that all operations generated within the callback will be ordered\n\t * sequentially.\n\t *\n\t * If the callback throws an error, the container will close and the error will be logged.\n\t */\n\torderSequentially(callback: () => void): void;\n\n\t/**\n\t * Submits a container runtime level signal to be sent to other clients.\n\t * @param type - Type of the signal.\n\t * @param content - Content of the signal.\n\t */\n\tsubmitSignal(type: string, content: any): void;\n\n\t/**\n\t * @deprecated 0.16 Issue #1537, #3631\n\t */\n\t_createDataStoreWithProps(\n\t\tpkg: string | string[],\n\t\tprops?: any,\n\t\tid?: string,\n\t): Promise<IDataStore>;\n\n\t/**\n\t * Creates a data store and returns an object that exposes a handle to the data store's entryPoint, and also serves\n\t * as the data store's router. The data store is not bound to a container, and in such state is not persisted to\n\t * storage (file). Storing the entryPoint handle (or any other handle inside the data store, e.g. for DDS) into an\n\t * already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this\n\t * store being attached to storage.\n\t * @param pkg - Package name of the data store factory\n\t * @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to\n\t * fetch snapshot contents like snapshot tree, blobs using this id from the storage.\n\t */\n\tcreateDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;\n\n\t/**\n\t * Creates detached data store context. Only after context.attachRuntime() is called,\n\t * data store initialization is considered complete.\n\t * @param pkg - Package name of the data store factory\n\t * @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to\n\t * fetch snapshot contents like snapshot tree, blobs using this id from the storage.\n\t */\n\tcreateDetachedDataStore(\n\t\tpkg: Readonly<string[]>,\n\t\tgroupId?: string,\n\t): IFluidDataStoreContextDetached;\n\n\t/**\n\t * Get an absolute url for a provided container-relative request.\n\t * Returns undefined if the container or data store isn't attached to storage.\n\t * @param relativeUrl - A relative request within the container\n\t */\n\tgetAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n\tuploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;\n\n\t/**\n\t * Returns the current quorum.\n\t */\n\tgetQuorum(): IQuorumClients;\n\n\t/**\n\t * Returns the current audience.\n\t */\n\tgetAudience(): IAudience;\n}\n\n/**\n * Minimal interface a data store runtime needs to provide for IFluidDataStoreContext to bind to control.\n *\n * Functionality include attach, snapshot, op/signal processing, request routes, expose an entryPoint,\n * and connection state notifications\n * @alpha\n */\nexport interface IFluidDataStoreChannel extends IDisposable {\n\treadonly id: string;\n\n\t/**\n\t * Indicates the attachment state of the channel to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\treadonly visibilityState: VisibilityState;\n\n\t/**\n\t * Runs through the graph and attaches the bound handles. Then binds this runtime to the container.\n\t * @deprecated This will be removed in favor of {@link IFluidDataStoreChannel.makeVisibleAndAttachGraph}.\n\t */\n\tattachGraph(): void;\n\n\t/**\n\t * Makes the data store channel visible in the container. Also, runs through its graph and attaches all\n\t * bound handles that represent its dependencies in the container's graph.\n\t */\n\tmakeVisibleAndAttachGraph(): void;\n\n\t/**\n\t * Retrieves the summary used as part of the initial summary message\n\t */\n\tgetAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;\n\n\t/**\n\t * Processes the op.\n\t */\n\tprocess(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;\n\n\t/**\n\t * Processes the signal.\n\t */\n\tprocessSignal(message: any, local: boolean): void;\n\n\t/**\n\t * Generates a summary for the channel.\n\t * Introduced with summarizerNode - will be required in a future release.\n\t * @param fullTree - true to bypass optimizations and force a full summary tree.\n\t * @param trackState - This tells whether we should track state from this summary.\n\t * @param telemetryContext - summary data passed through the layers for telemetry purposes\n\t */\n\tsummarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats>;\n\n\t/**\n\t * Returns the data used for garbage collection. This includes a list of GC nodes that represent this context\n\t * including any of its children. Each node has a list of outbound routes to other GC nodes in the document.\n\t * @param fullGC - true to bypass optimizations and force full generation of GC data.\n\t */\n\tgetGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;\n\n\t/**\n\t * After GC has run, called to notify this channel of routes that are used in it.\n\t * @param usedRoutes - The routes that are used in this channel.\n\t */\n\tupdateUsedRoutes(usedRoutes: string[]): void;\n\n\t/**\n\t * Notifies this object about changes in the connection state.\n\t * @param value - New connection state.\n\t * @param clientId - ID of the client. It's old ID when in disconnected state and\n\t * it's new client ID when we are connecting or connected.\n\t */\n\tsetConnectionState(connected: boolean, clientId?: string);\n\n\t/**\n\t * Ask the DDS to resubmit a message. This could be because we reconnected and this message was not acked.\n\t * @param type - The type of the original message.\n\t * @param content - The content of the original message.\n\t * @param localOpMetadata - The local metadata associated with the original message.\n\t */\n\treSubmit(type: string, content: any, localOpMetadata: unknown);\n\n\tapplyStashedOp(content: any): Promise<unknown>;\n\n\t/**\n\t * Revert a local message.\n\t * @param type - The type of the original message.\n\t * @param content - The content of the original message.\n\t * @param localOpMetadata - The local metadata associated with the original message.\n\t */\n\trollback?(type: string, content: any, localOpMetadata: unknown): void;\n\n\t/**\n\t * Exposes a handle to the root object / entryPoint of the component. Use this as the primary way of interacting\n\t * with the component.\n\t */\n\treadonly entryPoint: IFluidHandle<FluidObject>;\n\n\trequest(request: IRequest): Promise<IResponse>;\n}\n\n/**\n * @alpha\n */\nexport type CreateChildSummarizerNodeFn = (\n\tsummarizeInternal: SummarizeInternalFn,\n\tgetGCDataFn: (fullGC?: boolean) => Promise<IGarbageCollectionData>,\n\t/**\n\t * @deprecated The functionality to get base GC details has been moved to summarizer node.\n\t */\n\tgetBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,\n) => ISummarizerNodeWithGC;\n\n/**\n * @alpha\n */\nexport interface IFluidDataStoreContextEvents extends IEvent {\n\t(event: \"attaching\" | \"attached\", listener: () => void);\n}\n\n/**\n * Represents the context for the data store. It is used by the data store runtime to\n * get information and call functionality to the container.\n * @alpha\n */\nexport interface IFluidDataStoreContext\n\textends IEventProvider<IFluidDataStoreContextEvents>,\n\t\tPartial<IProvideFluidDataStoreRegistry>,\n\t\tIProvideFluidHandleContext {\n\treadonly id: string;\n\t/**\n\t * A data store created by a client, is a local data store for that client. Also, when a detached container loads\n\t * from a snapshot, all the data stores are treated as local data stores because at that stage the container\n\t * still doesn't exists in storage and so the data store couldn't have been created by any other client.\n\t * Value of this never changes even after the data store is attached.\n\t * As implementer of data store runtime, you can use this property to check that this data store belongs to this\n\t * client and hence implement any scenario based on that.\n\t */\n\treadonly isLocalDataStore: boolean;\n\t/**\n\t * The package path of the data store as per the package factory.\n\t */\n\treadonly packagePath: readonly string[];\n\treadonly options: ILoaderOptions;\n\treadonly clientId: string | undefined;\n\treadonly connected: boolean;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\treadonly storage: IDocumentStorageService;\n\treadonly baseSnapshot: ISnapshotTree | undefined;\n\treadonly logger: ITelemetryBaseLogger;\n\treadonly clientDetails: IClientDetails;\n\treadonly idCompressor?: IIdCompressor;\n\t// Represents the group to which the data store belongs too.\n\treadonly groupId?: string;\n\t/**\n\t * Indicates the attachment state of the data store to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\treadonly containerRuntime: IContainerRuntimeBase;\n\n\t/**\n\t * @deprecated 0.16 Issue #1635, #3631\n\t */\n\treadonly createProps?: any;\n\n\t/**\n\t * Ambient services provided with the context\n\t */\n\treadonly scope: FluidObject;\n\n\t/**\n\t * Returns the current quorum.\n\t */\n\tgetQuorum(): IQuorumClients;\n\n\t/**\n\t * Returns the current audience.\n\t */\n\tgetAudience(): IAudience;\n\n\t/**\n\t * Invokes the given callback and expects that no ops are submitted\n\t * until execution finishes. If an op is submitted, an error will be raised.\n\t *\n\t * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`\n\t *\n\t * @param callback - the callback to be invoked\n\t */\n\tensureNoDataModelChanges<T>(callback: () => T): T;\n\n\t/**\n\t * Submits the message to be sent to other clients.\n\t * @param type - Type of the message.\n\t * @param content - Content of the message.\n\t * @param localOpMetadata - The local metadata associated with the message. This is kept locally and not sent to\n\t * the server. This will be sent back when this message is received back from the server. This is also sent if\n\t * we are asked to resubmit the message.\n\t */\n\tsubmitMessage(type: string, content: any, localOpMetadata: unknown): void;\n\n\t/**\n\t * Submits the signal to be sent to other clients.\n\t * @param type - Type of the signal.\n\t * @param content - Content of the signal.\n\t * @param targetClientId - When specified, the signal is only sent to the provided client id.\n\t */\n\tsubmitSignal(type: string, content: any, targetClientId?: string): void;\n\n\t/**\n\t * Called to make the data store locally visible in the container. This happens automatically for root data stores\n\t * when they are marked as root. For non-root data stores, this happens when their handle is added to a visible DDS.\n\t */\n\tmakeLocallyVisible(): void;\n\n\t/**\n\t * Call by IFluidDataStoreChannel, indicates that a channel is dirty and needs to be part of the summary.\n\t * @param address - The address of the channel that is dirty.\n\t */\n\tsetChannelDirty(address: string): void;\n\n\t/**\n\t * Get an absolute url to the container based on the provided relativeUrl.\n\t * Returns undefined if the container or data store isn't attached to storage.\n\t * @param relativeUrl - A relative request within the container\n\t */\n\tgetAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n\tgetCreateChildSummarizerNodeFn(\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t): CreateChildSummarizerNodeFn;\n\n\tuploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;\n\n\t/**\n\t * @deprecated The functionality to get base GC details has been moved to summarizer node.\n\t *\n\t * Returns the GC details in the initial summary of this data store. This is used to initialize the data store\n\t * and its children with the GC details from the previous summary.\n\t */\n\tgetBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;\n\n\t/**\n\t * @deprecated There is no replacement for this, its functionality is no longer needed at this layer.\n\t * It will be removed in a future release, sometime after 2.0.0-internal.8.0.0\n\t *\n\t * Called when a new outbound reference is added to another node. This is used by garbage collection to identify\n\t * all references added in the system.\n\t * @param srcHandle - The handle of the node that added the reference.\n\t * @param outboundHandle - The handle of the outbound node that is referenced.\n\t */\n\taddedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;\n}\n\n/**\n * @alpha\n */\nexport interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {\n\t/**\n\t * Binds a runtime to the context.\n\t */\n\tattachRuntime(\n\t\tfactory: IProvideFluidDataStoreFactory,\n\t\tdataStoreRuntime: IFluidDataStoreChannel,\n\t): Promise<void>;\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,49 +9,4 @@ export { FluidDataStoreRegistryEntry, IFluidDataStoreRegistry, IProvideFluidData
|
|
|
9
9
|
export { gcBlobPrefix, gcDeletedBlobKey, gcTombstoneBlobKey, gcTreeKey, IGarbageCollectionData, IGarbageCollectionDetailsBase, } from "./garbageCollection";
|
|
10
10
|
export { IAttachMessage, IEnvelope, IInboundSignalMessage, InboundAttachMessage, ISignalEnvelope, } from "./protocol";
|
|
11
11
|
export { blobCountPropertyName, channelsTreeName, CreateChildSummarizerNodeParam, CreateSummarizerNodeSource, IExperimentalIncrementalSummaryContext, ISummarizeInternalResult, ISummarizeResult, ISummarizerNode, ISummarizerNodeConfig, ISummarizerNodeConfigWithGC, ISummarizerNodeWithGC, ISummaryStats, ISummaryTreeWithStats, ITelemetryContext, SummarizeInternalFn, totalBlobSizePropertyName, } from "./summary";
|
|
12
|
-
export {
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
15
|
-
*/
|
|
16
|
-
IdCompressor,
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
19
|
-
*/
|
|
20
|
-
IIdCompressor,
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
23
|
-
*/
|
|
24
|
-
IIdCompressorCore,
|
|
25
|
-
/**
|
|
26
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
27
|
-
*/
|
|
28
|
-
IdCreationRange,
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
31
|
-
*/
|
|
32
|
-
OpSpaceCompressedId,
|
|
33
|
-
/**
|
|
34
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
35
|
-
*/
|
|
36
|
-
SerializedIdCompressor,
|
|
37
|
-
/**
|
|
38
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
39
|
-
*/
|
|
40
|
-
SerializedIdCompressorWithNoSession,
|
|
41
|
-
/**
|
|
42
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
43
|
-
*/
|
|
44
|
-
SerializedIdCompressorWithOngoingSession,
|
|
45
|
-
/**
|
|
46
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
47
|
-
*/
|
|
48
|
-
SessionId,
|
|
49
|
-
/**
|
|
50
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
51
|
-
*/
|
|
52
|
-
SessionSpaceCompressedId,
|
|
53
|
-
/**
|
|
54
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
55
|
-
*/
|
|
56
|
-
StableId, } from "@fluidframework/id-compressor";
|
|
57
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,WAAW,EACX,2BAA2B,EAC3B,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,eAAe,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,gCAAgC,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,6BAA6B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,sCAAsC,EACtC,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,WAAW,EACX,2BAA2B,EAC3B,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,eAAe,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,gCAAgC,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,6BAA6B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,sCAAsC,EACtC,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.totalBlobSizePropertyName = exports.CreateSummarizerNodeSource = exports.channelsTreeName = exports.blobCountPropertyName = exports.gcTreeKey = exports.gcTombstoneBlobKey = exports.gcDeletedBlobKey = exports.gcBlobPrefix = exports.IFluidDataStoreRegistry = exports.IFluidDataStoreFactory = exports.VisibilityState = exports.FlushModeExperimental = exports.FlushMode = void 0;
|
|
8
8
|
var dataStoreContext_1 = require("./dataStoreContext");
|
|
9
9
|
Object.defineProperty(exports, "FlushMode", { enumerable: true, get: function () { return dataStoreContext_1.FlushMode; } });
|
|
10
10
|
Object.defineProperty(exports, "FlushModeExperimental", { enumerable: true, get: function () { return dataStoreContext_1.FlushModeExperimental; } });
|
|
@@ -23,11 +23,4 @@ Object.defineProperty(exports, "blobCountPropertyName", { enumerable: true, get:
|
|
|
23
23
|
Object.defineProperty(exports, "channelsTreeName", { enumerable: true, get: function () { return summary_1.channelsTreeName; } });
|
|
24
24
|
Object.defineProperty(exports, "CreateSummarizerNodeSource", { enumerable: true, get: function () { return summary_1.CreateSummarizerNodeSource; } });
|
|
25
25
|
Object.defineProperty(exports, "totalBlobSizePropertyName", { enumerable: true, get: function () { return summary_1.totalBlobSizePropertyName; } });
|
|
26
|
-
// Re-exports for backwards compatibility.
|
|
27
|
-
// Will be removed in the future.
|
|
28
|
-
var id_compressor_1 = require("@fluidframework/id-compressor");
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
31
|
-
*/
|
|
32
|
-
Object.defineProperty(exports, "IdCompressor", { enumerable: true, get: function () { return id_compressor_1.IdCompressor; } });
|
|
33
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,uDAa4B;AAV3B,6GAAA,SAAS,OAAA;AACT,yHAAA,qBAAqB,OAAA;AAQrB,mHAAA,eAAe,OAAA;AAEhB,uDAA2F;AAAlF,0HAAA,sBAAsB,OAAA;AAC/B,yDAM6B;AAJ5B,4HAAA,uBAAuB,OAAA;AAKxB,yDAO6B;AAN5B,iHAAA,YAAY,OAAA;AACZ,qHAAA,gBAAgB,OAAA;AAChB,uHAAA,kBAAkB,OAAA;AAClB,8GAAA,SAAS,OAAA;AAWV,qCAiBmB;AAhBlB,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAEhB,qHAAA,0BAA0B,OAAA;AAY1B,oHAAA,yBAAyB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,uDAa4B;AAV3B,6GAAA,SAAS,OAAA;AACT,yHAAA,qBAAqB,OAAA;AAQrB,mHAAA,eAAe,OAAA;AAEhB,uDAA2F;AAAlF,0HAAA,sBAAsB,OAAA;AAC/B,yDAM6B;AAJ5B,4HAAA,uBAAuB,OAAA;AAKxB,yDAO6B;AAN5B,iHAAA,YAAY,OAAA;AACZ,qHAAA,gBAAgB,OAAA;AAChB,uHAAA,kBAAkB,OAAA;AAClB,8GAAA,SAAS,OAAA;AAWV,qCAiBmB;AAhBlB,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAEhB,qHAAA,0BAA0B,OAAA;AAY1B,oHAAA,yBAAyB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tAttributionInfo,\n\tAttributionKey,\n\tDetachedAttributionKey,\n\tLocalAttributionKey,\n\tOpAttributionKey,\n} from \"./attribution\";\nexport {\n\tAliasResult,\n\tCreateChildSummarizerNodeFn,\n\tFlushMode,\n\tFlushModeExperimental,\n\tIContainerRuntimeBase,\n\tIContainerRuntimeBaseEvents,\n\tIDataStore,\n\tIFluidDataStoreChannel,\n\tIFluidDataStoreContext,\n\tIFluidDataStoreContextDetached,\n\tIFluidDataStoreContextEvents,\n\tVisibilityState,\n} from \"./dataStoreContext\";\nexport { IFluidDataStoreFactory, IProvideFluidDataStoreFactory } from \"./dataStoreFactory\";\nexport {\n\tFluidDataStoreRegistryEntry,\n\tIFluidDataStoreRegistry,\n\tIProvideFluidDataStoreRegistry,\n\tNamedFluidDataStoreRegistryEntries,\n\tNamedFluidDataStoreRegistryEntry,\n} from \"./dataStoreRegistry\";\nexport {\n\tgcBlobPrefix,\n\tgcDeletedBlobKey,\n\tgcTombstoneBlobKey,\n\tgcTreeKey,\n\tIGarbageCollectionData,\n\tIGarbageCollectionDetailsBase,\n} from \"./garbageCollection\";\nexport {\n\tIAttachMessage,\n\tIEnvelope,\n\tIInboundSignalMessage,\n\tInboundAttachMessage,\n\tISignalEnvelope,\n} from \"./protocol\";\nexport {\n\tblobCountPropertyName,\n\tchannelsTreeName,\n\tCreateChildSummarizerNodeParam,\n\tCreateSummarizerNodeSource,\n\tIExperimentalIncrementalSummaryContext,\n\tISummarizeInternalResult,\n\tISummarizeResult,\n\tISummarizerNode,\n\tISummarizerNodeConfig,\n\tISummarizerNodeConfigWithGC,\n\tISummarizerNodeWithGC,\n\tISummaryStats,\n\tISummaryTreeWithStats,\n\tITelemetryContext,\n\tSummarizeInternalFn,\n\ttotalBlobSizePropertyName,\n} from \"./summary\";\n"]}
|
package/dist/protocol.d.ts
CHANGED
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,GAAG,CAAC;KACb,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CAC5C,CAAC"}
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISignalMessage, ITree } from \"@fluidframework/protocol-definitions\";\n\n/**\n * An envelope wraps the contents with the intended target\n * @alpha\n */\nexport interface IEnvelope {\n\t/**\n\t * The target for the envelope\n\t */\n\taddress: string;\n\n\t/**\n\t * The contents of the envelope\n\t */\n\tcontents: any;\n}\n\n/**\n * @internal\n */\nexport interface ISignalEnvelope {\n\t/**\n\t * The target for the envelope, undefined for the container\n\t */\n\taddress?: string;\n\n\t/**\n\t * Identifier for the signal being submitted.\n\t */\n\tclientSignalSequenceNumber: number;\n\n\t/**\n\t * The contents of the envelope\n\t */\n\tcontents: {\n\t\ttype: string;\n\t\tcontent: any;\n\t};\n}\n\n/**\n * Represents ISignalMessage with its type.\n * @public\n */\nexport interface IInboundSignalMessage extends ISignalMessage {\n\ttype: string;\n}\n\n/**\n * Message send by client attaching local data structure.\n * Contains snapshot of data structure which is the current state of this data structure.\n * @alpha\n */\nexport interface IAttachMessage {\n\t/**\n\t * The identifier for the object\n\t */\n\tid: string;\n\n\t/**\n\t * The type of object\n\t */\n\ttype: string;\n\n\t/**\n\t * Initial snapshot of the document (contains ownership)\n\t */\n\tsnapshot: ITree;\n}\n\n/**\n * This type should be used when reading an incoming attach op,\n * but it should not be used when creating a new attach op.\n * Older versions of attach messages could have null snapshots,\n * so this gives correct typings for writing backward compatible code.\n * @alpha\n */\nexport type InboundAttachMessage = Omit<IAttachMessage, \"snapshot\"> & {\n\tsnapshot: IAttachMessage[\"snapshot\"] | null;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISignalMessage, ITree } from \"@fluidframework/protocol-definitions\";\n\n/**\n * An envelope wraps the contents with the intended target\n * @alpha\n */\nexport interface IEnvelope {\n\t/**\n\t * The target for the envelope\n\t */\n\taddress: string;\n\n\t/**\n\t * The contents of the envelope\n\t */\n\tcontents: any;\n}\n\n/**\n * @internal\n * @deprecated - This interface is now moved to `@fluidframework/container-definitions` package. Please import from that package.\n */\nexport interface ISignalEnvelope {\n\t/**\n\t * The target for the envelope, undefined for the container\n\t */\n\taddress?: string;\n\n\t/**\n\t * Identifier for the signal being submitted.\n\t */\n\tclientSignalSequenceNumber: number;\n\n\t/**\n\t * The contents of the envelope\n\t */\n\tcontents: {\n\t\ttype: string;\n\t\tcontent: any;\n\t};\n}\n\n/**\n * Represents ISignalMessage with its type.\n * @public\n */\nexport interface IInboundSignalMessage extends ISignalMessage {\n\ttype: string;\n}\n\n/**\n * Message send by client attaching local data structure.\n * Contains snapshot of data structure which is the current state of this data structure.\n * @alpha\n */\nexport interface IAttachMessage {\n\t/**\n\t * The identifier for the object\n\t */\n\tid: string;\n\n\t/**\n\t * The type of object\n\t */\n\ttype: string;\n\n\t/**\n\t * Initial snapshot of the document (contains ownership)\n\t */\n\tsnapshot: ITree;\n}\n\n/**\n * This type should be used when reading an incoming attach op,\n * but it should not be used when creating a new attach op.\n * Older versions of attach messages could have null snapshots,\n * so this gives correct typings for writing backward compatible code.\n * @alpha\n */\nexport type InboundAttachMessage = Omit<IAttachMessage, \"snapshot\"> & {\n\tsnapshot: IAttachMessage[\"snapshot\"] | null;\n};\n"]}
|
|
@@ -2,8 +2,6 @@ import { AttachState } from '@fluidframework/container-definitions';
|
|
|
2
2
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
3
3
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
4
4
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
5
|
-
import { IdCompressor } from '@fluidframework/id-compressor';
|
|
6
|
-
import { IdCreationRange } from '@fluidframework/id-compressor';
|
|
7
5
|
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
8
6
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
9
7
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
@@ -12,7 +10,6 @@ import { IEvent } from '@fluidframework/core-interfaces';
|
|
|
12
10
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
13
11
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
14
12
|
import { IIdCompressor } from '@fluidframework/id-compressor';
|
|
15
|
-
import { IIdCompressorCore } from '@fluidframework/id-compressor';
|
|
16
13
|
import { ILoaderOptions } from '@fluidframework/container-definitions';
|
|
17
14
|
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
18
15
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
@@ -25,13 +22,6 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
25
22
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
26
23
|
import { ITree } from '@fluidframework/protocol-definitions';
|
|
27
24
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
28
|
-
import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
29
|
-
import { SerializedIdCompressor } from '@fluidframework/id-compressor';
|
|
30
|
-
import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
|
|
31
|
-
import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
|
|
32
|
-
import { SessionId } from '@fluidframework/id-compressor';
|
|
33
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
34
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
35
25
|
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
36
26
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
37
27
|
|
|
@@ -175,7 +165,9 @@ export declare interface IContainerRuntimeBase extends IEventProvider<IContainer
|
|
|
175
165
|
readonly clientDetails: IClientDetails;
|
|
176
166
|
/**
|
|
177
167
|
* Invokes the given callback and guarantees that all operations generated within the callback will be ordered
|
|
178
|
-
* sequentially.
|
|
168
|
+
* sequentially.
|
|
169
|
+
*
|
|
170
|
+
* If the callback throws an error, the container will close and the error will be logged.
|
|
179
171
|
*/
|
|
180
172
|
orderSequentially(callback: () => void): void;
|
|
181
173
|
/**
|
|
@@ -195,13 +187,18 @@ export declare interface IContainerRuntimeBase extends IEventProvider<IContainer
|
|
|
195
187
|
* already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this
|
|
196
188
|
* store being attached to storage.
|
|
197
189
|
* @param pkg - Package name of the data store factory
|
|
190
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
191
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
198
192
|
*/
|
|
199
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
193
|
+
createDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;
|
|
200
194
|
/**
|
|
201
195
|
* Creates detached data store context. Only after context.attachRuntime() is called,
|
|
202
196
|
* data store initialization is considered complete.
|
|
197
|
+
* @param pkg - Package name of the data store factory
|
|
198
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
199
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
203
200
|
*/
|
|
204
|
-
createDetachedDataStore(pkg: Readonly<string[]
|
|
201
|
+
createDetachedDataStore(pkg: Readonly<string[]>, groupId?: string): IFluidDataStoreContextDetached;
|
|
205
202
|
/**
|
|
206
203
|
* Get an absolute url for a provided container-relative request.
|
|
207
204
|
* Returns undefined if the container or data store isn't attached to storage.
|
|
@@ -257,10 +254,6 @@ export declare interface IDataStore {
|
|
|
257
254
|
readonly entryPoint: IFluidHandle<FluidObject>;
|
|
258
255
|
}
|
|
259
256
|
|
|
260
|
-
export { IdCompressor }
|
|
261
|
-
|
|
262
|
-
export { IdCreationRange }
|
|
263
|
-
|
|
264
257
|
/**
|
|
265
258
|
* An envelope wraps the contents with the intended target
|
|
266
259
|
* @alpha
|
|
@@ -417,6 +410,7 @@ export declare interface IFluidDataStoreContext extends IEventProvider<IFluidDat
|
|
|
417
410
|
readonly logger: ITelemetryBaseLogger;
|
|
418
411
|
readonly clientDetails: IClientDetails;
|
|
419
412
|
readonly idCompressor?: IIdCompressor;
|
|
413
|
+
readonly groupId?: string;
|
|
420
414
|
/**
|
|
421
415
|
* Indicates the attachment state of the data store to a host service.
|
|
422
416
|
*/
|
|
@@ -594,10 +588,6 @@ export declare interface IGarbageCollectionDetailsBase {
|
|
|
594
588
|
gcData?: IGarbageCollectionData;
|
|
595
589
|
}
|
|
596
590
|
|
|
597
|
-
export { IIdCompressor }
|
|
598
|
-
|
|
599
|
-
export { IIdCompressorCore }
|
|
600
|
-
|
|
601
591
|
/**
|
|
602
592
|
* Represents ISignalMessage with its type.
|
|
603
593
|
* @public
|
|
@@ -681,9 +671,6 @@ export declare interface ISummarizerNode {
|
|
|
681
671
|
invalidate(sequenceNumber: number): void;
|
|
682
672
|
/**
|
|
683
673
|
* Calls the internal summarize function and handles internal state tracking.
|
|
684
|
-
* If unchanged and fullTree is false, it will reuse previous summary subtree.
|
|
685
|
-
* If an error is encountered and throwOnFailure is false, it will try to make
|
|
686
|
-
* a summary with a pointer to the previous summary + a blob of outstanding ops.
|
|
687
674
|
* @param fullTree - true to skip optimizations and always generate the full tree
|
|
688
675
|
* @param trackState - indicates whether the summarizer node should track the state of the summary or not
|
|
689
676
|
* @param telemetryContext - summary data passed through the layers for telemetry purposes
|
|
@@ -737,16 +724,6 @@ export declare interface ISummarizerNodeConfig {
|
|
|
737
724
|
* Defaults to true.
|
|
738
725
|
*/
|
|
739
726
|
readonly canReuseHandle?: boolean;
|
|
740
|
-
/**
|
|
741
|
-
* True to always stop execution on error during summarize, or false to
|
|
742
|
-
* attempt creating a summary that is a pointer ot the last acked summary
|
|
743
|
-
* plus outstanding ops in case of internal summarize failure.
|
|
744
|
-
* Defaults to false.
|
|
745
|
-
*
|
|
746
|
-
* BUG BUG: Default to true while we investigate problem
|
|
747
|
-
* with differential summaries
|
|
748
|
-
*/
|
|
749
|
-
readonly throwOnFailure?: true;
|
|
750
727
|
}
|
|
751
728
|
|
|
752
729
|
/**
|
|
@@ -939,20 +916,6 @@ export declare interface OpAttributionKey {
|
|
|
939
916
|
seq: number;
|
|
940
917
|
}
|
|
941
918
|
|
|
942
|
-
export { OpSpaceCompressedId }
|
|
943
|
-
|
|
944
|
-
export { SerializedIdCompressor }
|
|
945
|
-
|
|
946
|
-
export { SerializedIdCompressorWithNoSession }
|
|
947
|
-
|
|
948
|
-
export { SerializedIdCompressorWithOngoingSession }
|
|
949
|
-
|
|
950
|
-
export { SessionId }
|
|
951
|
-
|
|
952
|
-
export { SessionSpaceCompressedId }
|
|
953
|
-
|
|
954
|
-
export { StableId }
|
|
955
|
-
|
|
956
919
|
/**
|
|
957
920
|
* @alpha
|
|
958
921
|
*/
|
|
@@ -2,8 +2,6 @@ import { AttachState } from '@fluidframework/container-definitions';
|
|
|
2
2
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
3
3
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
4
4
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
5
|
-
import { IdCompressor } from '@fluidframework/id-compressor';
|
|
6
|
-
import { IdCreationRange } from '@fluidframework/id-compressor';
|
|
7
5
|
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
8
6
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
9
7
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
@@ -12,7 +10,6 @@ import { IEvent } from '@fluidframework/core-interfaces';
|
|
|
12
10
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
13
11
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
14
12
|
import { IIdCompressor } from '@fluidframework/id-compressor';
|
|
15
|
-
import { IIdCompressorCore } from '@fluidframework/id-compressor';
|
|
16
13
|
import { ILoaderOptions } from '@fluidframework/container-definitions';
|
|
17
14
|
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
18
15
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
@@ -25,13 +22,6 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
25
22
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
26
23
|
import { ITree } from '@fluidframework/protocol-definitions';
|
|
27
24
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
28
|
-
import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
29
|
-
import { SerializedIdCompressor } from '@fluidframework/id-compressor';
|
|
30
|
-
import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
|
|
31
|
-
import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
|
|
32
|
-
import { SessionId } from '@fluidframework/id-compressor';
|
|
33
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
34
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
35
25
|
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
36
26
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
37
27
|
|
|
@@ -75,10 +65,6 @@ import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
|
75
65
|
|
|
76
66
|
/* Excluded from this release type: IDataStore */
|
|
77
67
|
|
|
78
|
-
/* Excluded from this release type: IdCompressor */
|
|
79
|
-
|
|
80
|
-
/* Excluded from this release type: IdCreationRange */
|
|
81
|
-
|
|
82
68
|
/* Excluded from this release type: IDocumentStorageService */
|
|
83
69
|
|
|
84
70
|
/* Excluded from this release type: IEnvelope */
|
|
@@ -137,9 +123,6 @@ export declare interface IGarbageCollectionData {
|
|
|
137
123
|
}
|
|
138
124
|
|
|
139
125
|
/* Excluded from this release type: IGarbageCollectionDetailsBase */
|
|
140
|
-
export { IIdCompressor }
|
|
141
|
-
|
|
142
|
-
/* Excluded from this release type: IIdCompressorCore */
|
|
143
126
|
|
|
144
127
|
/**
|
|
145
128
|
* Represents ISignalMessage with its type.
|
|
@@ -242,18 +225,6 @@ export declare interface ITelemetryContext {
|
|
|
242
225
|
/* Excluded from this release type: NamedFluidDataStoreRegistryEntry */
|
|
243
226
|
|
|
244
227
|
/* Excluded from this release type: OpAttributionKey */
|
|
245
|
-
export { OpSpaceCompressedId }
|
|
246
|
-
|
|
247
|
-
/* Excluded from this release type: SerializedIdCompressor */
|
|
248
|
-
|
|
249
|
-
/* Excluded from this release type: SerializedIdCompressorWithNoSession */
|
|
250
|
-
|
|
251
|
-
/* Excluded from this release type: SerializedIdCompressorWithOngoingSession */
|
|
252
|
-
export { SessionId }
|
|
253
|
-
|
|
254
|
-
export { SessionSpaceCompressedId }
|
|
255
|
-
|
|
256
|
-
export { StableId }
|
|
257
228
|
|
|
258
229
|
/* Excluded from this release type: SummarizeInternalFn */
|
|
259
230
|
|
|
@@ -2,8 +2,6 @@ import { AttachState } from '@fluidframework/container-definitions';
|
|
|
2
2
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
3
3
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
4
4
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
5
|
-
import { IdCompressor } from '@fluidframework/id-compressor';
|
|
6
|
-
import { IdCreationRange } from '@fluidframework/id-compressor';
|
|
7
5
|
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
8
6
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
9
7
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
@@ -12,7 +10,6 @@ import { IEvent } from '@fluidframework/core-interfaces';
|
|
|
12
10
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
13
11
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
14
12
|
import { IIdCompressor } from '@fluidframework/id-compressor';
|
|
15
|
-
import { IIdCompressorCore } from '@fluidframework/id-compressor';
|
|
16
13
|
import { ILoaderOptions } from '@fluidframework/container-definitions';
|
|
17
14
|
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
18
15
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
@@ -25,13 +22,6 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
25
22
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
26
23
|
import { ITree } from '@fluidframework/protocol-definitions';
|
|
27
24
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
28
|
-
import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
29
|
-
import { SerializedIdCompressor } from '@fluidframework/id-compressor';
|
|
30
|
-
import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
|
|
31
|
-
import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
|
|
32
|
-
import { SessionId } from '@fluidframework/id-compressor';
|
|
33
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
34
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
35
25
|
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
36
26
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
37
27
|
|
|
@@ -75,10 +65,6 @@ import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
|
75
65
|
|
|
76
66
|
/* Excluded from this release type: IDataStore */
|
|
77
67
|
|
|
78
|
-
/* Excluded from this release type: IdCompressor */
|
|
79
|
-
|
|
80
|
-
/* Excluded from this release type: IdCreationRange */
|
|
81
|
-
|
|
82
68
|
/* Excluded from this release type: IDocumentStorageService */
|
|
83
69
|
|
|
84
70
|
/* Excluded from this release type: IEnvelope */
|
|
@@ -137,9 +123,6 @@ export declare interface IGarbageCollectionData {
|
|
|
137
123
|
}
|
|
138
124
|
|
|
139
125
|
/* Excluded from this release type: IGarbageCollectionDetailsBase */
|
|
140
|
-
export { IIdCompressor }
|
|
141
|
-
|
|
142
|
-
/* Excluded from this release type: IIdCompressorCore */
|
|
143
126
|
|
|
144
127
|
/**
|
|
145
128
|
* Represents ISignalMessage with its type.
|
|
@@ -242,18 +225,6 @@ export declare interface ITelemetryContext {
|
|
|
242
225
|
/* Excluded from this release type: NamedFluidDataStoreRegistryEntry */
|
|
243
226
|
|
|
244
227
|
/* Excluded from this release type: OpAttributionKey */
|
|
245
|
-
export { OpSpaceCompressedId }
|
|
246
|
-
|
|
247
|
-
/* Excluded from this release type: SerializedIdCompressor */
|
|
248
|
-
|
|
249
|
-
/* Excluded from this release type: SerializedIdCompressorWithNoSession */
|
|
250
|
-
|
|
251
|
-
/* Excluded from this release type: SerializedIdCompressorWithOngoingSession */
|
|
252
|
-
export { SessionId }
|
|
253
|
-
|
|
254
|
-
export { SessionSpaceCompressedId }
|
|
255
|
-
|
|
256
|
-
export { StableId }
|
|
257
228
|
|
|
258
229
|
/* Excluded from this release type: SummarizeInternalFn */
|
|
259
230
|
|
|
@@ -2,8 +2,6 @@ import { AttachState } from '@fluidframework/container-definitions';
|
|
|
2
2
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
3
3
|
import { IAudience } from '@fluidframework/container-definitions';
|
|
4
4
|
import { IClientDetails } from '@fluidframework/protocol-definitions';
|
|
5
|
-
import { IdCompressor } from '@fluidframework/id-compressor';
|
|
6
|
-
import { IdCreationRange } from '@fluidframework/id-compressor';
|
|
7
5
|
import { IDeltaManager } from '@fluidframework/container-definitions';
|
|
8
6
|
import { IDisposable } from '@fluidframework/core-interfaces';
|
|
9
7
|
import { IDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
@@ -12,7 +10,6 @@ import { IEvent } from '@fluidframework/core-interfaces';
|
|
|
12
10
|
import { IEventProvider } from '@fluidframework/core-interfaces';
|
|
13
11
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
14
12
|
import { IIdCompressor } from '@fluidframework/id-compressor';
|
|
15
|
-
import { IIdCompressorCore } from '@fluidframework/id-compressor';
|
|
16
13
|
import { ILoaderOptions } from '@fluidframework/container-definitions';
|
|
17
14
|
import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
18
15
|
import { IQuorumClients } from '@fluidframework/protocol-definitions';
|
|
@@ -25,13 +22,6 @@ import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
|
25
22
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
26
23
|
import { ITree } from '@fluidframework/protocol-definitions';
|
|
27
24
|
import type { IUser } from '@fluidframework/protocol-definitions';
|
|
28
|
-
import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
29
|
-
import { SerializedIdCompressor } from '@fluidframework/id-compressor';
|
|
30
|
-
import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
|
|
31
|
-
import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
|
|
32
|
-
import { SessionId } from '@fluidframework/id-compressor';
|
|
33
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
34
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
35
25
|
import { SummaryTree } from '@fluidframework/protocol-definitions';
|
|
36
26
|
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
37
27
|
|
|
@@ -228,7 +218,9 @@ export declare interface IContainerRuntimeBase extends IEventProvider<IContainer
|
|
|
228
218
|
readonly clientDetails: IClientDetails;
|
|
229
219
|
/**
|
|
230
220
|
* Invokes the given callback and guarantees that all operations generated within the callback will be ordered
|
|
231
|
-
* sequentially.
|
|
221
|
+
* sequentially.
|
|
222
|
+
*
|
|
223
|
+
* If the callback throws an error, the container will close and the error will be logged.
|
|
232
224
|
*/
|
|
233
225
|
orderSequentially(callback: () => void): void;
|
|
234
226
|
/**
|
|
@@ -248,13 +240,18 @@ export declare interface IContainerRuntimeBase extends IEventProvider<IContainer
|
|
|
248
240
|
* already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this
|
|
249
241
|
* store being attached to storage.
|
|
250
242
|
* @param pkg - Package name of the data store factory
|
|
243
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
244
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
251
245
|
*/
|
|
252
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
246
|
+
createDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;
|
|
253
247
|
/**
|
|
254
248
|
* Creates detached data store context. Only after context.attachRuntime() is called,
|
|
255
249
|
* data store initialization is considered complete.
|
|
250
|
+
* @param pkg - Package name of the data store factory
|
|
251
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
252
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
256
253
|
*/
|
|
257
|
-
createDetachedDataStore(pkg: Readonly<string[]
|
|
254
|
+
createDetachedDataStore(pkg: Readonly<string[]>, groupId?: string): IFluidDataStoreContextDetached;
|
|
258
255
|
/**
|
|
259
256
|
* Get an absolute url for a provided container-relative request.
|
|
260
257
|
* Returns undefined if the container or data store isn't attached to storage.
|
|
@@ -310,10 +307,6 @@ export declare interface IDataStore {
|
|
|
310
307
|
readonly entryPoint: IFluidHandle<FluidObject>;
|
|
311
308
|
}
|
|
312
309
|
|
|
313
|
-
export { IdCompressor }
|
|
314
|
-
|
|
315
|
-
export { IdCreationRange }
|
|
316
|
-
|
|
317
310
|
/**
|
|
318
311
|
* An envelope wraps the contents with the intended target
|
|
319
312
|
* @alpha
|
|
@@ -470,6 +463,7 @@ export declare interface IFluidDataStoreContext extends IEventProvider<IFluidDat
|
|
|
470
463
|
readonly logger: ITelemetryBaseLogger;
|
|
471
464
|
readonly clientDetails: IClientDetails;
|
|
472
465
|
readonly idCompressor?: IIdCompressor;
|
|
466
|
+
readonly groupId?: string;
|
|
473
467
|
/**
|
|
474
468
|
* Indicates the attachment state of the data store to a host service.
|
|
475
469
|
*/
|
|
@@ -647,10 +641,6 @@ export declare interface IGarbageCollectionDetailsBase {
|
|
|
647
641
|
gcData?: IGarbageCollectionData;
|
|
648
642
|
}
|
|
649
643
|
|
|
650
|
-
export { IIdCompressor }
|
|
651
|
-
|
|
652
|
-
export { IIdCompressorCore }
|
|
653
|
-
|
|
654
644
|
/**
|
|
655
645
|
* Represents ISignalMessage with its type.
|
|
656
646
|
* @public
|
|
@@ -686,6 +676,7 @@ export declare interface IProvideFluidDataStoreRegistry {
|
|
|
686
676
|
|
|
687
677
|
/**
|
|
688
678
|
* @internal
|
|
679
|
+
* @deprecated - This interface is now moved to `@fluidframework/container-definitions` package. Please import from that package.
|
|
689
680
|
*/
|
|
690
681
|
export declare interface ISignalEnvelope {
|
|
691
682
|
/**
|
|
@@ -753,9 +744,6 @@ export declare interface ISummarizerNode {
|
|
|
753
744
|
invalidate(sequenceNumber: number): void;
|
|
754
745
|
/**
|
|
755
746
|
* Calls the internal summarize function and handles internal state tracking.
|
|
756
|
-
* If unchanged and fullTree is false, it will reuse previous summary subtree.
|
|
757
|
-
* If an error is encountered and throwOnFailure is false, it will try to make
|
|
758
|
-
* a summary with a pointer to the previous summary + a blob of outstanding ops.
|
|
759
747
|
* @param fullTree - true to skip optimizations and always generate the full tree
|
|
760
748
|
* @param trackState - indicates whether the summarizer node should track the state of the summary or not
|
|
761
749
|
* @param telemetryContext - summary data passed through the layers for telemetry purposes
|
|
@@ -809,16 +797,6 @@ export declare interface ISummarizerNodeConfig {
|
|
|
809
797
|
* Defaults to true.
|
|
810
798
|
*/
|
|
811
799
|
readonly canReuseHandle?: boolean;
|
|
812
|
-
/**
|
|
813
|
-
* True to always stop execution on error during summarize, or false to
|
|
814
|
-
* attempt creating a summary that is a pointer ot the last acked summary
|
|
815
|
-
* plus outstanding ops in case of internal summarize failure.
|
|
816
|
-
* Defaults to false.
|
|
817
|
-
*
|
|
818
|
-
* BUG BUG: Default to true while we investigate problem
|
|
819
|
-
* with differential summaries
|
|
820
|
-
*/
|
|
821
|
-
readonly throwOnFailure?: true;
|
|
822
800
|
}
|
|
823
801
|
|
|
824
802
|
/**
|
|
@@ -1011,20 +989,6 @@ export declare interface OpAttributionKey {
|
|
|
1011
989
|
seq: number;
|
|
1012
990
|
}
|
|
1013
991
|
|
|
1014
|
-
export { OpSpaceCompressedId }
|
|
1015
|
-
|
|
1016
|
-
export { SerializedIdCompressor }
|
|
1017
|
-
|
|
1018
|
-
export { SerializedIdCompressorWithNoSession }
|
|
1019
|
-
|
|
1020
|
-
export { SerializedIdCompressorWithOngoingSession }
|
|
1021
|
-
|
|
1022
|
-
export { SessionId }
|
|
1023
|
-
|
|
1024
|
-
export { SessionSpaceCompressedId }
|
|
1025
|
-
|
|
1026
|
-
export { StableId }
|
|
1027
|
-
|
|
1028
992
|
/**
|
|
1029
993
|
* @alpha
|
|
1030
994
|
*/
|
package/dist/summary.d.ts
CHANGED
|
@@ -105,16 +105,6 @@ export interface ISummarizerNodeConfig {
|
|
|
105
105
|
* Defaults to true.
|
|
106
106
|
*/
|
|
107
107
|
readonly canReuseHandle?: boolean;
|
|
108
|
-
/**
|
|
109
|
-
* True to always stop execution on error during summarize, or false to
|
|
110
|
-
* attempt creating a summary that is a pointer ot the last acked summary
|
|
111
|
-
* plus outstanding ops in case of internal summarize failure.
|
|
112
|
-
* Defaults to false.
|
|
113
|
-
*
|
|
114
|
-
* BUG BUG: Default to true while we investigate problem
|
|
115
|
-
* with differential summaries
|
|
116
|
-
*/
|
|
117
|
-
readonly throwOnFailure?: true;
|
|
118
108
|
}
|
|
119
109
|
/**
|
|
120
110
|
* @alpha
|
|
@@ -161,9 +151,6 @@ export interface ISummarizerNode {
|
|
|
161
151
|
invalidate(sequenceNumber: number): void;
|
|
162
152
|
/**
|
|
163
153
|
* Calls the internal summarize function and handles internal state tracking.
|
|
164
|
-
* If unchanged and fullTree is false, it will reuse previous summary subtree.
|
|
165
|
-
* If an error is encountered and throwOnFailure is false, it will try to make
|
|
166
|
-
* a summary with a pointer to the previous summary + a blob of outstanding ops.
|
|
167
154
|
* @param fullTree - true to skip optimizations and always generate the full tree
|
|
168
155
|
* @param trackState - indicates whether the summarizer node should track the state of the summary or not
|
|
169
156
|
* @param telemetryContext - summary data passed through the layers for telemetry purposes
|
package/dist/summary.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACN,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,aAAa,EACb,KAAK,EACL,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,YAAY,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IACjE,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,sCAAsC;IACtD;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;;;;;;;OASG;IAEH,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,EACnB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,KAC9D,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"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"}
|
package/dist/summary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmJH;;GAEG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACrC,yFAAW,CAAA;IACX,uFAAU,CAAA;IACV,6EAAK,CAAA;AACN,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAuKD;;GAEG;AACU,QAAA,gBAAgB,GAAG,WAAW,CAAC;AA2C5C;;GAEG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACU,QAAA,yBAAyB,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TelemetryEventPropertyType } from \"@fluidframework/core-interfaces\";\nimport {\n\tSummaryTree,\n\tISummaryTree,\n\tISequencedDocumentMessage,\n\tISnapshotTree,\n\tITree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IGarbageCollectionData, IGarbageCollectionDetailsBase } from \"./garbageCollection\";\n\n/**\n * Contains the aggregation data from a Tree/Subtree.\n * @public\n */\nexport interface ISummaryStats {\n\ttreeNodeCount: number;\n\tblobNodeCount: number;\n\thandleNodeCount: number;\n\ttotalBlobSize: number;\n\tunreferencedBlobSize: number;\n}\n\n/**\n * Represents the summary tree for a node along with the statistics for that tree.\n * For example, for a given data store, it contains the data for data store along with a subtree for\n * each of its DDS.\n * Any component that implements IChannelContext, IFluidDataStoreChannel or extends SharedObject\n * will be taking part of the summarization process.\n * @public\n */\nexport interface ISummaryTreeWithStats {\n\t/**\n\t * Represents an aggregation of node counts and blob sizes associated to the current summary information\n\t */\n\tstats: ISummaryStats;\n\t/**\n\t * A recursive data structure that will be converted to a snapshot tree and uploaded\n\t * to the backend.\n\t */\n\tsummary: ISummaryTree;\n}\n\n/**\n * Represents a summary at a current sequence number.\n * @alpha\n */\nexport interface ISummarizeResult {\n\tstats: ISummaryStats;\n\tsummary: SummaryTree;\n}\n\n/**\n * Contains the same data as ISummaryResult but in order to avoid naming collisions,\n * the data store summaries are wrapped around an array of labels identified by pathPartsForChildren.\n *\n * @example\n *\n * ```typescript\n * id:\"\"\n * pathPartsForChildren: [\"path1\"]\n * stats: ...\n * summary:\n * ...\n * \"path1\":\n * ```\n * @alpha\n */\nexport interface ISummarizeInternalResult extends ISummarizeResult {\n\tid: string;\n\t/**\n\t * Additional path parts between this node's ID and its children's IDs.\n\t */\n\tpathPartsForChildren?: string[];\n}\n\n/**\n * @experimental - Can be deleted/changed at any time\n * Contains the necessary information to allow DDSes to do incremental summaries\n * @public\n */\nexport interface IExperimentalIncrementalSummaryContext {\n\t/**\n\t * The sequence number of the summary generated that will be sent to the server.\n\t */\n\tsummarySequenceNumber: number;\n\t/**\n\t * The sequence number of the most recent summary that was acknowledged by the server.\n\t */\n\tlatestSummarySequenceNumber: number;\n\t/**\n\t * The path to the runtime/datastore/dds that is used to generate summary handles\n\t * Note: Summary handles are nodes of the summary tree that point to previous parts of the last successful summary\n\t * instead of being a blob or tree node\n\t *\n\t * This path contains the id of the data store and dds which should not be leaked to layers below them. Ideally,\n\t * a layer should not know its own id. This is important for channel unification work and there has been a lot of\n\t * work to remove these kinds of leakages. Some still exist, which have to be fixed but we should not be adding\n\t * more dependencies.\n\t */\n\t// TODO: remove summaryPath\n\tsummaryPath: string;\n}\n\n/**\n * @alpha\n */\nexport type SummarizeInternalFn = (\n\tfullTree: boolean,\n\ttrackState: boolean,\n\ttelemetryContext?: ITelemetryContext,\n\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext,\n) => Promise<ISummarizeInternalResult>;\n\n/**\n * @alpha\n */\nexport interface ISummarizerNodeConfig {\n\t/**\n\t * True to reuse previous handle when unchanged since last acked summary.\n\t * Defaults to true.\n\t */\n\treadonly canReuseHandle?: boolean;\n\t/**\n\t * True to always stop execution on error during summarize, or false to\n\t * attempt creating a summary that is a pointer ot the last acked summary\n\t * plus outstanding ops in case of internal summarize failure.\n\t * Defaults to false.\n\t *\n\t * BUG BUG: Default to true while we investigate problem\n\t * with differential summaries\n\t */\n\treadonly throwOnFailure?: true;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerNodeConfigWithGC extends ISummarizerNodeConfig {\n\t/**\n\t * True if GC is disabled. If so, don't track GC related state for a summary.\n\t * This is propagated to all child nodes.\n\t */\n\treadonly gcDisabled?: boolean;\n}\n\n/**\n * @alpha\n */\nexport enum CreateSummarizerNodeSource {\n\tFromSummary,\n\tFromAttach,\n\tLocal,\n}\n/**\n * @alpha\n */\nexport type CreateChildSummarizerNodeParam =\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.FromSummary;\n\t }\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.FromAttach;\n\t\t\tsequenceNumber: number;\n\t\t\tsnapshot: ITree;\n\t }\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.Local;\n\t };\n\n/**\n * @alpha\n */\nexport interface ISummarizerNode {\n\t/**\n\t * Latest successfully acked summary reference sequence number\n\t */\n\treadonly referenceSequenceNumber: number;\n\t/**\n\t * Marks the node as having a change with the given sequence number.\n\t * @param sequenceNumber - sequence number of change\n\t */\n\tinvalidate(sequenceNumber: number): void;\n\t/**\n\t * Calls the internal summarize function and handles internal state tracking.\n\t * If unchanged and fullTree is false, it will reuse previous summary subtree.\n\t * If an error is encountered and throwOnFailure is false, it will try to make\n\t * a summary with a pointer to the previous summary + a blob of outstanding ops.\n\t * @param fullTree - true to skip optimizations and always generate the full tree\n\t * @param trackState - indicates whether the summarizer node should track the state of the summary or not\n\t * @param telemetryContext - summary data passed through the layers for telemetry purposes\n\t */\n\tsummarize(\n\t\tfullTree: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummarizeResult>;\n\t/**\n\t * Checks if there are any additional path parts for children that need to\n\t * be loaded from the base summary. Additional path parts represent parts\n\t * of the path between this SummarizerNode and any child SummarizerNodes\n\t * that it might have. For example: if datastore \"a\" contains dds \"b\", but the\n\t * path is \"/a/.channels/b\", then the additional path part is \".channels\".\n\t * @param snapshot - the base summary to parse\n\t */\n\tupdateBaseSummaryState(snapshot: ISnapshotTree): void;\n\t/**\n\t * Records an op representing a change to this node/subtree.\n\t * @param op - op of change to record\n\t */\n\trecordChange(op: ISequencedDocumentMessage): void;\n\n\tcreateChild(\n\t\t/**\n\t\t * Summarize function\n\t\t */\n\t\tsummarizeInternalFn: SummarizeInternalFn,\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t\t/**\n\t\t * Optional configuration affecting summarize behavior\n\t\t */\n\t\tconfig?: ISummarizerNodeConfig,\n\t): ISummarizerNode;\n\n\tgetChild(id: string): ISummarizerNode | undefined;\n\n\t/** True if a summary is currently in progress */\n\tisSummaryInProgress?(): boolean;\n}\n\n/**\n * Extends the functionality of ISummarizerNode to support garbage collection. It adds / updates the following APIs:\n *\n * `usedRoutes`: The routes in this node that are currently in use.\n *\n * `getGCData`: A new API that can be used to get the garbage collection data for this node.\n *\n * `summarize`: Added a trackState flag which indicates whether the summarizer node should track the state of the\n * summary or not.\n *\n * `createChild`: Added the following params:\n *\n * - `getGCDataFn`: This gets the GC data from the caller. This must be provided in order for getGCData to work.\n *\n * - `getInitialGCDetailsFn`: This gets the initial GC details from the caller.\n *\n * `deleteChild`: Deletes a child node.\n *\n * `isReferenced`: This tells whether this node is referenced in the document or not.\n *\n * `updateUsedRoutes`: Used to notify this node of routes that are currently in use in it.\n * @alpha\n */\nexport interface ISummarizerNodeWithGC extends ISummarizerNode {\n\tcreateChild(\n\t\t/**\n\t\t * Summarize function\n\t\t */\n\t\tsummarizeInternalFn: SummarizeInternalFn,\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t\t/**\n\t\t * Optional configuration affecting summarize behavior\n\t\t */\n\t\tconfig?: ISummarizerNodeConfigWithGC,\n\t\tgetGCDataFn?: (fullGC?: boolean) => Promise<IGarbageCollectionData>,\n\t\t/**\n\t\t * @deprecated The functionality to update child's base GC details is incorporated in the summarizer node.\n\t\t */\n\t\tgetBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,\n\t): ISummarizerNodeWithGC;\n\n\t/**\n\t * Delete the child with the given id..\n\t */\n\tdeleteChild(id: string): void;\n\n\tgetChild(id: string): ISummarizerNodeWithGC | undefined;\n\n\t/**\n\t * Returns this node's data that is used for garbage collection. This includes a list of GC nodes that represent\n\t * this node. Each node has a set of outbound routes to other GC nodes in the document.\n\t * @param fullGC - true to bypass optimizations and force full generation of GC data.\n\t */\n\tgetGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;\n\n\t/**\n\t * Tells whether this node is being referenced in this document or not. Unreferenced node will get GC'd\n\t */\n\tisReferenced(): boolean;\n\n\t/**\n\t * After GC has run, called to notify this node of routes that are used in it. These are used for the following:\n\t * 1. To identify if this node is being referenced in the document or not.\n\t * 2. To identify if this node or any of its children's used routes changed since last summary.\n\t *\n\t * @param usedRoutes - The routes that are used in this node.\n\t */\n\tupdateUsedRoutes(usedRoutes: string[]): void;\n}\n\n/**\n * @internal\n */\nexport const channelsTreeName = \".channels\";\n\n/**\n * Contains telemetry data relevant to summarization workflows.\n * This object is expected to be modified directly by various summarize methods.\n * @public\n */\nexport interface ITelemetryContext {\n\t/**\n\t * Sets value for telemetry data being tracked.\n\t * @param prefix - unique prefix to tag this data with (ex: \"fluid:map:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"DirectoryCount\")\n\t * @param value - value to attribute to this summary telemetry data\n\t */\n\tset(prefix: string, property: string, value: TelemetryEventPropertyType): void;\n\n\t/**\n\t * Sets multiple values for telemetry data being tracked.\n\t * @param prefix - unique prefix to tag this data with (ex: \"fluid:summarize:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"Options\")\n\t * @param values - A set of values to attribute to this summary telemetry data.\n\t */\n\tsetMultiple(\n\t\tprefix: string,\n\t\tproperty: string,\n\t\tvalues: Record<string, TelemetryEventPropertyType>,\n\t): void;\n\n\t/**\n\t * Get the telemetry data being tracked\n\t * @param prefix - unique prefix for this data (ex: \"fluid:map:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"DirectoryCount\")\n\t * @returns undefined if item not found\n\t */\n\tget(prefix: string, property: string): TelemetryEventPropertyType;\n\n\t/**\n\t * Returns a serialized version of all the telemetry data.\n\t * Should be used when logging in telemetry events.\n\t */\n\tserialize(): string;\n}\n\n/**\n * @internal\n */\nexport const blobCountPropertyName = \"BlobCount\";\n\n/**\n * @internal\n */\nexport const totalBlobSizePropertyName = \"TotalBlobSize\";\n"]}
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAyIH;;GAEG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACrC,yFAAW,CAAA;IACX,uFAAU,CAAA;IACV,6EAAK,CAAA;AACN,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAoKD;;GAEG;AACU,QAAA,gBAAgB,GAAG,WAAW,CAAC;AA2C5C;;GAEG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACU,QAAA,yBAAyB,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TelemetryEventPropertyType } from \"@fluidframework/core-interfaces\";\nimport {\n\tSummaryTree,\n\tISummaryTree,\n\tISequencedDocumentMessage,\n\tISnapshotTree,\n\tITree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IGarbageCollectionData, IGarbageCollectionDetailsBase } from \"./garbageCollection\";\n\n/**\n * Contains the aggregation data from a Tree/Subtree.\n * @public\n */\nexport interface ISummaryStats {\n\ttreeNodeCount: number;\n\tblobNodeCount: number;\n\thandleNodeCount: number;\n\ttotalBlobSize: number;\n\tunreferencedBlobSize: number;\n}\n\n/**\n * Represents the summary tree for a node along with the statistics for that tree.\n * For example, for a given data store, it contains the data for data store along with a subtree for\n * each of its DDS.\n * Any component that implements IChannelContext, IFluidDataStoreChannel or extends SharedObject\n * will be taking part of the summarization process.\n * @public\n */\nexport interface ISummaryTreeWithStats {\n\t/**\n\t * Represents an aggregation of node counts and blob sizes associated to the current summary information\n\t */\n\tstats: ISummaryStats;\n\t/**\n\t * A recursive data structure that will be converted to a snapshot tree and uploaded\n\t * to the backend.\n\t */\n\tsummary: ISummaryTree;\n}\n\n/**\n * Represents a summary at a current sequence number.\n * @alpha\n */\nexport interface ISummarizeResult {\n\tstats: ISummaryStats;\n\tsummary: SummaryTree;\n}\n\n/**\n * Contains the same data as ISummaryResult but in order to avoid naming collisions,\n * the data store summaries are wrapped around an array of labels identified by pathPartsForChildren.\n *\n * @example\n *\n * ```typescript\n * id:\"\"\n * pathPartsForChildren: [\"path1\"]\n * stats: ...\n * summary:\n * ...\n * \"path1\":\n * ```\n * @alpha\n */\nexport interface ISummarizeInternalResult extends ISummarizeResult {\n\tid: string;\n\t/**\n\t * Additional path parts between this node's ID and its children's IDs.\n\t */\n\tpathPartsForChildren?: string[];\n}\n\n/**\n * @experimental - Can be deleted/changed at any time\n * Contains the necessary information to allow DDSes to do incremental summaries\n * @public\n */\nexport interface IExperimentalIncrementalSummaryContext {\n\t/**\n\t * The sequence number of the summary generated that will be sent to the server.\n\t */\n\tsummarySequenceNumber: number;\n\t/**\n\t * The sequence number of the most recent summary that was acknowledged by the server.\n\t */\n\tlatestSummarySequenceNumber: number;\n\t/**\n\t * The path to the runtime/datastore/dds that is used to generate summary handles\n\t * Note: Summary handles are nodes of the summary tree that point to previous parts of the last successful summary\n\t * instead of being a blob or tree node\n\t *\n\t * This path contains the id of the data store and dds which should not be leaked to layers below them. Ideally,\n\t * a layer should not know its own id. This is important for channel unification work and there has been a lot of\n\t * work to remove these kinds of leakages. Some still exist, which have to be fixed but we should not be adding\n\t * more dependencies.\n\t */\n\t// TODO: remove summaryPath\n\tsummaryPath: string;\n}\n\n/**\n * @alpha\n */\nexport type SummarizeInternalFn = (\n\tfullTree: boolean,\n\ttrackState: boolean,\n\ttelemetryContext?: ITelemetryContext,\n\tincrementalSummaryContext?: IExperimentalIncrementalSummaryContext,\n) => Promise<ISummarizeInternalResult>;\n\n/**\n * @alpha\n */\nexport interface ISummarizerNodeConfig {\n\t/**\n\t * True to reuse previous handle when unchanged since last acked summary.\n\t * Defaults to true.\n\t */\n\treadonly canReuseHandle?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerNodeConfigWithGC extends ISummarizerNodeConfig {\n\t/**\n\t * True if GC is disabled. If so, don't track GC related state for a summary.\n\t * This is propagated to all child nodes.\n\t */\n\treadonly gcDisabled?: boolean;\n}\n\n/**\n * @alpha\n */\nexport enum CreateSummarizerNodeSource {\n\tFromSummary,\n\tFromAttach,\n\tLocal,\n}\n/**\n * @alpha\n */\nexport type CreateChildSummarizerNodeParam =\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.FromSummary;\n\t }\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.FromAttach;\n\t\t\tsequenceNumber: number;\n\t\t\tsnapshot: ITree;\n\t }\n\t| {\n\t\t\ttype: CreateSummarizerNodeSource.Local;\n\t };\n\n/**\n * @alpha\n */\nexport interface ISummarizerNode {\n\t/**\n\t * Latest successfully acked summary reference sequence number\n\t */\n\treadonly referenceSequenceNumber: number;\n\t/**\n\t * Marks the node as having a change with the given sequence number.\n\t * @param sequenceNumber - sequence number of change\n\t */\n\tinvalidate(sequenceNumber: number): void;\n\t/**\n\t * Calls the internal summarize function and handles internal state tracking.\n\t * @param fullTree - true to skip optimizations and always generate the full tree\n\t * @param trackState - indicates whether the summarizer node should track the state of the summary or not\n\t * @param telemetryContext - summary data passed through the layers for telemetry purposes\n\t */\n\tsummarize(\n\t\tfullTree: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummarizeResult>;\n\t/**\n\t * Checks if there are any additional path parts for children that need to\n\t * be loaded from the base summary. Additional path parts represent parts\n\t * of the path between this SummarizerNode and any child SummarizerNodes\n\t * that it might have. For example: if datastore \"a\" contains dds \"b\", but the\n\t * path is \"/a/.channels/b\", then the additional path part is \".channels\".\n\t * @param snapshot - the base summary to parse\n\t */\n\tupdateBaseSummaryState(snapshot: ISnapshotTree): void;\n\t/**\n\t * Records an op representing a change to this node/subtree.\n\t * @param op - op of change to record\n\t */\n\trecordChange(op: ISequencedDocumentMessage): void;\n\n\tcreateChild(\n\t\t/**\n\t\t * Summarize function\n\t\t */\n\t\tsummarizeInternalFn: SummarizeInternalFn,\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t\t/**\n\t\t * Optional configuration affecting summarize behavior\n\t\t */\n\t\tconfig?: ISummarizerNodeConfig,\n\t): ISummarizerNode;\n\n\tgetChild(id: string): ISummarizerNode | undefined;\n\n\t/** True if a summary is currently in progress */\n\tisSummaryInProgress?(): boolean;\n}\n\n/**\n * Extends the functionality of ISummarizerNode to support garbage collection. It adds / updates the following APIs:\n *\n * `usedRoutes`: The routes in this node that are currently in use.\n *\n * `getGCData`: A new API that can be used to get the garbage collection data for this node.\n *\n * `summarize`: Added a trackState flag which indicates whether the summarizer node should track the state of the\n * summary or not.\n *\n * `createChild`: Added the following params:\n *\n * - `getGCDataFn`: This gets the GC data from the caller. This must be provided in order for getGCData to work.\n *\n * - `getInitialGCDetailsFn`: This gets the initial GC details from the caller.\n *\n * `deleteChild`: Deletes a child node.\n *\n * `isReferenced`: This tells whether this node is referenced in the document or not.\n *\n * `updateUsedRoutes`: Used to notify this node of routes that are currently in use in it.\n * @alpha\n */\nexport interface ISummarizerNodeWithGC extends ISummarizerNode {\n\tcreateChild(\n\t\t/**\n\t\t * Summarize function\n\t\t */\n\t\tsummarizeInternalFn: SummarizeInternalFn,\n\t\t/**\n\t\t * Initial id or path part of this node\n\t\t */\n\t\tid: string,\n\t\t/**\n\t\t * Information needed to create the node.\n\t\t * If it is from a base summary, it will assert that a summary has been seen.\n\t\t * Attach information if it is created from an attach op.\n\t\t * If it is local, it will throw unsupported errors on calls to summarize.\n\t\t */\n\t\tcreateParam: CreateChildSummarizerNodeParam,\n\t\t/**\n\t\t * Optional configuration affecting summarize behavior\n\t\t */\n\t\tconfig?: ISummarizerNodeConfigWithGC,\n\t\tgetGCDataFn?: (fullGC?: boolean) => Promise<IGarbageCollectionData>,\n\t\t/**\n\t\t * @deprecated The functionality to update child's base GC details is incorporated in the summarizer node.\n\t\t */\n\t\tgetBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,\n\t): ISummarizerNodeWithGC;\n\n\t/**\n\t * Delete the child with the given id..\n\t */\n\tdeleteChild(id: string): void;\n\n\tgetChild(id: string): ISummarizerNodeWithGC | undefined;\n\n\t/**\n\t * Returns this node's data that is used for garbage collection. This includes a list of GC nodes that represent\n\t * this node. Each node has a set of outbound routes to other GC nodes in the document.\n\t * @param fullGC - true to bypass optimizations and force full generation of GC data.\n\t */\n\tgetGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;\n\n\t/**\n\t * Tells whether this node is being referenced in this document or not. Unreferenced node will get GC'd\n\t */\n\tisReferenced(): boolean;\n\n\t/**\n\t * After GC has run, called to notify this node of routes that are used in it. These are used for the following:\n\t * 1. To identify if this node is being referenced in the document or not.\n\t * 2. To identify if this node or any of its children's used routes changed since last summary.\n\t *\n\t * @param usedRoutes - The routes that are used in this node.\n\t */\n\tupdateUsedRoutes(usedRoutes: string[]): void;\n}\n\n/**\n * @internal\n */\nexport const channelsTreeName = \".channels\";\n\n/**\n * Contains telemetry data relevant to summarization workflows.\n * This object is expected to be modified directly by various summarize methods.\n * @public\n */\nexport interface ITelemetryContext {\n\t/**\n\t * Sets value for telemetry data being tracked.\n\t * @param prefix - unique prefix to tag this data with (ex: \"fluid:map:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"DirectoryCount\")\n\t * @param value - value to attribute to this summary telemetry data\n\t */\n\tset(prefix: string, property: string, value: TelemetryEventPropertyType): void;\n\n\t/**\n\t * Sets multiple values for telemetry data being tracked.\n\t * @param prefix - unique prefix to tag this data with (ex: \"fluid:summarize:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"Options\")\n\t * @param values - A set of values to attribute to this summary telemetry data.\n\t */\n\tsetMultiple(\n\t\tprefix: string,\n\t\tproperty: string,\n\t\tvalues: Record<string, TelemetryEventPropertyType>,\n\t): void;\n\n\t/**\n\t * Get the telemetry data being tracked\n\t * @param prefix - unique prefix for this data (ex: \"fluid:map:\")\n\t * @param property - property name of the telemetry data being tracked (ex: \"DirectoryCount\")\n\t * @returns undefined if item not found\n\t */\n\tget(prefix: string, property: string): TelemetryEventPropertyType;\n\n\t/**\n\t * Returns a serialized version of all the telemetry data.\n\t * Should be used when logging in telemetry events.\n\t */\n\tserialize(): string;\n}\n\n/**\n * @internal\n */\nexport const blobCountPropertyName = \"BlobCount\";\n\n/**\n * @internal\n */\nexport const totalBlobSizePropertyName = \"TotalBlobSize\";\n"]}
|
package/dist/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/runtime-definitions",
|
|
3
|
-
"version": "2.0.0-dev-rc.1.0.0.
|
|
3
|
+
"version": "2.0.0-dev-rc.1.0.0.232845",
|
|
4
4
|
"description": "Fluid Runtime definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -37,20 +37,20 @@
|
|
|
37
37
|
"main": "dist/index.js",
|
|
38
38
|
"types": "dist/index.d.ts",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@fluidframework/container-definitions": "2.0.0-dev-rc.1.0.0.
|
|
41
|
-
"@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.
|
|
42
|
-
"@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.
|
|
43
|
-
"@fluidframework/id-compressor": "2.0.0-dev-rc.1.0.0.
|
|
44
|
-
"@fluidframework/protocol-definitions": "^3.
|
|
40
|
+
"@fluidframework/container-definitions": "2.0.0-dev-rc.1.0.0.232845",
|
|
41
|
+
"@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.232845",
|
|
42
|
+
"@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.232845",
|
|
43
|
+
"@fluidframework/id-compressor": "2.0.0-dev-rc.1.0.0.232845",
|
|
44
|
+
"@fluidframework/protocol-definitions": "^3.2.0-231454"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@arethetypeswrong/cli": "^0.13.3",
|
|
48
48
|
"@fluid-tools/build-cli": "^0.29.0",
|
|
49
49
|
"@fluidframework/build-common": "^2.0.3",
|
|
50
50
|
"@fluidframework/build-tools": "^0.29.0",
|
|
51
|
-
"@fluidframework/eslint-config-fluid": "^3.
|
|
51
|
+
"@fluidframework/eslint-config-fluid": "^3.3.0",
|
|
52
52
|
"@fluidframework/runtime-definitions-previous": "npm:@fluidframework/runtime-definitions@2.0.0-internal.8.0.0",
|
|
53
|
-
"@microsoft/api-extractor": "^7.
|
|
53
|
+
"@microsoft/api-extractor": "^7.39.1",
|
|
54
54
|
"copyfiles": "^2.4.1",
|
|
55
55
|
"eslint": "~8.50.0",
|
|
56
56
|
"eslint-plugin-deprecation": "~2.0.0",
|
|
@@ -71,11 +71,49 @@
|
|
|
71
71
|
},
|
|
72
72
|
"typeValidation": {
|
|
73
73
|
"broken": {
|
|
74
|
-
"
|
|
75
|
-
"forwardCompat": false
|
|
74
|
+
"RemovedInterfaceDeclaration_IIdCompressorCore": {
|
|
75
|
+
"forwardCompat": false,
|
|
76
|
+
"backCompat": false
|
|
76
77
|
},
|
|
77
|
-
"
|
|
78
|
-
"forwardCompat": false
|
|
78
|
+
"RemovedClassDeclaration_IdCompressor": {
|
|
79
|
+
"forwardCompat": false,
|
|
80
|
+
"backCompat": false
|
|
81
|
+
},
|
|
82
|
+
"RemovedInterfaceDeclaration_IIdCompressor": {
|
|
83
|
+
"forwardCompat": false,
|
|
84
|
+
"backCompat": false
|
|
85
|
+
},
|
|
86
|
+
"RemovedInterfaceDeclaration_IdCreationRange": {
|
|
87
|
+
"forwardCompat": false,
|
|
88
|
+
"backCompat": false
|
|
89
|
+
},
|
|
90
|
+
"RemovedTypeAliasDeclaration_OpSpaceCompressedId": {
|
|
91
|
+
"forwardCompat": false,
|
|
92
|
+
"backCompat": false
|
|
93
|
+
},
|
|
94
|
+
"RemovedTypeAliasDeclaration_SerializedIdCompressor": {
|
|
95
|
+
"forwardCompat": false,
|
|
96
|
+
"backCompat": false
|
|
97
|
+
},
|
|
98
|
+
"RemovedTypeAliasDeclaration_SerializedIdCompressorWithNoSession": {
|
|
99
|
+
"forwardCompat": false,
|
|
100
|
+
"backCompat": false
|
|
101
|
+
},
|
|
102
|
+
"RemovedTypeAliasDeclaration_SerializedIdCompressorWithOngoingSession": {
|
|
103
|
+
"forwardCompat": false,
|
|
104
|
+
"backCompat": false
|
|
105
|
+
},
|
|
106
|
+
"RemovedTypeAliasDeclaration_SessionId": {
|
|
107
|
+
"forwardCompat": false,
|
|
108
|
+
"backCompat": false
|
|
109
|
+
},
|
|
110
|
+
"RemovedTypeAliasDeclaration_SessionSpaceCompressedId": {
|
|
111
|
+
"forwardCompat": false,
|
|
112
|
+
"backCompat": false
|
|
113
|
+
},
|
|
114
|
+
"RemovedTypeAliasDeclaration_StableId": {
|
|
115
|
+
"forwardCompat": false,
|
|
116
|
+
"backCompat": false
|
|
79
117
|
}
|
|
80
118
|
}
|
|
81
119
|
},
|
package/src/dataStoreContext.ts
CHANGED
|
@@ -170,7 +170,9 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
172
|
* Invokes the given callback and guarantees that all operations generated within the callback will be ordered
|
|
173
|
-
* sequentially.
|
|
173
|
+
* sequentially.
|
|
174
|
+
*
|
|
175
|
+
* If the callback throws an error, the container will close and the error will be logged.
|
|
174
176
|
*/
|
|
175
177
|
orderSequentially(callback: () => void): void;
|
|
176
178
|
|
|
@@ -197,14 +199,22 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
|
|
|
197
199
|
* already attached DDS (or non-attached DDS that will eventually get attached to storage) will result in this
|
|
198
200
|
* store being attached to storage.
|
|
199
201
|
* @param pkg - Package name of the data store factory
|
|
202
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
203
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
200
204
|
*/
|
|
201
|
-
createDataStore(pkg: string | string[]): Promise<IDataStore>;
|
|
205
|
+
createDataStore(pkg: string | string[], groupId?: string): Promise<IDataStore>;
|
|
202
206
|
|
|
203
207
|
/**
|
|
204
208
|
* Creates detached data store context. Only after context.attachRuntime() is called,
|
|
205
209
|
* data store initialization is considered complete.
|
|
210
|
+
* @param pkg - Package name of the data store factory
|
|
211
|
+
* @param groupId - group to which this data stores belongs to. This is also known at service side and can be used to
|
|
212
|
+
* fetch snapshot contents like snapshot tree, blobs using this id from the storage.
|
|
206
213
|
*/
|
|
207
|
-
createDetachedDataStore(
|
|
214
|
+
createDetachedDataStore(
|
|
215
|
+
pkg: Readonly<string[]>,
|
|
216
|
+
groupId?: string,
|
|
217
|
+
): IFluidDataStoreContextDetached;
|
|
208
218
|
|
|
209
219
|
/**
|
|
210
220
|
* Get an absolute url for a provided container-relative request.
|
|
@@ -382,6 +392,8 @@ export interface IFluidDataStoreContext
|
|
|
382
392
|
readonly logger: ITelemetryBaseLogger;
|
|
383
393
|
readonly clientDetails: IClientDetails;
|
|
384
394
|
readonly idCompressor?: IIdCompressor;
|
|
395
|
+
// Represents the group to which the data store belongs too.
|
|
396
|
+
readonly groupId?: string;
|
|
385
397
|
/**
|
|
386
398
|
* Indicates the attachment state of the data store to a host service.
|
|
387
399
|
*/
|
package/src/index.ts
CHANGED
|
@@ -65,52 +65,3 @@ 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.
|
|
71
|
-
export {
|
|
72
|
-
/**
|
|
73
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
74
|
-
*/
|
|
75
|
-
IdCompressor,
|
|
76
|
-
/**
|
|
77
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
78
|
-
*/
|
|
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
|
-
*/
|
|
95
|
-
SerializedIdCompressor,
|
|
96
|
-
/**
|
|
97
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
98
|
-
*/
|
|
99
|
-
SerializedIdCompressorWithNoSession,
|
|
100
|
-
/**
|
|
101
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
102
|
-
*/
|
|
103
|
-
SerializedIdCompressorWithOngoingSession,
|
|
104
|
-
/**
|
|
105
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
106
|
-
*/
|
|
107
|
-
SessionId,
|
|
108
|
-
/**
|
|
109
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
110
|
-
*/
|
|
111
|
-
SessionSpaceCompressedId,
|
|
112
|
-
/**
|
|
113
|
-
* @deprecated Import from `@fluidframework/id-compressor` instead.
|
|
114
|
-
*/
|
|
115
|
-
StableId,
|
|
116
|
-
} from "@fluidframework/id-compressor";
|
package/src/protocol.ts
CHANGED
package/src/summary.ts
CHANGED
|
@@ -125,16 +125,6 @@ export interface ISummarizerNodeConfig {
|
|
|
125
125
|
* Defaults to true.
|
|
126
126
|
*/
|
|
127
127
|
readonly canReuseHandle?: boolean;
|
|
128
|
-
/**
|
|
129
|
-
* True to always stop execution on error during summarize, or false to
|
|
130
|
-
* attempt creating a summary that is a pointer ot the last acked summary
|
|
131
|
-
* plus outstanding ops in case of internal summarize failure.
|
|
132
|
-
* Defaults to false.
|
|
133
|
-
*
|
|
134
|
-
* BUG BUG: Default to true while we investigate problem
|
|
135
|
-
* with differential summaries
|
|
136
|
-
*/
|
|
137
|
-
readonly throwOnFailure?: true;
|
|
138
128
|
}
|
|
139
129
|
|
|
140
130
|
/**
|
|
@@ -187,9 +177,6 @@ export interface ISummarizerNode {
|
|
|
187
177
|
invalidate(sequenceNumber: number): void;
|
|
188
178
|
/**
|
|
189
179
|
* Calls the internal summarize function and handles internal state tracking.
|
|
190
|
-
* If unchanged and fullTree is false, it will reuse previous summary subtree.
|
|
191
|
-
* If an error is encountered and throwOnFailure is false, it will try to make
|
|
192
|
-
* a summary with a pointer to the previous summary + a blob of outstanding ops.
|
|
193
180
|
* @param fullTree - true to skip optimizations and always generate the full tree
|
|
194
181
|
* @param trackState - indicates whether the summarizer node should track the state of the summary or not
|
|
195
182
|
* @param telemetryContext - summary data passed through the layers for telemetry purposes
|