@fluidframework/container-runtime 2.33.2 → 2.40.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 (92) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/api-report/container-runtime.legacy.alpha.api.md +4 -0
  3. package/container-runtime.test-files.tar +0 -0
  4. package/dist/blobManager/blobManager.d.ts +31 -8
  5. package/dist/blobManager/blobManager.d.ts.map +1 -1
  6. package/dist/blobManager/blobManager.js +90 -17
  7. package/dist/blobManager/blobManager.js.map +1 -1
  8. package/dist/channelCollection.d.ts +26 -10
  9. package/dist/channelCollection.d.ts.map +1 -1
  10. package/dist/channelCollection.js +42 -11
  11. package/dist/channelCollection.js.map +1 -1
  12. package/dist/compatUtils.d.ts +19 -10
  13. package/dist/compatUtils.d.ts.map +1 -1
  14. package/dist/compatUtils.js +39 -32
  15. package/dist/compatUtils.js.map +1 -1
  16. package/dist/containerRuntime.d.ts +29 -13
  17. package/dist/containerRuntime.d.ts.map +1 -1
  18. package/dist/containerRuntime.js +139 -149
  19. package/dist/containerRuntime.js.map +1 -1
  20. package/dist/dataStoreContext.d.ts +15 -16
  21. package/dist/dataStoreContext.d.ts.map +1 -1
  22. package/dist/dataStoreContext.js +37 -19
  23. package/dist/dataStoreContext.js.map +1 -1
  24. package/dist/index.d.ts +1 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -9
  27. package/dist/index.js.map +1 -1
  28. package/dist/legacy.d.ts +1 -0
  29. package/dist/opLifecycle/index.d.ts +1 -1
  30. package/dist/opLifecycle/index.d.ts.map +1 -1
  31. package/dist/opLifecycle/index.js.map +1 -1
  32. package/dist/opLifecycle/outbox.d.ts +20 -7
  33. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  34. package/dist/opLifecycle/outbox.js +16 -20
  35. package/dist/opLifecycle/outbox.js.map +1 -1
  36. package/dist/packageVersion.d.ts +1 -1
  37. package/dist/packageVersion.js +1 -1
  38. package/dist/packageVersion.js.map +1 -1
  39. package/dist/pendingStateManager.d.ts +22 -8
  40. package/dist/pendingStateManager.d.ts.map +1 -1
  41. package/dist/pendingStateManager.js +11 -16
  42. package/dist/pendingStateManager.js.map +1 -1
  43. package/lib/blobManager/blobManager.d.ts +31 -8
  44. package/lib/blobManager/blobManager.d.ts.map +1 -1
  45. package/lib/blobManager/blobManager.js +91 -18
  46. package/lib/blobManager/blobManager.js.map +1 -1
  47. package/lib/channelCollection.d.ts +26 -10
  48. package/lib/channelCollection.d.ts.map +1 -1
  49. package/lib/channelCollection.js +43 -12
  50. package/lib/channelCollection.js.map +1 -1
  51. package/lib/compatUtils.d.ts +19 -10
  52. package/lib/compatUtils.d.ts.map +1 -1
  53. package/lib/compatUtils.js +36 -29
  54. package/lib/compatUtils.js.map +1 -1
  55. package/lib/containerRuntime.d.ts +29 -13
  56. package/lib/containerRuntime.d.ts.map +1 -1
  57. package/lib/containerRuntime.js +60 -70
  58. package/lib/containerRuntime.js.map +1 -1
  59. package/lib/dataStoreContext.d.ts +15 -16
  60. package/lib/dataStoreContext.d.ts.map +1 -1
  61. package/lib/dataStoreContext.js +38 -20
  62. package/lib/dataStoreContext.js.map +1 -1
  63. package/lib/index.d.ts +1 -3
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js +0 -3
  66. package/lib/index.js.map +1 -1
  67. package/lib/legacy.d.ts +1 -0
  68. package/lib/opLifecycle/index.d.ts +1 -1
  69. package/lib/opLifecycle/index.d.ts.map +1 -1
  70. package/lib/opLifecycle/index.js.map +1 -1
  71. package/lib/opLifecycle/outbox.d.ts +20 -7
  72. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  73. package/lib/opLifecycle/outbox.js +16 -20
  74. package/lib/opLifecycle/outbox.js.map +1 -1
  75. package/lib/packageVersion.d.ts +1 -1
  76. package/lib/packageVersion.js +1 -1
  77. package/lib/packageVersion.js.map +1 -1
  78. package/lib/pendingStateManager.d.ts +22 -8
  79. package/lib/pendingStateManager.d.ts.map +1 -1
  80. package/lib/pendingStateManager.js +11 -16
  81. package/lib/pendingStateManager.js.map +1 -1
  82. package/package.json +18 -18
  83. package/src/blobManager/blobManager.ts +141 -33
  84. package/src/channelCollection.ts +77 -19
  85. package/src/compatUtils.ts +53 -30
  86. package/src/containerRuntime.ts +102 -81
  87. package/src/dataStoreContext.ts +48 -38
  88. package/src/index.ts +1 -13
  89. package/src/opLifecycle/index.ts +1 -0
  90. package/src/opLifecycle/outbox.ts +42 -33
  91. package/src/packageVersion.ts +1 -1
  92. package/src/pendingStateManager.ts +37 -20
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isValidCompatVersion = exports.getConfigsForCompatMode = exports.getCompatibilityVersionDefaults = exports.defaultCompatibilityVersion = void 0;
7
+ exports.isValidMinVersionForCollab = exports.getConfigsForCompatMode = exports.getMinVersionForCollabDefaults = exports.defaultMinVersionForCollab = void 0;
8
8
  const internal_1 = require("@fluidframework/runtime-definitions/internal");
9
9
  const semver_ts_1 = require("semver-ts");
10
10
  const compressionDefinitions_js_1 = require("./compressionDefinitions.js");
@@ -12,7 +12,7 @@ const packageVersion_js_1 = require("./packageVersion.js");
12
12
  /**
13
13
  * Our policy is to support N/N-1 compatibility by default, where N is the most
14
14
  * recent public major release of the runtime.
15
- * Therefore, if the customer does not provide a compatibility mode, we will
15
+ * Therefore, if the customer does not provide a minVersionForCollab, we will
16
16
  * default to use N-1.
17
17
  *
18
18
  * However, this is not consistent with today's behavior. Some options (i.e.
@@ -22,22 +22,29 @@ const packageVersion_js_1 = require("./packageVersion.js");
22
22
  * Importantly though, N/N-2 compatibility is still guaranteed with the proper
23
23
  * configurations set.
24
24
  *
25
- * Further to distinguish unspecified `compatibilityVersion` from a specified
25
+ * Further to distinguish unspecified `minVersionForCollab` from a specified
26
26
  * version and allow `enableExplicitSchemaControl` to default to `true` for
27
27
  * any 2.0.0+ version, we will use a special value of `2.0.0-defaults`, which
28
28
  * is semantically less than 2.0.0.
29
29
  */
30
- exports.defaultCompatibilityVersion = "2.0.0-defaults";
30
+ exports.defaultMinVersionForCollab = "2.0.0-defaults";
31
+ /**
32
+ * We don't want allow a version before the major public release of the LTS version.
33
+ * Today we use "1.0.0", because our policy supports N/N-1 & N/N-2, which includes
34
+ * all minor versions of N. Though LTS starts at 1.4.0, we should stay consistent
35
+ * with our policy and allow all 1.x versions to be compatible with 2.x.
36
+ */
37
+ const lowestMinVersionForCollab = "1.0.0";
31
38
  /**
32
39
  * Mapping of RuntimeOptionsAffectingDocSchema to their compatibility related configs.
33
40
  *
34
- * Each key in this map corresponds to a property in RuntimeOptionsAffectingDocSchema. The value is an object that maps SemanticVersions
35
- * to the appropriate default value for that property to supporting that SemanticVersion. If clients running SemanticVersion X are able to understand
36
- * the format changes introduced by the property, then the default value for that SemanticVersion will enable the feature associated with the property.
41
+ * Each key in this map corresponds to a property in RuntimeOptionsAffectingDocSchema. The value is an object that maps MinimumVersionForCollab
42
+ * to the appropriate default value for that property to supporting that MinimumVersionForCollab. If clients running MinimumVersionForCollab X are able to understand
43
+ * the format changes introduced by the property, then the default value for that MinimumVersionForCollab will enable the feature associated with the property.
37
44
  * Otherwise, the feature will be disabled.
38
45
  *
39
- * For example if the compatibilityVersion is a 1.x version (i.e. "1.5.0"), then the default value for `enableGroupedBatching` will be false since 1.x
40
- * clients do not understand the document format when batching is enabled. If the compatibilityVersion is a 2.x client (i.e. "2.0.0" or later), then the
46
+ * For example if the minVersionForCollab is a 1.x version (i.e. "1.5.0"), then the default value for `enableGroupedBatching` will be false since 1.x
47
+ * clients do not understand the document format when batching is enabled. If the minVersionForCollab is a 2.x client (i.e. "2.0.0" or later), then the
41
48
  * default value for `enableGroupedBatching` will be true because clients running 2.0 or later will be able to understand the format changes associated
42
49
  * with the batching feature.
43
50
  */
@@ -65,14 +72,14 @@ const runtimeOptionsAffectingDocSchemaConfigMap = {
65
72
  explicitSchemaControl: {
66
73
  "1.0.0": false,
67
74
  // This option's intention is to prevent 1.x clients from joining sessions
68
- // when enabled. This is set to true when the compatibility version is set
75
+ // when enabled. This is set to true when the minVersionForCollab is set
69
76
  // to >=2.0.0 (explicitly). This is different than other 2.0 defaults
70
77
  // because it was not enabled by default prior to the implementation of
71
- // `compatibilityVersion`.
72
- // `defaultCompatibilityVersion` is set to "2.0.0-defaults" which "2.0.0"
78
+ // `minVersionForCollab`.
79
+ // `defaultMinVersionForCollab` is set to "2.0.0-defaults" which "2.0.0"
73
80
  // does not satisfy to avoiding enabling this option by default as of
74
- // `compatibilityVersion` introduction, which could be unexpected.
75
- // Only enable as a default when `compatibilityVersion` is specified at
81
+ // `minVersionForCollab` introduction, which could be unexpected.
82
+ // Only enable as a default when `minVersionForCollab` is specified at
76
83
  // 2.0.0+.
77
84
  "2.0.0": true,
78
85
  },
@@ -85,7 +92,7 @@ const runtimeOptionsAffectingDocSchemaConfigMap = {
85
92
  },
86
93
  gcOptions: {
87
94
  "1.0.0": {},
88
- // Although sweep is supported in 2.x, it is disabled by default until compatibilityVersion>=3.0.0 to be extra safe.
95
+ // Although sweep is supported in 2.x, it is disabled by default until minVersionForCollab>=3.0.0 to be extra safe.
89
96
  "3.0.0": { enableGCSweep: true },
90
97
  },
91
98
  createBlobPayloadPending: {
@@ -96,31 +103,31 @@ const runtimeOptionsAffectingDocSchemaConfigMap = {
96
103
  },
97
104
  };
98
105
  /**
99
- * Returns the default RuntimeOptionsAffectingDocSchema configuration for a given compatibility version.
106
+ * Returns the default RuntimeOptionsAffectingDocSchema configuration for a given minVersionForCollab.
100
107
  */
101
- function getCompatibilityVersionDefaults(compatibilityVersion) {
102
- return getConfigsForCompatMode(compatibilityVersion, runtimeOptionsAffectingDocSchemaConfigMap);
108
+ function getMinVersionForCollabDefaults(minVersionForCollab) {
109
+ return getConfigsForCompatMode(minVersionForCollab, runtimeOptionsAffectingDocSchemaConfigMap);
103
110
  }
104
- exports.getCompatibilityVersionDefaults = getCompatibilityVersionDefaults;
111
+ exports.getMinVersionForCollabDefaults = getMinVersionForCollabDefaults;
105
112
  /**
106
- * Returns a default configuration given compatibility version and configuration version map.
113
+ * Returns a default configuration given minVersionForCollab and configuration version map.
107
114
  */
108
- function getConfigsForCompatMode(compatibilityVersion, configMap) {
115
+ function getConfigsForCompatMode(minVersionForCollab, configMap) {
109
116
  const defaultConfigs = {};
110
117
  // Iterate over configMap to get default values for each option.
111
118
  for (const key of Object.keys(configMap)) {
112
119
  const config = configMap[key];
113
120
  // Sort the versions in ascending order so we can short circuit the loop.
114
121
  const versions = Object.keys(config).sort(semver_ts_1.compare);
115
- // For each config, we iterate over the keys and check if compatibilityVersion is greater than or equal to the version.
122
+ // For each config, we iterate over the keys and check if minVersionForCollab is greater than or equal to the version.
116
123
  // If so, we set it as the default value for the option. At the end of the loop we should have the most recent default
117
- // value that is compatible with the version specified as the compatibilityVersion.
124
+ // value that is compatible with the version specified as the minVersionForCollab.
118
125
  for (const version of versions) {
119
- if ((0, semver_ts_1.gte)(compatibilityVersion, version)) {
126
+ if ((0, semver_ts_1.gte)(minVersionForCollab, version)) {
120
127
  defaultConfigs[key] = config[version];
121
128
  }
122
129
  else {
123
- // If the compatibility mode is less than the version, we break out of the loop since we don't need to check
130
+ // If the minVersionForCollab is less than the version, we break out of the loop since we don't need to check
124
131
  // any later versions.
125
132
  break;
126
133
  }
@@ -130,13 +137,13 @@ function getConfigsForCompatMode(compatibilityVersion, configMap) {
130
137
  }
131
138
  exports.getConfigsForCompatMode = getConfigsForCompatMode;
132
139
  /**
133
- * Checks if the compatibility version is valid.
134
- * A valid compatibility version is a string that is a valid semver version and is less than or equal to the current package version.
140
+ * Checks if the minVersionForCollab is valid.
141
+ * A valid minVersionForCollab is a MinimumVersionForCollab that is at least `lowestMinVersionForCollab` and less than or equal to the current package version.
135
142
  */
136
- function isValidCompatVersion(compatibilityVersion) {
137
- return (compatibilityVersion !== undefined &&
138
- (0, semver_ts_1.valid)(compatibilityVersion) !== null &&
139
- (0, semver_ts_1.lte)(compatibilityVersion, packageVersion_js_1.pkgVersion));
143
+ function isValidMinVersionForCollab(minVersionForCollab) {
144
+ return ((0, semver_ts_1.valid)(minVersionForCollab) !== null &&
145
+ (0, semver_ts_1.gte)(minVersionForCollab, lowestMinVersionForCollab) &&
146
+ (0, semver_ts_1.lte)(minVersionForCollab, packageVersion_js_1.pkgVersion));
140
147
  }
141
- exports.isValidCompatVersion = isValidCompatVersion;
148
+ exports.isValidMinVersionForCollab = isValidMinVersionForCollab;
142
149
  //# sourceMappingURL=compatUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compatUtils.js","sourceRoot":"","sources":["../src/compatUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2EAAyE;AACzE,yCAAqD;AAErD,2EAGqC;AAErC,2DAAiD;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,2BAA2B,GAAG,gBAAyB,CAAC;AAkDrE;;;;;;;;;;;;GAYG;AACH,MAAM,yCAAyC,GAAG;IACjD,qBAAqB,EAAE;QACtB,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI;KACb;IACV,kBAAkB,EAAE;QACnB,OAAO,EAAE,qDAAyB;QAClC,gBAAgB,EAAE,oDAAwB;KACjC;IACV,yBAAyB,EAAE;QAC1B,sEAAsE;QACtE,sDAAsD;QACtD,mEAAmE;QACnE,yDAAyD;QACzD,OAAO,EAAE,SAAS;QAClB,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,wBAAwB;KACf;IACV,qBAAqB,EAAE;QACtB,OAAO,EAAE,KAAK;QACd,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,0BAA0B;QAC1B,yEAAyE;QACzE,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,UAAU;QACV,OAAO,EAAE,IAAI;KACJ;IACV,SAAS,EAAE;QACV,gHAAgH;QAChH,8GAA8G;QAC9G,6CAA6C;QAC7C,OAAO,EAAE,oBAAS,CAAC,SAAS;QAC5B,gBAAgB,EAAE,oBAAS,CAAC,SAAS;KAC5B;IACV,SAAS,EAAE;QACV,OAAO,EAAE,EAAE;QACX,oHAAoH;QACpH,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACvB;IACV,wBAAwB,EAAE;QACzB,2GAA2G;QAC3G,4GAA4G;QAC5G,wCAAwC;QACxC,OAAO,EAAE,SAAS;KACT;CACqD,CAAC;AAEjE;;GAEG;AACH,SAAgB,+BAA+B,CAC9C,oBAAqC;IAErC,OAAO,uBAAuB,CAC7B,oBAAoB,EACpB,yCAAyC,CAGL,CAAC;AACvC,CAAC;AATD,0EASC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACtC,oBAAqC,EACrC,SAAuB;IAEvB,MAAM,cAAc,GAAe,EAAE,CAAC;IACtC,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAc,CAAC,CAAC;QACzC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAO,CAAC,CAAC;QACnD,uHAAuH;QACvH,sHAAsH;QACtH,mFAAmF;QACnF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAA,eAAG,EAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC;gBACxC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAsC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACP,4GAA4G;gBAC5G,sBAAsB;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC;AAxBD,0DAwBC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,oBAAqC;IACzE,OAAO,CACN,oBAAoB,KAAK,SAAS;QAClC,IAAA,iBAAK,EAAC,oBAAoB,CAAC,KAAK,IAAI;QACpC,IAAA,eAAG,EAAC,oBAAoB,EAAE,8BAAU,CAAC,CACrC,CAAC;AACH,CAAC;AAND,oDAMC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { FlushMode } from \"@fluidframework/runtime-definitions/internal\";\nimport { compare, gte, lte, valid } from \"semver-ts\";\n\nimport {\n\tdisabledCompressionConfig,\n\tenabledCompressionConfig,\n} from \"./compressionDefinitions.js\";\nimport type { ContainerRuntimeOptionsInternal } from \"./containerRuntime.js\";\nimport { pkgVersion } from \"./packageVersion.js\";\n\n/**\n * Our policy is to support N/N-1 compatibility by default, where N is the most\n * recent public major release of the runtime.\n * Therefore, if the customer does not provide a compatibility mode, we will\n * default to use N-1.\n *\n * However, this is not consistent with today's behavior. Some options (i.e.\n * batching, compression) are enabled by default despite not being compatible\n * with 1.x clients. Since the policy was introduced during 2.x's lifespan,\n * N/N-1 compatibility by **default** will be in effect starting with 3.0.\n * Importantly though, N/N-2 compatibility is still guaranteed with the proper\n * configurations set.\n *\n * Further to distinguish unspecified `compatibilityVersion` from a specified\n * version and allow `enableExplicitSchemaControl` to default to `true` for\n * any 2.0.0+ version, we will use a special value of `2.0.0-defaults`, which\n * is semantically less than 2.0.0.\n */\nexport const defaultCompatibilityVersion = \"2.0.0-defaults\" as const;\n\n/**\n * String in a valid semver format specifying bottom of a minor version\n * or special \"defaults\" prerelease of a major.\n * @remarks Only 2.0.0-defaults is expected, but index signatures cannot be a\n * literal; so, just allow any major -defaults prerelease.\n */\nexport type MinimumMinorSemanticVersion = `${bigint}.${bigint}.0` | `${bigint}.0.0-defaults`;\n\n/**\n * String in a valid semver format of a specific version at least specifying minor.\n */\nexport type SemanticVersion =\n\t| `${bigint}.${bigint}.${bigint}`\n\t| `${bigint}.${bigint}.${bigint}-${string}`;\n\n/**\n * Generic type for runtimeOptionsAffectingDocSchemaConfigMap\n */\nexport type ConfigMap<T extends Record<string, unknown>> = {\n\t[K in keyof T]-?: {\n\t\t[version: MinimumMinorSemanticVersion]: T[K];\n\t};\n};\n\n/**\n * Subset of the {@link ContainerRuntimeOptionsInternal} properties which\n * affect {@link IDocumentSchemaFeatures}.\n *\n * @remarks\n * When a new option is added to {@link ContainerRuntimeOptionsInternal}, we\n * must consider if it changes the DocumentSchema. If so, then a corresponding\n * entry must be added to {@link runtimeOptionsAffectingDocSchemaConfigMap}\n * below. If not, then it must be omitted from this type.\n *\n * Note: `Omit` is used instead of `Pick` to ensure that all new options are\n * included in this type by default. If any new properties are added to\n * {@link ContainerRuntimeOptionsInternal}, they will be included in this\n * type unless explicitly omitted. This will prevent us from forgetting to\n * account for any new properties in the future.\n */\nexport type RuntimeOptionsAffectingDocSchema = Omit<\n\tContainerRuntimeOptionsInternal,\n\t| \"chunkSizeInBytes\"\n\t| \"maxBatchSizeInBytes\"\n\t| \"loadSequenceNumberVerification\"\n\t| \"summaryOptions\"\n>;\n\n/**\n * Mapping of RuntimeOptionsAffectingDocSchema to their compatibility related configs.\n *\n * Each key in this map corresponds to a property in RuntimeOptionsAffectingDocSchema. The value is an object that maps SemanticVersions\n * to the appropriate default value for that property to supporting that SemanticVersion. If clients running SemanticVersion X are able to understand\n * the format changes introduced by the property, then the default value for that SemanticVersion will enable the feature associated with the property.\n * Otherwise, the feature will be disabled.\n *\n * For example if the compatibilityVersion is a 1.x version (i.e. \"1.5.0\"), then the default value for `enableGroupedBatching` will be false since 1.x\n * clients do not understand the document format when batching is enabled. If the compatibilityVersion is a 2.x client (i.e. \"2.0.0\" or later), then the\n * default value for `enableGroupedBatching` will be true because clients running 2.0 or later will be able to understand the format changes associated\n * with the batching feature.\n */\nconst runtimeOptionsAffectingDocSchemaConfigMap = {\n\tenableGroupedBatching: {\n\t\t\"1.0.0\": false,\n\t\t\"2.0.0-defaults\": true,\n\t} as const,\n\tcompressionOptions: {\n\t\t\"1.0.0\": disabledCompressionConfig,\n\t\t\"2.0.0-defaults\": enabledCompressionConfig,\n\t} as const,\n\tenableRuntimeIdCompressor: {\n\t\t// For IdCompressorMode, `undefined` represents a logical state (off).\n\t\t// However, to satisfy the Required<> constraint while\n\t\t// `exactOptionalPropertyTypes` is `false` (TODO: AB#8215), we need\n\t\t// to have it defined, so we trick the type checker here.\n\t\t\"1.0.0\": undefined,\n\t\t// We do not yet want to enable idCompressor by default since it will\n\t\t// increase bundle sizes, and not all customers will benefit from it.\n\t\t// Therefore, we will require customers to explicitly enable it. We\n\t\t// are keeping it as a DocSchema affecting option for now as this may\n\t\t// change in the future.\n\t} as const,\n\texplicitSchemaControl: {\n\t\t\"1.0.0\": false,\n\t\t// This option's intention is to prevent 1.x clients from joining sessions\n\t\t// when enabled. This is set to true when the compatibility version is set\n\t\t// to >=2.0.0 (explicitly). This is different than other 2.0 defaults\n\t\t// because it was not enabled by default prior to the implementation of\n\t\t// `compatibilityVersion`.\n\t\t// `defaultCompatibilityVersion` is set to \"2.0.0-defaults\" which \"2.0.0\"\n\t\t// does not satisfy to avoiding enabling this option by default as of\n\t\t// `compatibilityVersion` introduction, which could be unexpected.\n\t\t// Only enable as a default when `compatibilityVersion` is specified at\n\t\t// 2.0.0+.\n\t\t\"2.0.0\": true,\n\t} as const,\n\tflushMode: {\n\t\t// Note: 1.x clients are compatible with TurnBased flushing, but here we elect to remain on Immediate flush mode\n\t\t// as a work-around for inability to send batches larger than 1Mb. Immediate flushing keeps batches smaller as\n\t\t// fewer messages will be included per flush.\n\t\t\"1.0.0\": FlushMode.Immediate,\n\t\t\"2.0.0-defaults\": FlushMode.TurnBased,\n\t} as const,\n\tgcOptions: {\n\t\t\"1.0.0\": {},\n\t\t// Although sweep is supported in 2.x, it is disabled by default until compatibilityVersion>=3.0.0 to be extra safe.\n\t\t\"3.0.0\": { enableGCSweep: true },\n\t} as const,\n\tcreateBlobPayloadPending: {\n\t\t// This feature is new and disabled by default. In the future we will enable it by default, but we have not\n\t\t// closed on the version where that will happen yet. Probably a .10 release since blob functionality is not\n\t\t// exposed on the `@public` API surface.\n\t\t\"1.0.0\": undefined,\n\t} as const,\n} as const satisfies ConfigMap<RuntimeOptionsAffectingDocSchema>;\n\n/**\n * Returns the default RuntimeOptionsAffectingDocSchema configuration for a given compatibility version.\n */\nexport function getCompatibilityVersionDefaults(\n\tcompatibilityVersion: SemanticVersion,\n): RuntimeOptionsAffectingDocSchema {\n\treturn getConfigsForCompatMode(\n\t\tcompatibilityVersion,\n\t\truntimeOptionsAffectingDocSchemaConfigMap,\n\t\t// This is a bad cast away from Partial that getConfigsForCompatMode provides.\n\t\t// ConfigMap should be restructured to provide RuntimeOptionsAffectingDocSchema guarantee.\n\t) as RuntimeOptionsAffectingDocSchema;\n}\n\n/**\n * Returns a default configuration given compatibility version and configuration version map.\n */\nexport function getConfigsForCompatMode<T extends Record<SemanticVersion, unknown>>(\n\tcompatibilityVersion: SemanticVersion,\n\tconfigMap: ConfigMap<T>,\n): Partial<T> {\n\tconst defaultConfigs: Partial<T> = {};\n\t// Iterate over configMap to get default values for each option.\n\tfor (const key of Object.keys(configMap)) {\n\t\tconst config = configMap[key as keyof T];\n\t\t// Sort the versions in ascending order so we can short circuit the loop.\n\t\tconst versions = Object.keys(config).sort(compare);\n\t\t// For each config, we iterate over the keys and check if compatibilityVersion is greater than or equal to the version.\n\t\t// If so, we set it as the default value for the option. At the end of the loop we should have the most recent default\n\t\t// value that is compatible with the version specified as the compatibilityVersion.\n\t\tfor (const version of versions) {\n\t\t\tif (gte(compatibilityVersion, version)) {\n\t\t\t\tdefaultConfigs[key] = config[version as MinimumMinorSemanticVersion];\n\t\t\t} else {\n\t\t\t\t// If the compatibility mode is less than the version, we break out of the loop since we don't need to check\n\t\t\t\t// any later versions.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn defaultConfigs;\n}\n\n/**\n * Checks if the compatibility version is valid.\n * A valid compatibility version is a string that is a valid semver version and is less than or equal to the current package version.\n */\nexport function isValidCompatVersion(compatibilityVersion: SemanticVersion): boolean {\n\treturn (\n\t\tcompatibilityVersion !== undefined &&\n\t\tvalid(compatibilityVersion) !== null &&\n\t\tlte(compatibilityVersion, pkgVersion)\n\t);\n}\n"]}
1
+ {"version":3,"file":"compatUtils.js","sourceRoot":"","sources":["../src/compatUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2EAAyE;AACzE,yCAAqD;AAErD,2EAGqC;AAErC,2DAAiD;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,0BAA0B,GACtC,gBAA2D,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,OAAkD,CAAC;AA8DrF;;;;;;;;;;;;GAYG;AACH,MAAM,yCAAyC,GAAG;IACjD,qBAAqB,EAAE;QACtB,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI;KACb;IACV,kBAAkB,EAAE;QACnB,OAAO,EAAE,qDAAyB;QAClC,gBAAgB,EAAE,oDAAwB;KACjC;IACV,yBAAyB,EAAE;QAC1B,sEAAsE;QACtE,sDAAsD;QACtD,mEAAmE;QACnE,yDAAyD;QACzD,OAAO,EAAE,SAAS;QAClB,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,wBAAwB;KACf;IACV,qBAAqB,EAAE;QACtB,OAAO,EAAE,KAAK;QACd,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,yBAAyB;QACzB,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,sEAAsE;QACtE,UAAU;QACV,OAAO,EAAE,IAAI;KACJ;IACV,SAAS,EAAE;QACV,gHAAgH;QAChH,8GAA8G;QAC9G,6CAA6C;QAC7C,OAAO,EAAE,oBAAS,CAAC,SAAS;QAC5B,gBAAgB,EAAE,oBAAS,CAAC,SAAS;KAC5B;IACV,SAAS,EAAE;QACV,OAAO,EAAE,EAAE;QACX,mHAAmH;QACnH,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACvB;IACV,wBAAwB,EAAE;QACzB,2GAA2G;QAC3G,4GAA4G;QAC5G,wCAAwC;QACxC,OAAO,EAAE,SAAS;KACT;CACqD,CAAC;AAEjE;;GAEG;AACH,SAAgB,8BAA8B,CAC7C,mBAA4C;IAE5C,OAAO,uBAAuB,CAC7B,mBAAmB,EACnB,yCAAyC,CAGL,CAAC;AACvC,CAAC;AATD,wEASC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACtC,mBAAoC,EACpC,SAAuB;IAEvB,MAAM,cAAc,GAAe,EAAE,CAAC;IACtC,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAc,CAAC,CAAC;QACzC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAO,CAAC,CAAC;QACnD,sHAAsH;QACtH,sHAAsH;QACtH,kFAAkF;QAClF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAA,eAAG,EAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAsC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACP,6GAA6G;gBAC7G,sBAAsB;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC;AAxBD,0DAwBC;AAED;;;GAGG;AACH,SAAgB,0BAA0B,CACzC,mBAA4C;IAE5C,OAAO,CACN,IAAA,iBAAK,EAAC,mBAAmB,CAAC,KAAK,IAAI;QACnC,IAAA,eAAG,EAAC,mBAAmB,EAAE,yBAAyB,CAAC;QACnD,IAAA,eAAG,EAAC,mBAAmB,EAAE,8BAAU,CAAC,CACpC,CAAC;AACH,CAAC;AARD,gEAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { FlushMode } from \"@fluidframework/runtime-definitions/internal\";\nimport { compare, gte, lte, valid } from \"semver-ts\";\n\nimport {\n\tdisabledCompressionConfig,\n\tenabledCompressionConfig,\n} from \"./compressionDefinitions.js\";\nimport type { ContainerRuntimeOptionsInternal } from \"./containerRuntime.js\";\nimport { pkgVersion } from \"./packageVersion.js\";\n\n/**\n * Our policy is to support N/N-1 compatibility by default, where N is the most\n * recent public major release of the runtime.\n * Therefore, if the customer does not provide a minVersionForCollab, we will\n * default to use N-1.\n *\n * However, this is not consistent with today's behavior. Some options (i.e.\n * batching, compression) are enabled by default despite not being compatible\n * with 1.x clients. Since the policy was introduced during 2.x's lifespan,\n * N/N-1 compatibility by **default** will be in effect starting with 3.0.\n * Importantly though, N/N-2 compatibility is still guaranteed with the proper\n * configurations set.\n *\n * Further to distinguish unspecified `minVersionForCollab` from a specified\n * version and allow `enableExplicitSchemaControl` to default to `true` for\n * any 2.0.0+ version, we will use a special value of `2.0.0-defaults`, which\n * is semantically less than 2.0.0.\n */\nexport const defaultMinVersionForCollab =\n\t\"2.0.0-defaults\" as const satisfies MinimumVersionForCollab;\n\n/**\n * We don't want allow a version before the major public release of the LTS version.\n * Today we use \"1.0.0\", because our policy supports N/N-1 & N/N-2, which includes\n * all minor versions of N. Though LTS starts at 1.4.0, we should stay consistent\n * with our policy and allow all 1.x versions to be compatible with 2.x.\n */\nconst lowestMinVersionForCollab = \"1.0.0\" as const satisfies MinimumVersionForCollab;\n\n/**\n * String in a valid semver format specifying bottom of a minor version\n * or special \"defaults\" prerelease of a major.\n * @remarks Only 2.0.0-defaults is expected, but index signatures cannot be a\n * literal; so, just allow any major -defaults prerelease.\n */\nexport type MinimumMinorSemanticVersion = `${bigint}.${bigint}.0` | `${bigint}.0.0-defaults`;\n\n/**\n * String in a valid semver format of a specific version at least specifying minor.\n *\n * @legacy\n * @alpha\n */\nexport type MinimumVersionForCollab =\n\t| `${1 | 2}.${bigint}.${bigint}`\n\t| `${1 | 2}.${bigint}.${bigint}-${string}`;\n\n/**\n * String in a valid semver format of a specific version at least specifying minor.\n * Unlike {@link MinimumVersionForCollab}, this type allows any bigint for the major version.\n * Used as a more generic type that allows major versions other than 1 or 2.\n */\nexport type SemanticVersion =\n\t| `${bigint}.${bigint}.${bigint}`\n\t| `${bigint}.${bigint}.${bigint}-${string}`;\n\n/**\n * Generic type for runtimeOptionsAffectingDocSchemaConfigMap\n */\nexport type ConfigMap<T extends Record<string, unknown>> = {\n\t[K in keyof T]-?: {\n\t\t[version: MinimumMinorSemanticVersion]: T[K];\n\t};\n};\n\n/**\n * Subset of the {@link ContainerRuntimeOptionsInternal} properties which\n * affect {@link IDocumentSchemaFeatures}.\n *\n * @remarks\n * When a new option is added to {@link ContainerRuntimeOptionsInternal}, we\n * must consider if it changes the DocumentSchema. If so, then a corresponding\n * entry must be added to {@link runtimeOptionsAffectingDocSchemaConfigMap}\n * below. If not, then it must be omitted from this type.\n *\n * Note: `Omit` is used instead of `Pick` to ensure that all new options are\n * included in this type by default. If any new properties are added to\n * {@link ContainerRuntimeOptionsInternal}, they will be included in this\n * type unless explicitly omitted. This will prevent us from forgetting to\n * account for any new properties in the future.\n */\nexport type RuntimeOptionsAffectingDocSchema = Omit<\n\tContainerRuntimeOptionsInternal,\n\t| \"chunkSizeInBytes\"\n\t| \"maxBatchSizeInBytes\"\n\t| \"loadSequenceNumberVerification\"\n\t| \"summaryOptions\"\n>;\n\n/**\n * Mapping of RuntimeOptionsAffectingDocSchema to their compatibility related configs.\n *\n * Each key in this map corresponds to a property in RuntimeOptionsAffectingDocSchema. The value is an object that maps MinimumVersionForCollab\n * to the appropriate default value for that property to supporting that MinimumVersionForCollab. If clients running MinimumVersionForCollab X are able to understand\n * the format changes introduced by the property, then the default value for that MinimumVersionForCollab will enable the feature associated with the property.\n * Otherwise, the feature will be disabled.\n *\n * For example if the minVersionForCollab is a 1.x version (i.e. \"1.5.0\"), then the default value for `enableGroupedBatching` will be false since 1.x\n * clients do not understand the document format when batching is enabled. If the minVersionForCollab is a 2.x client (i.e. \"2.0.0\" or later), then the\n * default value for `enableGroupedBatching` will be true because clients running 2.0 or later will be able to understand the format changes associated\n * with the batching feature.\n */\nconst runtimeOptionsAffectingDocSchemaConfigMap = {\n\tenableGroupedBatching: {\n\t\t\"1.0.0\": false,\n\t\t\"2.0.0-defaults\": true,\n\t} as const,\n\tcompressionOptions: {\n\t\t\"1.0.0\": disabledCompressionConfig,\n\t\t\"2.0.0-defaults\": enabledCompressionConfig,\n\t} as const,\n\tenableRuntimeIdCompressor: {\n\t\t// For IdCompressorMode, `undefined` represents a logical state (off).\n\t\t// However, to satisfy the Required<> constraint while\n\t\t// `exactOptionalPropertyTypes` is `false` (TODO: AB#8215), we need\n\t\t// to have it defined, so we trick the type checker here.\n\t\t\"1.0.0\": undefined,\n\t\t// We do not yet want to enable idCompressor by default since it will\n\t\t// increase bundle sizes, and not all customers will benefit from it.\n\t\t// Therefore, we will require customers to explicitly enable it. We\n\t\t// are keeping it as a DocSchema affecting option for now as this may\n\t\t// change in the future.\n\t} as const,\n\texplicitSchemaControl: {\n\t\t\"1.0.0\": false,\n\t\t// This option's intention is to prevent 1.x clients from joining sessions\n\t\t// when enabled. This is set to true when the minVersionForCollab is set\n\t\t// to >=2.0.0 (explicitly). This is different than other 2.0 defaults\n\t\t// because it was not enabled by default prior to the implementation of\n\t\t// `minVersionForCollab`.\n\t\t// `defaultMinVersionForCollab` is set to \"2.0.0-defaults\" which \"2.0.0\"\n\t\t// does not satisfy to avoiding enabling this option by default as of\n\t\t// `minVersionForCollab` introduction, which could be unexpected.\n\t\t// Only enable as a default when `minVersionForCollab` is specified at\n\t\t// 2.0.0+.\n\t\t\"2.0.0\": true,\n\t} as const,\n\tflushMode: {\n\t\t// Note: 1.x clients are compatible with TurnBased flushing, but here we elect to remain on Immediate flush mode\n\t\t// as a work-around for inability to send batches larger than 1Mb. Immediate flushing keeps batches smaller as\n\t\t// fewer messages will be included per flush.\n\t\t\"1.0.0\": FlushMode.Immediate,\n\t\t\"2.0.0-defaults\": FlushMode.TurnBased,\n\t} as const,\n\tgcOptions: {\n\t\t\"1.0.0\": {},\n\t\t// Although sweep is supported in 2.x, it is disabled by default until minVersionForCollab>=3.0.0 to be extra safe.\n\t\t\"3.0.0\": { enableGCSweep: true },\n\t} as const,\n\tcreateBlobPayloadPending: {\n\t\t// This feature is new and disabled by default. In the future we will enable it by default, but we have not\n\t\t// closed on the version where that will happen yet. Probably a .10 release since blob functionality is not\n\t\t// exposed on the `@public` API surface.\n\t\t\"1.0.0\": undefined,\n\t} as const,\n} as const satisfies ConfigMap<RuntimeOptionsAffectingDocSchema>;\n\n/**\n * Returns the default RuntimeOptionsAffectingDocSchema configuration for a given minVersionForCollab.\n */\nexport function getMinVersionForCollabDefaults(\n\tminVersionForCollab: MinimumVersionForCollab,\n): RuntimeOptionsAffectingDocSchema {\n\treturn getConfigsForCompatMode(\n\t\tminVersionForCollab,\n\t\truntimeOptionsAffectingDocSchemaConfigMap,\n\t\t// This is a bad cast away from Partial that getConfigsForCompatMode provides.\n\t\t// ConfigMap should be restructured to provide RuntimeOptionsAffectingDocSchema guarantee.\n\t) as RuntimeOptionsAffectingDocSchema;\n}\n\n/**\n * Returns a default configuration given minVersionForCollab and configuration version map.\n */\nexport function getConfigsForCompatMode<T extends Record<SemanticVersion, unknown>>(\n\tminVersionForCollab: SemanticVersion,\n\tconfigMap: ConfigMap<T>,\n): Partial<T> {\n\tconst defaultConfigs: Partial<T> = {};\n\t// Iterate over configMap to get default values for each option.\n\tfor (const key of Object.keys(configMap)) {\n\t\tconst config = configMap[key as keyof T];\n\t\t// Sort the versions in ascending order so we can short circuit the loop.\n\t\tconst versions = Object.keys(config).sort(compare);\n\t\t// For each config, we iterate over the keys and check if minVersionForCollab is greater than or equal to the version.\n\t\t// If so, we set it as the default value for the option. At the end of the loop we should have the most recent default\n\t\t// value that is compatible with the version specified as the minVersionForCollab.\n\t\tfor (const version of versions) {\n\t\t\tif (gte(minVersionForCollab, version)) {\n\t\t\t\tdefaultConfigs[key] = config[version as MinimumMinorSemanticVersion];\n\t\t\t} else {\n\t\t\t\t// If the minVersionForCollab is less than the version, we break out of the loop since we don't need to check\n\t\t\t\t// any later versions.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn defaultConfigs;\n}\n\n/**\n * Checks if the minVersionForCollab is valid.\n * A valid minVersionForCollab is a MinimumVersionForCollab that is at least `lowestMinVersionForCollab` and less than or equal to the current package version.\n */\nexport function isValidMinVersionForCollab(\n\tminVersionForCollab: MinimumVersionForCollab,\n): boolean {\n\treturn (\n\t\tvalid(minVersionForCollab) !== null &&\n\t\tgte(minVersionForCollab, lowestMinVersionForCollab) &&\n\t\tlte(minVersionForCollab, pkgVersion)\n\t);\n}\n"]}
@@ -19,6 +19,7 @@ import type { ISummaryTreeWithStats, ITelemetryContext, IGarbageCollectionData,
19
19
  import { FlushMode } from "@fluidframework/runtime-definitions/internal";
20
20
  import type { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
21
21
  import { IPendingBlobs, type IBlobManagerLoadInfo } from "./blobManager/index.js";
22
+ import { type MinimumVersionForCollab } from "./compatUtils.js";
22
23
  import type { ICompressionRuntimeOptions } from "./compressionDefinitions.js";
23
24
  import { GCNodeType, IGCRuntimeOptions, IGCStats, type IGarbageCollectionRuntime } from "./gc/index.js";
24
25
  import { ContainerMessageType } from "./messageTypes.js";
@@ -299,6 +300,26 @@ export interface LoadContainerRuntimeParams {
299
300
  * @deprecated Will be removed once Loader LTS version is "2.0.0-internal.7.0.0". Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
300
301
  * */
301
302
  requestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>;
303
+ /**
304
+ * Minimum version of the FF runtime that is required to collaborate on new documents.
305
+ * The input should be a string that represents the minimum version of the FF runtime that should be
306
+ * supported for collaboration. The format of the string must be in valid semver format.
307
+ *
308
+ * The inputted version will be used to determine the default configuration for
309
+ * {@link IContainerRuntimeOptionsInternal} to ensure compatibility with the specified version.
310
+ *
311
+ * @example
312
+ * minVersionForCollab: "2.0.0"
313
+ *
314
+ * @privateRemarks
315
+ * Used to determine the default configuration for {@link IContainerRuntimeOptionsInternal} that affect the document schema.
316
+ * For example, let's say that feature `foo` was added in 2.0 which introduces a new op type. Additionally, option `bar`
317
+ * was added to `IContainerRuntimeOptionsInternal` in 2.0 to enable/disable `foo` since clients prior to 2.0 would not
318
+ * understand the new op type. If a customer were to set minVersionForCollab to 2.0.0, then `bar` would be set to
319
+ * enable `foo` by default. If a customer were to set minVersionForCollab to 1.0.0, then `bar` would be set to
320
+ * disable `foo` by default.
321
+ */
322
+ minVersionForCollab?: MinimumVersionForCollab;
302
323
  }
303
324
  /**
304
325
  * This is meant to be used by a {@link @fluidframework/container-definitions#IRuntimeFactory} to instantiate a container runtime.
@@ -322,8 +343,9 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
322
343
  private readonly containerScope;
323
344
  readonly baseLogger: ITelemetryBaseLogger;
324
345
  private readonly _storage;
325
- private readonly createIdCompressor;
346
+ private readonly createIdCompressorFn;
326
347
  private readonly documentsSchemaController;
348
+ private readonly minVersionForCollab;
327
349
  private readonly requestHandler?;
328
350
  private readonly summaryConfiguration;
329
351
  /**
@@ -339,6 +361,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
339
361
  * - containerRuntimeCtor - Constructor to use to create the ContainerRuntime instance.
340
362
  * This allows mixin classes to leverage this method to define their own async initializer.
341
363
  * - provideEntryPoint - Promise that resolves to an object which will act as entryPoint for the Container.
364
+ * - minVersionForCollab - Minimum version of the FF runtime that this runtime supports collaboration with.
342
365
  * This object should provide all the functionality that the Container is expected to provide to the loader layer.
343
366
  */
344
367
  static loadRuntime(params: {
@@ -353,6 +376,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
353
376
  */
354
377
  requestHandler?: (request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>;
355
378
  provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>;
379
+ minVersionForCollab?: MinimumVersionForCollab;
356
380
  }): Promise<ContainerRuntime>;
357
381
  readonly options: Record<string | number, unknown>;
358
382
  private imminentClosure;
@@ -394,11 +418,6 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
394
418
  * {@inheritDoc @fluidframework/runtime-definitions#IContainerRuntimeBase.idCompressor}
395
419
  */
396
420
  get idCompressor(): (IIdCompressor & IIdCompressorCore) | undefined;
397
- /**
398
- * True if we have ID compressor loading in-flight (async operation). Useful only for
399
- * this.sessionSchema.idCompressorMode === "delayed" mode
400
- */
401
- protected _loadIdCompressor: Promise<void> | undefined;
402
421
  /**
403
422
  * {@inheritDoc @fluidframework/runtime-definitions#IContainerRuntimeBase.generateDocumentUniqueId}
404
423
  */
@@ -526,7 +545,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
526
545
  */
527
546
  private readonly skipSafetyFlushDuringProcessStack;
528
547
  /***/
529
- protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<ContainerRuntimeOptionsInternal>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerLoadInfo: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressor: () => Promise<IIdCompressor & IIdCompressorCore>, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record<string, boolean | number | undefined>, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>) | undefined, summaryConfiguration?: ISummaryConfiguration, recentBatchInfo?: [number, string][]);
548
+ protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<ContainerRuntimeOptionsInternal>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerLoadInfo: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressorFn: () => IIdCompressor & IIdCompressorCore, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record<string, boolean | number | undefined>, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>, minVersionForCollab: MinimumVersionForCollab, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>) | undefined, summaryConfiguration?: ISummaryConfiguration, recentBatchInfo?: [number, string][]);
530
549
  onSchemaChange(schema: IDocumentSchemaCurrent): void;
531
550
  getCreateChildSummarizerNodeFn(id: string, createParam: CreateChildSummarizerNodeParam): (summarizeInternal: SummarizeInternalFn, getGCDataFn: (fullGC?: boolean) => Promise<IGarbageCollectionData>) => ISummarizerNodeWithGC;
532
551
  deleteChildSummarizerNode(id: string): void;
@@ -637,14 +656,11 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
637
656
  private processIdCompressorMessages;
638
657
  processSignal(message: ISignalMessage, local: boolean): void;
639
658
  /**
640
- * Flush the pending ops manually.
641
- * This method is expected to be called at the end of a batch.
659
+ * Flush the current batch of ops to the ordering service for sequencing
660
+ * This method is not expected to be called in the middle of a batch.
642
661
  * @remarks - If it throws (e.g. if the batch is too large to send), the container will be closed.
643
662
  *
644
- * @param resubmittingBatchId - If defined, indicates this is a resubmission of a batch
645
- * with the given Batch ID, which must be preserved
646
- * @param resubmittingStagedBatch - If defined, indicates this is a resubmission of a batch that is staged,
647
- * meaning it should not be sent to the ordering service yet.
663
+ * @param resubmitInfo - If defined, indicates this is a resubmission of a batch with the given Batch info needed for resubmit.
648
664
  */
649
665
  private flush;
650
666
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}