@fluidframework/container-runtime 2.10.0-304831 → 2.10.0-306579

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 (64) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/api-report/container-runtime.legacy.alpha.api.md +1 -1
  3. package/container-runtime.test-files.tar +0 -0
  4. package/dist/blobManager/blobManager.d.ts +6 -1
  5. package/dist/blobManager/blobManager.d.ts.map +1 -1
  6. package/dist/blobManager/blobManager.js +22 -3
  7. package/dist/blobManager/blobManager.js.map +1 -1
  8. package/dist/connectionTelemetry.d.ts +2 -3
  9. package/dist/connectionTelemetry.d.ts.map +1 -1
  10. package/dist/connectionTelemetry.js.map +1 -1
  11. package/dist/containerHandleContext.d.ts +6 -2
  12. package/dist/containerHandleContext.d.ts.map +1 -1
  13. package/dist/containerHandleContext.js.map +1 -1
  14. package/dist/containerRuntime.d.ts +2 -1
  15. package/dist/containerRuntime.d.ts.map +1 -1
  16. package/dist/containerRuntime.js +15 -6
  17. package/dist/containerRuntime.js.map +1 -1
  18. package/dist/deltaManagerProxies.d.ts +8 -8
  19. package/dist/deltaManagerProxies.d.ts.map +1 -1
  20. package/dist/deltaManagerProxies.js.map +1 -1
  21. package/dist/deltaScheduler.d.ts +3 -3
  22. package/dist/deltaScheduler.d.ts.map +1 -1
  23. package/dist/deltaScheduler.js.map +1 -1
  24. package/dist/packageVersion.d.ts +1 -1
  25. package/dist/packageVersion.js +1 -1
  26. package/dist/packageVersion.js.map +1 -1
  27. package/dist/scheduleManager.d.ts +3 -3
  28. package/dist/scheduleManager.d.ts.map +1 -1
  29. package/dist/scheduleManager.js.map +1 -1
  30. package/lib/blobManager/blobManager.d.ts +6 -1
  31. package/lib/blobManager/blobManager.d.ts.map +1 -1
  32. package/lib/blobManager/blobManager.js +22 -3
  33. package/lib/blobManager/blobManager.js.map +1 -1
  34. package/lib/connectionTelemetry.d.ts +2 -3
  35. package/lib/connectionTelemetry.d.ts.map +1 -1
  36. package/lib/connectionTelemetry.js.map +1 -1
  37. package/lib/containerHandleContext.d.ts +6 -2
  38. package/lib/containerHandleContext.d.ts.map +1 -1
  39. package/lib/containerHandleContext.js.map +1 -1
  40. package/lib/containerRuntime.d.ts +2 -1
  41. package/lib/containerRuntime.d.ts.map +1 -1
  42. package/lib/containerRuntime.js +16 -7
  43. package/lib/containerRuntime.js.map +1 -1
  44. package/lib/deltaManagerProxies.d.ts +8 -8
  45. package/lib/deltaManagerProxies.d.ts.map +1 -1
  46. package/lib/deltaManagerProxies.js.map +1 -1
  47. package/lib/deltaScheduler.d.ts +3 -3
  48. package/lib/deltaScheduler.d.ts.map +1 -1
  49. package/lib/deltaScheduler.js.map +1 -1
  50. package/lib/packageVersion.d.ts +1 -1
  51. package/lib/packageVersion.js +1 -1
  52. package/lib/packageVersion.js.map +1 -1
  53. package/lib/scheduleManager.d.ts +3 -3
  54. package/lib/scheduleManager.d.ts.map +1 -1
  55. package/lib/scheduleManager.js.map +1 -1
  56. package/package.json +70 -18
  57. package/src/blobManager/blobManager.ts +27 -4
  58. package/src/connectionTelemetry.ts +3 -3
  59. package/src/containerHandleContext.ts +5 -2
  60. package/src/containerRuntime.ts +17 -12
  61. package/src/deltaManagerProxies.ts +5 -18
  62. package/src/deltaScheduler.ts +4 -7
  63. package/src/packageVersion.ts +1 -1
  64. package/src/scheduleManager.ts +3 -3
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { Trace, TypedEventEmitter } from "@fluid-internal/client-utils";
6
6
  import { AttachState, } from "@fluidframework/container-definitions";
7
- import { LoaderHeader, } from "@fluidframework/container-definitions/internal";
7
+ import { LoaderHeader, isIDeltaManagerFull, } from "@fluidframework/container-definitions/internal";
8
8
  import { assert, Deferred, LazyPromise, PromiseCache, delay, } from "@fluidframework/core-utils/internal";
9
9
  import { SummaryType, } from "@fluidframework/driver-definitions";
10
10
  import { DriverHeader, FetchSource, MessageType, } from "@fluidframework/driver-definitions/internal";
@@ -506,6 +506,14 @@ export class ContainerRuntime extends TypedEventEmitter {
506
506
  get IFluidHandleContext() {
507
507
  return this.handleContext;
508
508
  }
509
+ /**
510
+ * This is a proxy to the delta manager provided by the container context (innerDeltaManager). It restricts certain
511
+ * accesses such as sets "read-only" mode for the summarizer client. This is the default delta manager that should
512
+ * be used unless the innerDeltaManager is required.
513
+ */
514
+ get deltaManager() {
515
+ return this._deltaManager;
516
+ }
509
517
  /**
510
518
  * Invokes the given callback and expects that no ops are submitted
511
519
  * until execution finishes. If an op is submitted, an error will be raised.
@@ -637,6 +645,7 @@ export class ContainerRuntime extends TypedEventEmitter {
637
645
  : Number.POSITIVE_INFINITY,
638
646
  compressionAlgorithm: CompressionAlgorithms.lz4,
639
647
  };
648
+ assert(isIDeltaManagerFull(deltaManager), "Invalid delta manager");
640
649
  this.innerDeltaManager = deltaManager;
641
650
  // Here we could wrap/intercept on these functions to block/modify outgoing messages if needed.
642
651
  // This makes ContainerRuntime the final gatekeeper for outgoing messages.
@@ -731,7 +740,7 @@ export class ContainerRuntime extends TypedEventEmitter {
731
740
  const pendingOpsDeltaManagerProxy = new DeltaManagerPendingOpsProxy(summarizerDeltaManagerProxy, this.pendingStateManager);
732
741
  outerDeltaManager = pendingOpsDeltaManagerProxy;
733
742
  }
734
- this.deltaManager = outerDeltaManager;
743
+ this._deltaManager = outerDeltaManager;
735
744
  this.handleContext = new ContainerFluidHandleContext("", this);
736
745
  if (this.summaryConfiguration.state === "enabled") {
737
746
  this.validateSummaryHeuristicConfiguration(this.summaryConfiguration);
@@ -992,7 +1001,7 @@ export class ContainerRuntime extends TypedEventEmitter {
992
1001
  groupedBatchingEnabled: this.groupedBatchingEnabled,
993
1002
  initialSequenceNumber: this.deltaManager.initialSequenceNumber,
994
1003
  });
995
- ReportOpPerfTelemetry(this.clientId, this.deltaManager, this, this.logger);
1004
+ ReportOpPerfTelemetry(this.clientId, this._deltaManager, this, this.logger);
996
1005
  BindBatchTracker(this, this.logger);
997
1006
  this.entryPoint = new LazyPromise(async () => {
998
1007
  if (this.isSummarizerClient) {
@@ -1136,8 +1145,8 @@ export class ContainerRuntime extends TypedEventEmitter {
1136
1145
  });
1137
1146
  // If the inbound deltas queue is paused or disconnected, we expect a reconnect and unpause
1138
1147
  // as long as it's not a summarizer client.
1139
- if (this.deltaManager.inbound.paused) {
1140
- props.inboundPaused = this.deltaManager.inbound.paused; // reusing telemetry
1148
+ if (this._deltaManager.inbound.paused) {
1149
+ props.inboundPaused = this._deltaManager.inbound.paused; // reusing telemetry
1141
1150
  }
1142
1151
  const defP = new Deferred();
1143
1152
  this.deltaManager.on("op", (message) => {
@@ -2423,7 +2432,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2423
2432
  const shouldPauseInboundSignal = this.mc.config.getBoolean("Fluid.ContainerRuntime.SubmitSummary.disableInboundSignalPause") !== true;
2424
2433
  const shouldValidatePreSummaryState = this.mc.config.getBoolean("Fluid.ContainerRuntime.SubmitSummary.shouldValidatePreSummaryState") === true;
2425
2434
  try {
2426
- await this.deltaManager.inbound.pause();
2435
+ await this._deltaManager.inbound.pause();
2427
2436
  if (shouldPauseInboundSignal) {
2428
2437
  await this.deltaManager.inboundSignal.pause();
2429
2438
  }
@@ -2643,7 +2652,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2643
2652
  // ! This needs to happen before we resume inbound queues to ensure heuristics are tracked correctly
2644
2653
  this._summarizer?.recordSummaryAttempt?.(summaryRefSeqNum);
2645
2654
  // Restart the delta manager
2646
- this.deltaManager.inbound.resume();
2655
+ this._deltaManager.inbound.resume();
2647
2656
  if (shouldPauseInboundSignal) {
2648
2657
  this.deltaManager.inboundSignal.resume();
2649
2658
  }