@fluidframework/container-runtime 0.55.1 → 0.56.0-49831

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 (77) 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.d.ts.map +1 -1
  23. package/dist/packageVersion.js +1 -1
  24. package/dist/packageVersion.js.map +1 -1
  25. package/dist/runningSummarizer.d.ts.map +1 -1
  26. package/dist/runningSummarizer.js +2 -9
  27. package/dist/runningSummarizer.js.map +1 -1
  28. package/dist/summaryFormat.d.ts.map +1 -1
  29. package/dist/summaryFormat.js +2 -1
  30. package/dist/summaryFormat.js.map +1 -1
  31. package/dist/summaryGenerator.d.ts +0 -5
  32. package/dist/summaryGenerator.d.ts.map +1 -1
  33. package/dist/summaryGenerator.js.map +1 -1
  34. package/garbageCollection.md +33 -0
  35. package/lib/containerRuntime.d.ts +3 -12
  36. package/lib/containerRuntime.d.ts.map +1 -1
  37. package/lib/containerRuntime.js +23 -39
  38. package/lib/containerRuntime.js.map +1 -1
  39. package/lib/dataStoreContext.d.ts +42 -29
  40. package/lib/dataStoreContext.d.ts.map +1 -1
  41. package/lib/dataStoreContext.js +25 -47
  42. package/lib/dataStoreContext.js.map +1 -1
  43. package/lib/dataStores.d.ts +2 -1
  44. package/lib/dataStores.d.ts.map +1 -1
  45. package/lib/dataStores.js +75 -17
  46. package/lib/dataStores.js.map +1 -1
  47. package/lib/garbageCollection.d.ts +22 -9
  48. package/lib/garbageCollection.d.ts.map +1 -1
  49. package/lib/garbageCollection.js +55 -35
  50. package/lib/garbageCollection.js.map +1 -1
  51. package/lib/index.d.ts +6 -6
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +5 -6
  54. package/lib/index.js.map +1 -1
  55. package/lib/packageVersion.d.ts +1 -1
  56. package/lib/packageVersion.d.ts.map +1 -1
  57. package/lib/packageVersion.js +1 -1
  58. package/lib/packageVersion.js.map +1 -1
  59. package/lib/runningSummarizer.d.ts.map +1 -1
  60. package/lib/runningSummarizer.js +2 -9
  61. package/lib/runningSummarizer.js.map +1 -1
  62. package/lib/summaryFormat.d.ts.map +1 -1
  63. package/lib/summaryFormat.js +2 -1
  64. package/lib/summaryFormat.js.map +1 -1
  65. package/lib/summaryGenerator.d.ts +0 -5
  66. package/lib/summaryGenerator.d.ts.map +1 -1
  67. package/lib/summaryGenerator.js.map +1 -1
  68. package/package.json +14 -14
  69. package/src/containerRuntime.ts +36 -42
  70. package/src/dataStoreContext.ts +76 -122
  71. package/src/dataStores.ts +75 -48
  72. package/src/garbageCollection.ts +62 -39
  73. package/src/index.ts +51 -6
  74. package/src/packageVersion.ts +1 -1
  75. package/src/runningSummarizer.ts +2 -7
  76. package/src/summaryFormat.ts +2 -1
  77. 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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"}
@@ -31,34 +31,36 @@ export function createAttributesBlob(pkg, isRootDataStore, disableIsolatedChanne
31
31
  * Represents the context for the store. This context is passed to the store runtime.
32
32
  */
33
33
  export class FluidDataStoreContext extends TypedEventEmitter {
34
- constructor(_containerRuntime, id, existing, storage, scope, createSummarizerNode, bindState, isLocalDataStore, bindChannel, pkg) {
34
+ constructor(props, existing, bindState, isLocalDataStore, bindChannelFn) {
35
35
  super();
36
- this._containerRuntime = _containerRuntime;
37
- this.id = id;
38
36
  this.existing = existing;
39
- this.storage = storage;
40
- this.scope = scope;
41
37
  this.bindState = bindState;
42
38
  this.isLocalDataStore = isLocalDataStore;
43
- this.pkg = pkg;
44
39
  this._disposed = false;
45
40
  this.detachedRuntimeCreation = false;
46
41
  this.loaded = false;
47
42
  this.pending = [];
43
+ this._containerRuntime = props.runtime;
44
+ this.id = props.id;
45
+ this.storage = props.storage;
46
+ this.scope = props.scope;
47
+ this.writeGCDataAtRoot = props.writeGCDataAtRoot;
48
+ this.disableIsolatedChannels = props.disableIsolatedChannels;
49
+ this.pkg = props.pkg;
48
50
  // URIs use slashes as delimiters. Handles use URIs.
49
51
  // Thus having slashes in types almost guarantees trouble down the road!
50
- assert(id.indexOf("/") === -1, 0x13a /* `Data store ID contains slash: ${id}` */);
52
+ assert(this.id.indexOf("/") === -1, 0x13a /* `Data store ID contains slash: ${id}` */);
51
53
  this._attachState = this.containerRuntime.attachState !== AttachState.Detached && this.existing ?
52
54
  this.containerRuntime.attachState : AttachState.Detached;
53
55
  this.bindToContext = () => {
54
56
  assert(this.bindState === BindState.NotBound, 0x13b /* "datastore context is already in bound state" */);
55
57
  this.bindState = BindState.Binding;
56
58
  assert(this.channel !== undefined, 0x13c /* "undefined channel on datastore context" */);
57
- bindChannel(this.channel);
59
+ bindChannelFn(this.channel);
58
60
  this.bindState = BindState.Bound;
59
61
  };
60
62
  const thisSummarizeInternal = async (fullTree, trackState) => this.summarizeInternal(fullTree, trackState);
61
- this.summarizerNode = createSummarizerNode(thisSummarizeInternal, async (fullGC) => this.getGCDataInternal(fullGC), async () => this.getBaseGCDetails());
63
+ this.summarizerNode = props.createSummarizerNodeFn(thisSummarizeInternal, async (fullGC) => this.getGCDataInternal(fullGC), async () => this.getBaseGCDetails());
62
64
  this.subLogger = ChildLogger.create(this.logger, "FluidDataStoreContext");
63
65
  this.thresholdOpsCounter = new ThresholdCounter(FluidDataStoreContext.pendingOpsCountThreshold, this.subLogger);
64
66
  }
@@ -106,13 +108,6 @@ export class FluidDataStoreContext extends TypedEventEmitter {
106
108
  async isRoot() {
107
109
  return (await this.getInitialSnapshotDetails()).isRootDataStore;
108
110
  }
109
- get disableIsolatedChannels() {
110
- return this._containerRuntime.disableIsolatedChannels;
111
- }
112
- /** Tells whether GC data will be written at the root of the summary tree. If so, data store should not write it. */
113
- get writeGCDataAtRoot() {
114
- return this._containerRuntime.writeGCDataAtRoot;
115
- }
116
111
  dispose() {
117
112
  if (this._disposed) {
118
113
  return;
@@ -379,10 +374,6 @@ export class FluidDataStoreContext extends TypedEventEmitter {
379
374
  assert(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
380
375
  return this._containerRuntime.submitDataStoreSignal(this.id, type, content);
381
376
  }
382
- // @deprecated Warnings are being deprecated
383
- raiseContainerWarning(warning) {
384
- this.containerRuntime.raiseContainerWarning(warning);
385
- }
386
377
  bindRuntime(channel) {
387
378
  var _a;
388
379
  if (this.channel) {
@@ -456,12 +447,11 @@ export class FluidDataStoreContext extends TypedEventEmitter {
456
447
  }
457
448
  }
458
449
  FluidDataStoreContext.pendingOpsCountThreshold = 1000;
459
- export class RemotedFluidDataStoreContext extends FluidDataStoreContext {
460
- constructor(id, initSnapshotValue, getBaseGCDetails, runtime, storage, scope, createSummarizerNode, pkg) {
461
- super(runtime, id, true, storage, scope, createSummarizerNode, BindState.Bound, false, () => {
450
+ export class RemoteFluidDataStoreContext extends FluidDataStoreContext {
451
+ constructor(props) {
452
+ super(props, true /* existing */, BindState.Bound, false /* isLocalDataStore */, () => {
462
453
  throw new Error("Already attached");
463
- }, pkg);
464
- this.initSnapshotValue = initSnapshotValue;
454
+ });
465
455
  this.initialSnapshotDetailsP = new LazyPromise(async () => {
466
456
  var _a, _b;
467
457
  let tree;
@@ -518,9 +508,10 @@ export class RemotedFluidDataStoreContext extends FluidDataStoreContext {
518
508
  isRootDataStore,
519
509
  };
520
510
  });
511
+ this.initSnapshotValue = props.snapshotTree;
521
512
  this.baseGCDetailsP = new LazyPromise(async () => {
522
513
  var _a;
523
- return (_a = (await getBaseGCDetails())) !== null && _a !== void 0 ? _a : {};
514
+ return (_a = (await props.getBaseGCDetails())) !== null && _a !== void 0 ? _a : {};
524
515
  });
525
516
  }
526
517
  async getInitialSnapshotDetails() {
@@ -551,15 +542,10 @@ export class RemotedFluidDataStoreContext extends FluidDataStoreContext {
551
542
  * Base class for detached & attached context classes
552
543
  */
553
544
  export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
554
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore,
555
- /**
556
- * @deprecated 0.16 Issue #1635, #3631
557
- */
558
- createProps) {
559
- super(runtime, id, snapshotTree !== undefined ? true : false, storage, scope, createSummarizerNode, snapshotTree ? BindState.Bound : BindState.NotBound, true, bindChannel, pkg);
560
- this.snapshotTree = snapshotTree;
561
- this.isRootDataStore = isRootDataStore;
562
- this.createProps = createProps;
545
+ constructor(props) {
546
+ super(props, props.snapshotTree !== undefined ? true : false /* existing */, props.snapshotTree ? BindState.Bound : BindState.NotBound, true /* isLocalDataStore */, props.bindChannelFn);
547
+ this.snapshotTree = props.snapshotTree;
548
+ this.isRootDataStore = props.isRootDataStore;
563
549
  this.attachListeners();
564
550
  }
565
551
  attachListeners() {
@@ -584,10 +570,6 @@ export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
584
570
  // Add data store's attributes to the summary.
585
571
  const attributes = createAttributes(this.pkg, this.isRootDataStore, this.disableIsolatedChannels);
586
572
  addBlobToSummary(summarizeResult, dataStoreAttributesBlobName, JSON.stringify(attributes));
587
- // Add GC data to the summary if it's not written at the root.
588
- if (!this.writeGCDataAtRoot) {
589
- addBlobToSummary(summarizeResult, gcBlobKey, JSON.stringify(this.summarizerNode.getGCSummaryDetails()));
590
- }
591
573
  // Attach message needs the summary in ITree format. Convert the ISummaryTree into an ITree.
592
574
  const snapshot = convertSummaryTreeToITree(summarizeResult.summary);
593
575
  const message = {
@@ -652,12 +634,8 @@ export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
652
634
  * Runtime is created using data store factory that is associated with this context.
653
635
  */
654
636
  export class LocalFluidDataStoreContext extends LocalFluidDataStoreContextBase {
655
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore,
656
- /**
657
- * @deprecated 0.16 Issue #1635, #3631
658
- */
659
- createProps) {
660
- super(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, snapshotTree, isRootDataStore, createProps);
637
+ constructor(props) {
638
+ super(props);
661
639
  }
662
640
  }
663
641
  /**
@@ -667,8 +645,8 @@ export class LocalFluidDataStoreContext extends LocalFluidDataStoreContextBase {
667
645
  * Attachment process provides all missing parts - package path, data store runtime, and data store factory
668
646
  */
669
647
  export class LocalDetachedFluidDataStoreContext extends LocalFluidDataStoreContextBase {
670
- constructor(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, isRootDataStore) {
671
- super(id, pkg, runtime, storage, scope, createSummarizerNode, bindChannel, undefined, isRootDataStore);
648
+ constructor(props) {
649
+ super(props);
672
650
  this.detachedRuntimeCreation = true;
673
651
  }
674
652
  async attachRuntime(registry, dataStoreRuntime) {