@fluidframework/container-loader 2.0.0-dev-rc.2.0.0.246488 → 2.0.0-dev-rc.3.0.0.253463

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 (236) hide show
  1. package/api-report/container-loader.api.md +11 -11
  2. package/dist/attachment.d.ts +6 -9
  3. package/dist/attachment.d.ts.map +1 -1
  4. package/dist/attachment.js +3 -3
  5. package/dist/attachment.js.map +1 -1
  6. package/dist/audience.d.ts +1 -1
  7. package/dist/audience.d.ts.map +1 -1
  8. package/dist/audience.js +2 -2
  9. package/dist/audience.js.map +1 -1
  10. package/dist/catchUpMonitor.d.ts +1 -1
  11. package/dist/catchUpMonitor.d.ts.map +1 -1
  12. package/dist/catchUpMonitor.js +2 -2
  13. package/dist/catchUpMonitor.js.map +1 -1
  14. package/dist/connectionManager.d.ts +4 -4
  15. package/dist/connectionManager.d.ts.map +1 -1
  16. package/dist/connectionManager.js +42 -42
  17. package/dist/connectionManager.js.map +1 -1
  18. package/dist/connectionStateHandler.d.ts +3 -3
  19. package/dist/connectionStateHandler.d.ts.map +1 -1
  20. package/dist/connectionStateHandler.js +27 -27
  21. package/dist/connectionStateHandler.js.map +1 -1
  22. package/dist/container-loader-alpha.d.ts +11 -11
  23. package/dist/container-loader-beta.d.ts +11 -11
  24. package/dist/container-loader-public.d.ts +11 -11
  25. package/dist/container-loader-untrimmed.d.ts +11 -11
  26. package/dist/container.d.ts +9 -46
  27. package/dist/container.d.ts.map +1 -1
  28. package/dist/container.js +96 -108
  29. package/dist/container.js.map +1 -1
  30. package/dist/containerContext.d.ts +19 -7
  31. package/dist/containerContext.d.ts.map +1 -1
  32. package/dist/containerContext.js +7 -2
  33. package/dist/containerContext.js.map +1 -1
  34. package/dist/containerStorageAdapter.d.ts +3 -3
  35. package/dist/containerStorageAdapter.d.ts.map +1 -1
  36. package/dist/containerStorageAdapter.js +6 -6
  37. package/dist/containerStorageAdapter.js.map +1 -1
  38. package/dist/contracts.d.ts +4 -3
  39. package/dist/contracts.d.ts.map +1 -1
  40. package/dist/contracts.js +2 -2
  41. package/dist/contracts.js.map +1 -1
  42. package/dist/debugLogger.d.ts +2 -1
  43. package/dist/debugLogger.d.ts.map +1 -1
  44. package/dist/debugLogger.js +4 -4
  45. package/dist/debugLogger.js.map +1 -1
  46. package/dist/deltaManager.d.ts +7 -6
  47. package/dist/deltaManager.d.ts.map +1 -1
  48. package/dist/deltaManager.js +45 -45
  49. package/dist/deltaManager.js.map +1 -1
  50. package/dist/deltaQueue.d.ts +1 -1
  51. package/dist/deltaQueue.d.ts.map +1 -1
  52. package/dist/deltaQueue.js +5 -5
  53. package/dist/deltaQueue.js.map +1 -1
  54. package/dist/error.d.ts +3 -2
  55. package/dist/error.d.ts.map +1 -1
  56. package/dist/error.js +5 -5
  57. package/dist/error.js.map +1 -1
  58. package/dist/loader.d.ts +4 -4
  59. package/dist/loader.d.ts.map +1 -1
  60. package/dist/loader.js +23 -23
  61. package/dist/loader.js.map +1 -1
  62. package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts +2 -2
  63. package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -1
  64. package/dist/location-redirection-utilities/resolveWithLocationRedirection.js +2 -2
  65. package/dist/location-redirection-utilities/resolveWithLocationRedirection.js.map +1 -1
  66. package/dist/noopHeuristic.d.ts +1 -1
  67. package/dist/noopHeuristic.d.ts.map +1 -1
  68. package/dist/noopHeuristic.js +6 -6
  69. package/dist/noopHeuristic.js.map +1 -1
  70. package/dist/packageVersion.d.ts +1 -1
  71. package/dist/packageVersion.js +1 -1
  72. package/dist/packageVersion.js.map +1 -1
  73. package/dist/protocol.d.ts +1 -1
  74. package/dist/protocol.d.ts.map +1 -1
  75. package/dist/protocol.js +2 -2
  76. package/dist/protocol.js.map +1 -1
  77. package/dist/protocolTreeDocumentStorageService.d.ts +4 -4
  78. package/dist/protocolTreeDocumentStorageService.d.ts.map +1 -1
  79. package/dist/protocolTreeDocumentStorageService.js.map +1 -1
  80. package/dist/quorum.d.ts +1 -1
  81. package/dist/quorum.d.ts.map +1 -1
  82. package/dist/quorum.js.map +1 -1
  83. package/dist/retriableDocumentStorageService.d.ts +2 -2
  84. package/dist/retriableDocumentStorageService.d.ts.map +1 -1
  85. package/dist/retriableDocumentStorageService.js +7 -7
  86. package/dist/retriableDocumentStorageService.js.map +1 -1
  87. package/dist/serializedStateManager.d.ts +87 -16
  88. package/dist/serializedStateManager.d.ts.map +1 -1
  89. package/dist/serializedStateManager.js +164 -80
  90. package/dist/serializedStateManager.js.map +1 -1
  91. package/dist/utils.d.ts +6 -7
  92. package/dist/utils.d.ts.map +1 -1
  93. package/dist/utils.js +39 -23
  94. package/dist/utils.js.map +1 -1
  95. package/lib/attachment.d.ts +6 -9
  96. package/lib/attachment.d.ts.map +1 -1
  97. package/lib/attachment.js +1 -1
  98. package/lib/attachment.js.map +1 -1
  99. package/lib/audience.d.ts +1 -1
  100. package/lib/audience.d.ts.map +1 -1
  101. package/lib/audience.js +1 -1
  102. package/lib/audience.js.map +1 -1
  103. package/lib/catchUpMonitor.d.ts +1 -1
  104. package/lib/catchUpMonitor.d.ts.map +1 -1
  105. package/lib/catchUpMonitor.js +1 -1
  106. package/lib/catchUpMonitor.js.map +1 -1
  107. package/lib/connectionManager.d.ts +4 -4
  108. package/lib/connectionManager.d.ts.map +1 -1
  109. package/lib/connectionManager.js +5 -5
  110. package/lib/connectionManager.js.map +1 -1
  111. package/lib/connectionStateHandler.d.ts +3 -3
  112. package/lib/connectionStateHandler.d.ts.map +1 -1
  113. package/lib/connectionStateHandler.js +2 -2
  114. package/lib/connectionStateHandler.js.map +1 -1
  115. package/lib/container-loader-alpha.d.ts +11 -11
  116. package/lib/container-loader-beta.d.ts +11 -11
  117. package/lib/container-loader-public.d.ts +11 -11
  118. package/lib/container-loader-untrimmed.d.ts +11 -11
  119. package/lib/container.d.ts +9 -46
  120. package/lib/container.d.ts.map +1 -1
  121. package/lib/container.js +28 -40
  122. package/lib/container.js.map +1 -1
  123. package/lib/containerContext.d.ts +19 -7
  124. package/lib/containerContext.d.ts.map +1 -1
  125. package/lib/containerContext.js +7 -2
  126. package/lib/containerContext.js.map +1 -1
  127. package/lib/containerStorageAdapter.d.ts +3 -3
  128. package/lib/containerStorageAdapter.d.ts.map +1 -1
  129. package/lib/containerStorageAdapter.js +2 -2
  130. package/lib/containerStorageAdapter.js.map +1 -1
  131. package/lib/contracts.d.ts +4 -3
  132. package/lib/contracts.d.ts.map +1 -1
  133. package/lib/contracts.js +1 -1
  134. package/lib/contracts.js.map +1 -1
  135. package/lib/debugLogger.d.ts +2 -1
  136. package/lib/debugLogger.d.ts.map +1 -1
  137. package/lib/debugLogger.js +1 -1
  138. package/lib/debugLogger.js.map +1 -1
  139. package/lib/deltaManager.d.ts +7 -6
  140. package/lib/deltaManager.d.ts.map +1 -1
  141. package/lib/deltaManager.js +5 -5
  142. package/lib/deltaManager.js.map +1 -1
  143. package/lib/deltaQueue.d.ts +1 -1
  144. package/lib/deltaQueue.d.ts.map +1 -1
  145. package/lib/deltaQueue.js +2 -2
  146. package/lib/deltaQueue.js.map +1 -1
  147. package/lib/error.d.ts +3 -2
  148. package/lib/error.d.ts.map +1 -1
  149. package/lib/error.js +2 -2
  150. package/lib/error.js.map +1 -1
  151. package/lib/loader.d.ts +4 -4
  152. package/lib/loader.d.ts.map +1 -1
  153. package/lib/loader.js +4 -4
  154. package/lib/loader.js.map +1 -1
  155. package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.ts +2 -2
  156. package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -1
  157. package/lib/location-redirection-utilities/resolveWithLocationRedirection.js +2 -2
  158. package/lib/location-redirection-utilities/resolveWithLocationRedirection.js.map +1 -1
  159. package/lib/noopHeuristic.d.ts +1 -1
  160. package/lib/noopHeuristic.d.ts.map +1 -1
  161. package/lib/noopHeuristic.js +2 -2
  162. package/lib/noopHeuristic.js.map +1 -1
  163. package/lib/packageVersion.d.ts +1 -1
  164. package/lib/packageVersion.js +1 -1
  165. package/lib/packageVersion.js.map +1 -1
  166. package/lib/protocol.d.ts +1 -1
  167. package/lib/protocol.d.ts.map +1 -1
  168. package/lib/protocol.js +1 -1
  169. package/lib/protocol.js.map +1 -1
  170. package/lib/protocolTreeDocumentStorageService.d.ts +4 -4
  171. package/lib/protocolTreeDocumentStorageService.d.ts.map +1 -1
  172. package/lib/protocolTreeDocumentStorageService.js.map +1 -1
  173. package/lib/quorum.d.ts +1 -1
  174. package/lib/quorum.d.ts.map +1 -1
  175. package/lib/quorum.js.map +1 -1
  176. package/lib/retriableDocumentStorageService.d.ts +2 -2
  177. package/lib/retriableDocumentStorageService.d.ts.map +1 -1
  178. package/lib/retriableDocumentStorageService.js +3 -3
  179. package/lib/retriableDocumentStorageService.js.map +1 -1
  180. package/lib/serializedStateManager.d.ts +87 -16
  181. package/lib/serializedStateManager.d.ts.map +1 -1
  182. package/lib/serializedStateManager.js +156 -75
  183. package/lib/serializedStateManager.js.map +1 -1
  184. package/lib/tsdoc-metadata.json +11 -0
  185. package/lib/utils.d.ts +6 -7
  186. package/lib/utils.d.ts.map +1 -1
  187. package/lib/utils.js +27 -12
  188. package/lib/utils.js.map +1 -1
  189. package/package.json +19 -28
  190. package/src/attachment.ts +9 -8
  191. package/src/audience.ts +2 -2
  192. package/src/catchUpMonitor.ts +2 -2
  193. package/src/connectionManager.ts +19 -19
  194. package/src/connectionStateHandler.ts +7 -7
  195. package/src/container.ts +78 -133
  196. package/src/containerContext.ts +22 -12
  197. package/src/containerStorageAdapter.ts +7 -6
  198. package/src/contracts.ts +4 -5
  199. package/src/debugLogger.ts +3 -4
  200. package/src/deltaManager.ts +31 -25
  201. package/src/deltaQueue.ts +2 -2
  202. package/src/error.ts +5 -4
  203. package/src/loader.ts +25 -23
  204. package/src/location-redirection-utilities/resolveWithLocationRedirection.ts +4 -4
  205. package/src/noopHeuristic.ts +3 -3
  206. package/src/packageVersion.ts +1 -1
  207. package/src/protocol.ts +2 -2
  208. package/src/protocolTreeDocumentStorageService.ts +4 -1
  209. package/src/quorum.ts +1 -1
  210. package/src/retriableDocumentStorageService.ts +6 -5
  211. package/src/serializedStateManager.ts +276 -110
  212. package/src/utils.ts +51 -20
  213. package/lib/test/attachment.spec.js +0 -380
  214. package/lib/test/attachment.spec.js.map +0 -1
  215. package/lib/test/catchUpMonitor.spec.js +0 -88
  216. package/lib/test/catchUpMonitor.spec.js.map +0 -1
  217. package/lib/test/connectionManager.spec.js +0 -201
  218. package/lib/test/connectionManager.spec.js.map +0 -1
  219. package/lib/test/connectionStateHandler.spec.js +0 -555
  220. package/lib/test/connectionStateHandler.spec.js.map +0 -1
  221. package/lib/test/container.spec.js +0 -64
  222. package/lib/test/container.spec.js.map +0 -1
  223. package/lib/test/deltaManager.spec.js +0 -405
  224. package/lib/test/deltaManager.spec.js.map +0 -1
  225. package/lib/test/loader.spec.js +0 -212
  226. package/lib/test/loader.spec.js.map +0 -1
  227. package/lib/test/locationRedirectionTests.spec.js +0 -44
  228. package/lib/test/locationRedirectionTests.spec.js.map +0 -1
  229. package/lib/test/serializedStateManager.spec.js +0 -148
  230. package/lib/test/serializedStateManager.spec.js.map +0 -1
  231. package/lib/test/snapshotConversionTest.spec.js +0 -79
  232. package/lib/test/snapshotConversionTest.spec.js.map +0 -1
  233. package/lib/test/types/validateContainerLoaderPrevious.generated.js +0 -38
  234. package/lib/test/types/validateContainerLoaderPrevious.generated.js.map +0 -1
  235. package/lib/test/utils.spec.js +0 -31
  236. package/lib/test/utils.spec.js.map +0 -1
package/lib/container.js CHANGED
@@ -2,31 +2,32 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { v4 as uuid } from "uuid";
6
- import { assert, unreachableCase, isPromiseLike } from "@fluidframework/core-utils";
7
5
  import { TypedEventEmitter, performance } from "@fluid-internal/client-utils";
6
+ import { AttachState, } from "@fluidframework/container-definitions";
7
+ import { isFluidCodeDetails, } from "@fluidframework/container-definitions/internal";
8
8
  import { LogLevel, } from "@fluidframework/core-interfaces";
9
- import { AttachState, isFluidCodeDetails, } from "@fluidframework/container-definitions";
10
- import { readAndParse, OnlineStatus, isOnline, isCombinedAppAndProtocolSummary, MessageType2, isInstanceOfISnapshot, runWithRetry, } from "@fluidframework/driver-utils";
9
+ import { assert, isPromiseLike, unreachableCase } from "@fluidframework/core-utils/internal";
10
+ import { MessageType2, OnlineStatus, isCombinedAppAndProtocolSummary, isInstanceOfISnapshot, isOnline, readAndParse, runWithRetry, } from "@fluidframework/driver-utils/internal";
11
11
  import { MessageType, SummaryType, } from "@fluidframework/protocol-definitions";
12
- import { createChildLogger, EventEmitterWithErrorHandling, PerformanceEvent, raiseConnectedEvent, connectedEventName, normalizeError, createChildMonitoringContext, wrapError, formatTick, GenericError, UsageError, } from "@fluidframework/telemetry-utils";
12
+ import { EventEmitterWithErrorHandling, GenericError, PerformanceEvent, UsageError, connectedEventName, createChildLogger, createChildMonitoringContext, formatTick, normalizeError, raiseConnectedEvent, wrapError, } from "@fluidframework/telemetry-utils/internal";
13
13
  import structuredClone from "@ungap/structured-clone";
14
+ import { v4 as uuid } from "uuid";
15
+ import { runRetriableAttachProcess } from "./attachment.js";
14
16
  import { Audience } from "./audience.js";
17
+ import { ConnectionManager } from "./connectionManager.js";
18
+ import { ConnectionState } from "./connectionState.js";
19
+ import { createConnectionStateHandler } from "./connectionStateHandler.js";
15
20
  import { ContainerContext } from "./containerContext.js";
21
+ import { ContainerStorageAdapter } from "./containerStorageAdapter.js";
16
22
  import { ReconnectMode, getPackageName, } from "./contracts.js";
17
23
  import { DeltaManager } from "./deltaManager.js";
18
24
  import { RelativeLoader } from "./loader.js";
19
- import { pkgVersion } from "./packageVersion.js";
20
- import { ContainerStorageAdapter } from "./containerStorageAdapter.js";
21
- import { createConnectionStateHandler } from "./connectionStateHandler.js";
22
- import { combineAppAndProtocolSummary, getProtocolSnapshotTree, getSnapshotTreeAndBlobsFromSerializedContainer, combineSnapshotTreeAndSnapshotBlobs, getDetachedContainerStateFromSerializedContainer, runSingle, } from "./utils.js";
23
- import { initQuorumValuesFromCodeDetails } from "./quorum.js";
24
25
  import { NoopHeuristic } from "./noopHeuristic.js";
25
- import { ConnectionManager } from "./connectionManager.js";
26
- import { ConnectionState } from "./connectionState.js";
26
+ import { pkgVersion } from "./packageVersion.js";
27
27
  import { ProtocolHandler, protocolHandlerShouldProcessSignal, } from "./protocol.js";
28
- import { runRetriableAttachProcess } from "./attachment.js";
29
- import { SerializedStateManager } from "./serializedStateManager.js";
28
+ import { initQuorumValuesFromCodeDetails } from "./quorum.js";
29
+ import { SerializedStateManager, } from "./serializedStateManager.js";
30
+ import { combineAppAndProtocolSummary, combineSnapshotTreeAndSnapshotBlobs, getDetachedContainerStateFromSerializedContainer, getDocumentAttributes, getProtocolSnapshotTree, getSnapshotTreeAndBlobsFromSerializedContainer, runSingle, } from "./utils.js";
30
31
  const detachedContainerRefSeqNumber = 0;
31
32
  const dirtyContainerEvent = "dirty";
32
33
  const savedContainerEvent = "saved";
@@ -744,13 +745,13 @@ export class Container extends EventEmitterWithErrorHandling {
744
745
  const attachingData = this.attachmentData.state === AttachState.Attaching ? this.attachmentData : undefined;
745
746
  const combinedSummary = attachingData?.summary ??
746
747
  combineAppAndProtocolSummary(this.runtime.createSummary(), this.captureProtocolSummary());
747
- const { tree: snapshot, blobs } = getSnapshotTreeAndBlobsFromSerializedContainer(combinedSummary);
748
+ const { baseSnapshot, snapshotBlobs } = getSnapshotTreeAndBlobsFromSerializedContainer(combinedSummary);
748
749
  const pendingRuntimeState = attachingData !== undefined ? this.runtime.getPendingLocalState() : undefined;
749
750
  assert(!isPromiseLike(pendingRuntimeState), 0x8e3 /* should not be a promise */);
750
751
  const detachedContainerState = {
751
752
  attached: false,
752
- baseSnapshot: snapshot,
753
- snapshotBlobs: blobs,
753
+ baseSnapshot,
754
+ snapshotBlobs,
754
755
  pendingRuntimeState,
755
756
  hasAttachmentBlobs: !!this.detachedBlobStorage && this.detachedBlobStorage.size > 0,
756
757
  };
@@ -927,10 +928,12 @@ export class Container extends EventEmitterWithErrorHandling {
927
928
  state: AttachState.Attached,
928
929
  };
929
930
  timings.phase2 = performance.now();
931
+ const supportGetSnapshotApi = this.mc.config.getBoolean("Fluid.Container.UseLoadingGroupIdForSnapshotFetch") ===
932
+ true && this.service?.policies?.supportGetSnapshotApi === true;
930
933
  // Fetch specified snapshot.
931
- const { snapshotTree, version } = await this.serializedStateManager.fetchSnapshot(specifiedVersion, this.service?.policies?.supportGetSnapshotApi);
934
+ const { baseSnapshot, version } = await this.serializedStateManager.fetchSnapshot(specifiedVersion, supportGetSnapshotApi);
932
935
  this._loadedFromVersion = version;
933
- const attributes = await this.getDocumentAttributes(this.storageAdapter, snapshotTree);
936
+ const attributes = await getDocumentAttributes(this.storageAdapter, baseSnapshot);
934
937
  // If we saved ops, we will replay them and don't need DeltaManager to fetch them
935
938
  const sequenceNumber = pendingLocalState?.savedOps[pendingLocalState.savedOps.length - 1]?.sequenceNumber;
936
939
  const dmAttributes = sequenceNumber !== undefined ? { ...attributes, sequenceNumber } : attributes;
@@ -995,12 +998,12 @@ export class Container extends EventEmitterWithErrorHandling {
995
998
  }
996
999
  // ...load in the existing quorum
997
1000
  // Initialize the protocol handler
998
- await this.initializeProtocolStateFromSnapshot(attributes, this.storageAdapter, snapshotTree);
1001
+ await this.initializeProtocolStateFromSnapshot(attributes, this.storageAdapter, baseSnapshot);
999
1002
  timings.phase3 = performance.now();
1000
1003
  const codeDetails = this.getCodeDetailsFromQuorum();
1001
- await this.instantiateRuntime(codeDetails, snapshotTree,
1004
+ await this.instantiateRuntime(codeDetails, baseSnapshot,
1002
1005
  // give runtime a dummy value so it knows we're loading from a stash blob
1003
- pendingLocalState ? pendingLocalState?.pendingRuntimeState ?? {} : undefined, isInstanceOfISnapshot(snapshotTree) ? snapshotTree : undefined);
1006
+ pendingLocalState ? pendingLocalState?.pendingRuntimeState ?? {} : undefined, isInstanceOfISnapshot(baseSnapshot) ? baseSnapshot : undefined);
1004
1007
  // replay saved ops
1005
1008
  if (pendingLocalState) {
1006
1009
  for (const message of pendingLocalState.savedOps) {
@@ -1082,7 +1085,7 @@ export class Container extends EventEmitterWithErrorHandling {
1082
1085
  }
1083
1086
  const snapshotTreeWithBlobContents = combineSnapshotTreeAndSnapshotBlobs(baseSnapshot, snapshotBlobs);
1084
1087
  this.storageAdapter.loadSnapshotFromSnapshotBlobs(snapshotBlobs);
1085
- const attributes = await this.getDocumentAttributes(this.storageAdapter, snapshotTreeWithBlobContents);
1088
+ const attributes = await getDocumentAttributes(this.storageAdapter, snapshotTreeWithBlobContents);
1086
1089
  await this.attachDeltaManagerOpHandler(attributes);
1087
1090
  // Initialize the protocol handler
1088
1091
  const baseTree = getProtocolSnapshotTree(snapshotTreeWithBlobContents);
@@ -1096,20 +1099,6 @@ export class Container extends EventEmitterWithErrorHandling {
1096
1099
  await this.instantiateRuntime(codeDetails, snapshotTreeWithBlobContents, pendingRuntimeState);
1097
1100
  this.setLoaded();
1098
1101
  }
1099
- async getDocumentAttributes(storage, tree) {
1100
- if (tree === undefined) {
1101
- return {
1102
- minimumSequenceNumber: 0,
1103
- sequenceNumber: 0,
1104
- };
1105
- }
1106
- // Backward compatibility: old docs would have ".attributes" instead of "attributes"
1107
- const attributesHash = ".protocol" in tree.trees
1108
- ? tree.trees[".protocol"].blobs.attributes
1109
- : tree.blobs[".attributes"];
1110
- const attributes = await readAndParse(storage, attributesHash);
1111
- return attributes;
1112
- }
1113
1102
  async initializeProtocolStateFromSnapshot(attributes, storage, snapshot) {
1114
1103
  const quorumSnapshot = {
1115
1104
  members: [],
@@ -1430,6 +1419,7 @@ export class Container extends EventEmitterWithErrorHandling {
1430
1419
  }
1431
1420
  this.emit("op", message);
1432
1421
  }
1422
+ // unknown should be removed once `@alpha` tag is removed from IContainerContext
1433
1423
  submitSignal(content, targetClientId) {
1434
1424
  this._deltaManager.submitSignal(JSON.stringify(content), targetClientId);
1435
1425
  }
@@ -1462,10 +1452,8 @@ export class Container extends EventEmitterWithErrorHandling {
1462
1452
  if (runtimeFactory === undefined) {
1463
1453
  throw new Error(packageNotFactoryError);
1464
1454
  }
1465
- const getSpecifiedCodeDetails = () => (this.protocolHandler.quorum.get("code") ??
1466
- this.protocolHandler.quorum.get("code2"));
1467
1455
  const existing = snapshotTree !== undefined;
1468
- const context = new ContainerContext(this.options, this.scope, snapshotTree, this._loadedFromVersion, this._deltaManager, this.storageAdapter, this.protocolHandler.quorum, this.protocolHandler.audience, loader, (type, contents, batch, metadata) => this.submitContainerMessage(type, contents, batch, metadata), (summaryOp, referenceSequenceNumber) => this.submitSummaryMessage(summaryOp, referenceSequenceNumber), (batch, referenceSequenceNumber) => this.submitBatch(batch, referenceSequenceNumber), (content, targetClientId) => this.submitSignal(content, targetClientId), (error) => this.dispose(error), (error) => this.close(error), this.updateDirtyContainerState, this.getAbsoluteUrl, () => this.resolvedUrl?.id, () => this.clientId, () => this.attachState, () => this.connected, getSpecifiedCodeDetails, this._deltaManager.clientDetails, existing, this.subLogger, pendingLocalState, snapshot);
1456
+ const context = new ContainerContext(this.options, this.scope, snapshotTree, this._loadedFromVersion, this._deltaManager, this.storageAdapter, this.protocolHandler.quorum, this.protocolHandler.audience, loader, (type, contents, batch, metadata) => this.submitContainerMessage(type, contents, batch, metadata), (summaryOp, referenceSequenceNumber) => this.submitSummaryMessage(summaryOp, referenceSequenceNumber), (batch, referenceSequenceNumber) => this.submitBatch(batch, referenceSequenceNumber), (content, targetClientId) => this.submitSignal(content, targetClientId), (error) => this.dispose(error), (error) => this.close(error), this.updateDirtyContainerState, this.getAbsoluteUrl, () => this.resolvedUrl?.id, () => this.clientId, () => this.attachState, () => this.connected, this._deltaManager.clientDetails, existing, this.subLogger, pendingLocalState, snapshot);
1469
1457
  this._runtime = await PerformanceEvent.timedExecAsync(this.subLogger, { eventName: "InstantiateRuntime" }, async () => runtimeFactory.instantiateRuntime(context, existing));
1470
1458
  this._lifecycleEvents.emit("runtimeInstantiated");
1471
1459
  this._loadedCodeDetails = codeDetails;