@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/lib/dataStoreContext.js
CHANGED
|
@@ -71,7 +71,7 @@ class ContextDeltaManagerProxy extends BaseDeltaManagerProxy {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* {@link IFluidDataStoreContext} for the implementations of {@link IFluidDataStoreChannel} which powers the {@link IDataStore}s.
|
|
75
75
|
*/
|
|
76
76
|
export class FluidDataStoreContext extends TypedEventEmitter {
|
|
77
77
|
get packagePath() {
|
|
@@ -268,7 +268,10 @@ export class FluidDataStoreContext extends TypedEventEmitter {
|
|
|
268
268
|
}
|
|
269
269
|
this._tombstoned = tombstone;
|
|
270
270
|
}
|
|
271
|
-
|
|
271
|
+
/**
|
|
272
|
+
* Throw a {@link LoggingError} indicating that {@link factoryFromPackagePath} failed.
|
|
273
|
+
*/
|
|
274
|
+
factoryFromPackagePathError(reason, failedPkgPath, fullPackageName) {
|
|
272
275
|
throw new LoggingError(reason, tagCodeArtifacts({
|
|
273
276
|
failedPkgPath,
|
|
274
277
|
packagePath: fullPackageName?.join("/"),
|
|
@@ -289,28 +292,39 @@ export class FluidDataStoreContext extends TypedEventEmitter {
|
|
|
289
292
|
}
|
|
290
293
|
return this.channelP;
|
|
291
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Gets the factory that would be used to instantiate this data store by calling `instantiateDataStore` based on {@link pkg}.
|
|
297
|
+
* @remarks
|
|
298
|
+
* Also populates {@link registry}.
|
|
299
|
+
*
|
|
300
|
+
* Must be called after {@link pkg} is set, and only called once.
|
|
301
|
+
*
|
|
302
|
+
* @see {@link @fluidframework/container-runtime-definitions#IContainerRuntimeBase.createDataStore}.
|
|
303
|
+
* @see {@link FluidDataStoreContext.pkg}.
|
|
304
|
+
*/
|
|
292
305
|
async factoryFromPackagePath() {
|
|
293
|
-
const
|
|
294
|
-
if (
|
|
295
|
-
this.
|
|
306
|
+
const path = this.pkg;
|
|
307
|
+
if (path === undefined) {
|
|
308
|
+
this.factoryFromPackagePathError("packages is undefined");
|
|
296
309
|
}
|
|
297
310
|
let entry;
|
|
298
311
|
let registry = this.parentContext.IFluidDataStoreRegistry;
|
|
299
|
-
let
|
|
300
|
-
|
|
312
|
+
let lastIdentifier;
|
|
313
|
+
// Follow the path, looking up each identifier in the registry along the way:
|
|
314
|
+
for (const identifier of path) {
|
|
301
315
|
if (!registry) {
|
|
302
|
-
this.
|
|
316
|
+
this.factoryFromPackagePathError("No registry for package", lastIdentifier, path);
|
|
303
317
|
}
|
|
304
|
-
|
|
305
|
-
entry = registry.getSync?.(
|
|
318
|
+
lastIdentifier = identifier;
|
|
319
|
+
entry = registry.getSync?.(identifier) ?? (await registry.get(identifier));
|
|
306
320
|
if (!entry) {
|
|
307
|
-
this.
|
|
321
|
+
this.factoryFromPackagePathError("Registry does not contain entry for the package", identifier, path);
|
|
308
322
|
}
|
|
309
323
|
registry = entry.IFluidDataStoreRegistry;
|
|
310
324
|
}
|
|
311
325
|
const factory = entry?.IFluidDataStoreFactory;
|
|
312
326
|
if (factory === undefined) {
|
|
313
|
-
this.
|
|
327
|
+
this.factoryFromPackagePathError("Can't find factory for package", lastIdentifier, path);
|
|
314
328
|
}
|
|
315
329
|
assert(this.registry === undefined, 0x157 /* "datastore registry already attached" */);
|
|
316
330
|
this.registry = registry;
|