@fluidframework/container-runtime 2.0.0-dev.7.4.0.217884 → 2.0.0-dev.7.4.0.221926

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 (213) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/api-extractor.json +0 -3
  3. package/api-report/container-runtime.api.md +22 -18
  4. package/dist/blobManager.d.ts +3 -3
  5. package/dist/blobManager.d.ts.map +1 -1
  6. package/dist/blobManager.js.map +1 -1
  7. package/dist/container-runtime-alpha.d.ts +42 -21
  8. package/dist/container-runtime-beta.d.ts +40 -2
  9. package/dist/container-runtime-public.d.ts +40 -2
  10. package/dist/container-runtime-untrimmed.d.ts +51 -38
  11. package/dist/containerRuntime.d.ts +9 -7
  12. package/dist/containerRuntime.d.ts.map +1 -1
  13. package/dist/containerRuntime.js +42 -22
  14. package/dist/containerRuntime.js.map +1 -1
  15. package/dist/dataStores.d.ts +10 -15
  16. package/dist/dataStores.d.ts.map +1 -1
  17. package/dist/dataStores.js +63 -36
  18. package/dist/dataStores.js.map +1 -1
  19. package/dist/gc/garbageCollection.d.ts +29 -10
  20. package/dist/gc/garbageCollection.d.ts.map +1 -1
  21. package/dist/gc/garbageCollection.js +149 -67
  22. package/dist/gc/garbageCollection.js.map +1 -1
  23. package/dist/gc/gcConfigs.d.ts.map +1 -1
  24. package/dist/gc/gcConfigs.js +34 -37
  25. package/dist/gc/gcConfigs.js.map +1 -1
  26. package/dist/gc/gcDefinitions.d.ts +88 -35
  27. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  28. package/dist/gc/gcDefinitions.js +25 -15
  29. package/dist/gc/gcDefinitions.js.map +1 -1
  30. package/dist/gc/gcHelpers.d.ts +18 -25
  31. package/dist/gc/gcHelpers.d.ts.map +1 -1
  32. package/dist/gc/gcHelpers.js +29 -45
  33. package/dist/gc/gcHelpers.js.map +1 -1
  34. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  35. package/dist/gc/gcTelemetry.js +14 -3
  36. package/dist/gc/gcTelemetry.js.map +1 -1
  37. package/dist/gc/gcUnreferencedStateTracker.d.ts +11 -5
  38. package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  39. package/dist/gc/gcUnreferencedStateTracker.js +43 -19
  40. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  41. package/dist/gc/index.d.ts +1 -1
  42. package/dist/gc/index.d.ts.map +1 -1
  43. package/dist/gc/index.js +4 -4
  44. package/dist/gc/index.js.map +1 -1
  45. package/dist/index.d.ts +13 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +16 -5
  48. package/dist/index.js.map +1 -1
  49. package/dist/messageTypes.d.ts +13 -5
  50. package/dist/messageTypes.d.ts.map +1 -1
  51. package/dist/messageTypes.js +5 -0
  52. package/dist/messageTypes.js.map +1 -1
  53. package/dist/packageVersion.d.ts +1 -1
  54. package/dist/packageVersion.js +1 -1
  55. package/dist/packageVersion.js.map +1 -1
  56. package/dist/pendingStateManager.d.ts +1 -0
  57. package/dist/pendingStateManager.d.ts.map +1 -1
  58. package/dist/pendingStateManager.js +1 -0
  59. package/dist/pendingStateManager.js.map +1 -1
  60. package/lib/blobManager.d.ts +3 -3
  61. package/lib/blobManager.d.ts.map +1 -1
  62. package/lib/blobManager.js.map +1 -1
  63. package/lib/container-runtime-alpha.d.ts +42 -21
  64. package/lib/container-runtime-beta.d.ts +40 -2
  65. package/lib/container-runtime-public.d.ts +40 -2
  66. package/lib/container-runtime-untrimmed.d.ts +51 -38
  67. package/lib/containerRuntime.d.ts +9 -7
  68. package/lib/containerRuntime.d.ts.map +1 -1
  69. package/lib/containerRuntime.js +44 -24
  70. package/lib/containerRuntime.js.map +1 -1
  71. package/lib/dataStores.d.ts +10 -15
  72. package/lib/dataStores.d.ts.map +1 -1
  73. package/lib/dataStores.js +65 -38
  74. package/lib/dataStores.js.map +1 -1
  75. package/lib/gc/garbageCollection.d.ts +29 -10
  76. package/lib/gc/garbageCollection.d.ts.map +1 -1
  77. package/lib/gc/garbageCollection.js +151 -69
  78. package/lib/gc/garbageCollection.js.map +1 -1
  79. package/lib/gc/gcConfigs.d.ts.map +1 -1
  80. package/lib/gc/gcConfigs.js +37 -40
  81. package/lib/gc/gcConfigs.js.map +1 -1
  82. package/lib/gc/gcDefinitions.d.ts +88 -35
  83. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  84. package/lib/gc/gcDefinitions.js +24 -14
  85. package/lib/gc/gcDefinitions.js.map +1 -1
  86. package/lib/gc/gcHelpers.d.ts +18 -25
  87. package/lib/gc/gcHelpers.d.ts.map +1 -1
  88. package/lib/gc/gcHelpers.js +27 -43
  89. package/lib/gc/gcHelpers.js.map +1 -1
  90. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  91. package/lib/gc/gcTelemetry.js +14 -3
  92. package/lib/gc/gcTelemetry.js.map +1 -1
  93. package/lib/gc/gcUnreferencedStateTracker.d.ts +11 -5
  94. package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
  95. package/lib/gc/gcUnreferencedStateTracker.js +43 -19
  96. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  97. package/lib/gc/index.d.ts +1 -1
  98. package/lib/gc/index.d.ts.map +1 -1
  99. package/lib/gc/index.js +1 -1
  100. package/lib/gc/index.js.map +1 -1
  101. package/lib/index.d.ts +13 -1
  102. package/lib/index.d.ts.map +1 -1
  103. package/lib/index.js +15 -1
  104. package/lib/index.js.map +1 -1
  105. package/lib/messageTypes.d.ts +13 -5
  106. package/lib/messageTypes.d.ts.map +1 -1
  107. package/lib/messageTypes.js +5 -0
  108. package/lib/messageTypes.js.map +1 -1
  109. package/lib/packageVersion.d.ts +1 -1
  110. package/lib/packageVersion.js +1 -1
  111. package/lib/packageVersion.js.map +1 -1
  112. package/lib/pendingStateManager.d.ts +1 -0
  113. package/lib/pendingStateManager.d.ts.map +1 -1
  114. package/lib/pendingStateManager.js +1 -0
  115. package/lib/pendingStateManager.js.map +1 -1
  116. package/package.json +18 -15
  117. package/src/blobManager.ts +4 -4
  118. package/src/containerRuntime.ts +56 -30
  119. package/src/dataStores.ts +118 -59
  120. package/src/gc/garbageCollection.md +14 -15
  121. package/src/gc/garbageCollection.ts +182 -75
  122. package/src/gc/gcConfigs.ts +50 -52
  123. package/src/gc/gcDefinitions.ts +103 -41
  124. package/src/gc/gcHelpers.ts +31 -52
  125. package/src/gc/gcTelemetry.ts +16 -4
  126. package/src/gc/gcUnreferencedStateTracker.ts +61 -22
  127. package/src/gc/index.ts +4 -3
  128. package/src/index.ts +17 -1
  129. package/src/messageTypes.ts +16 -2
  130. package/src/packageVersion.ts +1 -1
  131. package/src/pendingStateManager.ts +1 -0
  132. package/dist/id-compressor/appendOnlySortedMap.d.ts +0 -124
  133. package/dist/id-compressor/appendOnlySortedMap.d.ts.map +0 -1
  134. package/dist/id-compressor/appendOnlySortedMap.js +0 -318
  135. package/dist/id-compressor/appendOnlySortedMap.js.map +0 -1
  136. package/dist/id-compressor/finalSpace.d.ts +0 -29
  137. package/dist/id-compressor/finalSpace.d.ts.map +0 -1
  138. package/dist/id-compressor/finalSpace.js +0 -62
  139. package/dist/id-compressor/finalSpace.js.map +0 -1
  140. package/dist/id-compressor/idCompressor.d.ts +0 -54
  141. package/dist/id-compressor/idCompressor.d.ts.map +0 -1
  142. package/dist/id-compressor/idCompressor.js +0 -495
  143. package/dist/id-compressor/idCompressor.js.map +0 -1
  144. package/dist/id-compressor/identifiers.d.ts +0 -32
  145. package/dist/id-compressor/identifiers.d.ts.map +0 -1
  146. package/dist/id-compressor/identifiers.js +0 -15
  147. package/dist/id-compressor/identifiers.js.map +0 -1
  148. package/dist/id-compressor/index.d.ts +0 -13
  149. package/dist/id-compressor/index.d.ts.map +0 -1
  150. package/dist/id-compressor/index.js +0 -32
  151. package/dist/id-compressor/index.js.map +0 -1
  152. package/dist/id-compressor/persistanceUtilities.d.ts +0 -22
  153. package/dist/id-compressor/persistanceUtilities.d.ts.map +0 -1
  154. package/dist/id-compressor/persistanceUtilities.js +0 -43
  155. package/dist/id-compressor/persistanceUtilities.js.map +0 -1
  156. package/dist/id-compressor/sessionSpaceNormalizer.d.ts +0 -46
  157. package/dist/id-compressor/sessionSpaceNormalizer.d.ts.map +0 -1
  158. package/dist/id-compressor/sessionSpaceNormalizer.js +0 -80
  159. package/dist/id-compressor/sessionSpaceNormalizer.js.map +0 -1
  160. package/dist/id-compressor/sessions.d.ts +0 -115
  161. package/dist/id-compressor/sessions.d.ts.map +0 -1
  162. package/dist/id-compressor/sessions.js +0 -305
  163. package/dist/id-compressor/sessions.js.map +0 -1
  164. package/dist/id-compressor/utilities.d.ts +0 -52
  165. package/dist/id-compressor/utilities.d.ts.map +0 -1
  166. package/dist/id-compressor/utilities.js +0 -169
  167. package/dist/id-compressor/utilities.js.map +0 -1
  168. package/lib/id-compressor/appendOnlySortedMap.d.ts +0 -124
  169. package/lib/id-compressor/appendOnlySortedMap.d.ts.map +0 -1
  170. package/lib/id-compressor/appendOnlySortedMap.js +0 -314
  171. package/lib/id-compressor/appendOnlySortedMap.js.map +0 -1
  172. package/lib/id-compressor/finalSpace.d.ts +0 -29
  173. package/lib/id-compressor/finalSpace.d.ts.map +0 -1
  174. package/lib/id-compressor/finalSpace.js +0 -58
  175. package/lib/id-compressor/finalSpace.js.map +0 -1
  176. package/lib/id-compressor/idCompressor.d.ts +0 -54
  177. package/lib/id-compressor/idCompressor.d.ts.map +0 -1
  178. package/lib/id-compressor/idCompressor.js +0 -491
  179. package/lib/id-compressor/idCompressor.js.map +0 -1
  180. package/lib/id-compressor/identifiers.d.ts +0 -32
  181. package/lib/id-compressor/identifiers.d.ts.map +0 -1
  182. package/lib/id-compressor/identifiers.js +0 -11
  183. package/lib/id-compressor/identifiers.js.map +0 -1
  184. package/lib/id-compressor/index.d.ts +0 -13
  185. package/lib/id-compressor/index.d.ts.map +0 -1
  186. package/lib/id-compressor/index.js +0 -13
  187. package/lib/id-compressor/index.js.map +0 -1
  188. package/lib/id-compressor/persistanceUtilities.d.ts +0 -22
  189. package/lib/id-compressor/persistanceUtilities.d.ts.map +0 -1
  190. package/lib/id-compressor/persistanceUtilities.js +0 -34
  191. package/lib/id-compressor/persistanceUtilities.js.map +0 -1
  192. package/lib/id-compressor/sessionSpaceNormalizer.d.ts +0 -46
  193. package/lib/id-compressor/sessionSpaceNormalizer.d.ts.map +0 -1
  194. package/lib/id-compressor/sessionSpaceNormalizer.js +0 -76
  195. package/lib/id-compressor/sessionSpaceNormalizer.js.map +0 -1
  196. package/lib/id-compressor/sessions.d.ts +0 -115
  197. package/lib/id-compressor/sessions.d.ts.map +0 -1
  198. package/lib/id-compressor/sessions.js +0 -290
  199. package/lib/id-compressor/sessions.js.map +0 -1
  200. package/lib/id-compressor/utilities.d.ts +0 -52
  201. package/lib/id-compressor/utilities.d.ts.map +0 -1
  202. package/lib/id-compressor/utilities.js +0 -151
  203. package/lib/id-compressor/utilities.js.map +0 -1
  204. package/src/id-compressor/README.md +0 -69
  205. package/src/id-compressor/appendOnlySortedMap.ts +0 -366
  206. package/src/id-compressor/finalSpace.ts +0 -67
  207. package/src/id-compressor/idCompressor.ts +0 -630
  208. package/src/id-compressor/identifiers.ts +0 -42
  209. package/src/id-compressor/index.ts +0 -26
  210. package/src/id-compressor/persistanceUtilities.ts +0 -58
  211. package/src/id-compressor/sessionSpaceNormalizer.ts +0 -83
  212. package/src/id-compressor/sessions.ts +0 -405
  213. package/src/id-compressor/utilities.ts +0 -190
@@ -1,8 +1,10 @@
1
+ import { assertIsStableId } from '@fluidframework/id-compressor';
1
2
  import { AttachState } from '@fluidframework/container-definitions';
2
3
  import { ContainerWarning } from '@fluidframework/container-definitions';
3
4
  import { FluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions';
4
5
  import { FluidObject } from '@fluidframework/core-interfaces';
5
6
  import { FlushMode } from '@fluidframework/runtime-definitions';
7
+ import { generateStableId } from '@fluidframework/id-compressor';
6
8
  import { IAudience } from '@fluidframework/container-definitions';
7
9
  import { IClientDetails } from '@fluidframework/protocol-definitions';
8
10
  import { IContainerContext } from '@fluidframework/container-definitions';
@@ -23,8 +25,8 @@ import { IFluidHandleContext } from '@fluidframework/core-interfaces';
23
25
  import { IFluidRouter } from '@fluidframework/core-interfaces';
24
26
  import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
25
27
  import { IGetPendingLocalStateProps } from '@fluidframework/container-definitions';
26
- import { IIdCompressor } from '@fluidframework/runtime-definitions';
27
- import { IIdCompressorCore } from '@fluidframework/runtime-definitions';
28
+ import type { IIdCompressor } from '@fluidframework/id-compressor';
29
+ import type { IIdCompressorCore } from '@fluidframework/id-compressor';
28
30
  import { ILoader } from '@fluidframework/container-definitions';
29
31
  import { ILoaderOptions } from '@fluidframework/container-definitions';
30
32
  import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
@@ -34,6 +36,7 @@ import { IResponse } from '@fluidframework/core-interfaces';
34
36
  import { IRuntime } from '@fluidframework/container-definitions';
35
37
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
36
38
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
39
+ import { isStableId } from '@fluidframework/id-compressor';
37
40
  import { ISummaryAck } from '@fluidframework/protocol-definitions';
38
41
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
39
42
  import { ISummaryNack } from '@fluidframework/protocol-definitions';
@@ -44,7 +47,6 @@ import { ITelemetryContext } from '@fluidframework/runtime-definitions';
44
47
  import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
45
48
  import { MessageType } from '@fluidframework/protocol-definitions';
46
49
  import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions';
47
- import { StableId } from '@fluidframework/runtime-definitions';
48
50
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
49
51
 
50
52
  /**
@@ -66,11 +68,7 @@ export declare const AllowInactiveRequestHeaderKey = "allowInactive";
66
68
  */
67
69
  export declare const AllowTombstoneRequestHeaderKey = "allowTombstone";
68
70
 
69
- /**
70
- * Asserts that the given string is a stable ID.
71
- * @internal
72
- */
73
- export declare function assertIsStableId(stableId: string): StableId;
71
+ export { assertIsStableId }
74
72
 
75
73
  /**
76
74
  * How should an older client handle an unrecognized remote op type?
@@ -106,7 +104,12 @@ export declare enum ContainerMessageType {
106
104
  * the last allocation op was sent.
107
105
  * See the [IdCompressor README](./id-compressor/README.md) for more details.
108
106
  */
109
- IdAllocation = "idAllocation"
107
+ IdAllocation = "idAllocation",
108
+ /**
109
+ * Garbage collection specific op. This is sent by the summarizer client when GC runs. It's used to synchronize GC
110
+ * state across all clients.
111
+ */
112
+ GC = "GC"
110
113
  }
111
114
 
112
115
  /**
@@ -471,27 +474,27 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
471
474
  * @param usedRoutes - The routes that are used in all nodes in this Container.
472
475
  * @see IGarbageCollectionRuntime.updateUsedRoutes
473
476
  */
474
- updateUsedRoutes(usedRoutes: string[]): void;
477
+ updateUsedRoutes(usedRoutes: readonly string[]): void;
475
478
  /**
476
479
  * This is called to update objects whose routes are unused.
477
480
  * @param unusedRoutes - Data store and attachment blob routes that are unused in this Container.
478
481
  */
479
- updateUnusedRoutes(unusedRoutes: string[]): void;
482
+ updateUnusedRoutes(unusedRoutes: readonly string[]): void;
480
483
  /**
481
484
  * @deprecated Replaced by deleteSweepReadyNodes.
482
485
  */
483
- deleteUnusedNodes(unusedRoutes: string[]): string[];
486
+ deleteUnusedNodes(unusedRoutes: readonly string[]): string[];
484
487
  /**
485
488
  * After GC has run and identified nodes that are sweep ready, this is called to delete the sweep ready nodes.
486
489
  * @param sweepReadyRoutes - The routes of nodes that are sweep ready and should be deleted.
487
490
  * @returns The routes of nodes that were deleted.
488
491
  */
489
- deleteSweepReadyNodes(sweepReadyRoutes: string[]): string[];
492
+ deleteSweepReadyNodes(sweepReadyRoutes: readonly string[]): readonly string[];
490
493
  /**
491
494
  * This is called to update objects that are tombstones.
492
495
  * @param tombstonedRoutes - Data store and attachment blob routes that are tombstones in this Container.
493
496
  */
494
- updateTombstonedRoutes(tombstonedRoutes: string[]): void;
497
+ updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
495
498
  /**
496
499
  * Returns a server generated referenced timestamp to be used to track unreferenced nodes by GC.
497
500
  */
@@ -546,7 +549,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
546
549
  */
547
550
  submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
548
551
  /**
549
- * This helper is called during summarization. If there are pending ops, it will return a failed summarize result
552
+ * This helper is called during summarization. If the container is dirty, it will return a failed summarize result
550
553
  * (IBaseSummarizeResult) unless this is the final summarize attempt and SkipFailingIncorrectSummary option is set.
551
554
  * @param logger - The logger to be used for sending telemetry.
552
555
  * @param referenceSequenceNumber - The reference sequence number of the summary attempt.
@@ -577,6 +580,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
577
580
  /**
578
581
  * Finds the right store and asks it to resubmit the message. This typically happens when we
579
582
  * reconnect and there are pending messages.
583
+ * ! Note: successfully resubmitting an op that has been successfully sequenced is not possible due to checks in the ConnectionStateHandler (Loader layer)
580
584
  * @param message - The original LocalContainerRuntimeMessage.
581
585
  * @param localOpMetadata - The local metadata associated with the original message.
582
586
  */
@@ -673,23 +677,25 @@ export declare class FluidDataStoreRegistry implements IFluidDataStoreRegistry {
673
677
  }
674
678
 
675
679
  /**
676
- * @see IGCMetadata.gcFeatureMatrix
680
+ * @see IGCMetadata.gcFeatureMatrix and @see gcGenerationOptionName
677
681
  * @alpha
678
682
  */
679
- export declare interface GCFeatureMatrix {
683
+ export declare type GCFeatureMatrix = {
680
684
  /**
681
- * The Tombstone Generation value in effect when this file was created.
682
- * Gives a way for an app to disqualify old files from GC Tombstone enforcement.
685
+ * The GC Generation value in effect when this file was created.
686
+ * Gives a way for an app to disqualify old files from GC Sweep.
683
687
  * Provided via Container Runtime Options.
684
688
  */
685
- tombstoneGeneration?: number;
689
+ gcGeneration?: number;
690
+ /** Deprecated property from legacy type. Will not be set concurrently with gcGeneration */
691
+ tombstoneGeneration?: undefined;
692
+ } | {
686
693
  /**
687
- * The Sweep Generation value in effect when this file was created.
688
- * Gives a way for an app to disqualify old files from GC Sweep.
689
- * Provided via Container Runtime Options.
694
+ * The Tombstone Generation value in effect when this file was created.
695
+ * Legacy - new containers would get gcGeneration instead (if anything)
690
696
  */
691
- sweepGeneration?: number;
692
- }
697
+ tombstoneGeneration: number;
698
+ };
693
699
 
694
700
  /**
695
701
  * The types of GC nodes in the GC reference graph.
@@ -712,11 +718,7 @@ export declare type GCNodeType = (typeof GCNodeType)[keyof typeof GCNodeType];
712
718
  */
713
719
  export declare type GCVersion = number;
714
720
 
715
- /**
716
- * Generate a random stable ID
717
- * @internal
718
- */
719
- export declare function generateStableId(): StableId;
721
+ export { generateStableId }
720
722
 
721
723
  /**
722
724
  * A single summary which has already been acked by the server.
@@ -998,7 +1000,7 @@ export declare interface IGCMetadata {
998
1000
  * - True means sweep phase is enabled.
999
1001
  * - False means sweep phase is disabled. If GC is disabled as per gcFeature, sweep is also disabled.
1000
1002
  *
1001
- * @deprecated use GCFeatureMatrix.sweepGeneration instead. @see GCFeatureMatrix.sweepGeneration
1003
+ * @deprecated use GCFeatureMatrix.gcGeneration instead. @see GCFeatureMatrix.gcGeneration
1002
1004
  */
1003
1005
  readonly sweepEnabled?: boolean;
1004
1006
  /** If this is present, the session for this container will expire after this time and the container will close */
@@ -1017,7 +1019,7 @@ export declare interface IGCRuntimeOptions {
1017
1019
  * GC has mark phase and sweep phase. In mark phase, unreferenced objects are identified
1018
1020
  * and marked as such in the summary. This option enables the mark phase.
1019
1021
  * In sweep phase, unreferenced objects are eventually deleted from the container if they meet certain conditions.
1020
- * Sweep phase can be enabled using the "gcSweepGeneration" option.
1022
+ * Sweep phase can be enabled using the "enableGCSweep" option.
1021
1023
  *
1022
1024
  * Note: This setting is persisted in the container's summary and cannot be changed.
1023
1025
  */
@@ -1027,6 +1029,16 @@ export declare interface IGCRuntimeOptions {
1027
1029
  * Can be used to disable running GC on containers where it is allowed via the gcAllowed option.
1028
1030
  */
1029
1031
  disableGC?: boolean;
1032
+ /**
1033
+ * Flag that if true, will enable the full Sweep Phase of garbage collection for this session,
1034
+ * where Tombstoned objects are permanently deleted from the container.
1035
+ *
1036
+ * IMPORTANT: This only applies if this document is allowed to run Sweep Phase.
1037
+ *
1038
+ * Current default behavior is for Sweep Phase not to delete Tombstoned objects,
1039
+ * but merely to prevent them from being loaded.
1040
+ */
1041
+ enableGCSweep?: true;
1030
1042
  /**
1031
1043
  * Flag that will bypass optimizations and generate GC data for all nodes irrespective of whether a node
1032
1044
  * changed or not.
@@ -1038,6 +1050,12 @@ export declare interface IGCRuntimeOptions {
1038
1050
  * Note: This setting is persisted in the container's summary and cannot be changed.
1039
1051
  */
1040
1052
  sessionExpiryTimeoutMs?: number;
1053
+ /**
1054
+ * Delay between when Tombstone should run and when the object should be deleted.
1055
+ * This grace period gives a chance to intervene to recover if needed, before Sweep deletes the object.
1056
+ * If not present, a default (non-zero) value will be used.
1057
+ */
1058
+ sweepGracePeriodMs?: number;
1041
1059
  /**
1042
1060
  * Allows additional GC options to be passed.
1043
1061
  */
@@ -1183,12 +1201,7 @@ export declare interface ISerializedElection {
1183
1201
  */
1184
1202
  export declare function isRuntimeMessage(message: ISequencedDocumentMessage): boolean;
1185
1203
 
1186
- /**
1187
- * Returns true iff the given string is a valid Version 4, variant 2 UUID
1188
- * 'xxxxxxxx-xxxx-4xxx-vxxx-xxxxxxxxxxxx'
1189
- * @internal
1190
- */
1191
- export declare function isStableId(str: string): str is StableId;
1204
+ export { isStableId }
1192
1205
 
1193
1206
  /**
1194
1207
  * Results of submitSummary after submitting the summarize op.
@@ -9,7 +9,8 @@ import { TypedEventEmitter } from "@fluid-internal/client-utils";
9
9
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
10
10
  import { IDocumentStorageService } from "@fluidframework/driver-definitions";
11
11
  import { IClientDetails, IDocumentMessage, IQuorumClients, ISequencedDocumentMessage, ISignalMessage, ISummaryTree, MessageType } from "@fluidframework/protocol-definitions";
12
- import { FlushMode, IFluidDataStoreContextDetached, IFluidDataStoreRegistry, IGarbageCollectionData, NamedFluidDataStoreRegistryEntries, ISummaryTreeWithStats, IDataStore, ITelemetryContext, IIdCompressor, IIdCompressorCore, SerializedIdCompressorWithOngoingSession } from "@fluidframework/runtime-definitions";
12
+ import { FlushMode, IFluidDataStoreContextDetached, IFluidDataStoreRegistry, IGarbageCollectionData, NamedFluidDataStoreRegistryEntries, ISummaryTreeWithStats, IDataStore, ITelemetryContext } from "@fluidframework/runtime-definitions";
13
+ import type { IIdCompressor, IIdCompressorCore, SerializedIdCompressorWithOngoingSession } from "@fluidframework/id-compressor";
13
14
  import { IPendingLocalState } from "./pendingStateManager";
14
15
  import { IBlobManagerLoadInfo, IPendingBlobs } from "./blobManager";
15
16
  import { IContainerRuntimeMetadata, ISerializedElection, SubmitSummaryResult, ISubmitSummaryOptions, ISummarizerInternalsProvider, ISummarizerRuntime, IRefreshSummaryAckOptions, IOnDemandSummarizeOptions, ISummarizeResults, IEnqueueSummarizeOptions, EnqueueSummarizeResult, ISummarizerEvents, ISummarizer } from "./summary";
@@ -700,27 +701,27 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
700
701
  * @param usedRoutes - The routes that are used in all nodes in this Container.
701
702
  * @see IGarbageCollectionRuntime.updateUsedRoutes
702
703
  */
703
- updateUsedRoutes(usedRoutes: string[]): void;
704
+ updateUsedRoutes(usedRoutes: readonly string[]): void;
704
705
  /**
705
706
  * This is called to update objects whose routes are unused.
706
707
  * @param unusedRoutes - Data store and attachment blob routes that are unused in this Container.
707
708
  */
708
- updateUnusedRoutes(unusedRoutes: string[]): void;
709
+ updateUnusedRoutes(unusedRoutes: readonly string[]): void;
709
710
  /**
710
711
  * @deprecated Replaced by deleteSweepReadyNodes.
711
712
  */
712
- deleteUnusedNodes(unusedRoutes: string[]): string[];
713
+ deleteUnusedNodes(unusedRoutes: readonly string[]): string[];
713
714
  /**
714
715
  * After GC has run and identified nodes that are sweep ready, this is called to delete the sweep ready nodes.
715
716
  * @param sweepReadyRoutes - The routes of nodes that are sweep ready and should be deleted.
716
717
  * @returns The routes of nodes that were deleted.
717
718
  */
718
- deleteSweepReadyNodes(sweepReadyRoutes: string[]): string[];
719
+ deleteSweepReadyNodes(sweepReadyRoutes: readonly string[]): readonly string[];
719
720
  /**
720
721
  * This is called to update objects that are tombstones.
721
722
  * @param tombstonedRoutes - Data store and attachment blob routes that are tombstones in this Container.
722
723
  */
723
- updateTombstonedRoutes(tombstonedRoutes: string[]): void;
724
+ updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
724
725
  /**
725
726
  * Returns a server generated referenced timestamp to be used to track unreferenced nodes by GC.
726
727
  */
@@ -775,7 +776,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
775
776
  */
776
777
  submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
777
778
  /**
778
- * This helper is called during summarization. If there are pending ops, it will return a failed summarize result
779
+ * This helper is called during summarization. If the container is dirty, it will return a failed summarize result
779
780
  * (IBaseSummarizeResult) unless this is the final summarize attempt and SkipFailingIncorrectSummary option is set.
780
781
  * @param logger - The logger to be used for sending telemetry.
781
782
  * @param referenceSequenceNumber - The reference sequence number of the summary attempt.
@@ -806,6 +807,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
806
807
  /**
807
808
  * Finds the right store and asks it to resubmit the message. This typically happens when we
808
809
  * reconnect and there are pending messages.
810
+ * ! Note: successfully resubmitting an op that has been successfully sequenced is not possible due to checks in the ConnectionStateHandler (Loader layer)
809
811
  * @param message - The original LocalContainerRuntimeMessage.
810
812
  * @param localOpMetadata - The local metadata associated with the original message.
811
813
  */
@@ -1 +1 @@
1
- {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAGN,WAAW,EACX,YAAY,EACZ,mBAAmB,EAEnB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,OAAO,EAEP,0BAA0B,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAS,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAYN,mBAAmB,EAEnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGN,uBAAuB,EAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,cAAc,EAGd,YAAY,EACZ,WAAW,EAEX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,SAAS,EAIT,8BAA8B,EAC9B,uBAAuB,EAEvB,sBAAsB,EAItB,kCAAkC,EAClC,qBAAqB,EAKrB,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,iBAAiB,EAEjB,wCAAwC,EACxC,MAAM,qCAAqC,CAAC;AAmB7C,OAAO,EAEN,kBAAkB,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAe,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjF,OAAO,EAON,yBAAyB,EAUzB,mBAAmB,EAKnB,mBAAmB,EAGnB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EAIzB,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAEjB,WAAW,EACX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEN,UAAU,EAGV,iBAAiB,EACjB,QAAQ,EAER,MAAM,MAAM,CAAC;AAId,OAAO,EAEN,MAAM,EASN,MAAM,eAAe,CAAC;AA6BvB;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;;;;;OAQG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACtD,KAAK,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACxF,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC9B,sCAAsC,GACtC,sCAAsC,GACtC,+BAA+B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,qBAwBzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,qBAAqB,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrE;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;GAGG;AACH,oBAAY,cAAc;IACzB,kFAAkF;IAClF,IAAI,SAAS;IACb,0DAA0D;IAC1D,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yCAAyC;AACzC,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,iBAAiB,CAKhE,CAAC;AAEF;;;GAGG;AACH,oBAAY,qBAAqB;IAChC,GAAG,QAAQ;CACX;AAaD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,wBAAwB,CAAC,EAAE,wCAAwC,CAAC;CACpE;AAoBD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,yFAAyF;AACzF,eAAO,MAAM,6BAA6B,OAAO,CAAC;AASlD;;;GAGG;AACH,oBAAY,cAAc;IACzB,gBAAgB,cAAc;IAC9B,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,OAAO;CAChB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAE5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAG7C,wBAAgB,aAAa;;;;;;EAU5B;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,oBAEf,WAAW,YAAY,GAAG,SAAS,OAAO,YAAY,GAAG,KAAK,MAAM,gBACvE,KAAK,cAAc,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAErD,MAAM,SAYb,CAAC;AA2DH;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAE/F;AAED;;;;GAIG;AACH,qBAAa,gBACZ,SAAQ,iBAAiB,CAAC,uBAAuB,GAAG,iBAAiB,CACrE,YACC,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B;IA2e1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAKzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,MAAM,EAAE,mBAAmB;IAG3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAIhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IA1ftC;;OAEG;IACH,IAAW,YAAY,SAEtB;IAED;;;;;;;;;;OAUG;WACiB,IAAI,CACvB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,kCAAkC,EACnD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,EACtF,cAAc,GAAE,wBAA6B,EAC7C,cAAc,GAAE,WAA2B,EAC3C,QAAQ,CAAC,EAAE,OAAO,EAClB,oBAAoB,GAAE,OAAO,gBAAmC,GAC9D,OAAO,CAAC,gBAAgB,CAAC;IAqB5B;;;;;;;;;;;;;;OAcG;WACiB,WAAW,CAAC,MAAM,EAAE;QACvC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,eAAe,EAAE,kCAAkC,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,CAAC,EAAE,wBAAwB,CAAC;QAC1C,cAAc,CAAC,EAAE,WAAW,CAAC;QAC7B,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,CAAC;QAC/C,4JAA4J;QAC5J,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACvF,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiK7B,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,SAAgB,aAAa,EAAE,cAAc,CAAC;IAE9C,IAAW,OAAO,IAAI,uBAAuB,CAE5C;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKb;IACZ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEjB;IACb,OAAO,CAAC,QAAQ,CAAC,eAAe,CAGpB;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkD;IACjF,SAAgB,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACrE,SAAgB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEnE,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,uBAAuB,IAAI,uBAAuB,CAE5D;IAED,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,IAAW,WAAW,IAAI,WAAW,CAEpC;IAEM,YAAY,EAAE,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAErE,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IACD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D;;;;OAIG;IACH,SAAgB,YAAY,EAAE,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;IACzF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6D;IAG/F,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA2B;IACrE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAK;IAErD,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,UAAU,CAAU;IAE5B,OAAO,CAAC,qBAAqB,CAAK;IAElC;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,OAAO,CAAC,6BAA6B,CAAK;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAK;IAEnC;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IASxD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,oFAAoF;IACpF,IAAW,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAElD;IAED,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAW,QAAQ,YAElB;IAED,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAU;IAEtD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAO;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,kEAAkE;IAClE,OAAO,CAAC,oBAAoB,CAAsC;IAElE,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;IACnE;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAS;IAElC,iFAAiF;IACjF,IAAW,6BAA6B,IAAI,OAAO,CAElD;IAED,mEAAmE;IACnE,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAE9C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,KAAK;IACL,SAAS,aACR,OAAO,EAAE,iBAAiB,EACT,QAAQ,EAAE,uBAAuB,EAClD,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,qBAAqB,EAAE,mBAAmB,GAAG,SAAS,EACtD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAC5B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACpB,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,EAC5D,cAAc,EAAE,WAAW,EAC5B,MAAM,EAAE,mBAAmB,EAC3C,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,oBAAoB,EACxB,QAAQ,EAAE,uBAAuB,EAClD,YAAY,EAAE,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,SAAS,EAC7D,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,EAC/D,cAAc,CAAC,aACtB,QAAQ,WACR,iBAAiB,KACtB,QAAQ,SAAS,CAAC,aAAA,EACN,oBAAoB,GAAE,qBAKtC;IAofF;;OAEG;YACW,mBAAmB;IAI1B,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IA2BnC;;;;OAIG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IA0B3D;;;OAGG;IACU,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAyCjE;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IAEtD,OAAO,CAAC,UAAU;YAIJ,uBAAuB;IA+CrC,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB;IAkB5B,SAAS,CAAC,0BAA0B,CACnC,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,EACnB,gBAAgB,CAAC,EAAE,iBAAiB;IAgDrC,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAgC3B;;;OAGG;IAEH,OAAO,CAAC,mBAAmB;YAOb,cAAc;IA6CrB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqC/D,OAAO,CAAC,sBAAsB;IA8DjB,cAAc,CAAC,OAAO,EAAE,yBAAyB;IAIvD,OAAO,CAAC,UAAU,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IA+BpE,OAAO,CAAC,8BAA8B,CAAqB;IAE3D;;OAEG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAkFxC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYzB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;IA8C5D;;;;;OAKG;IAEU,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;YAI/D,uBAAuB;IAWrC;;;OAGG;IACH,OAAO,CAAC,KAAK;IAUN,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IA8CjD;;;;;OAKG;IACU,6BAA6B,CACzC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAwB1C,2BAA2B,CACjC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EACvB,eAAe,EAAE,MAAM,GACrB,8BAA8B;IAO1B,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,8BAA8B;IAI1E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAazE;;OAEG;IACU,yBAAyB,CACrC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,GAAG,EACX,EAAE,SAAS,GACT,OAAO,CAAC,UAAU,CAAC;IAYtB,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAClC,SAAS,IAAI,cAAc;IAIlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAC/B,WAAW,IAAI,SAAS;IAI/B;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,uBAAuB;IAwB/B;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM;IAMvE;;;;;OAKG;IACI,qBAAqB,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,EACZ,cAAc,CAAC,EAAE,MAAM;IAMjB,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI;IAoBtF;;;;;;;OAOG;IACI,aAAa,CACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,gBAAgB,CAAC,EAAE,iBAAiB,GAClC,YAAY;IAkBf,SAAgB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;YAEvE,iBAAiB;IAuB/B;;OAEG;IACU,SAAS,CAAC,OAAO,EAAE;QAC/B,2FAA2F;QAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,wFAAwF;QACxF,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kDAAkD;QAClD,aAAa,CAAC,EAAE,mBAAmB,CAAC;QACpC,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,oCAAoC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,sDAAsD;QACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkDlC;;;;;OAKG;IACU,mBAAmB;YAIlB,iBAAiB;IAI/B;;;;OAIG;IACU,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUzE;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE;IAU5C;;;OAGG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE;IAOhD;;OAEG;IACI,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI1D;;;;OAIG;IACI,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAQlE;;;OAGG;IACI,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE;IAOxD;;OAEG;IACI,8BAA8B,IAAI,MAAM,GAAG,SAAS;IAM3D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAOhD;;;OAGG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAY3F;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAaxC;;;OAGG;IACU,cAAc,CAC1B,OAAO,EAAE;QACR,0CAA0C;QAC1C,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,sDAAsD;QACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,oCAAoC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,EACD,gBAAgB,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAIhC;;;;;OAKG;IACI,wBAAwB,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY;IAOrF;;;;;;;OAOG;IACU,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwUxF;;;;;;;;;OASG;YACW,6BAA6B;IAwD3C,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,wBAAwB;IAqBzB,iBAAiB,CACvB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,GAAG,EACb,eAAe,GAAE,OAAmB,GAClC,IAAI;IAWA,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAS/D,UAAU,CACtB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAKzC,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,MAAM;IAyFd,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ;IAMhB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAqDpB,OAAO,CAAC,QAAQ;IAehB,6EAA6E;IAChE,uBAAuB,CAAC,OAAO,EAAE,yBAAyB;IA4DvE;;;;;OAKG;YACW,8BAA8B;YAyB9B,oBAAoB;IAOlC;;;;OAIG;YACW,8BAA8B;IAqDrC,eAAe;IAET,oBAAoB,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;IA8ChF,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,iBAAiB;IAaxE,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAsB;IAalF;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qCAAqC;IAgB7C,OAAO,KAAK,sBAAsB,GAKjC;CACD"}
1
+ {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAGN,WAAW,EACX,YAAY,EACZ,mBAAmB,EAEnB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,OAAO,EAEP,0BAA0B,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAS,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAYN,mBAAmB,EAGnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGN,uBAAuB,EAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,cAAc,EAGd,YAAY,EACZ,WAAW,EAEX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,SAAS,EAIT,8BAA8B,EAC9B,uBAAuB,EAEvB,sBAAsB,EAItB,kCAAkC,EAClC,qBAAqB,EAKrB,UAAU,EACV,iBAAiB,EACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAEX,aAAa,EACb,iBAAiB,EAEjB,wCAAwC,EACxC,MAAM,+BAA+B,CAAC;AAmBvC,OAAO,EAEN,kBAAkB,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAe,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjF,OAAO,EAON,yBAAyB,EAUzB,mBAAmB,EAKnB,mBAAmB,EAGnB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EAIzB,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAEjB,WAAW,EACX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEN,UAAU,EAGV,iBAAiB,EACjB,QAAQ,EAER,MAAM,MAAM,CAAC;AAId,OAAO,EAEN,MAAM,EASN,MAAM,eAAe,CAAC;AA8BvB;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;;;;;OAQG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACtD,KAAK,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACxF,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC9B,sCAAsC,GACtC,sCAAsC,GACtC,+BAA+B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,qBAwBzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,qBAAqB,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrE;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;GAGG;AACH,oBAAY,cAAc;IACzB,kFAAkF;IAClF,IAAI,SAAS;IACb,0DAA0D;IAC1D,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAC/D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yCAAyC;AACzC,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,iBAAiB,CAKhE,CAAC;AAEF;;;GAGG;AACH,oBAAY,qBAAqB;IAChC,GAAG,QAAQ;CACX;AAaD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,wBAAwB,CAAC,EAAE,wCAAwC,CAAC;CACpE;AAoBD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,yFAAyF;AACzF,eAAO,MAAM,6BAA6B,OAAO,CAAC;AASlD;;;GAGG;AACH,oBAAY,cAAc;IACzB,gBAAgB,cAAc;IAC9B,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,OAAO;CAChB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAE5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAG7C,wBAAgB,aAAa;;;;;;EAU5B;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,oBAEf,WAAW,YAAY,GAAG,SAAS,OAAO,YAAY,GAAG,KAAK,MAAM,gBACvE,KAAK,cAAc,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAErD,MAAM,SAYb,CAAC;AA2DH;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAE/F;AAED;;;;GAIG;AACH,qBAAa,gBACZ,SAAQ,iBAAiB,CAAC,uBAAuB,GAAG,iBAAiB,CACrE,YACC,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B;IA6e1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAKzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,MAAM,EAAE,mBAAmB;IAG3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAIhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IA5ftC;;OAEG;IACH,IAAW,YAAY,SAEtB;IAED;;;;;;;;;;OAUG;WACiB,IAAI,CACvB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,kCAAkC,EACnD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,EACtF,cAAc,GAAE,wBAA6B,EAC7C,cAAc,GAAE,WAA2B,EAC3C,QAAQ,CAAC,EAAE,OAAO,EAClB,oBAAoB,GAAE,OAAO,gBAAmC,GAC9D,OAAO,CAAC,gBAAgB,CAAC;IAqB5B;;;;;;;;;;;;;;OAcG;WACiB,WAAW,CAAC,MAAM,EAAE;QACvC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,eAAe,EAAE,kCAAkC,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC;QAClB,cAAc,CAAC,EAAE,wBAAwB,CAAC;QAC1C,cAAc,CAAC,EAAE,WAAW,CAAC;QAC7B,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,CAAC;QAC/C,4JAA4J;QAC5J,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACvF,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmK7B,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,SAAgB,aAAa,EAAE,cAAc,CAAC;IAE9C,IAAW,OAAO,IAAI,uBAAuB,CAE5C;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKb;IACZ;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEjB;IACb,OAAO,CAAC,QAAQ,CAAC,eAAe,CAGpB;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkD;IACjF,SAAgB,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACrE,SAAgB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEnE,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,uBAAuB,IAAI,uBAAuB,CAE5D;IAED,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,IAAW,WAAW,IAAI,WAAW,CAEpC;IAEM,YAAY,EAAE,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAErE,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IACD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D;;;;OAIG;IACH,SAAgB,YAAY,EAAE,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;IACzF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6D;IAG/F,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA2B;IACrE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAK;IAErD,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,UAAU,CAAU;IAE5B,OAAO,CAAC,qBAAqB,CAAK;IAElC;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,OAAO,CAAC,6BAA6B,CAAK;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAK;IAEnC;;;;;;;OAOG;IACI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IASxD,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,oFAAoF;IACpF,IAAW,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAElD;IAED,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAW,QAAQ,YAElB;IAED,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAU;IAEtD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAO;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,kEAAkE;IAClE,OAAO,CAAC,oBAAoB,CAAsC;IAElE,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;IACnE;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAS;IAElC,iFAAiF;IACjF,IAAW,6BAA6B,IAAI,OAAO,CAElD;IAED,mEAAmE;IACnE,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAE9C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,KAAK;IACL,SAAS,aACR,OAAO,EAAE,iBAAiB,EACT,QAAQ,EAAE,uBAAuB,EAClD,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,qBAAqB,EAAE,mBAAmB,GAAG,SAAS,EACtD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAC5B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACpB,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,EAC5D,cAAc,EAAE,WAAW,EAC5B,MAAM,EAAE,mBAAmB,EAC3C,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,oBAAoB,EACxB,QAAQ,EAAE,uBAAuB,EAClD,YAAY,EAAE,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,SAAS,EAC7D,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,EAC/D,cAAc,CAAC,aACtB,QAAQ,WACR,iBAAiB,KACtB,QAAQ,SAAS,CAAC,aAAA,EACN,oBAAoB,GAAE,qBAKtC;IAofF;;OAEG;YACW,mBAAmB;IAI1B,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IA2BnC;;;;OAIG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IA0B3D;;;OAGG;IACU,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAyCjE;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IAEtD,OAAO,CAAC,UAAU;YAIJ,uBAAuB;IA+CrC,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB;IAkB5B,SAAS,CAAC,0BAA0B,CACnC,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,EACnB,gBAAgB,CAAC,EAAE,iBAAiB;IAgDrC,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAgC3B;;;OAGG;IAEH,OAAO,CAAC,mBAAmB;YAOb,cAAc;IAgDrB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqC/D,OAAO,CAAC,sBAAsB;IA8DjB,cAAc,CAAC,OAAO,EAAE,yBAAyB;IAIvD,OAAO,CAAC,UAAU,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IA+BpE,OAAO,CAAC,8BAA8B,CAAqB;IAE3D;;OAEG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAqFxC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYzB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;IA8C5D;;;;;OAKG;IAEU,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;YAI/D,uBAAuB;IAWrC;;;OAGG;IACH,OAAO,CAAC,KAAK;IAUN,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IA8CjD;;;;;OAKG;IACU,6BAA6B,CACzC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAwB1C,2BAA2B,CACjC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EACvB,eAAe,EAAE,MAAM,GACrB,8BAA8B;IAO1B,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,8BAA8B;IAI1E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAazE;;OAEG;IACU,yBAAyB,CACrC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,GAAG,EACX,EAAE,SAAS,GACT,OAAO,CAAC,UAAU,CAAC;IAYtB,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAClC,SAAS,IAAI,cAAc;IAIlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAC/B,WAAW,IAAI,SAAS;IAI/B;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,uBAAuB;IAwB/B;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM;IAMvE;;;;;OAKG;IACI,qBAAqB,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,EACZ,cAAc,CAAC,EAAE,MAAM;IAMjB,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI;IAoBtF;;;;;;;OAOG;IACI,aAAa,CACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,gBAAgB,CAAC,EAAE,iBAAiB,GAClC,YAAY;IAkBf,SAAgB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;YAEvE,iBAAiB;IAuB/B;;OAEG;IACU,SAAS,CAAC,OAAO,EAAE;QAC/B,2FAA2F;QAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,wFAAwF;QACxF,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kDAAkD;QAClD,aAAa,CAAC,EAAE,mBAAmB,CAAC;QACpC,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,oCAAoC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,sDAAsD;QACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkDlC;;;;;OAKG;IACU,mBAAmB;YAIlB,iBAAiB;IAI/B;;;;OAIG;IACU,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUzE;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE;IAUrD;;;OAGG;IACI,kBAAkB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE;IAOzD;;OAEG;IACI,iBAAiB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAInE;;;;OAIG;IACI,qBAAqB,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE;IAQpF;;;OAGG;IACI,sBAAsB,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE;IAOjE;;OAEG;IACI,8BAA8B,IAAI,MAAM,GAAG,SAAS;IAM3D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAOhD;;;OAGG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAY3F;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAaxC;;;OAGG;IACU,cAAc,CAC1B,OAAO,EAAE;QACR,0CAA0C;QAC1C,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,sDAAsD;QACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,oCAAoC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,EACD,gBAAgB,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAIhC;;;;;OAKG;IACI,wBAAwB,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY;IAOrF;;;;;;;OAOG;IACU,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwUxF;;;;;;;;;OASG;YACW,6BAA6B;IAwD3C,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,wBAAwB;IAqBzB,iBAAiB,CACvB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,GAAG,EACb,eAAe,GAAE,OAAmB,GAClC,IAAI;IAWA,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAS/D,UAAU,CACtB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAKzC,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,MAAM;IAyFd,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ;IAMhB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAwDpB,OAAO,CAAC,QAAQ;IAehB,6EAA6E;IAChE,uBAAuB,CAAC,OAAO,EAAE,yBAAyB;IA4DvE;;;;;OAKG;YACW,8BAA8B;YAyB9B,oBAAoB;IAOlC;;;;OAIG;YACW,8BAA8B;IAqDrC,eAAe;IAET,oBAAoB,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;IA8ChF,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,iBAAiB;IAaxE,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAsB;IAalF;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qCAAqC;IAgB7C,OAAO,KAAK,sBAAsB,GAKjC;CACD"}
@@ -3,7 +3,7 @@ import { assert, delay, LazyPromise } from "@fluidframework/core-utils";
3
3
  import { Trace, TypedEventEmitter } from "@fluid-internal/client-utils";
4
4
  import { createChildLogger, createChildMonitoringContext, DataCorruptionError, DataProcessingError, GenericError, raiseConnectedEvent, PerformanceEvent,
5
5
  // eslint-disable-next-line import/no-deprecated
6
- TaggedLoggerAdapter, wrapError, UsageError, } from "@fluidframework/telemetry-utils";
6
+ TaggedLoggerAdapter, wrapError, UsageError, LoggingError, } from "@fluidframework/telemetry-utils";
7
7
  import { DriverHeader, FetchSource, } from "@fluidframework/driver-definitions";
8
8
  import { readAndParse } from "@fluidframework/driver-utils";
9
9
  import { MessageType, SummaryType, } from "@fluidframework/protocol-definitions";
@@ -19,7 +19,7 @@ import { BlobManager } from "./blobManager";
19
19
  import { DataStores, getSummaryForDatastores } from "./dataStores";
20
20
  import { aliasBlobName, blobsTreeName, chunksBlobName, createRootSummarizerNodeWithGC, electedSummarizerBlobName, extractSummaryMetadataMessage, idCompressorBlobName, metadataBlobName, Summarizer, SummaryManager, wrapSummaryInChannelsTree, SummaryCollection, OrderedClientCollection, OrderedClientElection, SummarizerClientElection, summarizerClientType, RunWhileConnectedCoordinator, RetriableSummaryError, } from "./summary";
21
21
  import { formExponentialFn, Throttler } from "./throttler";
22
- import { GarbageCollector, GCNodeType, gcTombstoneGenerationOptionName, trimLeadingAndTrailingSlashes, } from "./gc";
22
+ import { GarbageCollector, GCNodeType, gcGenerationOptionName, trimLeadingAndTrailingSlashes, } from "./gc";
23
23
  import { channelToDataStore, isDataStoreAliasMessage } from "./dataStore";
24
24
  import { BindBatchTracker } from "./batchTracker";
25
25
  import { ScheduleManager } from "./scheduleManager";
@@ -341,16 +341,16 @@ export class ContainerRuntime extends TypedEventEmitter {
341
341
  const idCompressorEnabled = metadata?.idCompressorEnabled ?? runtimeOptions.enableRuntimeIdCompressor ?? false;
342
342
  let idCompressor;
343
343
  if (idCompressorEnabled) {
344
- const { IdCompressor, createSessionId } = await import("./id-compressor");
344
+ const { createIdCompressor, deserializeIdCompressor, createSessionId } = await import("@fluidframework/id-compressor");
345
345
  const pendingLocalState = context.pendingLocalState;
346
346
  if (pendingLocalState?.pendingIdCompressorState !== undefined) {
347
- idCompressor = IdCompressor.deserialize(pendingLocalState.pendingIdCompressorState);
347
+ idCompressor = deserializeIdCompressor(pendingLocalState.pendingIdCompressorState);
348
348
  }
349
349
  else if (serializedIdCompressor !== undefined) {
350
- idCompressor = IdCompressor.deserialize(serializedIdCompressor, createSessionId());
350
+ idCompressor = deserializeIdCompressor(serializedIdCompressor, createSessionId());
351
351
  }
352
352
  else {
353
- idCompressor = IdCompressor.create(logger);
353
+ idCompressor = createIdCompressor(logger);
354
354
  }
355
355
  }
356
356
  const runtime = new containerRuntimeCtor(context, registry, metadata, electedSummarizerData, chunks ?? [], aliases ?? [], {
@@ -560,7 +560,7 @@ export class ContainerRuntime extends TypedEventEmitter {
560
560
  eventName: "GCFeatureMatrix",
561
561
  metadataValue: JSON.stringify(metadata?.gcFeatureMatrix),
562
562
  inputs: JSON.stringify({
563
- gcOptions_gcTombstoneGeneration: this.runtimeOptions.gcOptions[gcTombstoneGenerationOptionName],
563
+ gcOptions_gcGeneration: this.runtimeOptions.gcOptions[gcGenerationOptionName],
564
564
  }),
565
565
  });
566
566
  this.telemetryDocumentId = metadata?.telemetryDocumentId ?? uuid();
@@ -626,6 +626,7 @@ export class ContainerRuntime extends TypedEventEmitter {
626
626
  // GC runs in summarizer client and needs access to the real (non-proxy) active information. The proxy
627
627
  // delta manager would always return false for summarizer client.
628
628
  activeConnection: () => this.innerDeltaManager.active,
629
+ submitMessage: (message) => this.submit(message),
629
630
  });
630
631
  const loadedFromSequenceNumber = this.deltaManager.initialSequenceNumber;
631
632
  this.summarizerNode = createRootSummarizerNodeWithGC(createChildLogger({ logger: this.logger, namespace: "SummarizerNode" }),
@@ -1078,6 +1079,9 @@ export class ContainerRuntime extends TypedEventEmitter {
1078
1079
  throw new Error("chunkedOp not expected here");
1079
1080
  case ContainerMessageType.Rejoin:
1080
1081
  throw new Error("rejoin not expected here");
1082
+ case ContainerMessageType.GC:
1083
+ // GC op is only sent in summarizer which should never have stashed ops.
1084
+ throw new LoggingError("GC op not expected to be stashed in summarizer");
1081
1085
  default: {
1082
1086
  // This should be extremely rare for stashed ops.
1083
1087
  // It would require a newer runtime stashing ops and then an older one applying them,
@@ -1262,6 +1266,9 @@ export class ContainerRuntime extends TypedEventEmitter {
1262
1266
  this.idCompressor.finalizeCreationRange(messageWithContext.message.contents);
1263
1267
  }
1264
1268
  break;
1269
+ case ContainerMessageType.GC:
1270
+ this.garbageCollector.processMessage(messageWithContext.message, local);
1271
+ break;
1265
1272
  case ContainerMessageType.ChunkedOp:
1266
1273
  case ContainerMessageType.Rejoin:
1267
1274
  break;
@@ -1482,19 +1489,28 @@ export class ContainerRuntime extends TypedEventEmitter {
1482
1489
  return this.dirtyContainer;
1483
1490
  }
1484
1491
  isContainerMessageDirtyable({ type, contents }) {
1485
- // For legacy purposes, exclude the old built-in AgentScheduler from dirty consideration as a special-case.
1486
- // Ultimately we should have no special-cases from the ContainerRuntime's perspective.
1487
- if (type === ContainerMessageType.Attach) {
1488
- const attachMessage = contents;
1489
- if (attachMessage.id === agentSchedulerId) {
1490
- return false;
1492
+ // Certain container runtime messages should not mark the container dirty such as the old built-in
1493
+ // AgentScheduler and Garbage collector messages.
1494
+ switch (type) {
1495
+ case ContainerMessageType.Attach: {
1496
+ const attachMessage = contents;
1497
+ if (attachMessage.id === agentSchedulerId) {
1498
+ return false;
1499
+ }
1500
+ break;
1491
1501
  }
1492
- }
1493
- else if (type === ContainerMessageType.FluidDataStoreOp) {
1494
- const envelope = contents;
1495
- if (envelope.address === agentSchedulerId) {
1502
+ case ContainerMessageType.FluidDataStoreOp: {
1503
+ const envelope = contents;
1504
+ if (envelope.address === agentSchedulerId) {
1505
+ return false;
1506
+ }
1507
+ break;
1508
+ }
1509
+ case ContainerMessageType.GC: {
1496
1510
  return false;
1497
1511
  }
1512
+ default:
1513
+ break;
1498
1514
  }
1499
1515
  return true;
1500
1516
  }
@@ -1785,10 +1801,10 @@ export class ContainerRuntime extends TypedEventEmitter {
1785
1801
  properties: { all: { safeSummary: true } },
1786
1802
  }));
1787
1803
  }
1788
- // If there are pending (unacked ops), the summary will not be eventual consistent and it may even be
1789
- // incorrect. So, wait for the container to be saved with a timeout. If the container is not saved
1790
- // within the timeout, check if it should be failed or can continue.
1791
- if (this.validateSummaryBeforeUpload && this.hasPendingMessages()) {
1804
+ // If the container is dirty, i.e., there are pending unacked ops, the summary will not be eventual consistent
1805
+ // and it may even be incorrect. So, wait for the container to be saved with a timeout. If the container is not
1806
+ // saved within the timeout, check if it should be failed or can continue.
1807
+ if (this.validateSummaryBeforeUpload && this.isDirty) {
1792
1808
  const countBefore = this.pendingMessagesCount;
1793
1809
  // The timeout for waiting for pending ops can be overridden via configurations.
1794
1810
  const pendingOpsTimeout = this.mc.config.getNumber("Fluid.Summarizer.waitForPendingOpsTimeoutMs") ??
@@ -1808,7 +1824,7 @@ export class ContainerRuntime extends TypedEventEmitter {
1808
1824
  // happens, whether we attempted to wait for these ops to be acked and what was the result.
1809
1825
  summaryNumberLogger.sendTelemetryEvent({
1810
1826
  eventName: "PendingOpsWhileSummarizing",
1811
- saved: this.hasPendingMessages() ? false : true,
1827
+ saved: !this.isDirty,
1812
1828
  timeout: pendingOpsTimeout,
1813
1829
  countBefore,
1814
1830
  countAfter: this.pendingMessagesCount,
@@ -2033,7 +2049,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2033
2049
  }
2034
2050
  }
2035
2051
  /**
2036
- * This helper is called during summarization. If there are pending ops, it will return a failed summarize result
2052
+ * This helper is called during summarization. If the container is dirty, it will return a failed summarize result
2037
2053
  * (IBaseSummarizeResult) unless this is the final summarize attempt and SkipFailingIncorrectSummary option is set.
2038
2054
  * @param logger - The logger to be used for sending telemetry.
2039
2055
  * @param referenceSequenceNumber - The reference sequence number of the summary attempt.
@@ -2043,7 +2059,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2043
2059
  * @returns failed summarize result (IBaseSummarizeResult) if summary should be failed, undefined otherwise.
2044
2060
  */
2045
2061
  async shouldFailSummaryOnPendingOps(logger, referenceSequenceNumber, minimumSequenceNumber, finalAttempt, beforeSummaryGeneration) {
2046
- if (!this.hasPendingMessages()) {
2062
+ if (!this.isDirty) {
2047
2063
  return;
2048
2064
  }
2049
2065
  // If "SkipFailingIncorrectSummary" option is true, don't fail the summary in the last attempt.
@@ -2313,6 +2329,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2313
2329
  /**
2314
2330
  * Finds the right store and asks it to resubmit the message. This typically happens when we
2315
2331
  * reconnect and there are pending messages.
2332
+ * ! Note: successfully resubmitting an op that has been successfully sequenced is not possible due to checks in the ConnectionStateHandler (Loader layer)
2316
2333
  * @param message - The original LocalContainerRuntimeMessage.
2317
2334
  * @param localOpMetadata - The local metadata associated with the original message.
2318
2335
  */
@@ -2337,6 +2354,9 @@ export class ContainerRuntime extends TypedEventEmitter {
2337
2354
  case ContainerMessageType.Rejoin:
2338
2355
  this.submit(message);
2339
2356
  break;
2357
+ case ContainerMessageType.GC:
2358
+ // GC op is only sent in summarizer which should never reconnect.
2359
+ throw new LoggingError("GC op not expected to be resubmitted in summarizer");
2340
2360
  default: {
2341
2361
  // This case should be very rare - it would imply an op was stashed from a
2342
2362
  // future version of runtime code and now is being applied on an older version