@fluidframework/container-runtime 2.23.0-325054 → 2.30.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.
Files changed (236) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/api-report/container-runtime.legacy.alpha.api.md +0 -246
  3. package/dist/blobManager/blobManager.d.ts +11 -9
  4. package/dist/blobManager/blobManager.d.ts.map +1 -1
  5. package/dist/blobManager/blobManager.js +38 -39
  6. package/dist/blobManager/blobManager.js.map +1 -1
  7. package/dist/blobManager/blobManagerSnapSum.d.ts +2 -4
  8. package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  9. package/dist/blobManager/blobManagerSnapSum.js +6 -6
  10. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  11. package/dist/channelCollection.d.ts +1 -7
  12. package/dist/channelCollection.d.ts.map +1 -1
  13. package/dist/channelCollection.js +1 -26
  14. package/dist/channelCollection.js.map +1 -1
  15. package/dist/connectionTelemetry.d.ts +0 -43
  16. package/dist/connectionTelemetry.d.ts.map +1 -1
  17. package/dist/connectionTelemetry.js.map +1 -1
  18. package/dist/containerRuntime.d.ts +21 -141
  19. package/dist/containerRuntime.d.ts.map +1 -1
  20. package/dist/containerRuntime.js +49 -290
  21. package/dist/containerRuntime.js.map +1 -1
  22. package/dist/dataStoreContext.d.ts +0 -13
  23. package/dist/dataStoreContext.d.ts.map +1 -1
  24. package/dist/dataStoreContext.js +2 -25
  25. package/dist/dataStoreContext.js.map +1 -1
  26. package/dist/gc/garbageCollection.d.ts.map +1 -1
  27. package/dist/gc/garbageCollection.js +2 -20
  28. package/dist/gc/garbageCollection.js.map +1 -1
  29. package/dist/gc/gcConfigs.d.ts.map +1 -1
  30. package/dist/gc/gcConfigs.js +0 -2
  31. package/dist/gc/gcConfigs.js.map +1 -1
  32. package/dist/gc/gcDefinitions.d.ts +8 -24
  33. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  34. package/dist/gc/gcDefinitions.js +1 -3
  35. package/dist/gc/gcDefinitions.js.map +1 -1
  36. package/dist/gc/gcHelpers.d.ts.map +1 -1
  37. package/dist/gc/gcHelpers.js +1 -4
  38. package/dist/gc/gcHelpers.js.map +1 -1
  39. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  40. package/dist/gc/gcSummaryStateTracker.js +0 -1
  41. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  42. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  43. package/dist/gc/gcTelemetry.js +4 -16
  44. package/dist/gc/gcTelemetry.js.map +1 -1
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +2 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/legacy.d.ts +0 -29
  50. package/dist/messageTypes.d.ts.map +1 -1
  51. package/dist/messageTypes.js.map +1 -1
  52. package/dist/packageVersion.d.ts +1 -1
  53. package/dist/packageVersion.d.ts.map +1 -1
  54. package/dist/packageVersion.js +1 -1
  55. package/dist/packageVersion.js.map +1 -1
  56. package/dist/signalTelemetryProcessing.d.ts +33 -0
  57. package/dist/signalTelemetryProcessing.d.ts.map +1 -0
  58. package/dist/signalTelemetryProcessing.js +149 -0
  59. package/dist/signalTelemetryProcessing.js.map +1 -0
  60. package/dist/summary/documentSchema.d.ts +7 -31
  61. package/dist/summary/documentSchema.d.ts.map +1 -1
  62. package/dist/summary/documentSchema.js +2 -18
  63. package/dist/summary/documentSchema.js.map +1 -1
  64. package/dist/summary/index.d.ts +2 -1
  65. package/dist/summary/index.d.ts.map +1 -1
  66. package/dist/summary/index.js +7 -1
  67. package/dist/summary/index.js.map +1 -1
  68. package/dist/summary/orderedClientElection.d.ts +1 -3
  69. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  70. package/dist/summary/orderedClientElection.js.map +1 -1
  71. package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -3
  72. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  73. package/dist/summary/runWhileConnectedCoordinator.js +2 -7
  74. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  75. package/dist/summary/runningSummarizer.d.ts +1 -2
  76. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  77. package/dist/summary/runningSummarizer.js +4 -23
  78. package/dist/summary/runningSummarizer.js.map +1 -1
  79. package/dist/summary/summarizer.d.ts +2 -5
  80. package/dist/summary/summarizer.d.ts.map +1 -1
  81. package/dist/summary/summarizer.js +3 -11
  82. package/dist/summary/summarizer.js.map +1 -1
  83. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  84. package/dist/summary/summarizerClientElection.js +0 -1
  85. package/dist/summary/summarizerClientElection.js.map +1 -1
  86. package/dist/summary/summarizerHeuristics.d.ts +1 -1
  87. package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
  88. package/dist/summary/summarizerHeuristics.js.map +1 -1
  89. package/dist/summary/summarizerTypes.d.ts +109 -22
  90. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  91. package/dist/summary/summarizerTypes.js.map +1 -1
  92. package/dist/summary/summaryFormat.d.ts +3 -9
  93. package/dist/summary/summaryFormat.d.ts.map +1 -1
  94. package/dist/summary/summaryFormat.js.map +1 -1
  95. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  96. package/dist/summary/summaryGenerator.js +3 -9
  97. package/dist/summary/summaryGenerator.js.map +1 -1
  98. package/dist/summary/summaryHelpers.d.ts +19 -0
  99. package/dist/summary/summaryHelpers.d.ts.map +1 -0
  100. package/dist/summary/summaryHelpers.js +90 -0
  101. package/dist/summary/summaryHelpers.js.map +1 -0
  102. package/dist/summary/summaryManager.d.ts.map +1 -1
  103. package/dist/summary/summaryManager.js +0 -2
  104. package/dist/summary/summaryManager.js.map +1 -1
  105. package/lib/blobManager/blobManager.d.ts +11 -9
  106. package/lib/blobManager/blobManager.d.ts.map +1 -1
  107. package/lib/blobManager/blobManager.js +37 -37
  108. package/lib/blobManager/blobManager.js.map +1 -1
  109. package/lib/blobManager/blobManagerSnapSum.d.ts +2 -4
  110. package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
  111. package/lib/blobManager/blobManagerSnapSum.js +6 -6
  112. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  113. package/lib/channelCollection.d.ts +1 -7
  114. package/lib/channelCollection.d.ts.map +1 -1
  115. package/lib/channelCollection.js +2 -29
  116. package/lib/channelCollection.js.map +1 -1
  117. package/lib/connectionTelemetry.d.ts +0 -43
  118. package/lib/connectionTelemetry.d.ts.map +1 -1
  119. package/lib/connectionTelemetry.js.map +1 -1
  120. package/lib/containerRuntime.d.ts +21 -141
  121. package/lib/containerRuntime.d.ts.map +1 -1
  122. package/lib/containerRuntime.js +51 -298
  123. package/lib/containerRuntime.js.map +1 -1
  124. package/lib/dataStoreContext.d.ts +0 -13
  125. package/lib/dataStoreContext.d.ts.map +1 -1
  126. package/lib/dataStoreContext.js +2 -25
  127. package/lib/dataStoreContext.js.map +1 -1
  128. package/lib/gc/garbageCollection.d.ts.map +1 -1
  129. package/lib/gc/garbageCollection.js +3 -23
  130. package/lib/gc/garbageCollection.js.map +1 -1
  131. package/lib/gc/gcConfigs.d.ts.map +1 -1
  132. package/lib/gc/gcConfigs.js +0 -2
  133. package/lib/gc/gcConfigs.js.map +1 -1
  134. package/lib/gc/gcDefinitions.d.ts +8 -24
  135. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  136. package/lib/gc/gcDefinitions.js +1 -3
  137. package/lib/gc/gcDefinitions.js.map +1 -1
  138. package/lib/gc/gcHelpers.d.ts.map +1 -1
  139. package/lib/gc/gcHelpers.js +1 -4
  140. package/lib/gc/gcHelpers.js.map +1 -1
  141. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  142. package/lib/gc/gcSummaryStateTracker.js +0 -1
  143. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  144. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  145. package/lib/gc/gcTelemetry.js +5 -19
  146. package/lib/gc/gcTelemetry.js.map +1 -1
  147. package/lib/index.d.ts +2 -2
  148. package/lib/index.d.ts.map +1 -1
  149. package/lib/index.js +2 -2
  150. package/lib/index.js.map +1 -1
  151. package/lib/legacy.d.ts +0 -29
  152. package/lib/messageTypes.d.ts.map +1 -1
  153. package/lib/messageTypes.js.map +1 -1
  154. package/lib/packageVersion.d.ts +1 -1
  155. package/lib/packageVersion.d.ts.map +1 -1
  156. package/lib/packageVersion.js +1 -1
  157. package/lib/packageVersion.js.map +1 -1
  158. package/lib/signalTelemetryProcessing.d.ts +33 -0
  159. package/lib/signalTelemetryProcessing.d.ts.map +1 -0
  160. package/lib/signalTelemetryProcessing.js +145 -0
  161. package/lib/signalTelemetryProcessing.js.map +1 -0
  162. package/lib/summary/documentSchema.d.ts +7 -31
  163. package/lib/summary/documentSchema.d.ts.map +1 -1
  164. package/lib/summary/documentSchema.js +2 -18
  165. package/lib/summary/documentSchema.js.map +1 -1
  166. package/lib/summary/index.d.ts +2 -1
  167. package/lib/summary/index.d.ts.map +1 -1
  168. package/lib/summary/index.js +1 -0
  169. package/lib/summary/index.js.map +1 -1
  170. package/lib/summary/orderedClientElection.d.ts +1 -3
  171. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  172. package/lib/summary/orderedClientElection.js.map +1 -1
  173. package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -3
  174. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
  175. package/lib/summary/runWhileConnectedCoordinator.js +2 -7
  176. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  177. package/lib/summary/runningSummarizer.d.ts +1 -2
  178. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  179. package/lib/summary/runningSummarizer.js +4 -23
  180. package/lib/summary/runningSummarizer.js.map +1 -1
  181. package/lib/summary/summarizer.d.ts +2 -5
  182. package/lib/summary/summarizer.d.ts.map +1 -1
  183. package/lib/summary/summarizer.js +3 -11
  184. package/lib/summary/summarizer.js.map +1 -1
  185. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  186. package/lib/summary/summarizerClientElection.js +0 -1
  187. package/lib/summary/summarizerClientElection.js.map +1 -1
  188. package/lib/summary/summarizerHeuristics.d.ts +1 -1
  189. package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
  190. package/lib/summary/summarizerHeuristics.js.map +1 -1
  191. package/lib/summary/summarizerTypes.d.ts +109 -22
  192. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  193. package/lib/summary/summarizerTypes.js.map +1 -1
  194. package/lib/summary/summaryFormat.d.ts +3 -9
  195. package/lib/summary/summaryFormat.d.ts.map +1 -1
  196. package/lib/summary/summaryFormat.js.map +1 -1
  197. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  198. package/lib/summary/summaryGenerator.js +3 -9
  199. package/lib/summary/summaryGenerator.js.map +1 -1
  200. package/lib/summary/summaryHelpers.d.ts +19 -0
  201. package/lib/summary/summaryHelpers.d.ts.map +1 -0
  202. package/lib/summary/summaryHelpers.js +84 -0
  203. package/lib/summary/summaryHelpers.js.map +1 -0
  204. package/lib/summary/summaryManager.d.ts.map +1 -1
  205. package/lib/summary/summaryManager.js +0 -2
  206. package/lib/summary/summaryManager.js.map +1 -1
  207. package/package.json +27 -20
  208. package/src/blobManager/blobManager.ts +70 -62
  209. package/src/blobManager/blobManagerSnapSum.ts +7 -9
  210. package/src/channelCollection.ts +3 -31
  211. package/src/connectionTelemetry.ts +0 -51
  212. package/src/containerRuntime.ts +111 -522
  213. package/src/dataStoreContext.ts +2 -32
  214. package/src/gc/garbageCollection.ts +9 -26
  215. package/src/gc/gcConfigs.ts +3 -6
  216. package/src/gc/gcDefinitions.ts +10 -28
  217. package/src/gc/gcHelpers.ts +0 -5
  218. package/src/gc/gcSummaryStateTracker.ts +1 -2
  219. package/src/gc/gcTelemetry.ts +6 -13
  220. package/src/index.ts +6 -6
  221. package/src/messageTypes.ts +0 -2
  222. package/src/packageVersion.ts +1 -1
  223. package/src/signalTelemetryProcessing.ts +233 -0
  224. package/src/summary/documentSchema.ts +7 -38
  225. package/src/summary/index.ts +12 -0
  226. package/src/summary/orderedClientElection.ts +1 -3
  227. package/src/summary/runWhileConnectedCoordinator.ts +3 -8
  228. package/src/summary/runningSummarizer.ts +12 -20
  229. package/src/summary/summarizer.ts +6 -18
  230. package/src/summary/summarizerClientElection.ts +0 -2
  231. package/src/summary/summarizerHeuristics.ts +1 -2
  232. package/src/summary/summarizerTypes.ts +119 -23
  233. package/src/summary/summaryFormat.ts +4 -13
  234. package/src/summary/summaryGenerator.ts +1 -8
  235. package/src/summary/summaryHelpers.ts +118 -0
  236. package/src/summary/summaryManager.ts +0 -2
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ContainerRuntime = exports.loadContainerRuntime = exports.getSingleUseLegacyLogCallback = exports.makeLegacySendBatchFn = exports.getDeviceSpec = exports.agentSchedulerId = exports.isUnpackedRuntimeMessage = exports.defaultPendingOpsRetryDelayMs = exports.defaultPendingOpsWaitTimeoutMs = exports.disabledCompressionConfig = exports.CompressionAlgorithms = exports.defaultRuntimeHeaderData = exports.InactiveResponseHeaderKey = exports.TombstoneResponseHeaderKey = exports.DeletedResponseHeaderKey = exports.DefaultSummaryConfiguration = exports.isSummariesDisabled = void 0;
7
+ exports.createNewSignalEnvelope = exports.ContainerRuntime = exports.loadContainerRuntime = exports.getSingleUseLegacyLogCallback = exports.makeLegacySendBatchFn = exports.getDeviceSpec = exports.agentSchedulerId = exports.isUnpackedRuntimeMessage = exports.defaultPendingOpsRetryDelayMs = exports.defaultPendingOpsWaitTimeoutMs = exports.disabledCompressionConfig = exports.CompressionAlgorithms = exports.defaultRuntimeHeaderData = exports.InactiveResponseHeaderKey = exports.TombstoneResponseHeaderKey = exports.DeletedResponseHeaderKey = void 0;
8
8
  const client_utils_1 = require("@fluid-internal/client-utils");
9
9
  const container_definitions_1 = require("@fluidframework/container-definitions");
10
10
  const internal_1 = require("@fluidframework/container-definitions/internal");
@@ -32,6 +32,7 @@ const messageTypes_js_1 = require("./messageTypes.js");
32
32
  const index_js_3 = require("./opLifecycle/index.js");
33
33
  const packageVersion_js_1 = require("./packageVersion.js");
34
34
  const pendingStateManager_js_1 = require("./pendingStateManager.js");
35
+ const signalTelemetryProcessing_js_1 = require("./signalTelemetryProcessing.js");
35
36
  const index_js_4 = require("./summary/index.js");
36
37
  const throttler_js_1 = require("./throttler.js");
37
38
  /**
@@ -53,33 +54,9 @@ function getUnknownMessageTypeError(unknownContainerRuntimeMessageType, codePath
53
54
  },
54
55
  });
55
56
  }
56
- function isSummariesDisabled(config) {
57
- return config.state === "disabled";
58
- }
59
- exports.isSummariesDisabled = isSummariesDisabled;
60
- /**
61
- * @legacy
62
- * @alpha
63
- */
64
- exports.DefaultSummaryConfiguration = {
65
- state: "enabled",
66
- minIdleTime: 0,
67
- maxIdleTime: 30 * 1000, // 30 secs.
68
- maxTime: 60 * 1000, // 1 min.
69
- maxOps: 100, // Summarize if 100 weighted ops received since last snapshot.
70
- minOpsForLastSummaryAttempt: 10,
71
- maxAckWaitTime: 3 * 60 * 1000, // 3 mins.
72
- maxOpsSinceLastSummary: 7000,
73
- initialSummarizerDelayMs: 5 * 1000, // 5 secs.
74
- nonRuntimeOpWeight: 0.1,
75
- runtimeOpWeight: 1,
76
- nonRuntimeHeuristicThreshold: 20,
77
- };
78
57
  /**
79
58
  * Error responses when requesting a deleted object will have this header set to true
80
- * @legacy
81
- * @alpha
82
- * @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
59
+ * @internal
83
60
  */
84
61
  exports.DeletedResponseHeaderKey = "wasDeleted";
85
62
  /**
@@ -198,55 +175,13 @@ const makeLegacySendBatchFn = (submitFn, deltaManager) => (batch) => {
198
175
  return clientSequenceNumber;
199
176
  };
200
177
  exports.makeLegacySendBatchFn = makeLegacySendBatchFn;
201
- const summarizerRequestUrl = "_summarizer";
202
- /**
203
- * Create and retrieve the summmarizer
204
- */
205
- async function createSummarizer(loader, url) {
206
- const request = {
207
- headers: {
208
- [internal_1.LoaderHeader.cache]: false,
209
- [internal_1.LoaderHeader.clientDetails]: {
210
- capabilities: { interactive: false },
211
- type: index_js_4.summarizerClientType,
212
- },
213
- [internal_3.DriverHeader.summarizingClient]: true,
214
- [internal_1.LoaderHeader.reconnect]: false,
215
- },
216
- url,
217
- };
218
- const resolvedContainer = await loader.resolve(request);
219
- let fluidObject;
220
- // Older containers may not have the "getEntryPoint" API
221
- // ! This check will need to stay until LTS of loader moves past 2.0.0-internal.7.0.0
222
- if (resolvedContainer.getEntryPoint === undefined) {
223
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-explicit-any
224
- const response = (await resolvedContainer.request({
225
- url: `/${summarizerRequestUrl}`,
226
- }));
227
- if (response.status !== 200 || response.mimeType !== "fluid/object") {
228
- throw (0, internal_6.responseToException)(response, request);
229
- }
230
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
231
- fluidObject = response.value;
232
- }
233
- else {
234
- fluidObject = await resolvedContainer.getEntryPoint();
235
- }
236
- if (fluidObject?.ISummarizer === undefined) {
237
- throw new internal_7.UsageError("Fluid object does not implement ISummarizer");
238
- }
239
- return fluidObject.ISummarizer;
240
- }
241
178
  /**
242
179
  * Extract last message from the snapshot metadata.
243
180
  * Uses legacy property if not using explicit schema control, otherwise uses the new property.
244
181
  * This allows new runtime to make documents not openable for old runtimes, one explicit document schema control is enabled.
245
182
  * Please see addMetadataToSummary() as well
246
183
  */
247
- function lastMessageFromMetadata(
248
- // eslint-disable-next-line import/no-deprecated
249
- metadata) {
184
+ function lastMessageFromMetadata(metadata) {
250
185
  return metadata?.documentSchema?.runtime?.explicitSchemaControl
251
186
  ? metadata?.lastMessage
252
187
  : metadata?.message;
@@ -280,7 +215,6 @@ async function loadContainerRuntime(params) {
280
215
  }
281
216
  exports.loadContainerRuntime = loadContainerRuntime;
282
217
  const defaultMaxConsecutiveReconnects = 7;
283
- const defaultTelemetrySignalSampleCount = 100;
284
218
  /**
285
219
  * Represents the runtime of the container. Contains helper functions/state of the container.
286
220
  * It will define the store level mappings.
@@ -336,15 +270,13 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
336
270
  const [chunks, recentBatchInfo, metadata, electedSummarizerData, aliases, serializedIdCompressor,] = await Promise.all([
337
271
  tryFetchBlob(index_js_4.chunksBlobName),
338
272
  tryFetchBlob(index_js_4.recentBatchInfoBlobName),
339
- // eslint-disable-next-line import/no-deprecated
340
273
  tryFetchBlob(index_js_4.metadataBlobName),
341
- // eslint-disable-next-line import/no-deprecated
342
274
  tryFetchBlob(index_js_4.electedSummarizerBlobName),
343
275
  tryFetchBlob(index_js_4.aliasBlobName),
344
276
  tryFetchBlob(index_js_4.idCompressorBlobName),
345
277
  ]);
346
278
  // read snapshot blobs needed for BlobManager to load
347
- const blobManagerSnapshot = await (0, index_js_1.loadBlobManagerLoadInfo)(context);
279
+ const blobManagerLoadInfo = await (0, index_js_1.loadBlobManagerLoadInfo)(context);
348
280
  const messageAtLastSummary = lastMessageFromMetadata(metadata);
349
281
  // Verify summary runtime sequence number matches protocol sequence number.
350
282
  const runtimeSequenceNumber = messageAtLastSummary?.sequenceNumber;
@@ -448,7 +380,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
448
380
  };
449
381
  const compressionLz4 = compressionOptions.minimumBatchSizeInBytes !== Number.POSITIVE_INFINITY &&
450
382
  compressionOptions.compressionAlgorithm === "lz4";
451
- // eslint-disable-next-line import/no-deprecated
452
383
  const documentSchemaController = new index_js_4.DocumentsSchemaController(existing, protocolSequenceNumber, metadata?.documentSchema, {
453
384
  explicitSchemaControl,
454
385
  compressionLz4,
@@ -476,7 +407,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
476
407
  enableGroupedBatching,
477
408
  explicitSchemaControl,
478
409
  };
479
- const runtime = new containerRuntimeCtor(context, registry, metadata, electedSummarizerData, chunks ?? [], aliases ?? [], internalRuntimeOptions, containerScope, logger, existing, blobManagerSnapshot, context.storage, createIdCompressorFn, documentSchemaController, featureGatesForTelemetry, provideEntryPoint, requestHandler, undefined, // summaryConfiguration
410
+ const runtime = new containerRuntimeCtor(context, registry, metadata, electedSummarizerData, chunks ?? [], aliases ?? [], internalRuntimeOptions, containerScope, logger, existing, blobManagerLoadInfo, context.storage, createIdCompressorFn, documentSchemaController, featureGatesForTelemetry, provideEntryPoint, requestHandler, undefined, // summaryConfiguration
480
411
  recentBatchInfo);
481
412
  runtime.blobManager.stashedBlobsUploadP.then(() => {
482
413
  // make sure we didn't reconnect before the promise resolved
@@ -605,23 +536,15 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
605
536
  return layerCompatState_js_1.RuntimeCompatDetails;
606
537
  }
607
538
  /***/
608
- constructor(context, registry,
609
- // eslint-disable-next-line import/no-deprecated
610
- metadata,
611
- // eslint-disable-next-line import/no-deprecated
612
- electedSummarizerData, chunks, dataStoreAliasMap, baseRuntimeOptions, containerScope,
539
+ constructor(context, registry, metadata, electedSummarizerData, chunks, dataStoreAliasMap, runtimeOptions, containerScope,
613
540
  // Create a custom ITelemetryBaseLogger to output telemetry events.
614
- baseLogger, existing,
615
- // eslint-disable-next-line import/no-deprecated
616
- blobManagerSnapshot, _storage, createIdCompressor,
617
- // eslint-disable-next-line import/no-deprecated
618
- documentsSchemaController, featureGatesForTelemetry, provideEntryPoint, requestHandler,
541
+ baseLogger, existing, blobManagerLoadInfo, _storage, createIdCompressor, documentsSchemaController, featureGatesForTelemetry, provideEntryPoint, requestHandler,
619
542
  // eslint-disable-next-line unicorn/no-object-as-default-parameter
620
543
  summaryConfiguration = {
621
544
  // the defaults
622
- ...exports.DefaultSummaryConfiguration,
545
+ ...index_js_4.DefaultSummaryConfiguration,
623
546
  // the runtime configuration overrides
624
- ...baseRuntimeOptions.summaryOptions?.summaryConfigOverrides,
547
+ ...runtimeOptions.summaryOptions?.summaryConfigOverrides,
625
548
  }, recentBatchInfo) {
626
549
  super();
627
550
  this.registry = registry;
@@ -642,17 +565,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
642
565
  this.ensureNoDataModelChangesCalls = 0;
643
566
  this._disposed = false;
644
567
  this.emitDirtyDocumentEvent = true;
645
- this._signalTracking = {
646
- totalSignalsSentInLatencyWindow: 0,
647
- signalsLost: 0,
648
- signalsOutOfOrder: 0,
649
- signalsSentSinceLastLatencyMeasurement: 0,
650
- broadcastSignalSequenceNumber: 0,
651
- signalTimestamp: 0,
652
- roundTripSignalSequenceNumber: undefined,
653
- trackingSignalSequenceNumber: undefined,
654
- minimumTrackingSignalSequenceNumber: undefined,
655
- };
568
+ this.signalTelemetryManager = new signalTelemetryProcessing_js_1.SignalTelemetryManager();
656
569
  /**
657
570
  * It a cache for holding mapping for loading groupIds with its snapshot from the service. Add expiry policy of 1 minute.
658
571
  * Starting with 1 min and based on recorded usage we can tweak it later on.
@@ -666,11 +579,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
666
579
  this.disposeFn = disposeFn ?? closeFn;
667
580
  const maybeLoaderCompatDetails = context;
668
581
  (0, layerCompatState_js_1.validateLoaderCompatibility)(maybeLoaderCompatDetails.ILayerCompatDetails, this.disposeFn);
669
- // Backfill in defaults for the internal runtimeOptions, since they may not be present on the provided runtimeOptions object
670
- const runtimeOptions = {
671
- flushMode: defaultFlushMode,
672
- ...baseRuntimeOptions,
673
- };
674
582
  this.mc = (0, internal_7.createChildMonitoringContext)({
675
583
  logger: this.baseLogger,
676
584
  namespace: "ContainerRuntime",
@@ -782,10 +690,10 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
782
690
  this._deltaManager = outerDeltaManager;
783
691
  this.handleContext = new containerHandleContext_js_1.ContainerFluidHandleContext("", this);
784
692
  if (summaryConfiguration.state === "enabled") {
785
- this.validateSummaryHeuristicConfiguration(summaryConfiguration);
693
+ (0, index_js_4.validateSummaryHeuristicConfiguration)(summaryConfiguration);
786
694
  }
787
- this.summariesDisabled = isSummariesDisabled(summaryConfiguration);
788
- const { maxOpsSinceLastSummary = 0, initialSummarizerDelayMs = 0 } = isSummariesDisabled(summaryConfiguration)
695
+ this.summariesDisabled = (0, index_js_4.isSummariesDisabled)(summaryConfiguration);
696
+ const { maxOpsSinceLastSummary = 0, initialSummarizerDelayMs = 0 } = (0, index_js_4.isSummariesDisabled)(summaryConfiguration)
789
697
  ? {}
790
698
  : {
791
699
  ...summaryConfiguration,
@@ -880,9 +788,14 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
880
788
  // what is the interface of passing signals, we need the
881
789
  // downstream stores to wrap the signal.
882
790
  parentContext.submitSignal = (type, content, targetClientId) => {
791
+ // Future: Can the `content` argument type be IEnvelope?
792
+ // verifyNotClosed is called in FluidDataStoreContext, which is *the* expected caller.
883
793
  const envelope1 = content;
884
- const envelope2 = this.createNewSignalEnvelope(envelope1.address, type, envelope1.contents);
885
- return this.submitEnvelopedSignal(envelope2, targetClientId);
794
+ const envelope2 = createNewSignalEnvelope(envelope1.address, type, envelope1.contents);
795
+ if (targetClientId === undefined) {
796
+ this.signalTelemetryManager.applyTrackingToBroadcastSignalEnvelope(envelope2);
797
+ }
798
+ this.submitSignalFn(envelope2, targetClientId);
886
799
  };
887
800
  let snapshot = (0, channelCollection_js_1.getSummaryForDatastores)(baseSnapshot, metadata);
888
801
  if (snapshot !== undefined && snapshotWithContents !== undefined) {
@@ -897,8 +810,8 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
897
810
  }), (path) => this.garbageCollector.isNodeDeleted(path), new Map(dataStoreAliasMap), async (runtime) => provideEntryPoint);
898
811
  this.blobManager = new index_js_1.BlobManager({
899
812
  routeContext: this.handleContext,
900
- snapshot: blobManagerSnapshot,
901
- getStorage: () => this.storage,
813
+ blobManagerLoadInfo,
814
+ storage: this.storage,
902
815
  sendBlobAttachOp: (localId, blobId) => {
903
816
  if (!this.disposed) {
904
817
  this.submit({ type: messageTypes_js_1.ContainerMessageType.BlobAttach, contents: undefined }, undefined, {
@@ -986,10 +899,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
986
899
  const orderedClientElectionForSummarizer = new index_js_4.OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData ?? this.innerDeltaManager.lastSequenceNumber, index_js_4.SummarizerClientElection.isClientEligible, this.mc.config.getBoolean("Fluid.ContainerRuntime.OrderedClientElection.EnablePerformanceEvents"));
987
900
  this.summarizerClientElection = new index_js_4.SummarizerClientElection(orderedClientLogger, summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary);
988
901
  if (isSummarizerClient) {
989
- // eslint-disable-next-line import/no-deprecated
990
- this._summarizer = new index_js_4.Summarizer(this /* ISummarizerRuntime */, () => summaryConfiguration, this /* ISummarizerInternalsProvider */, this.handleContext, summaryCollection,
991
- // eslint-disable-next-line import/no-deprecated
992
- async (runtime) => index_js_4.RunWhileConnectedCoordinator.create(runtime,
902
+ this._summarizer = new index_js_4.Summarizer(this /* ISummarizerRuntime */, () => summaryConfiguration, this /* ISummarizerInternalsProvider */, this.handleContext, summaryCollection, async (runtime) => index_js_4.RunWhileConnectedCoordinator.create(runtime,
993
903
  // Summarization runs in summarizer client and needs access to the real (non-proxy) active
994
904
  // information. The proxy delta manager would always return false for summarizer client.
995
905
  () => this.innerDeltaManager.active));
@@ -1017,7 +927,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1017
927
  summaryCollection.on("default", defaultAction);
1018
928
  // Create the SummaryManager and mark the initial state
1019
929
  this.summaryManager = new index_js_4.SummaryManager(this.summarizerClientElection, this, // IConnectedState
1020
- summaryCollection, this.baseLogger, this.formCreateSummarizerFn(loader), new throttler_js_1.Throttler(60 * 1000, // 60 sec delay window
930
+ summaryCollection, this.baseLogger, (0, index_js_4.formCreateSummarizerFn)(loader), new throttler_js_1.Throttler(60 * 1000, // 60 sec delay window
1021
931
  30 * 1000, // 30 sec max delay
1022
932
  // throttling function increases exponentially (0ms, 40ms, 80ms, 160ms, etc)
1023
933
  (0, throttler_js_1.formExponentialFn)({ coefficient: 20, initialDelay: 0 })), {
@@ -1052,7 +962,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1052
962
  summaryFormatVersion: metadata?.summaryFormatVersion,
1053
963
  disableIsolatedChannels: metadata?.disableIsolatedChannels,
1054
964
  gcVersion: metadata?.gcFeature,
1055
- options: JSON.stringify(baseRuntimeOptions),
965
+ options: JSON.stringify(runtimeOptions),
1056
966
  idCompressorModeMetadata: metadata?.documentSchema?.runtime?.idCompressorMode,
1057
967
  idCompressorMode: this.sessionSchema.idCompressorMode,
1058
968
  sessionRuntimeSchema: JSON.stringify(this.sessionSchema),
@@ -1077,7 +987,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1077
987
  // saved state, i.e. all the ops marked by Loader layer sa savedOp === true.
1078
988
  this.skipSavedCompressorOps = pendingRuntimeState?.pendingIdCompressorState !== undefined;
1079
989
  }
1080
- // eslint-disable-next-line import/no-deprecated
1081
990
  onSchemaChange(schema) {
1082
991
  this.mc.logger.sendTelemetryEvent({
1083
992
  eventName: "SchemaChangeAccept",
@@ -1254,7 +1163,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1254
1163
  try {
1255
1164
  const parser = internal_6.RequestParser.create(request);
1256
1165
  const id = parser.pathParts[0];
1257
- if (id === summarizerRequestUrl && parser.pathParts.length === 1) {
1166
+ if (id === index_js_4.summarizerRequestUrl && parser.pathParts.length === 1) {
1258
1167
  if (this._summarizer !== undefined) {
1259
1168
  return {
1260
1169
  status: 200,
@@ -1288,13 +1197,11 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1288
1197
  }
1289
1198
  if (id === index_js_1.blobManagerBasePath && requestParser.isLeaf(2)) {
1290
1199
  const blob = await this.blobManager.getBlob(requestParser.pathParts[1]);
1291
- return blob
1292
- ? {
1293
- status: 200,
1294
- mimeType: "fluid/object",
1295
- value: blob,
1296
- }
1297
- : (0, internal_6.create404Response)(request);
1200
+ return {
1201
+ status: 200,
1202
+ mimeType: "fluid/object",
1203
+ value: blob,
1204
+ };
1298
1205
  }
1299
1206
  else if (requestParser.pathParts.length > 0) {
1300
1207
  return await this.channelCollection.request(request);
@@ -1325,7 +1232,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1325
1232
  const documentSchema = this.documentsSchemaController.summarizeDocumentSchema(this.deltaManager.lastSequenceNumber);
1326
1233
  // Is document schema explicit control on?
1327
1234
  const explicitSchemaControl = documentSchema?.runtime.explicitSchemaControl;
1328
- // eslint-disable-next-line import/no-deprecated
1329
1235
  const metadata = {
1330
1236
  ...this.createContainerMetadata,
1331
1237
  // Increment the summary number for the next summary that will be generated.
@@ -1339,8 +1245,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1339
1245
  // last message's sequence number.
1340
1246
  // See also lastMessageFromMetadata()
1341
1247
  message: explicitSchemaControl
1342
- ? // eslint-disable-next-line import/no-deprecated
1343
- { sequenceNumber: -1 }
1248
+ ? { sequenceNumber: -1 }
1344
1249
  : message,
1345
1250
  lastMessage: explicitSchemaControl ? message : undefined,
1346
1251
  documentSchema,
@@ -1562,14 +1467,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1562
1467
  if (connected) {
1563
1468
  (0, internal_2.assert)(this.attachState === container_definitions_1.AttachState.Attached, 0x3cd /* Connection is possible only if container exists in storage */);
1564
1469
  if (changeOfState) {
1565
- this._signalTracking.signalsLost = 0;
1566
- this._signalTracking.signalsOutOfOrder = 0;
1567
- this._signalTracking.signalTimestamp = 0;
1568
- this._signalTracking.signalsSentSinceLastLatencyMeasurement = 0;
1569
- this._signalTracking.totalSignalsSentInLatencyWindow = 0;
1570
- this._signalTracking.roundTripSignalSequenceNumber = undefined;
1571
- this._signalTracking.trackingSignalSequenceNumber = undefined;
1572
- this._signalTracking.minimumTrackingSignalSequenceNumber = undefined;
1470
+ this.signalTelemetryManager.resetTracking();
1573
1471
  }
1574
1472
  }
1575
1473
  // Fail while disconnected
@@ -1868,9 +1766,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1868
1766
  break;
1869
1767
  }
1870
1768
  case messageTypes_js_1.ContainerMessageType.DocumentSchemaChange: {
1871
- this.documentsSchemaController.processDocumentSchemaMessages(
1872
- // eslint-disable-next-line import/no-deprecated
1873
- contents, local, message.sequenceNumber);
1769
+ this.documentsSchemaController.processDocumentSchemaMessages(contents, local, message.sequenceNumber);
1874
1770
  break;
1875
1771
  }
1876
1772
  default: {
@@ -1900,90 +1796,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1900
1796
  }
1901
1797
  }
1902
1798
  }
1903
- /**
1904
- * Emits the Signal event and update the perf signal data.
1905
- */
1906
- sendSignalTelemetryEvent() {
1907
- const duration = Date.now() - this._signalTracking.signalTimestamp;
1908
- this.mc.logger.sendPerformanceEvent({
1909
- eventName: "SignalLatency",
1910
- details: {
1911
- duration, // Roundtrip duration of the tracked signal in milliseconds.
1912
- sent: this._signalTracking.totalSignalsSentInLatencyWindow, // Signals sent since the last logged SignalLatency event.
1913
- lost: this._signalTracking.signalsLost, // Signals lost since the last logged SignalLatency event.
1914
- outOfOrder: this._signalTracking.signalsOutOfOrder, // Out of order signals since the last logged SignalLatency event.
1915
- reconnectCount: this.consecutiveReconnects, // Container reconnect count.
1916
- },
1917
- });
1918
- this._signalTracking.signalsLost = 0;
1919
- this._signalTracking.signalsOutOfOrder = 0;
1920
- this._signalTracking.signalTimestamp = 0;
1921
- this._signalTracking.totalSignalsSentInLatencyWindow = 0;
1922
- }
1923
- /**
1924
- * Updates signal telemetry including emitting telemetry events.
1925
- */
1926
- processSignalForTelemetry(envelope) {
1927
- const { clientBroadcastSignalSequenceNumber, contents: envelopeContents, address: envelopeAddress, } = envelope;
1928
- if (clientBroadcastSignalSequenceNumber === undefined) {
1929
- return;
1930
- }
1931
- if (this._signalTracking.trackingSignalSequenceNumber === undefined ||
1932
- this._signalTracking.minimumTrackingSignalSequenceNumber === undefined) {
1933
- return;
1934
- }
1935
- if (clientBroadcastSignalSequenceNumber >= this._signalTracking.trackingSignalSequenceNumber) {
1936
- // Calculate the number of signals lost and log the event.
1937
- const signalsLost = clientBroadcastSignalSequenceNumber -
1938
- this._signalTracking.trackingSignalSequenceNumber;
1939
- if (signalsLost > 0) {
1940
- this._signalTracking.signalsLost += signalsLost;
1941
- this.mc.logger.sendErrorEvent({
1942
- eventName: "SignalLost",
1943
- details: {
1944
- signalsLost, // Number of lost signals detected.
1945
- expectedSequenceNumber: this._signalTracking.trackingSignalSequenceNumber, // The next expected signal sequence number.
1946
- clientBroadcastSignalSequenceNumber, // Actual signal sequence number received.
1947
- },
1948
- });
1949
- }
1950
- // Update the tracking signal sequence number to the next expected signal in the sequence.
1951
- this._signalTracking.trackingSignalSequenceNumber =
1952
- clientBroadcastSignalSequenceNumber + 1;
1953
- }
1954
- else if (
1955
- // Check if this is a signal in range of interest.
1956
- clientBroadcastSignalSequenceNumber >=
1957
- this._signalTracking.minimumTrackingSignalSequenceNumber) {
1958
- this._signalTracking.signalsOutOfOrder++;
1959
- const details = {
1960
- expectedSequenceNumber: this._signalTracking.trackingSignalSequenceNumber, // The next expected signal sequence number.
1961
- clientBroadcastSignalSequenceNumber, // Sequence number of the out of order signal.
1962
- };
1963
- // Only log `contents.type` when address is for container to avoid
1964
- // chance that contents type is customer data.
1965
- if (envelopeAddress === undefined) {
1966
- details.contentsType = envelopeContents.type; // Type of signal that was received out of order.
1967
- }
1968
- this.mc.logger.sendTelemetryEvent({
1969
- eventName: "SignalOutOfOrder",
1970
- details,
1971
- });
1972
- }
1973
- if (this._signalTracking.roundTripSignalSequenceNumber !== undefined &&
1974
- clientBroadcastSignalSequenceNumber >= this._signalTracking.roundTripSignalSequenceNumber) {
1975
- if (clientBroadcastSignalSequenceNumber ===
1976
- this._signalTracking.roundTripSignalSequenceNumber) {
1977
- // Latency tracked signal has been received.
1978
- // We now log the roundtrip duration of the tracked signal.
1979
- // This telemetry event also logs metrics for broadcast signals
1980
- // sent, lost, and out of order.
1981
- // These metrics are reset after logging the telemetry event.
1982
- this.sendSignalTelemetryEvent();
1983
- }
1984
- this._signalTracking.roundTripSignalSequenceNumber = undefined;
1985
- }
1986
- }
1987
1799
  processSignal(message, local) {
1988
1800
  const envelope = message.content;
1989
1801
  const transformed = {
@@ -1994,7 +1806,7 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
1994
1806
  };
1995
1807
  // Only collect signal telemetry for broadcast messages sent by the current client.
1996
1808
  if (message.clientId === this.clientId) {
1997
- this.processSignalForTelemetry(envelope);
1809
+ this.signalTelemetryManager.trackReceivedSignal(envelope, this.mc.logger, this.consecutiveReconnects);
1998
1810
  }
1999
1811
  if (envelope.address === undefined) {
2000
1812
  // No address indicates a container signal message.
@@ -2162,43 +1974,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
2162
1974
  }
2163
1975
  return true;
2164
1976
  }
2165
- createNewSignalEnvelope(address, type, content) {
2166
- const newEnvelope = {
2167
- address,
2168
- contents: { type, content },
2169
- };
2170
- return newEnvelope;
2171
- }
2172
- submitEnvelopedSignal(envelope, targetClientId) {
2173
- const isBroadcastSignal = targetClientId === undefined;
2174
- if (isBroadcastSignal) {
2175
- const clientBroadcastSignalSequenceNumber = ++this._signalTracking
2176
- .broadcastSignalSequenceNumber;
2177
- // Stamp with the broadcast signal sequence number.
2178
- envelope.clientBroadcastSignalSequenceNumber = clientBroadcastSignalSequenceNumber;
2179
- this._signalTracking.signalsSentSinceLastLatencyMeasurement++;
2180
- if (this._signalTracking.minimumTrackingSignalSequenceNumber === undefined ||
2181
- this._signalTracking.trackingSignalSequenceNumber === undefined) {
2182
- // Signal monitoring window is undefined
2183
- // Initialize tracking to expect the next signal sent by the connected client.
2184
- this._signalTracking.minimumTrackingSignalSequenceNumber =
2185
- clientBroadcastSignalSequenceNumber;
2186
- this._signalTracking.trackingSignalSequenceNumber =
2187
- clientBroadcastSignalSequenceNumber;
2188
- }
2189
- // We should not track the round trip of a new signal in the case we are already tracking one.
2190
- if (clientBroadcastSignalSequenceNumber % defaultTelemetrySignalSampleCount === 1 &&
2191
- this._signalTracking.roundTripSignalSequenceNumber === undefined) {
2192
- this._signalTracking.signalTimestamp = Date.now();
2193
- this._signalTracking.roundTripSignalSequenceNumber =
2194
- clientBroadcastSignalSequenceNumber;
2195
- this._signalTracking.totalSignalsSentInLatencyWindow +=
2196
- this._signalTracking.signalsSentSinceLastLatencyMeasurement;
2197
- this._signalTracking.signalsSentSinceLastLatencyMeasurement = 0;
2198
- }
2199
- }
2200
- this.submitSignalFn(envelope, targetClientId);
2201
- }
2202
1977
  /**
2203
1978
  * Submits the signal to be sent to other clients.
2204
1979
  * @param type - Type of the signal.
@@ -2213,8 +1988,11 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
2213
1988
  */
2214
1989
  submitSignal(type, content, targetClientId) {
2215
1990
  this.verifyNotClosed();
2216
- const envelope = this.createNewSignalEnvelope(undefined /* address */, type, content);
2217
- return this.submitEnvelopedSignal(envelope, targetClientId);
1991
+ const envelope = createNewSignalEnvelope(undefined /* address */, type, content);
1992
+ if (targetClientId === undefined) {
1993
+ this.signalTelemetryManager.applyTrackingToBroadcastSignalEnvelope(envelope);
1994
+ }
1995
+ this.submitSignalFn(envelope, targetClientId);
2218
1996
  }
2219
1997
  setAttachState(attachState) {
2220
1998
  if (attachState === container_definitions_1.AttachState.Attaching) {
@@ -2368,13 +2146,10 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
2368
2146
  * Returns the type of the GC node. Currently, there are nodes that belong to the root ("/"), data stores or
2369
2147
  * blob manager.
2370
2148
  */
2371
- // eslint-disable-next-line import/no-deprecated
2372
2149
  getNodeType(nodePath) {
2373
2150
  if ((0, index_js_1.isBlobPath)(nodePath)) {
2374
- // eslint-disable-next-line import/no-deprecated
2375
2151
  return index_js_2.GCNodeType.Blob;
2376
2152
  }
2377
- // eslint-disable-next-line import/no-deprecated
2378
2153
  return this.channelCollection.getGCNodeType(nodePath) ?? index_js_2.GCNodeType.Other;
2379
2154
  }
2380
2155
  /**
@@ -2388,13 +2163,10 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
2388
2163
  return ["_gcRoot"];
2389
2164
  }
2390
2165
  switch (this.getNodeType(nodePath)) {
2391
- // eslint-disable-next-line import/no-deprecated
2392
2166
  case index_js_2.GCNodeType.Blob: {
2393
2167
  return [index_js_1.blobManagerBasePath];
2394
2168
  }
2395
- // eslint-disable-next-line import/no-deprecated
2396
2169
  case index_js_2.GCNodeType.DataStore:
2397
- // eslint-disable-next-line import/no-deprecated
2398
2170
  case index_js_2.GCNodeType.SubDataStore: {
2399
2171
  return this.channelCollection.getDataStorePackagePath(nodePath);
2400
2172
  }
@@ -2462,7 +2234,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
2462
2234
  * op processing, updating SummarizerNode state tracking, and garbage collection.
2463
2235
  * @param options - options controlling how the summary is generated or submitted
2464
2236
  */
2465
- // eslint-disable-next-line import/no-deprecated
2466
2237
  async submitSummary(options) {
2467
2238
  const { cancellationToken, fullTree = false, finalAttempt = false, summaryLogger, latestSummaryRefSeqNum, } = options;
2468
2239
  // The summary number for this summary. This will be updated during the summary process, so get it now and
@@ -3064,7 +2835,6 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
3064
2835
  /**
3065
2836
  * Implementation of ISummarizerInternalsProvider.refreshLatestSummaryAck
3066
2837
  */
3067
- // eslint-disable-next-line import/no-deprecated
3068
2838
  async refreshLatestSummaryAck(options) {
3069
2839
  const { proposalHandle, ackHandle, summaryRefSeq, summaryLogger } = options;
3070
2840
  // proposalHandle is always passed from RunningSummarizer.
@@ -3223,28 +2993,17 @@ class ContainerRuntime extends client_utils_1.TypedEventEmitter {
3223
2993
  return this.summaryManager.enqueueSummarize(options);
3224
2994
  }
3225
2995
  }
3226
- /**
3227
- * Forms a function that will create and retrieve a Summarizer.
3228
- */
3229
- formCreateSummarizerFn(loader) {
3230
- return async () => {
3231
- return createSummarizer(loader, `/${summarizerRequestUrl}`);
3232
- };
3233
- }
3234
- validateSummaryHeuristicConfiguration(configuration) {
3235
- // eslint-disable-next-line no-restricted-syntax
3236
- for (const prop in configuration) {
3237
- if (typeof configuration[prop] === "number" && configuration[prop] < 0) {
3238
- throw new internal_7.UsageError(`Summary heuristic configuration property "${prop}" cannot be less than 0`);
3239
- }
3240
- }
3241
- if (configuration.minIdleTime > configuration.maxIdleTime) {
3242
- throw new internal_7.UsageError(`"minIdleTime" [${configuration.minIdleTime}] cannot be greater than "maxIdleTime" [${configuration.maxIdleTime}]`);
3243
- }
3244
- }
3245
2996
  get groupedBatchingEnabled() {
3246
2997
  return this.sessionSchema.opGroupingEnabled === true;
3247
2998
  }
3248
2999
  }
3249
3000
  exports.ContainerRuntime = ContainerRuntime;
3001
+ function createNewSignalEnvelope(address, type, content) {
3002
+ const newEnvelope = {
3003
+ address,
3004
+ contents: { type, content },
3005
+ };
3006
+ return newEnvelope;
3007
+ }
3008
+ exports.createNewSignalEnvelope = createNewSignalEnvelope;
3250
3009
  //# sourceMappingURL=containerRuntime.js.map