@fluidframework/container-loader 2.0.0-rc.2.0.1 → 2.0.0-rc.3.0.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 (246) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/api-report/container-loader.api.md +13 -13
  3. package/dist/attachment.d.ts +6 -9
  4. package/dist/attachment.d.ts.map +1 -1
  5. package/dist/attachment.js +5 -5
  6. package/dist/attachment.js.map +1 -1
  7. package/dist/audience.d.ts +1 -1
  8. package/dist/audience.d.ts.map +1 -1
  9. package/dist/audience.js +4 -4
  10. package/dist/audience.js.map +1 -1
  11. package/dist/catchUpMonitor.d.ts +1 -1
  12. package/dist/catchUpMonitor.d.ts.map +1 -1
  13. package/dist/catchUpMonitor.js +2 -2
  14. package/dist/catchUpMonitor.js.map +1 -1
  15. package/dist/connectionManager.d.ts +4 -4
  16. package/dist/connectionManager.d.ts.map +1 -1
  17. package/dist/connectionManager.js +48 -43
  18. package/dist/connectionManager.js.map +1 -1
  19. package/dist/connectionStateHandler.d.ts +3 -3
  20. package/dist/connectionStateHandler.d.ts.map +1 -1
  21. package/dist/connectionStateHandler.js +27 -27
  22. package/dist/connectionStateHandler.js.map +1 -1
  23. package/dist/container.d.ts +9 -46
  24. package/dist/container.d.ts.map +1 -1
  25. package/dist/container.js +105 -116
  26. package/dist/container.js.map +1 -1
  27. package/dist/containerContext.d.ts +19 -7
  28. package/dist/containerContext.d.ts.map +1 -1
  29. package/dist/containerContext.js +7 -2
  30. package/dist/containerContext.js.map +1 -1
  31. package/dist/containerStorageAdapter.d.ts +3 -3
  32. package/dist/containerStorageAdapter.d.ts.map +1 -1
  33. package/dist/containerStorageAdapter.js +6 -6
  34. package/dist/containerStorageAdapter.js.map +1 -1
  35. package/dist/contracts.d.ts +4 -3
  36. package/dist/contracts.d.ts.map +1 -1
  37. package/dist/contracts.js +2 -2
  38. package/dist/contracts.js.map +1 -1
  39. package/dist/debugLogger.d.ts +2 -1
  40. package/dist/debugLogger.d.ts.map +1 -1
  41. package/dist/debugLogger.js +4 -4
  42. package/dist/debugLogger.js.map +1 -1
  43. package/dist/deltaManager.d.ts +11 -7
  44. package/dist/deltaManager.d.ts.map +1 -1
  45. package/dist/deltaManager.js +53 -50
  46. package/dist/deltaManager.js.map +1 -1
  47. package/dist/deltaQueue.d.ts +1 -1
  48. package/dist/deltaQueue.d.ts.map +1 -1
  49. package/dist/deltaQueue.js +5 -5
  50. package/dist/deltaQueue.js.map +1 -1
  51. package/dist/error.d.ts +3 -2
  52. package/dist/error.d.ts.map +1 -1
  53. package/dist/error.js +5 -5
  54. package/dist/error.js.map +1 -1
  55. package/dist/legacy.d.ts +29 -0
  56. package/dist/loader.d.ts +4 -4
  57. package/dist/loader.d.ts.map +1 -1
  58. package/dist/loader.js +23 -23
  59. package/dist/loader.js.map +1 -1
  60. package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts +2 -2
  61. package/dist/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -1
  62. package/dist/location-redirection-utilities/resolveWithLocationRedirection.js +2 -2
  63. package/dist/location-redirection-utilities/resolveWithLocationRedirection.js.map +1 -1
  64. package/dist/noopHeuristic.d.ts +1 -1
  65. package/dist/noopHeuristic.d.ts.map +1 -1
  66. package/dist/noopHeuristic.js +6 -6
  67. package/dist/noopHeuristic.js.map +1 -1
  68. package/dist/packageVersion.d.ts +1 -1
  69. package/dist/packageVersion.js +1 -1
  70. package/dist/packageVersion.js.map +1 -1
  71. package/dist/protocol.d.ts +1 -1
  72. package/dist/protocol.d.ts.map +1 -1
  73. package/dist/protocol.js +2 -2
  74. package/dist/protocol.js.map +1 -1
  75. package/dist/protocolTreeDocumentStorageService.d.ts +4 -4
  76. package/dist/protocolTreeDocumentStorageService.d.ts.map +1 -1
  77. package/dist/protocolTreeDocumentStorageService.js.map +1 -1
  78. package/dist/public.d.ts +14 -0
  79. package/dist/quorum.d.ts +1 -1
  80. package/dist/quorum.d.ts.map +1 -1
  81. package/dist/quorum.js +4 -0
  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 +86 -16
  88. package/dist/serializedStateManager.d.ts.map +1 -1
  89. package/dist/serializedStateManager.js +182 -82
  90. package/dist/serializedStateManager.js.map +1 -1
  91. package/dist/utils.d.ts +24 -9
  92. package/dist/utils.d.ts.map +1 -1
  93. package/dist/utils.js +82 -25
  94. package/dist/utils.js.map +1 -1
  95. package/internal.d.ts +11 -0
  96. package/legacy.d.ts +11 -0
  97. package/lib/attachment.d.ts +6 -9
  98. package/lib/attachment.d.ts.map +1 -1
  99. package/lib/attachment.js +1 -1
  100. package/lib/attachment.js.map +1 -1
  101. package/lib/audience.d.ts +1 -1
  102. package/lib/audience.d.ts.map +1 -1
  103. package/lib/audience.js +1 -1
  104. package/lib/audience.js.map +1 -1
  105. package/lib/catchUpMonitor.d.ts +1 -1
  106. package/lib/catchUpMonitor.d.ts.map +1 -1
  107. package/lib/catchUpMonitor.js +1 -1
  108. package/lib/catchUpMonitor.js.map +1 -1
  109. package/lib/connectionManager.d.ts +4 -4
  110. package/lib/connectionManager.d.ts.map +1 -1
  111. package/lib/connectionManager.js +11 -6
  112. package/lib/connectionManager.js.map +1 -1
  113. package/lib/connectionStateHandler.d.ts +3 -3
  114. package/lib/connectionStateHandler.d.ts.map +1 -1
  115. package/lib/connectionStateHandler.js +2 -2
  116. package/lib/connectionStateHandler.js.map +1 -1
  117. package/lib/container.d.ts +9 -46
  118. package/lib/container.d.ts.map +1 -1
  119. package/lib/container.js +37 -48
  120. package/lib/container.js.map +1 -1
  121. package/lib/containerContext.d.ts +19 -7
  122. package/lib/containerContext.d.ts.map +1 -1
  123. package/lib/containerContext.js +7 -2
  124. package/lib/containerContext.js.map +1 -1
  125. package/lib/containerStorageAdapter.d.ts +3 -3
  126. package/lib/containerStorageAdapter.d.ts.map +1 -1
  127. package/lib/containerStorageAdapter.js +2 -2
  128. package/lib/containerStorageAdapter.js.map +1 -1
  129. package/lib/contracts.d.ts +4 -3
  130. package/lib/contracts.d.ts.map +1 -1
  131. package/lib/contracts.js +1 -1
  132. package/lib/contracts.js.map +1 -1
  133. package/lib/debugLogger.d.ts +2 -1
  134. package/lib/debugLogger.d.ts.map +1 -1
  135. package/lib/debugLogger.js +1 -1
  136. package/lib/debugLogger.js.map +1 -1
  137. package/lib/deltaManager.d.ts +11 -7
  138. package/lib/deltaManager.d.ts.map +1 -1
  139. package/lib/deltaManager.js +13 -10
  140. package/lib/deltaManager.js.map +1 -1
  141. package/lib/deltaQueue.d.ts +1 -1
  142. package/lib/deltaQueue.d.ts.map +1 -1
  143. package/lib/deltaQueue.js +2 -2
  144. package/lib/deltaQueue.js.map +1 -1
  145. package/lib/error.d.ts +3 -2
  146. package/lib/error.d.ts.map +1 -1
  147. package/lib/error.js +2 -2
  148. package/lib/error.js.map +1 -1
  149. package/lib/legacy.d.ts +29 -0
  150. package/lib/loader.d.ts +4 -4
  151. package/lib/loader.d.ts.map +1 -1
  152. package/lib/loader.js +4 -4
  153. package/lib/loader.js.map +1 -1
  154. package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.ts +2 -2
  155. package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -1
  156. package/lib/location-redirection-utilities/resolveWithLocationRedirection.js +2 -2
  157. package/lib/location-redirection-utilities/resolveWithLocationRedirection.js.map +1 -1
  158. package/lib/noopHeuristic.d.ts +1 -1
  159. package/lib/noopHeuristic.d.ts.map +1 -1
  160. package/lib/noopHeuristic.js +2 -2
  161. package/lib/noopHeuristic.js.map +1 -1
  162. package/lib/packageVersion.d.ts +1 -1
  163. package/lib/packageVersion.js +1 -1
  164. package/lib/packageVersion.js.map +1 -1
  165. package/lib/protocol.d.ts +1 -1
  166. package/lib/protocol.d.ts.map +1 -1
  167. package/lib/protocol.js +1 -1
  168. package/lib/protocol.js.map +1 -1
  169. package/lib/protocolTreeDocumentStorageService.d.ts +4 -4
  170. package/lib/protocolTreeDocumentStorageService.d.ts.map +1 -1
  171. package/lib/protocolTreeDocumentStorageService.js.map +1 -1
  172. package/lib/public.d.ts +14 -0
  173. package/lib/quorum.d.ts +1 -1
  174. package/lib/quorum.d.ts.map +1 -1
  175. package/lib/quorum.js +4 -0
  176. package/lib/quorum.js.map +1 -1
  177. package/lib/retriableDocumentStorageService.d.ts +2 -2
  178. package/lib/retriableDocumentStorageService.d.ts.map +1 -1
  179. package/lib/retriableDocumentStorageService.js +3 -3
  180. package/lib/retriableDocumentStorageService.js.map +1 -1
  181. package/lib/serializedStateManager.d.ts +86 -16
  182. package/lib/serializedStateManager.d.ts.map +1 -1
  183. package/lib/serializedStateManager.js +174 -77
  184. package/lib/serializedStateManager.js.map +1 -1
  185. package/lib/utils.d.ts +24 -9
  186. package/lib/utils.d.ts.map +1 -1
  187. package/lib/utils.js +69 -15
  188. package/lib/utils.js.map +1 -1
  189. package/package.json +37 -58
  190. package/src/attachment.ts +10 -8
  191. package/src/audience.ts +3 -2
  192. package/src/catchUpMonitor.ts +2 -2
  193. package/src/connectionManager.ts +27 -20
  194. package/src/connectionStateHandler.ts +7 -7
  195. package/src/container.ts +90 -143
  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 +40 -30
  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 +2 -1
  210. package/src/retriableDocumentStorageService.ts +6 -5
  211. package/src/serializedStateManager.ts +299 -111
  212. package/src/utils.ts +103 -24
  213. package/api-extractor-cjs.json +0 -8
  214. package/dist/container-loader-alpha.d.ts +0 -275
  215. package/dist/container-loader-beta.d.ts +0 -101
  216. package/dist/container-loader-public.d.ts +0 -101
  217. package/dist/container-loader-untrimmed.d.ts +0 -331
  218. package/lib/container-loader-alpha.d.ts +0 -275
  219. package/lib/container-loader-beta.d.ts +0 -101
  220. package/lib/container-loader-public.d.ts +0 -101
  221. package/lib/container-loader-untrimmed.d.ts +0 -331
  222. package/lib/test/attachment.spec.js +0 -380
  223. package/lib/test/attachment.spec.js.map +0 -1
  224. package/lib/test/catchUpMonitor.spec.js +0 -88
  225. package/lib/test/catchUpMonitor.spec.js.map +0 -1
  226. package/lib/test/connectionManager.spec.js +0 -201
  227. package/lib/test/connectionManager.spec.js.map +0 -1
  228. package/lib/test/connectionStateHandler.spec.js +0 -555
  229. package/lib/test/connectionStateHandler.spec.js.map +0 -1
  230. package/lib/test/container.spec.js +0 -64
  231. package/lib/test/container.spec.js.map +0 -1
  232. package/lib/test/deltaManager.spec.js +0 -405
  233. package/lib/test/deltaManager.spec.js.map +0 -1
  234. package/lib/test/loader.spec.js +0 -212
  235. package/lib/test/loader.spec.js.map +0 -1
  236. package/lib/test/locationRedirectionTests.spec.js +0 -44
  237. package/lib/test/locationRedirectionTests.spec.js.map +0 -1
  238. package/lib/test/serializedStateManager.spec.js +0 -148
  239. package/lib/test/serializedStateManager.spec.js.map +0 -1
  240. package/lib/test/snapshotConversionTest.spec.js +0 -79
  241. package/lib/test/snapshotConversionTest.spec.js.map +0 -1
  242. package/lib/test/types/validateContainerLoaderPrevious.generated.js +0 -38
  243. package/lib/test/types/validateContainerLoaderPrevious.generated.js.map +0 -1
  244. package/lib/test/utils.spec.js +0 -31
  245. package/lib/test/utils.spec.js.map +0 -1
  246. /package/{dist → lib}/tsdoc-metadata.json +0 -0
@@ -5,27 +5,27 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.DeltaManager = void 0;
8
- const uuid_1 = require("uuid");
9
8
  const client_utils_1 = require("@fluid-internal/client-utils");
10
- const core_utils_1 = require("@fluidframework/core-utils");
11
- const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
9
+ const internal_1 = require("@fluidframework/core-utils/internal");
12
10
  const driver_definitions_1 = require("@fluidframework/driver-definitions");
11
+ const internal_2 = require("@fluidframework/driver-utils/internal");
13
12
  const protocol_definitions_1 = require("@fluidframework/protocol-definitions");
14
- const driver_utils_1 = require("@fluidframework/driver-utils");
13
+ const internal_3 = require("@fluidframework/telemetry-utils/internal");
14
+ const uuid_1 = require("uuid");
15
15
  const deltaQueue_js_1 = require("./deltaQueue.js");
16
16
  const error_js_1 = require("./error.js");
17
17
  /**
18
18
  * Determines if message was sent by client, not service
19
19
  */
20
20
  function isClientMessage(message) {
21
- if ((0, driver_utils_1.isRuntimeMessage)(message)) {
21
+ if ((0, internal_2.isRuntimeMessage)(message)) {
22
22
  return true;
23
23
  }
24
24
  switch (message.type) {
25
25
  case protocol_definitions_1.MessageType.Propose:
26
26
  case protocol_definitions_1.MessageType.Reject:
27
27
  case protocol_definitions_1.MessageType.NoOp:
28
- case driver_utils_1.MessageType2.Accept:
28
+ case internal_2.MessageType2.Accept:
29
29
  case protocol_definitions_1.MessageType.Summarize:
30
30
  return true;
31
31
  default:
@@ -90,7 +90,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
90
90
  */
91
91
  get hasCheckpointSequenceNumber() {
92
92
  // Valid to be called only if we have active connection.
93
- (0, core_utils_1.assert)(this.connectionManager.connected, 0x0df /* "Missing active connection" */);
93
+ (0, internal_1.assert)(this.connectionManager.connected, 0x0df /* "Missing active connection" */);
94
94
  return this._checkpointSequenceNumber !== undefined;
95
95
  }
96
96
  // Forwarding connection manager properties / IDeltaManager implementation
@@ -129,7 +129,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
129
129
  if (message === undefined) {
130
130
  return -1;
131
131
  }
132
- (0, core_utils_1.assert)(isClientMessage(message), 0x419 /* client sends non-client message */);
132
+ (0, internal_1.assert)(isClientMessage(message), 0x419 /* client sends non-client message */);
133
133
  if (contents !== undefined) {
134
134
  this.opsSize += contents.length;
135
135
  }
@@ -155,14 +155,14 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
155
155
  // The prepareFlush event allows listeners to append metadata to the batch prior to submission.
156
156
  this.emit("prepareSend", batch);
157
157
  if (batch.length === 1) {
158
- (0, core_utils_1.assert)(batch[0].metadata?.batch === undefined, 0x3c9 /* no batch markup on single message */);
158
+ (0, internal_1.assert)(batch[0].metadata?.batch === undefined, 0x3c9 /* no batch markup on single message */);
159
159
  }
160
160
  else {
161
- (0, core_utils_1.assert)(batch[0].metadata?.batch === true, 0x3ca /* no start batch markup */);
162
- (0, core_utils_1.assert)(batch[batch.length - 1].metadata?.batch === false, 0x3cb /* no end batch markup */);
161
+ (0, internal_1.assert)(batch[0].metadata?.batch === true, 0x3ca /* no start batch markup */);
162
+ (0, internal_1.assert)(batch[batch.length - 1].metadata?.batch === false, 0x3cb /* no end batch markup */);
163
163
  }
164
164
  this.connectionManager.sendMessages(batch);
165
- (0, core_utils_1.assert)(this.messageBuffer.length === 0, 0x3cc /* reentrancy */);
165
+ (0, internal_1.assert)(this.messageBuffer.length === 0, 0x3cc /* reentrancy */);
166
166
  }
167
167
  get connectionProps() {
168
168
  return {
@@ -179,7 +179,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
179
179
  * @param event - Event to log.
180
180
  */
181
181
  logConnectionIssue(event) {
182
- (0, core_utils_1.assert)(this.connectionManager.connected, 0x238 /* "called only in connected state" */);
182
+ (0, internal_1.assert)(this.connectionManager.connected, 0x238 /* "called only in connected state" */);
183
183
  const pendingSorted = this.pending.sort((a, b) => a.sequenceNumber - b.sequenceNumber);
184
184
  this.logger.sendTelemetryEvent({
185
185
  ...event,
@@ -246,7 +246,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
246
246
  }
247
247
  catch (error) {
248
248
  this.logger.sendErrorEvent({ eventName: "EnqueueMessages_Exception" }, error);
249
- this.close((0, telemetry_utils_1.normalizeError)(error));
249
+ this.close((0, internal_3.normalizeError)(error));
250
250
  }
251
251
  },
252
252
  signalHandler: (signals) => {
@@ -260,7 +260,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
260
260
  connectHandler: (connection) => this.connectHandler(connection),
261
261
  pongHandler: (latency) => this.emit("pong", latency),
262
262
  readonlyChangeHandler: (readonly, readonlyConnectionReason) => {
263
- (0, telemetry_utils_1.safeRaiseEvent)(this, this.logger, "readonly", readonly, readonlyConnectionReason);
263
+ (0, internal_3.safeRaiseEvent)(this, this.logger, "readonly", readonly, readonlyConnectionReason);
264
264
  },
265
265
  establishConnectionHandler: (reason) => this.establishingConnection(reason),
266
266
  cancelConnectionHandler: (reason) => this.cancelEstablishingConnection(reason),
@@ -270,7 +270,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
270
270
  this.processInboundMessage(op);
271
271
  });
272
272
  this._inbound.on("error", (error) => {
273
- this.close(telemetry_utils_1.DataProcessingError.wrapIfUnrecognized(error, "deltaManagerInboundErrorHandler", this.lastMessage));
273
+ this.close(internal_3.DataProcessingError.wrapIfUnrecognized(error, "deltaManagerInboundErrorHandler", this.lastMessage));
274
274
  });
275
275
  // Inbound signal queue
276
276
  this._inboundSignal = new deltaQueue_js_1.DeltaQueue((message) => {
@@ -283,7 +283,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
283
283
  });
284
284
  });
285
285
  this._inboundSignal.on("error", (error) => {
286
- this.close((0, telemetry_utils_1.normalizeError)(error));
286
+ this.close((0, internal_3.normalizeError)(error));
287
287
  });
288
288
  // Initially, all queues are created paused.
289
289
  // - outbound is flipped back and forth in setupNewSuccessfulConnection / disconnectFromDeltaStream
@@ -310,7 +310,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
310
310
  // but it's safe to assume (until better design is put into place) that batches should not exist
311
311
  // across multiple connections. Right now we assume runtime will not submit any ops in disconnected
312
312
  // state. As requirements change, so should these checks.
313
- (0, core_utils_1.assert)(this.messageBuffer.length === 0, 0x0e9 /* "messageBuffer is not empty on new connection" */);
313
+ (0, internal_1.assert)(this.messageBuffer.length === 0, 0x0e9 /* "messageBuffer is not empty on new connection" */);
314
314
  this.opsSize = 0;
315
315
  this.noOpCount = 0;
316
316
  this.emit("connect", connection, checkpointSequenceNumber !== undefined
@@ -333,24 +333,27 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
333
333
  }
334
334
  /**
335
335
  * Sets the sequence number from which inbound messages should be returned
336
+ * @param snapshotSequenceNumber - The sequence number of the snapshot at which the document loaded from.
337
+ * @param lastProcessedSequenceNumber - The last processed sequence number, for offline, it should be greater than the sequence number.
338
+ * Setting lastProcessedSequenceNumber allows the DeltaManager to skip downloading and processing ops that have already been processed.
336
339
  */
337
- async attachOpHandler(minSequenceNumber, sequenceNumber, handler, prefetchType = "none") {
338
- this.initSequenceNumber = sequenceNumber;
339
- this.lastProcessedSequenceNumber = sequenceNumber;
340
+ async attachOpHandler(minSequenceNumber, snapshotSequenceNumber, handler, prefetchType = "none", lastProcessedSequenceNumber = snapshotSequenceNumber) {
341
+ this.initSequenceNumber = snapshotSequenceNumber;
342
+ this.lastProcessedSequenceNumber = lastProcessedSequenceNumber;
340
343
  this.minSequenceNumber = minSequenceNumber;
341
- this.lastQueuedSequenceNumber = sequenceNumber;
342
- this.lastObservedSeqNumber = sequenceNumber;
344
+ this.lastQueuedSequenceNumber = lastProcessedSequenceNumber;
345
+ this.lastObservedSeqNumber = lastProcessedSequenceNumber;
343
346
  // We will use same check in other places to make sure all the seq number above are set properly.
344
- (0, core_utils_1.assert)(this.handler === undefined, 0x0e2 /* "DeltaManager already has attached op handler!" */);
347
+ (0, internal_1.assert)(this.handler === undefined, 0x0e2 /* "DeltaManager already has attached op handler!" */);
345
348
  this.handler = handler;
346
349
  // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
347
- (0, core_utils_1.assert)(!!this.handler, 0x0e3 /* "Newly set op handler is null/undefined!" */);
350
+ (0, internal_1.assert)(!!this.handler, 0x0e3 /* "Newly set op handler is null/undefined!" */);
348
351
  // There should be no pending fetch!
349
352
  // This API is called right after attachOpHandler by Container.load().
350
353
  // We might have connection already and it might have called fetchMissingDeltas() from
351
354
  // setupNewSuccessfulConnection. But it should do nothing, because there is no way to fetch ops before
352
355
  // we know snapshot sequence number that is set in attachOpHandler. So all such calls should be noop.
353
- (0, core_utils_1.assert)(this.fetchReason === undefined, 0x268 /* "There can't be pending fetch that early in boot sequence!" */);
356
+ (0, internal_1.assert)(this.fetchReason === undefined, 0x268 /* "There can't be pending fetch that early in boot sequence!" */);
354
357
  if (this._closed) {
355
358
  return;
356
359
  }
@@ -369,7 +372,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
369
372
  }
370
373
  }
371
374
  // Ensure there is no need to call this.processPendingOps() at the end of boot sequence
372
- (0, core_utils_1.assert)(this.fetchReason !== undefined || this.pending.length === 0, 0x269 /* "pending ops are not dropped" */);
375
+ (0, internal_1.assert)(this.fetchReason !== undefined || this.pending.length === 0, 0x269 /* "pending ops are not dropped" */);
373
376
  }
374
377
  connect(args) {
375
378
  const fetchOpsFromStorage = args.fetchOpsFromStorage ?? true;
@@ -432,7 +435,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
432
435
  const controller = new AbortController();
433
436
  let opsFromFetch = false;
434
437
  const opListener = (op) => {
435
- (0, core_utils_1.assert)(op.sequenceNumber === this.lastQueuedSequenceNumber, 0x23a /* "seq#'s" */);
438
+ (0, internal_1.assert)(op.sequenceNumber === this.lastQueuedSequenceNumber, 0x23a /* "seq#'s" */);
436
439
  // Ops that are coming from this request should not cancel itself.
437
440
  // This is useless for known ranges (to is defined) as it means request is over either way.
438
441
  // And it will cancel unbound request too early, not allowing us to learn where the end of the file is.
@@ -443,7 +446,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
443
446
  };
444
447
  try {
445
448
  this._inbound.on("push", opListener);
446
- (0, core_utils_1.assert)(this.closeAbortController.signal.onabort === null, 0x1e8 /* "reentrancy" */);
449
+ (0, internal_1.assert)(this.closeAbortController.signal.onabort === null, 0x1e8 /* "reentrancy" */);
447
450
  this.closeAbortController.signal.onabort = () => controller.abort(this.closeAbortController.signal.reason);
448
451
  const stream = this.deltaStorage.fetchMessages(from, // inclusive
449
452
  to, // exclusive
@@ -473,7 +476,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
473
476
  }
474
477
  this.closeAbortController.signal.onabort = null;
475
478
  this._inbound.off("push", opListener);
476
- (0, core_utils_1.assert)(!opsFromFetch, 0x289 /* "logic error" */);
479
+ (0, internal_1.assert)(!opsFromFetch, 0x289 /* "logic error" */);
477
480
  }
478
481
  }
479
482
  /**
@@ -505,8 +508,8 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
505
508
  if (this._disposed) {
506
509
  return;
507
510
  }
508
- if (error !== undefined && !(0, telemetry_utils_1.isFluidError)(error)) {
509
- throw new telemetry_utils_1.UsageError("Error must be a Fluid error");
511
+ if (error !== undefined && !(0, internal_3.isFluidError)(error)) {
512
+ throw new internal_3.UsageError("Error must be a Fluid error");
510
513
  }
511
514
  this._disposed = true;
512
515
  this._closed = true; // We consider "disposed" as a further state than "closed"
@@ -579,7 +582,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
579
582
  // It's responsibility of
580
583
  // - attachOpHandler()
581
584
  // - fetchMissingDeltas() after it's done with querying storage
582
- (0, core_utils_1.assert)(this.pending.length === 0 || this.fetchReason !== undefined, 0x1e9 /* "Pending ops" */);
585
+ (0, internal_1.assert)(this.pending.length === 0 || this.fetchReason !== undefined, 0x1e9 /* "Pending ops" */);
583
586
  if (messages.length === 0) {
584
587
  return;
585
588
  }
@@ -645,7 +648,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
645
648
  }
646
649
  this.updateLatestKnownOpSeqNumber(messages[messages.length - 1].sequenceNumber);
647
650
  const n = this.previouslyProcessedMessage?.sequenceNumber;
648
- (0, core_utils_1.assert)(n === undefined || n === this.lastQueuedSequenceNumber, 0x0ec /* "Unexpected value for previously processed message's sequence number" */);
651
+ (0, internal_1.assert)(n === undefined || n === this.lastQueuedSequenceNumber, 0x0ec /* "Unexpected value for previously processed message's sequence number" */);
649
652
  for (const message of messages) {
650
653
  // Check that the messages are arriving in the expected order
651
654
  if (message.sequenceNumber <= this.lastQueuedSequenceNumber) {
@@ -655,7 +658,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
655
658
  const message1 = this.comparableMessagePayload(this.previouslyProcessedMessage);
656
659
  const message2 = this.comparableMessagePayload(message);
657
660
  if (message1 !== message2) {
658
- const error = new driver_utils_1.NonRetryableError(
661
+ const error = new internal_2.NonRetryableError(
659
662
  // This looks like a data corruption but the culprit was that the file was overwritten
660
663
  // in storage. See PR #5882.
661
664
  // Likely to be an issue with Fluid Services. Content does not match previous client
@@ -692,18 +695,18 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
692
695
  }
693
696
  processInboundMessage(message) {
694
697
  const startTime = Date.now();
695
- (0, core_utils_1.assert)(!this.currentlyProcessingOps, 0x3af /* Already processing ops. */);
698
+ (0, internal_1.assert)(!this.currentlyProcessingOps, 0x3af /* Already processing ops. */);
696
699
  this.currentlyProcessingOps = true;
697
700
  this.lastProcessedMessage = message;
698
701
  const isString = typeof message.clientId === "string";
699
- (0, core_utils_1.assert)(message.clientId === null || isString, 0x41a /* undefined or string */);
702
+ (0, internal_1.assert)(message.clientId === null || isString, 0x41a /* undefined or string */);
700
703
  // All client messages are coming from some client, and should have clientId,
701
704
  // and non-client message should not have clientId. But, there are two exceptions:
702
705
  // 1. (Legacy) We can see message.type === "attach" or "chunkedOp" for legacy files before RTM
703
706
  // 2. Non-immediate noops (contents: null) can be sent by service without clientId
704
707
  if (!isString && isClientMessage(message) && message.type !== protocol_definitions_1.MessageType.NoOp) {
705
- throw new telemetry_utils_1.DataCorruptionError("Mismatch in clientId", {
706
- ...(0, telemetry_utils_1.extractSafePropertiesFromMessage)(message),
708
+ throw new internal_3.DataCorruptionError("Mismatch in clientId", {
709
+ ...(0, internal_3.extractSafePropertiesFromMessage)(message),
707
710
  messageType: message.type,
708
711
  });
709
712
  }
@@ -731,8 +734,8 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
731
734
  // Watch the minimum sequence number and be ready to update as needed
732
735
  if (this.minSequenceNumber > message.minimumSequenceNumber) {
733
736
  // pre-0.58 error message: msnMovesBackwards
734
- throw new telemetry_utils_1.DataCorruptionError("Found a lower minimumSequenceNumber (msn) than previously recorded", {
735
- ...(0, telemetry_utils_1.extractSafePropertiesFromMessage)(message),
737
+ throw new internal_3.DataCorruptionError("Found a lower minimumSequenceNumber (msn) than previously recorded", {
738
+ ...(0, internal_3.extractSafePropertiesFromMessage)(message),
736
739
  clientId: this.connectionManager.clientId,
737
740
  });
738
741
  }
@@ -741,19 +744,19 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
741
744
  // System ops (when no clients are connected) are the only ops where equation is possible.
742
745
  const diff = message.sequenceNumber - message.minimumSequenceNumber;
743
746
  if (diff < 0 || (diff === 0 && message.clientId !== null)) {
744
- throw new telemetry_utils_1.DataCorruptionError("MSN has to be lower than sequence #", (0, telemetry_utils_1.extractSafePropertiesFromMessage)(message));
747
+ throw new internal_3.DataCorruptionError("MSN has to be lower than sequence #", (0, internal_3.extractSafePropertiesFromMessage)(message));
745
748
  }
746
749
  this.minSequenceNumber = message.minimumSequenceNumber;
747
750
  if (message.sequenceNumber !== this.lastProcessedSequenceNumber + 1) {
748
751
  // pre-0.58 error message: nonSequentialSequenceNumber
749
- throw new telemetry_utils_1.DataCorruptionError("Found a non-Sequential sequenceNumber", {
750
- ...(0, telemetry_utils_1.extractSafePropertiesFromMessage)(message),
752
+ throw new internal_3.DataCorruptionError("Found a non-Sequential sequenceNumber", {
753
+ ...(0, internal_3.extractSafePropertiesFromMessage)(message),
751
754
  clientId: this.connectionManager.clientId,
752
755
  });
753
756
  }
754
757
  this.lastProcessedSequenceNumber = message.sequenceNumber;
755
758
  // a bunch of code assumes that this is true
756
- (0, core_utils_1.assert)(this.lastProcessedSequenceNumber <= this.lastObservedSeqNumber, 0x267 /* "lastObservedSeqNumber should be updated first" */);
759
+ (0, internal_1.assert)(this.lastProcessedSequenceNumber <= this.lastObservedSeqNumber, 0x267 /* "lastObservedSeqNumber should be updated first" */);
757
760
  if (this.handler === undefined) {
758
761
  throw new Error("Attempted to process an inbound message without a handler attached");
759
762
  }
@@ -789,7 +792,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
789
792
  }
790
793
  if (this.handler === undefined) {
791
794
  // We do not poses yet any information
792
- (0, core_utils_1.assert)(this.lastQueuedSequenceNumber === 0, 0x26b /* "initial state" */);
795
+ (0, internal_1.assert)(this.lastQueuedSequenceNumber === 0, 0x26b /* "initial state" */);
793
796
  return;
794
797
  }
795
798
  try {
@@ -801,8 +804,8 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
801
804
  // Knowing about this mechanism, we could ask for op we already observed to increase validation.
802
805
  // This is especially useful when coming out of offline mode or loading from
803
806
  // very old cached (by client / driver) snapshot.
804
- (0, core_utils_1.assert)(n === this.lastQueuedSequenceNumber, 0x0f2 /* "previouslyProcessedMessage" */);
805
- (0, core_utils_1.assert)(from > 1, 0x0f3 /* "not positive" */);
807
+ (0, internal_1.assert)(n === this.lastQueuedSequenceNumber, 0x0f2 /* "previouslyProcessedMessage" */);
808
+ (0, internal_1.assert)(from > 1, 0x0f3 /* "not positive" */);
806
809
  from--;
807
810
  }
808
811
  const fetchReason = `${reason}_fetch`;
@@ -814,7 +817,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
814
817
  }
815
818
  catch (error) {
816
819
  this.logger.sendErrorEvent({ eventName: "GetDeltas_Exception" }, error);
817
- this.close((0, telemetry_utils_1.normalizeError)(error));
820
+ this.close((0, internal_3.normalizeError)(error));
818
821
  }
819
822
  finally {
820
823
  this.refreshDelayInfo(this.deltaStorageDelayId);
@@ -829,7 +832,7 @@ class DeltaManager extends client_utils_1.TypedEventEmitter {
829
832
  if (this._closed) {
830
833
  return;
831
834
  }
832
- (0, core_utils_1.assert)(this.handler !== undefined, 0x26c /* "handler should be installed" */);
835
+ (0, internal_1.assert)(this.handler !== undefined, 0x26c /* "handler should be installed" */);
833
836
  const pendingSorted = this.pending.sort((a, b) => a.sequenceNumber - b.sequenceNumber);
834
837
  this.pending = [];
835
838
  // Given that we do not track where these ops came from any more, it's not very