@fluidframework/container-runtime 0.55.0 → 0.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/containerRuntime.d.ts +3 -12
  2. package/dist/containerRuntime.d.ts.map +1 -1
  3. package/dist/containerRuntime.js +22 -38
  4. package/dist/containerRuntime.js.map +1 -1
  5. package/dist/dataStoreContext.d.ts +42 -29
  6. package/dist/dataStoreContext.d.ts.map +1 -1
  7. package/dist/dataStoreContext.js +27 -49
  8. package/dist/dataStoreContext.js.map +1 -1
  9. package/dist/dataStores.d.ts +2 -1
  10. package/dist/dataStores.d.ts.map +1 -1
  11. package/dist/dataStores.js +74 -16
  12. package/dist/dataStores.js.map +1 -1
  13. package/dist/garbageCollection.d.ts +22 -9
  14. package/dist/garbageCollection.d.ts.map +1 -1
  15. package/dist/garbageCollection.js +55 -35
  16. package/dist/garbageCollection.js.map +1 -1
  17. package/dist/index.d.ts +6 -6
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +11 -17
  20. package/dist/index.js.map +1 -1
  21. package/dist/packageVersion.d.ts +1 -1
  22. package/dist/packageVersion.js +1 -1
  23. package/dist/packageVersion.js.map +1 -1
  24. package/dist/runningSummarizer.d.ts.map +1 -1
  25. package/dist/runningSummarizer.js +2 -9
  26. package/dist/runningSummarizer.js.map +1 -1
  27. package/dist/summaryFormat.d.ts.map +1 -1
  28. package/dist/summaryFormat.js +2 -1
  29. package/dist/summaryFormat.js.map +1 -1
  30. package/dist/summaryGenerator.d.ts +0 -5
  31. package/dist/summaryGenerator.d.ts.map +1 -1
  32. package/dist/summaryGenerator.js.map +1 -1
  33. package/garbageCollection.md +33 -0
  34. package/lib/containerRuntime.d.ts +3 -12
  35. package/lib/containerRuntime.d.ts.map +1 -1
  36. package/lib/containerRuntime.js +23 -39
  37. package/lib/containerRuntime.js.map +1 -1
  38. package/lib/dataStoreContext.d.ts +42 -29
  39. package/lib/dataStoreContext.d.ts.map +1 -1
  40. package/lib/dataStoreContext.js +25 -47
  41. package/lib/dataStoreContext.js.map +1 -1
  42. package/lib/dataStores.d.ts +2 -1
  43. package/lib/dataStores.d.ts.map +1 -1
  44. package/lib/dataStores.js +75 -17
  45. package/lib/dataStores.js.map +1 -1
  46. package/lib/garbageCollection.d.ts +22 -9
  47. package/lib/garbageCollection.d.ts.map +1 -1
  48. package/lib/garbageCollection.js +55 -35
  49. package/lib/garbageCollection.js.map +1 -1
  50. package/lib/index.d.ts +6 -6
  51. package/lib/index.d.ts.map +1 -1
  52. package/lib/index.js +5 -6
  53. package/lib/index.js.map +1 -1
  54. package/lib/packageVersion.d.ts +1 -1
  55. package/lib/packageVersion.js +1 -1
  56. package/lib/packageVersion.js.map +1 -1
  57. package/lib/runningSummarizer.d.ts.map +1 -1
  58. package/lib/runningSummarizer.js +2 -9
  59. package/lib/runningSummarizer.js.map +1 -1
  60. package/lib/summaryFormat.d.ts.map +1 -1
  61. package/lib/summaryFormat.js +2 -1
  62. package/lib/summaryFormat.js.map +1 -1
  63. package/lib/summaryGenerator.d.ts +0 -5
  64. package/lib/summaryGenerator.d.ts.map +1 -1
  65. package/lib/summaryGenerator.js.map +1 -1
  66. package/package.json +14 -14
  67. package/src/containerRuntime.ts +36 -42
  68. package/src/dataStoreContext.ts +76 -122
  69. package/src/dataStores.ts +75 -48
  70. package/src/garbageCollection.ts +62 -39
  71. package/src/index.ts +51 -6
  72. package/src/packageVersion.ts +1 -1
  73. package/src/runningSummarizer.ts +2 -7
  74. package/src/summaryFormat.ts +2 -1
  75. package/src/summaryGenerator.ts +0 -5
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { IDisposable, ITelemetryLogger } from "@fluidframework/common-definitions";
6
6
  import { FluidObject, IRequest, IResponse, IFluidHandle } from "@fluidframework/core-interfaces";
7
- import { IAudience, IDeltaManager, ContainerWarning, BindState, AttachState, ILoaderOptions } from "@fluidframework/container-definitions";
7
+ import { IAudience, IDeltaManager, BindState, AttachState, ILoaderOptions } from "@fluidframework/container-definitions";
8
8
  import { Deferred, TypedEventEmitter } from "@fluidframework/common-utils";
9
9
  import { IDocumentStorageService } from "@fluidframework/driver-definitions";
10
10
  import { IClientDetails, IDocumentMessage, IQuorumClients, ISequencedDocumentMessage, ISnapshotTree, ITreeEntry } from "@fluidframework/protocol-definitions";
@@ -21,18 +21,40 @@ interface ISnapshotDetails {
21
21
  isRootDataStore: boolean;
22
22
  snapshot?: ISnapshotTree;
23
23
  }
24
+ /** Properties necessary for creating a FluidDataStoreContext */
25
+ export interface IFluidDataStoreContextProps {
26
+ readonly id: string;
27
+ readonly runtime: ContainerRuntime;
28
+ readonly storage: IDocumentStorageService;
29
+ readonly scope: FluidObject;
30
+ readonly createSummarizerNodeFn: CreateChildSummarizerNodeFn;
31
+ readonly writeGCDataAtRoot: boolean;
32
+ readonly disableIsolatedChannels: boolean;
33
+ readonly pkg?: Readonly<string[]>;
34
+ }
35
+ /** Properties necessary for creating a local FluidDataStoreContext */
36
+ export interface ILocalFluidDataStoreContextProps extends IFluidDataStoreContextProps {
37
+ readonly pkg: Readonly<string[]> | undefined;
38
+ readonly snapshotTree: ISnapshotTree | undefined;
39
+ readonly isRootDataStore: boolean | undefined;
40
+ readonly bindChannelFn: (channel: IFluidDataStoreChannel) => void;
41
+ /**
42
+ * @deprecated 0.16 Issue #1635, #3631
43
+ */
44
+ readonly createProps?: any;
45
+ }
46
+ /** Properties necessary for creating a remote FluidDataStoreContext */
47
+ export interface IRemoteFluidDataStoreContextProps extends IFluidDataStoreContextProps {
48
+ readonly snapshotTree: ISnapshotTree | string | undefined;
49
+ readonly getBaseGCDetails: () => Promise<IGarbageCollectionDetailsBase | undefined>;
50
+ }
24
51
  /**
25
52
  * Represents the context for the store. This context is passed to the store runtime.
26
53
  */
27
54
  export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContext, IDisposable {
28
- private readonly _containerRuntime;
29
- readonly id: string;
30
55
  private readonly existing;
31
- readonly storage: IDocumentStorageService;
32
- readonly scope: FluidObject | FluidObject;
33
56
  private bindState;
34
57
  readonly isLocalDataStore: boolean;
35
- protected pkg?: readonly string[] | undefined;
36
58
  get packagePath(): readonly string[];
37
59
  get options(): ILoaderOptions;
38
60
  get clientId(): string | undefined;
@@ -49,9 +71,6 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
49
71
  get attachState(): AttachState;
50
72
  get IFluidDataStoreRegistry(): IFluidDataStoreRegistry | undefined;
51
73
  isRoot(): Promise<boolean>;
52
- protected get disableIsolatedChannels(): boolean;
53
- /** Tells whether GC data will be written at the root of the summary tree. If so, data store should not write it. */
54
- protected get writeGCDataAtRoot(): boolean;
55
74
  protected registry: IFluidDataStoreRegistry | undefined;
56
75
  protected detachedRuntimeCreation: boolean;
57
76
  readonly bindToContext: () => void;
@@ -66,7 +85,14 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
66
85
  private readonly thresholdOpsCounter;
67
86
  private static readonly pendingOpsCountThreshold;
68
87
  private lastUsedState;
69
- constructor(_containerRuntime: ContainerRuntime, id: string, existing: boolean, storage: IDocumentStorageService, scope: FluidObject | FluidObject, createSummarizerNode: CreateChildSummarizerNodeFn, bindState: BindState, isLocalDataStore: boolean, bindChannel: (channel: IFluidDataStoreChannel) => void, pkg?: readonly string[] | undefined);
88
+ readonly id: string;
89
+ private readonly _containerRuntime;
90
+ readonly storage: IDocumentStorageService;
91
+ readonly scope: FluidObject;
92
+ private readonly writeGCDataAtRoot;
93
+ protected readonly disableIsolatedChannels: boolean;
94
+ protected pkg?: readonly string[];
95
+ constructor(props: IFluidDataStoreContextProps, existing: boolean, bindState: BindState, isLocalDataStore: boolean, bindChannelFn: (channel: IFluidDataStoreChannel) => void);
70
96
  dispose(): void;
71
97
  private rejectDeferredRealize;
72
98
  realize(): Promise<IFluidDataStoreChannel>;
@@ -151,7 +177,6 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
151
177
  */
152
178
  setChannelDirty(address: string): void;
153
179
  submitSignal(type: string, content: any): void;
154
- raiseContainerWarning(warning: ContainerWarning): void;
155
180
  protected bindRuntime(channel: IFluidDataStoreChannel): void;
156
181
  getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
157
182
  abstract generateAttachMessage(): IAttachMessage;
@@ -173,11 +198,11 @@ export declare abstract class FluidDataStoreContext extends TypedEventEmitter<IF
173
198
  getCreateChildSummarizerNodeFn(id: string, createParam: CreateChildSummarizerNodeParam): (summarizeInternal: SummarizeInternalFn, getGCDataFn: (fullGC?: boolean | undefined) => Promise<IGarbageCollectionData>, getBaseGCDetailsFn: () => Promise<IGarbageCollectionDetailsBase>) => ISummarizerNodeWithGC;
174
199
  uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
175
200
  }
176
- export declare class RemotedFluidDataStoreContext extends FluidDataStoreContext {
177
- private readonly initSnapshotValue;
201
+ export declare class RemoteFluidDataStoreContext extends FluidDataStoreContext {
178
202
  private isRootDataStore;
203
+ private readonly initSnapshotValue;
179
204
  private readonly baseGCDetailsP;
180
- constructor(id: string, initSnapshotValue: ISnapshotTree | string | undefined, getBaseGCDetails: () => Promise<IGarbageCollectionDetailsBase | undefined>, runtime: ContainerRuntime, storage: IDocumentStorageService, scope: FluidObject, createSummarizerNode: CreateChildSummarizerNodeFn, pkg?: string[]);
205
+ constructor(props: IRemoteFluidDataStoreContextProps);
181
206
  private readonly initialSnapshotDetailsP;
182
207
  protected getInitialSnapshotDetails(): Promise<ISnapshotDetails>;
183
208
  /**
@@ -199,15 +224,7 @@ export declare class RemotedFluidDataStoreContext extends FluidDataStoreContext
199
224
  export declare class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
200
225
  private readonly snapshotTree;
201
226
  protected isRootDataStore: boolean | undefined;
202
- /**
203
- * @deprecated 0.16 Issue #1635, #3631
204
- */
205
- readonly createProps?: any;
206
- constructor(id: string, pkg: Readonly<string[]> | undefined, runtime: ContainerRuntime, storage: IDocumentStorageService, scope: FluidObject, createSummarizerNode: CreateChildSummarizerNodeFn, bindChannel: (channel: IFluidDataStoreChannel) => void, snapshotTree: ISnapshotTree | undefined, isRootDataStore: boolean | undefined,
207
- /**
208
- * @deprecated 0.16 Issue #1635, #3631
209
- */
210
- createProps?: any);
227
+ constructor(props: ILocalFluidDataStoreContextProps);
211
228
  private attachListeners;
212
229
  generateAttachMessage(): IAttachMessage;
213
230
  protected getInitialSnapshotDetails(): Promise<ISnapshotDetails>;
@@ -230,11 +247,7 @@ export declare class LocalFluidDataStoreContextBase extends FluidDataStoreContex
230
247
  * Runtime is created using data store factory that is associated with this context.
231
248
  */
232
249
  export declare class LocalFluidDataStoreContext extends LocalFluidDataStoreContextBase {
233
- constructor(id: string, pkg: string[] | undefined, runtime: ContainerRuntime, storage: IDocumentStorageService, scope: FluidObject & FluidObject, createSummarizerNode: CreateChildSummarizerNodeFn, bindChannel: (channel: IFluidDataStoreChannel) => void, snapshotTree: ISnapshotTree | undefined, isRootDataStore: boolean | undefined,
234
- /**
235
- * @deprecated 0.16 Issue #1635, #3631
236
- */
237
- createProps?: any);
250
+ constructor(props: ILocalFluidDataStoreContextProps);
238
251
  }
239
252
  /**
240
253
  * Detached context. Data Store runtime will be attached to it by attachRuntime() call
@@ -243,7 +256,7 @@ export declare class LocalFluidDataStoreContext extends LocalFluidDataStoreConte
243
256
  * Attachment process provides all missing parts - package path, data store runtime, and data store factory
244
257
  */
245
258
  export declare class LocalDetachedFluidDataStoreContext extends LocalFluidDataStoreContextBase implements IFluidDataStoreContextDetached {
246
- constructor(id: string, pkg: Readonly<string[]>, runtime: ContainerRuntime, storage: IDocumentStorageService, scope: FluidObject & FluidObject, createSummarizerNode: CreateChildSummarizerNodeFn, bindChannel: (channel: IFluidDataStoreChannel) => void, isRootDataStore: boolean);
259
+ constructor(props: ILocalFluidDataStoreContextProps);
247
260
  attachRuntime(registry: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<void>;
248
261
  protected getInitialSnapshotDetails(): Promise<ISnapshotDetails>;
249
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreContext.d.ts","sourceRoot":"","sources":["../src/dataStoreContext.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.LocalDetachedFluidDataStoreContext = exports.LocalFluidDataStoreContext = exports.LocalFluidDataStoreContextBase = exports.RemotedFluidDataStoreContext = exports.FluidDataStoreContext = exports.createAttributesBlob = void 0;
7
+ exports.LocalDetachedFluidDataStoreContext = exports.LocalFluidDataStoreContext = exports.LocalFluidDataStoreContextBase = exports.RemoteFluidDataStoreContext = exports.FluidDataStoreContext = exports.createAttributesBlob = void 0;
8
8
  const container_definitions_1 = require("@fluidframework/container-definitions");
9
9
  const common_utils_1 = require("@fluidframework/common-utils");
10
10
  const driver_utils_1 = require("@fluidframework/driver-utils");
@@ -35,34 +35,36 @@ exports.createAttributesBlob = createAttributesBlob;
35
35
  * Represents the context for the store. This context is passed to the store runtime.
36
36
  */
37
37
  class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
38
- constructor(_containerRuntime, id, existing, storage, scope, createSummarizerNode, bindState, isLocalDataStore, bindChannel, pkg) {
38
+ constructor(props, existing, bindState, isLocalDataStore, bindChannelFn) {
39
39
  super();
40
- this._containerRuntime = _containerRuntime;
41
- this.id = id;
42
40
  this.existing = existing;
43
- this.storage = storage;
44
- this.scope = scope;
45
41
  this.bindState = bindState;
46
42
  this.isLocalDataStore = isLocalDataStore;
47
- this.pkg = pkg;
48
43
  this._disposed = false;
49
44
  this.detachedRuntimeCreation = false;
50
45
  this.loaded = false;
51
46
  this.pending = [];
47
+ this._containerRuntime = props.runtime;
48
+ this.id = props.id;
49
+ this.storage = props.storage;
50
+ this.scope = props.scope;
51
+ this.writeGCDataAtRoot = props.writeGCDataAtRoot;
52
+ this.disableIsolatedChannels = props.disableIsolatedChannels;
53
+ this.pkg = props.pkg;
52
54
  // URIs use slashes as delimiters. Handles use URIs.
53
55
  // Thus having slashes in types almost guarantees trouble down the road!
54
- common_utils_1.assert(id.indexOf("/") === -1, 0x13a /* `Data store ID contains slash: ${id}` */);
56
+ common_utils_1.assert(this.id.indexOf("/") === -1, 0x13a /* `Data store ID contains slash: ${id}` */);
55
57
  this._attachState = this.containerRuntime.attachState !== container_definitions_1.AttachState.Detached && this.existing ?
56
58
  this.containerRuntime.attachState : container_definitions_1.AttachState.Detached;
57
59
  this.bindToContext = () => {
58
60
  common_utils_1.assert(this.bindState === container_definitions_1.BindState.NotBound, 0x13b /* "datastore context is already in bound state" */);
59
61
  this.bindState = container_definitions_1.BindState.Binding;
60
62
  common_utils_1.assert(this.channel !== undefined, 0x13c /* "undefined channel on datastore context" */);
61
- bindChannel(this.channel);
63
+ bindChannelFn(this.channel);
62
64
  this.bindState = container_definitions_1.BindState.Bound;
63
65
  };
64
66
  const thisSummarizeInternal = async (fullTree, trackState) => this.summarizeInternal(fullTree, trackState);
65
- this.summarizerNode = createSummarizerNode(thisSummarizeInternal, async (fullGC) => this.getGCDataInternal(fullGC), async () => this.getBaseGCDetails());
67
+ this.summarizerNode = props.createSummarizerNodeFn(thisSummarizeInternal, async (fullGC) => this.getGCDataInternal(fullGC), async () => this.getBaseGCDetails());
66
68
  this.subLogger = telemetry_utils_1.ChildLogger.create(this.logger, "FluidDataStoreContext");
67
69
  this.thresholdOpsCounter = new telemetry_utils_1.ThresholdCounter(FluidDataStoreContext.pendingOpsCountThreshold, this.subLogger);
68
70
  }
@@ -110,13 +112,6 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
110
112
  async isRoot() {
111
113
  return (await this.getInitialSnapshotDetails()).isRootDataStore;
112
114
  }
113
- get disableIsolatedChannels() {
114
- return this._containerRuntime.disableIsolatedChannels;
115
- }
116
- /** Tells whether GC data will be written at the root of the summary tree. If so, data store should not write it. */
117
- get writeGCDataAtRoot() {
118
- return this._containerRuntime.writeGCDataAtRoot;
119
- }
120
115
  dispose() {
121
116
  if (this._disposed) {
122
117
  return;
@@ -383,10 +378,6 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
383
378
  common_utils_1.assert(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
384
379
  return this._containerRuntime.submitDataStoreSignal(this.id, type, content);
385
380
  }
386
- // @deprecated Warnings are being deprecated
387
- raiseContainerWarning(warning) {
388
- this.containerRuntime.raiseContainerWarning(warning);
389
- }
390
381
  bindRuntime(channel) {
391
382
  var _a;
392
383
  if (this.channel) {
@@ -461,12 +452,11 @@ class FluidDataStoreContext extends common_utils_1.TypedEventEmitter {
461
452
  }
462
453
  exports.FluidDataStoreContext = FluidDataStoreContext;
463
454
  FluidDataStoreContext.pendingOpsCountThreshold = 1000;
464
- class RemotedFluidDataStoreContext extends FluidDataStoreContext {
465
- constructor(id, initSnapshotValue, getBaseGCDetails, runtime, storage, scope, createSummarizerNode, pkg) {
466
- super(runtime, id, true, storage, scope, createSummarizerNode, container_definitions_1.BindState.Bound, false, () => {
455
+ class RemoteFluidDataStoreContext extends FluidDataStoreContext {
456
+ constructor(props) {
457
+ super(props, true /* existing */, container_definitions_1.BindState.Bound, false /* isLocalDataStore */, () => {
467
458
  throw new Error("Already attached");
468
- }, pkg);
469
- this.initSnapshotValue = initSnapshotValue;
459
+ });
470
460
  this.initialSnapshotDetailsP = new common_utils_1.LazyPromise(async () => {
471
461
  var _a, _b;
472
462
  let tree;
@@ -523,9 +513,10 @@ class RemotedFluidDataStoreContext extends FluidDataStoreContext {
523
513
  isRootDataStore,
524
514
  };
525
515
  });
516
+ this.initSnapshotValue = props.snapshotTree;
526
517
  this.baseGCDetailsP = new common_utils_1.LazyPromise(async () => {
527
518
  var _a;
528
- return (_a = (await getBaseGCDetails())) !== null && _a !== void 0 ? _a : {};
519
+ return (_a = (await props.getBaseGCDetails())) !== null && _a !== void 0 ? _a : {};
529
520
  });
530
521
  }
531
522
  async getInitialSnapshotDetails() {
@@ -552,20 +543,15 @@ class RemotedFluidDataStoreContext extends FluidDataStoreContext {
552
543
  this.isRootDataStore = true;
553
544
  }
554
545
  }
555
- exports.RemotedFluidDataStoreContext = RemotedFluidDataStoreContext;
546
+ exports.RemoteFluidDataStoreContext = RemoteFluidDataStoreContext;
556
547
  /**
557
548
  * Base class for detached & attached context classes
558
549
  */
559
550
  class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
560
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore,
561
- /**
562
- * @deprecated 0.16 Issue #1635, #3631
563
- */
564
- createProps) {
565
- super(runtime, id, snapshotTree !== undefined ? true : false, storage, scope, createSummarizerNode, snapshotTree ? container_definitions_1.BindState.Bound : container_definitions_1.BindState.NotBound, true, bindChannel, pkg);
566
- this.snapshotTree = snapshotTree;
567
- this.isRootDataStore = isRootDataStore;
568
- this.createProps = createProps;
551
+ constructor(props) {
552
+ super(props, props.snapshotTree !== undefined ? true : false /* existing */, props.snapshotTree ? container_definitions_1.BindState.Bound : container_definitions_1.BindState.NotBound, true /* isLocalDataStore */, props.bindChannelFn);
553
+ this.snapshotTree = props.snapshotTree;
554
+ this.isRootDataStore = props.isRootDataStore;
569
555
  this.attachListeners();
570
556
  }
571
557
  attachListeners() {
@@ -590,10 +576,6 @@ class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
590
576
  // Add data store's attributes to the summary.
591
577
  const attributes = createAttributes(this.pkg, this.isRootDataStore, this.disableIsolatedChannels);
592
578
  runtime_utils_1.addBlobToSummary(summarizeResult, summaryFormat_1.dataStoreAttributesBlobName, JSON.stringify(attributes));
593
- // Add GC data to the summary if it's not written at the root.
594
- if (!this.writeGCDataAtRoot) {
595
- runtime_utils_1.addBlobToSummary(summarizeResult, runtime_definitions_1.gcBlobKey, JSON.stringify(this.summarizerNode.getGCSummaryDetails()));
596
- }
597
579
  // Attach message needs the summary in ITree format. Convert the ISummaryTree into an ITree.
598
580
  const snapshot = runtime_utils_1.convertSummaryTreeToITree(summarizeResult.summary);
599
581
  const message = {
@@ -659,12 +641,8 @@ exports.LocalFluidDataStoreContextBase = LocalFluidDataStoreContextBase;
659
641
  * Runtime is created using data store factory that is associated with this context.
660
642
  */
661
643
  class LocalFluidDataStoreContext extends LocalFluidDataStoreContextBase {
662
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore,
663
- /**
664
- * @deprecated 0.16 Issue #1635, #3631
665
- */
666
- createProps) {
667
- super(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore, createProps);
644
+ constructor(props) {
645
+ super(props);
668
646
  }
669
647
  }
670
648
  exports.LocalFluidDataStoreContext = LocalFluidDataStoreContext;
@@ -675,8 +653,8 @@ exports.LocalFluidDataStoreContext = LocalFluidDataStoreContext;
675
653
  * Attachment process provides all missing parts - package path, data store runtime, and data store factory
676
654
  */
677
655
  class LocalDetachedFluidDataStoreContext extends LocalFluidDataStoreContextBase {
678
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, isRootDataStore) {
679
- super(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, undefined, isRootDataStore);
656
+ constructor(props) {
657
+ super(props);
680
658
  this.detachedRuntimeCreation = true;
681
659
  }
682
660
  async attachRuntime(registry, dataStoreRuntime) {