@fluidframework/container-runtime 2.43.0 → 2.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/container-runtime.test-files.tar +0 -0
- package/dist/blobManager/blobManager.d.ts +1 -5
- package/dist/blobManager/blobManager.d.ts.map +1 -1
- package/dist/blobManager/blobManager.js +0 -7
- package/dist/blobManager/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +1 -1
- package/dist/channelCollection.js.map +1 -1
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +3 -3
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStoreContext.d.ts +45 -9
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +26 -12
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +3 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +1 -4
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/runtimeLayerCompatState.d.ts +3 -3
- package/dist/runtimeLayerCompatState.d.ts.map +1 -1
- package/dist/runtimeLayerCompatState.js +10 -10
- package/dist/runtimeLayerCompatState.js.map +1 -1
- package/lib/blobManager/blobManager.d.ts +1 -5
- package/lib/blobManager/blobManager.d.ts.map +1 -1
- package/lib/blobManager/blobManager.js +0 -7
- package/lib/blobManager/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +1 -1
- package/lib/channelCollection.js.map +1 -1
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +3 -3
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStoreContext.d.ts +45 -9
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +26 -12
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +3 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +1 -4
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/runtimeLayerCompatState.d.ts +3 -3
- package/lib/runtimeLayerCompatState.d.ts.map +1 -1
- package/lib/runtimeLayerCompatState.js +9 -9
- package/lib/runtimeLayerCompatState.js.map +1 -1
- package/package.json +18 -18
- package/src/blobManager/blobManager.ts +0 -9
- package/src/channelCollection.ts +1 -1
- package/src/containerRuntime.ts +3 -5
- package/src/dataStoreContext.ts +61 -25
- package/src/gc/gcTelemetry.ts +3 -1
- package/src/index.ts +7 -0
- package/src/opLifecycle/outbox.ts +1 -4
- package/src/packageVersion.ts +1 -1
- package/src/runtimeLayerCompatState.ts +10 -10
|
@@ -10,7 +10,7 @@ import { type IFluidHandleContext, type IFluidHandleInternal, type ITelemetryBas
|
|
|
10
10
|
import { IClientDetails, IQuorumClients } from "@fluidframework/driver-definitions";
|
|
11
11
|
import { IDocumentStorageService, type ISnapshot, IDocumentMessage, ISnapshotTree, ITreeEntry, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
12
12
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
13
|
-
import { ISummaryTreeWithStats, ITelemetryContext, IGarbageCollectionData, CreateChildSummarizerNodeFn, CreateChildSummarizerNodeParam, IContainerRuntimeBase, IDataStore, IFluidDataStoreChannel, IFluidDataStoreContext, IFluidDataStoreContextDetached, IFluidDataStoreRegistry, IGarbageCollectionDetailsBase, IProvideFluidDataStoreFactory, ISummarizeResult, ISummarizerNodeWithGC, SummarizeInternalFn, IInboundSignalMessage, type IRuntimeMessageCollection, type IFluidDataStoreFactory, type
|
|
13
|
+
import { ISummaryTreeWithStats, ITelemetryContext, IGarbageCollectionData, CreateChildSummarizerNodeFn, CreateChildSummarizerNodeParam, IContainerRuntimeBase, IDataStore, IFluidDataStoreChannel, IFluidDataStoreContext, IFluidDataStoreContextDetached, IFluidDataStoreRegistry, IGarbageCollectionDetailsBase, IProvideFluidDataStoreFactory, ISummarizeResult, ISummarizerNodeWithGC, SummarizeInternalFn, IInboundSignalMessage, type IRuntimeMessageCollection, type IFluidDataStoreFactory, type PackagePath } from "@fluidframework/runtime-definitions/internal";
|
|
14
14
|
import { MonitoringContext } from "@fluidframework/telemetry-utils/internal";
|
|
15
15
|
import type { IFluidParentContextPrivate } from "./channelCollection.js";
|
|
16
16
|
export declare function createAttributesBlob(pkg: readonly string[], isRootDataStore: boolean): ITreeEntry;
|
|
@@ -41,7 +41,13 @@ export interface IFluidDataStoreContextProps {
|
|
|
41
41
|
readonly storage: IDocumentStorageService;
|
|
42
42
|
readonly scope: FluidObject;
|
|
43
43
|
readonly createSummarizerNodeFn: CreateChildSummarizerNodeFn;
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* See {@link FluidDataStoreContext.pkg}.
|
|
46
|
+
*/
|
|
47
|
+
readonly pkg?: PackagePath;
|
|
48
|
+
/**
|
|
49
|
+
* See {@link FluidDataStoreContext.loadingGroupId}.
|
|
50
|
+
*/
|
|
45
51
|
readonly loadingGroupId?: string;
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
@@ -64,19 +70,17 @@ export interface ILocalDetachedFluidDataStoreContextProps extends ILocalFluidDat
|
|
|
64
70
|
export interface IRemoteFluidDataStoreContextProps extends IFluidDataStoreContextProps {
|
|
65
71
|
readonly snapshot: ISnapshotTree | ISnapshot | undefined;
|
|
66
72
|
}
|
|
67
|
-
/**
|
|
68
|
-
*/
|
|
69
73
|
export interface IFluidDataStoreContextEvents extends IEvent {
|
|
70
74
|
(event: "attaching" | "attached", listener: () => void): any;
|
|
71
75
|
}
|
|
72
76
|
/**
|
|
73
|
-
*
|
|
77
|
+
* {@link IFluidDataStoreContext} for the implementations of {@link IFluidDataStoreChannel} which powers the {@link IDataStore}s.
|
|
74
78
|
*/
|
|
75
|
-
export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContextInternal,
|
|
79
|
+
export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContextInternal, IFluidDataStoreContext, IDisposable {
|
|
76
80
|
private readonly existing;
|
|
77
81
|
readonly isLocalDataStore: boolean;
|
|
78
82
|
private readonly makeLocallyVisibleFn;
|
|
79
|
-
get packagePath():
|
|
83
|
+
get packagePath(): PackagePath;
|
|
80
84
|
get options(): Record<string | number, unknown>;
|
|
81
85
|
get clientId(): string | undefined;
|
|
82
86
|
get clientDetails(): IClientDetails;
|
|
@@ -163,11 +167,30 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
|
|
|
163
167
|
private localChangesTelemetryCount;
|
|
164
168
|
readonly id: string;
|
|
165
169
|
private readonly _containerRuntime;
|
|
170
|
+
/**
|
|
171
|
+
* Information for this data store from its parent.
|
|
172
|
+
*
|
|
173
|
+
* @remarks
|
|
174
|
+
* The parent which provided this information currently can be the container runtime or a datastore (if the datastore this context is for is nested under another one).
|
|
175
|
+
*/
|
|
166
176
|
private readonly parentContext;
|
|
167
177
|
readonly storage: IDocumentStorageService;
|
|
168
178
|
readonly scope: FluidObject;
|
|
179
|
+
/**
|
|
180
|
+
* The loading group to which the data store belongs to.
|
|
181
|
+
*/
|
|
169
182
|
readonly loadingGroupId: string | undefined;
|
|
170
|
-
|
|
183
|
+
/**
|
|
184
|
+
* {@link PackagePath} of this data store.
|
|
185
|
+
*
|
|
186
|
+
* This can be undefined when a data store is delay loaded, i.e., the attributes of this data store in the snapshot are not fetched until this data store is actually used.
|
|
187
|
+
* At that time, the attributes blob is fetched and the pkg is updated from it.
|
|
188
|
+
*
|
|
189
|
+
* @see {@link PackagePath}.
|
|
190
|
+
* @see {@link IFluidDataStoreContext.packagePath}.
|
|
191
|
+
* @see {@link factoryFromPackagePath}.
|
|
192
|
+
*/
|
|
193
|
+
protected pkg?: PackagePath;
|
|
171
194
|
constructor(props: IFluidDataStoreContextProps, existing: boolean, isLocalDataStore: boolean, makeLocallyVisibleFn: () => void);
|
|
172
195
|
dispose(): void;
|
|
173
196
|
/**
|
|
@@ -178,8 +201,21 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
|
|
|
178
201
|
delete(): void;
|
|
179
202
|
setTombstone(tombstone: boolean): void;
|
|
180
203
|
abstract setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
|
|
181
|
-
|
|
204
|
+
/**
|
|
205
|
+
* Throw a {@link LoggingError} indicating that {@link factoryFromPackagePath} failed.
|
|
206
|
+
*/
|
|
207
|
+
private factoryFromPackagePathError;
|
|
182
208
|
realize(): Promise<IFluidDataStoreChannel>;
|
|
209
|
+
/**
|
|
210
|
+
* Gets the factory that would be used to instantiate this data store by calling `instantiateDataStore` based on {@link pkg}.
|
|
211
|
+
* @remarks
|
|
212
|
+
* Also populates {@link registry}.
|
|
213
|
+
*
|
|
214
|
+
* Must be called after {@link pkg} is set, and only called once.
|
|
215
|
+
*
|
|
216
|
+
* @see {@link @fluidframework/container-runtime-definitions#IContainerRuntimeBase.createDataStore}.
|
|
217
|
+
* @see {@link FluidDataStoreContext.pkg}.
|
|
218
|
+
*/
|
|
183
219
|
protected factoryFromPackagePath(): Promise<IFluidDataStoreFactory>;
|
|
184
220
|
createChildDataStore<T extends IFluidDataStoreFactory>(childFactory: T): ReturnType<Exclude<T["createDataStore"], undefined>>;
|
|
185
221
|
private realizeCore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACN,aAAa,EAIb,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACN,WAAW,EACX,WAAW,EAEX,KAAK,MAAM,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EACN,uBAAuB,EACvB,KAAK,SAAS,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACN,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,8BAA8B,EAE9B,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAE7B,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EAEnB,qBAAqB,EAErB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,
|
|
1
|
+
{"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"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"}
|
package/dist/dataStoreContext.js
CHANGED
|
@@ -75,7 +75,7 @@ class ContextDeltaManagerProxy extends deltaManagerProxies_js_1.BaseDeltaManager
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
78
|
+
* {@link IFluidDataStoreContext} for the implementations of {@link IFluidDataStoreChannel} which powers the {@link IDataStore}s.
|
|
79
79
|
*/
|
|
80
80
|
class FluidDataStoreContext extends client_utils_1.TypedEventEmitter {
|
|
81
81
|
get packagePath() {
|
|
@@ -272,7 +272,10 @@ class FluidDataStoreContext extends client_utils_1.TypedEventEmitter {
|
|
|
272
272
|
}
|
|
273
273
|
this._tombstoned = tombstone;
|
|
274
274
|
}
|
|
275
|
-
|
|
275
|
+
/**
|
|
276
|
+
* Throw a {@link LoggingError} indicating that {@link factoryFromPackagePath} failed.
|
|
277
|
+
*/
|
|
278
|
+
factoryFromPackagePathError(reason, failedPkgPath, fullPackageName) {
|
|
276
279
|
throw new internal_6.LoggingError(reason, (0, internal_6.tagCodeArtifacts)({
|
|
277
280
|
failedPkgPath,
|
|
278
281
|
packagePath: fullPackageName?.join("/"),
|
|
@@ -293,28 +296,39 @@ class FluidDataStoreContext extends client_utils_1.TypedEventEmitter {
|
|
|
293
296
|
}
|
|
294
297
|
return this.channelP;
|
|
295
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Gets the factory that would be used to instantiate this data store by calling `instantiateDataStore` based on {@link pkg}.
|
|
301
|
+
* @remarks
|
|
302
|
+
* Also populates {@link registry}.
|
|
303
|
+
*
|
|
304
|
+
* Must be called after {@link pkg} is set, and only called once.
|
|
305
|
+
*
|
|
306
|
+
* @see {@link @fluidframework/container-runtime-definitions#IContainerRuntimeBase.createDataStore}.
|
|
307
|
+
* @see {@link FluidDataStoreContext.pkg}.
|
|
308
|
+
*/
|
|
296
309
|
async factoryFromPackagePath() {
|
|
297
|
-
const
|
|
298
|
-
if (
|
|
299
|
-
this.
|
|
310
|
+
const path = this.pkg;
|
|
311
|
+
if (path === undefined) {
|
|
312
|
+
this.factoryFromPackagePathError("packages is undefined");
|
|
300
313
|
}
|
|
301
314
|
let entry;
|
|
302
315
|
let registry = this.parentContext.IFluidDataStoreRegistry;
|
|
303
|
-
let
|
|
304
|
-
|
|
316
|
+
let lastIdentifier;
|
|
317
|
+
// Follow the path, looking up each identifier in the registry along the way:
|
|
318
|
+
for (const identifier of path) {
|
|
305
319
|
if (!registry) {
|
|
306
|
-
this.
|
|
320
|
+
this.factoryFromPackagePathError("No registry for package", lastIdentifier, path);
|
|
307
321
|
}
|
|
308
|
-
|
|
309
|
-
entry = registry.getSync?.(
|
|
322
|
+
lastIdentifier = identifier;
|
|
323
|
+
entry = registry.getSync?.(identifier) ?? (await registry.get(identifier));
|
|
310
324
|
if (!entry) {
|
|
311
|
-
this.
|
|
325
|
+
this.factoryFromPackagePathError("Registry does not contain entry for the package", identifier, path);
|
|
312
326
|
}
|
|
313
327
|
registry = entry.IFluidDataStoreRegistry;
|
|
314
328
|
}
|
|
315
329
|
const factory = entry?.IFluidDataStoreFactory;
|
|
316
330
|
if (factory === undefined) {
|
|
317
|
-
this.
|
|
331
|
+
this.factoryFromPackagePathError("Can't find factory for package", lastIdentifier, path);
|
|
318
332
|
}
|
|
319
333
|
(0, internal_2.assert)(this.registry === undefined, 0x157 /* "datastore registry already attached" */);
|
|
320
334
|
this.registry = registry;
|