@fluidframework/fluid-static 2.0.0-dev-rc.5.0.0.265721 → 2.0.0-dev-rc.5.0.0.268409

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 (46) hide show
  1. package/api-report/{fluid-static.api.md → fluid-static.alpha.api.md} +5 -34
  2. package/api-report/fluid-static.beta.api.md +94 -0
  3. package/api-report/fluid-static.public.api.md +94 -0
  4. package/dist/compatibilityConfiguration.d.ts +12 -0
  5. package/dist/compatibilityConfiguration.d.ts.map +1 -0
  6. package/dist/compatibilityConfiguration.js +38 -0
  7. package/dist/compatibilityConfiguration.js.map +1 -0
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/public.d.ts +1 -0
  12. package/dist/rootDataObject.d.ts +2 -1
  13. package/dist/rootDataObject.d.ts.map +1 -1
  14. package/dist/rootDataObject.js +6 -16
  15. package/dist/rootDataObject.js.map +1 -1
  16. package/dist/serviceAudience.d.ts +1 -1
  17. package/dist/serviceAudience.d.ts.map +1 -1
  18. package/dist/serviceAudience.js.map +1 -1
  19. package/dist/types.d.ts +5 -0
  20. package/dist/types.d.ts.map +1 -1
  21. package/dist/types.js.map +1 -1
  22. package/lib/compatibilityConfiguration.d.ts +12 -0
  23. package/lib/compatibilityConfiguration.d.ts.map +1 -0
  24. package/lib/compatibilityConfiguration.js +35 -0
  25. package/lib/compatibilityConfiguration.js.map +1 -0
  26. package/lib/index.d.ts +1 -1
  27. package/lib/index.d.ts.map +1 -1
  28. package/lib/index.js.map +1 -1
  29. package/lib/public.d.ts +1 -0
  30. package/lib/rootDataObject.d.ts +2 -1
  31. package/lib/rootDataObject.d.ts.map +1 -1
  32. package/lib/rootDataObject.js +4 -14
  33. package/lib/rootDataObject.js.map +1 -1
  34. package/lib/serviceAudience.d.ts +1 -1
  35. package/lib/serviceAudience.d.ts.map +1 -1
  36. package/lib/serviceAudience.js.map +1 -1
  37. package/lib/tsdoc-metadata.json +1 -1
  38. package/lib/types.d.ts +5 -0
  39. package/lib/types.d.ts.map +1 -1
  40. package/lib/types.js.map +1 -1
  41. package/package.json +22 -22
  42. package/src/compatibilityConfiguration.ts +42 -0
  43. package/src/index.ts +13 -12
  44. package/src/rootDataObject.ts +14 -22
  45. package/src/serviceAudience.ts +1 -1
  46. package/src/types.ts +6 -0
@@ -9,7 +9,7 @@ import {
9
9
  DataObjectFactory,
10
10
  } from "@fluidframework/aqueduct/internal";
11
11
  import { type IRuntimeFactory } from "@fluidframework/container-definitions/internal";
12
- import { type ContainerRuntime } from "@fluidframework/container-runtime/internal";
12
+ import type { ContainerRuntime } from "@fluidframework/container-runtime/internal";
13
13
  import { type IContainerRuntime } from "@fluidframework/container-runtime-definitions/internal";
14
14
  import {
15
15
  type FluidObject,
@@ -18,18 +18,19 @@ import {
18
18
  type IResponse,
19
19
  } from "@fluidframework/core-interfaces";
20
20
  import { type IDirectory } from "@fluidframework/map/internal";
21
- import { FlushMode } from "@fluidframework/runtime-definitions/internal";
22
21
  import { RequestParser } from "@fluidframework/runtime-utils/internal";
23
22
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
24
23
  import type { ISharedObjectKind } from "@fluidframework/shared-object-base/internal";
25
24
 
26
- import {
27
- type DataObjectClass,
28
- type ContainerSchema,
29
- type IRootDataObject,
30
- type LoadableObjectClass,
31
- type LoadableObjectClassRecord,
32
- type LoadableObjectRecord,
25
+ import { compatibilityModeRuntimeOptions } from "./compatibilityConfiguration.js";
26
+ import type {
27
+ CompatibilityMode,
28
+ ContainerSchema,
29
+ DataObjectClass,
30
+ IRootDataObject,
31
+ LoadableObjectClass,
32
+ LoadableObjectClassRecord,
33
+ LoadableObjectRecord,
33
34
  } from "./types.js";
34
35
  import {
35
36
  isDataObjectClass,
@@ -169,8 +170,9 @@ const rootDataStoreId = "rootDOId";
169
170
  */
170
171
  export function createDOProviderContainerRuntimeFactory(props: {
171
172
  schema: ContainerSchema;
173
+ compatibilityMode: CompatibilityMode;
172
174
  }): IRuntimeFactory {
173
- return new DOProviderContainerRuntimeFactory(props.schema);
175
+ return new DOProviderContainerRuntimeFactory(props.schema, props.compatibilityMode);
174
176
  }
175
177
 
176
178
  /**
@@ -193,7 +195,7 @@ class DOProviderContainerRuntimeFactory extends BaseContainerRuntimeFactory {
193
195
 
194
196
  private readonly initialObjects: LoadableObjectClassRecord;
195
197
 
196
- public constructor(schema: ContainerSchema) {
198
+ public constructor(schema: ContainerSchema, compatibilityMode: CompatibilityMode) {
197
199
  const [registryEntries, sharedObjects] = parseDataObjectsFromSharedObjects(schema);
198
200
  const rootDataObjectFactory = new DataObjectFactory(
199
201
  "rootDO",
@@ -231,17 +233,7 @@ class DOProviderContainerRuntimeFactory extends BaseContainerRuntimeFactory {
231
233
  super({
232
234
  registryEntries: [rootDataObjectFactory.registryEntry],
233
235
  requestHandlers: [getDefaultObject],
234
- // WARNING: These settigs are not compatible with FF 1.3 clients!
235
- runtimeOptions: {
236
- // temporary workaround to disable message batching until the message batch size issue is resolved
237
- // resolution progress is tracked by the Feature 465 work item in AzDO
238
- flushMode: FlushMode.Immediate,
239
- // The runtime compressor is required to be on to use @fluidframework/tree.
240
- enableRuntimeIdCompressor: "on",
241
- // For now this was set to false to allow 1.x/2.x testing with AzureClient.
242
- // Long term, this config will be set dynamically. See https://github.com/microsoft/FluidFramework/pull/20997.
243
- explicitSchemaControl: false,
244
- },
236
+ runtimeOptions: compatibilityModeRuntimeOptions[compatibilityMode],
245
237
  provideEntryPoint,
246
238
  });
247
239
  this.rootDataObjectFactory = rootDataObjectFactory;
@@ -6,7 +6,7 @@
6
6
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
7
7
  import { type IAudience } from "@fluidframework/container-definitions";
8
8
  import { type IContainer } from "@fluidframework/container-definitions/internal";
9
- import { type IClient } from "@fluidframework/protocol-definitions";
9
+ import { type IClient } from "@fluidframework/driver-definitions";
10
10
 
11
11
  import {
12
12
  type IMember,
package/src/types.ts CHANGED
@@ -12,6 +12,12 @@ import type { IFluidDataStoreFactory } from "@fluidframework/runtime-definitions
12
12
  import { type SharedObjectKind } from "@fluidframework/shared-object-base";
13
13
  import { type ISharedObjectKind } from "@fluidframework/shared-object-base/internal";
14
14
 
15
+ /**
16
+ * Valid compatibility modes that may be specified when creating a DOProviderContainerRuntimeFactory.
17
+ * @public
18
+ */
19
+ export type CompatibilityMode = "1" | "2";
20
+
15
21
  /**
16
22
  * A mapping of string identifiers to instantiated `DataObject`s or `SharedObject`s.
17
23
  * @internal