fluid-framework 2.113.0-411909 → 2.114.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.
package/lib/alpha.d.ts CHANGED
@@ -34,8 +34,13 @@ export {
34
34
  FieldProps,
35
35
  FieldSchema,
36
36
  FieldSchemaMetadata,
37
+ FluidIterable,
38
+ FluidIterableIterator,
39
+ FluidMap,
37
40
  FluidObject,
38
41
  FluidObjectProviderKeys,
42
+ FluidReadonlyArray,
43
+ FluidReadonlyMap,
39
44
  IConnection,
40
45
  ICriticalContainerError,
41
46
  IDisposable,
@@ -159,10 +164,6 @@ export {
159
164
  ErasedBaseType,
160
165
  ExtensibleUnionNode,
161
166
  FixRecursiveArraySchema,
162
- FluidIterable,
163
- FluidIterableIterator,
164
- FluidMap,
165
- FluidReadonlyMap,
166
167
  FluidSerializableAsTree,
167
168
  ForestOptions,
168
169
  ForestType,
@@ -238,6 +239,12 @@ export {
238
239
  CodecWriteOptions,
239
240
  Component,
240
241
  CreateIndependentTreeAlphaOptions,
242
+ DataStoreContext,
243
+ DataStoreCreator,
244
+ DataStoreKey,
245
+ DataStoreKind,
246
+ DataStoreOptions,
247
+ DataStoreRegistry,
241
248
  DirtyTreeMap,
242
249
  DirtyTreeStatus,
243
250
  ErasedNode,
@@ -251,6 +258,9 @@ export {
251
258
  FieldSchemaAlpha,
252
259
  FieldSchemaAlphaUnsafe,
253
260
  FluidClientVersion,
261
+ FluidContainer,
262
+ FluidContainerAttached,
263
+ FluidContainerWithService,
254
264
  FormatValidator,
255
265
  FormatValidatorBasic,
256
266
  FormatValidatorNoOp,
@@ -291,6 +301,7 @@ export {
291
301
  MapNodeCustomizableSchemaUnsafe,
292
302
  MapNodePojoEmulationSchema,
293
303
  MapNodeSchema,
304
+ MinimumVersionForCollaboration,
294
305
  NoChangeConstraint,
295
306
  NodeChangedDataAlpha,
296
307
  NodeChangedDataDelta,
@@ -307,6 +318,8 @@ export {
307
318
  RecordNodeCustomizableSchema,
308
319
  RecordNodePojoEmulationSchema,
309
320
  RecordNodeSchema,
321
+ Registry,
322
+ RegistryKey,
310
323
  RemoteChangeMetadata,
311
324
  RevertibleAlpha,
312
325
  RevertibleAlphaFactory,
@@ -314,6 +327,13 @@ export {
314
327
  SchemaFactoryAlpha,
315
328
  SchemaStaticsAlpha,
316
329
  SchemaType,
330
+ ServiceClient,
331
+ ServiceOptions,
332
+ SharedObjectCreator,
333
+ SharedObjectKey,
334
+ SharedObjectKindAlpha,
335
+ SharedObjectRegistry,
336
+ SharedTreeAlpha,
317
337
  SharedTreeFormatOptions,
318
338
  SharedTreeOptions,
319
339
  SimpleAllowedTypeAttributes,
@@ -341,6 +361,7 @@ export {
341
361
  TreeChangeEventsAlpha,
342
362
  TreeCompressionStrategy,
343
363
  TreeContextAlpha,
364
+ TreeDataStoreOptions,
344
365
  TreeIdentifierUtils,
345
366
  TreeMapNodeAlpha,
346
367
  TreeParsingOptions,
@@ -364,8 +385,11 @@ export {
364
385
  configuredSharedTreeAlpha,
365
386
  contentSchemaSymbol,
366
387
  createArrayInsertionAnchor,
388
+ createBasicRegistryKey,
367
389
  createIndependentTreeAlpha,
368
390
  decodeSchemaCompatibilitySnapshot,
391
+ defineDataStore,
392
+ defineTreeDataStore,
369
393
  encodeSchemaCompatibilitySnapshot,
370
394
  eraseSchemaDetails,
371
395
  eraseSchemaDetailsSubclassable,
@@ -381,12 +405,15 @@ export {
381
405
  incrementalSummaryHint,
382
406
  independentInitializedView,
383
407
  independentView,
408
+ instantiateTreeFirstTime,
409
+ lookupInRegistry,
384
410
  minimize,
385
411
  normalizeAllowedTypes,
386
412
  persistedToSimpleSchema,
387
413
  replaceConciseTreeHandles,
388
414
  replaceHandles,
389
415
  replaceVerboseTreeHandles,
416
+ sharedObjectRegistryFromIterable,
390
417
  trackDirtyNodes
391
418
  // #endregion
392
419
  } from "./index.js";
package/lib/beta.d.ts CHANGED
@@ -34,8 +34,13 @@ export {
34
34
  FieldProps,
35
35
  FieldSchema,
36
36
  FieldSchemaMetadata,
37
+ FluidIterable,
38
+ FluidIterableIterator,
39
+ FluidMap,
37
40
  FluidObject,
38
41
  FluidObjectProviderKeys,
42
+ FluidReadonlyArray,
43
+ FluidReadonlyMap,
39
44
  IConnection,
40
45
  ICriticalContainerError,
41
46
  IDisposable,
@@ -159,10 +164,6 @@ export {
159
164
  ErasedBaseType,
160
165
  ExtensibleUnionNode,
161
166
  FixRecursiveArraySchema,
162
- FluidIterable,
163
- FluidIterableIterator,
164
- FluidMap,
165
- FluidReadonlyMap,
166
167
  FluidSerializableAsTree,
167
168
  ForestOptions,
168
169
  ForestType,
package/lib/index.d.ts CHANGED
@@ -18,10 +18,14 @@ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
18
18
  export type { IErrorBase, IEventProvider, IDisposable, IEvent, IEventThisPlaceHolder, IErrorEvent, ErasedType, IFluidHandle, IFluidLoadable, ITelemetryBaseEvent, ITelemetryBaseLogger, ITelemetryBaseProperties, IEventTransformer, IProvideFluidLoadable, IFluidHandleErased, LogLevel, LogLevelConst, TransformedEvent, TelemetryBaseEventPropertyType, Tagged, ReplaceIEventThisPlaceHolder, FluidObject, // Linked in doc comment
19
19
  FluidObjectProviderKeys, // Used by FluidObject
20
20
  Listeners, IsListener, Listenable, Off, } from "@fluidframework/core-interfaces";
21
- export type { ErasedBaseType, FluidIterable, FluidIterableIterator, FluidMap, FluidReadonlyMap, } from "@fluidframework/core-interfaces/internal";
21
+ export type { ErasedBaseType, FluidIterable, FluidIterableIterator, FluidMap, FluidReadonlyArray, FluidReadonlyMap, } from "@fluidframework/core-interfaces/internal";
22
22
  export { onAssertionFailure } from "@fluidframework/core-utils/internal";
23
23
  export type { isFluidHandle } from "@fluidframework/runtime-utils";
24
24
  export * from "@fluidframework/tree/alpha";
25
+ export { defineDataStore, sharedObjectRegistryFromIterable, } from "@fluidframework/shared-object-base/internal";
26
+ export type { DataStoreOptions, SharedObjectCreator, SharedObjectRegistry, SharedObjectKey, SharedObjectKindAlpha, DataStoreContext, } from "@fluidframework/shared-object-base/internal";
27
+ export type { DataStoreCreator, DataStoreKey, DataStoreKind, DataStoreRegistry, FluidContainer, FluidContainerAttached, FluidContainerWithService, MinimumVersionForCollaboration, Registry, RegistryKey, ServiceClient, ServiceOptions, } from "@fluidframework/driver-definitions/internal";
28
+ export { createBasicRegistryKey, lookupInRegistry, } from "@fluidframework/driver-definitions/internal";
25
29
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
26
30
  import type { ITree } from "@fluidframework/tree";
27
31
  import { type SharedTreeOptions } from "@fluidframework/tree/internal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -14,6 +14,18 @@ export { onAssertionFailure } from "@fluidframework/core-utils/internal";
14
14
  import-x/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import-x/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.
15
15
  */
16
16
  export * from "@fluidframework/tree/alpha";
17
+ // End of basic public+beta+alpha exports - nothing above this line should
18
+ // depend on an /internal path.
19
+ // #endregion Basic re-exports
20
+ // ---------------------------------------------------------------
21
+ // #region Custom re-exports
22
+ // These are alpha APIs, but this package doesn't have an alpha entry point so they are imported from "internal".
23
+ export { defineDataStore, sharedObjectRegistryFromIterable, } from "@fluidframework/shared-object-base/internal";
24
+ export { createBasicRegistryKey, lookupInRegistry,
25
+ // Due to this currently referencing several existing public types we do not want to stabilize as reexports from here,
26
+ // do not reexport getContainerAudience for now.
27
+ // getContainerAudience,
28
+ } from "@fluidframework/driver-definitions/internal";
17
29
  import { SharedTree as OriginalSharedTree, configuredSharedTree as originalConfiguredSharedTree, } from "@fluidframework/tree/internal";
18
30
  /**
19
31
  * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAcnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAwCtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAU3C,OAAO,EACN,UAAU,IAAI,kBAAkB,EAChC,oBAAoB,IAAI,4BAA4B,GAEpD,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAmBD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA4B1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAcjE,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public, Beta and Alpha (non-legacy) exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport { getPresence, getPresenceAlpha } from \"@fluidframework/fluid-static/internal\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tLogLevel,\n\tLogLevelConst,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n\t/* eslint-disable import-x/export -- The event APIs are known to conflict, and this is intended as the exports via `@fluidframework/core-interfaces` are preferred over the deprecated ones from `@fluidframework/tree`. */\n\tListeners,\n\tIsListener,\n\tListenable,\n\tOff,\n\t/* eslint-enable import-x/export */\n} from \"@fluidframework/core-interfaces\";\nexport type {\n\tErasedBaseType,\n\tFluidIterable,\n\tFluidIterableIterator,\n\tFluidMap,\n\tFluidReadonlyMap,\n} from \"@fluidframework/core-interfaces/internal\";\nexport { onAssertionFailure } from \"@fluidframework/core-utils/internal\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface.\n// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.\n/* eslint-disable-next-line\n\tno-restricted-syntax,\n\timport-x/no-internal-modules,\n\timport-x/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import-x/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.\n\t*/\nexport * from \"@fluidframework/tree/alpha\";\n\n// End of basic public+beta+alpha exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport {\n\tSharedTree as OriginalSharedTree,\n\tconfiguredSharedTree as originalConfiguredSharedTree,\n\ttype SharedTreeOptions,\n} from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@legacy` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefore it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing.\n * For example, it can be used to opt into extra validation or see if opting out of some optimizations fixes an issue.\n *\n * With great care, and knowledge of the support and stability of the options exposed here,\n * this can also be used to opt into some features early or for performance tuning.\n *\n * @example\n * ```typescript\n * import {\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \tFormatValidatorBasic,\n * \tForestTypeReference,\n * } from \"fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: FormatValidatorBasic,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @alpha\n */\nexport function configuredSharedTree(options: SharedTreeOptions): SharedObjectKind<ITree> {\n\treturn originalConfiguredSharedTree(options);\n}\n\n// #endregion Custom re-exports\n// #endregion\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializedInterval,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n\tISequenceIntervalCollection,\n\tISequenceIntervalCollectionEvents,\n\tSequenceIntervalIndex,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n} from \"@fluidframework/sequence/internal\";\n\nexport { SharedString } from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n\tISharedObjectKind,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAcnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAyCtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAE3C,0EAA0E;AAC1E,+BAA+B;AAC/B,8BAA8B;AAC9B,kEAAkE;AAClE,4BAA4B;AAE5B,iHAAiH;AACjH,OAAO,EACN,eAAe,EACf,gCAAgC,GAChC,MAAM,6CAA6C,CAAC;AAuBrD,OAAO,EACN,sBAAsB,EACtB,gBAAgB;AAChB,sHAAsH;AACtH,gDAAgD;AAChD,wBAAwB;EACxB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EACN,UAAU,IAAI,kBAAkB,EAChC,oBAAoB,IAAI,4BAA4B,GAEpD,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAmBD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA4B1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAcjE,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public, Beta and Alpha (non-legacy) exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport { getPresence, getPresenceAlpha } from \"@fluidframework/fluid-static/internal\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tLogLevel,\n\tLogLevelConst,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n\t/* eslint-disable import-x/export -- The event APIs are known to conflict, and this is intended as the exports via `@fluidframework/core-interfaces` are preferred over the deprecated ones from `@fluidframework/tree`. */\n\tListeners,\n\tIsListener,\n\tListenable,\n\tOff,\n\t/* eslint-enable import-x/export */\n} from \"@fluidframework/core-interfaces\";\nexport type {\n\tErasedBaseType,\n\tFluidIterable,\n\tFluidIterableIterator,\n\tFluidMap,\n\tFluidReadonlyArray,\n\tFluidReadonlyMap,\n} from \"@fluidframework/core-interfaces/internal\";\nexport { onAssertionFailure } from \"@fluidframework/core-utils/internal\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface.\n// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.\n/* eslint-disable-next-line\n\tno-restricted-syntax,\n\timport-x/no-internal-modules,\n\timport-x/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import-x/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.\n\t*/\nexport * from \"@fluidframework/tree/alpha\";\n\n// End of basic public+beta+alpha exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\n// These are alpha APIs, but this package doesn't have an alpha entry point so they are imported from \"internal\".\nexport {\n\tdefineDataStore,\n\tsharedObjectRegistryFromIterable,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreOptions,\n\tSharedObjectCreator,\n\tSharedObjectRegistry,\n\tSharedObjectKey,\n\tSharedObjectKindAlpha,\n\tDataStoreContext,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreCreator,\n\tDataStoreKey,\n\tDataStoreKind,\n\tDataStoreRegistry,\n\tFluidContainer,\n\tFluidContainerAttached,\n\tFluidContainerWithService,\n\tMinimumVersionForCollaboration,\n\tRegistry,\n\tRegistryKey,\n\tServiceClient,\n\tServiceOptions,\n} from \"@fluidframework/driver-definitions/internal\";\nexport {\n\tcreateBasicRegistryKey,\n\tlookupInRegistry,\n\t// Due to this currently referencing several existing public types we do not want to stabilize as reexports from here,\n\t// do not reexport getContainerAudience for now.\n\t// getContainerAudience,\n} from \"@fluidframework/driver-definitions/internal\";\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport {\n\tSharedTree as OriginalSharedTree,\n\tconfiguredSharedTree as originalConfiguredSharedTree,\n\ttype SharedTreeOptions,\n} from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@legacy` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefore it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing.\n * For example, it can be used to opt into extra validation or see if opting out of some optimizations fixes an issue.\n *\n * With great care, and knowledge of the support and stability of the options exposed here,\n * this can also be used to opt into some features early or for performance tuning.\n *\n * @example\n * ```typescript\n * import {\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \tFormatValidatorBasic,\n * \tForestTypeReference,\n * } from \"fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: FormatValidatorBasic,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @alpha\n */\nexport function configuredSharedTree(options: SharedTreeOptions): SharedObjectKind<ITree> {\n\treturn originalConfiguredSharedTree(options);\n}\n\n// #endregion Custom re-exports\n// #endregion\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializedInterval,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n\tISequenceIntervalCollection,\n\tISequenceIntervalCollectionEvents,\n\tSequenceIntervalIndex,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n} from \"@fluidframework/sequence/internal\";\n\nexport { SharedString } from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n\tISharedObjectKind,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
package/lib/legacy.d.ts CHANGED
@@ -34,8 +34,13 @@ export {
34
34
  FieldProps,
35
35
  FieldSchema,
36
36
  FieldSchemaMetadata,
37
+ FluidIterable,
38
+ FluidIterableIterator,
39
+ FluidMap,
37
40
  FluidObject,
38
41
  FluidObjectProviderKeys,
42
+ FluidReadonlyArray,
43
+ FluidReadonlyMap,
39
44
  IConnection,
40
45
  ICriticalContainerError,
41
46
  IDisposable,
@@ -166,10 +171,6 @@ export {
166
171
  ErasedBaseType,
167
172
  ExtensibleUnionNode,
168
173
  FixRecursiveArraySchema,
169
- FluidIterable,
170
- FluidIterableIterator,
171
- FluidMap,
172
- FluidReadonlyMap,
173
174
  FluidSerializableAsTree,
174
175
  ForestOptions,
175
176
  ForestType,
package/lib/public.d.ts CHANGED
@@ -34,8 +34,13 @@ export {
34
34
  FieldProps,
35
35
  FieldSchema,
36
36
  FieldSchemaMetadata,
37
+ FluidIterable,
38
+ FluidIterableIterator,
39
+ FluidMap,
37
40
  FluidObject,
38
41
  FluidObjectProviderKeys,
42
+ FluidReadonlyArray,
43
+ FluidReadonlyMap,
39
44
  IConnection,
40
45
  ICriticalContainerError,
41
46
  IDisposable,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.113.0-411909",
3
+ "version": "2.114.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,17 +57,17 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "2.113.0-411909",
61
- "@fluidframework/container-loader": "2.113.0-411909",
62
- "@fluidframework/core-interfaces": "2.113.0-411909",
63
- "@fluidframework/core-utils": "2.113.0-411909",
64
- "@fluidframework/driver-definitions": "2.113.0-411909",
65
- "@fluidframework/fluid-static": "2.113.0-411909",
66
- "@fluidframework/map": "2.113.0-411909",
67
- "@fluidframework/runtime-utils": "2.113.0-411909",
68
- "@fluidframework/sequence": "2.113.0-411909",
69
- "@fluidframework/shared-object-base": "2.113.0-411909",
70
- "@fluidframework/tree": "2.113.0-411909"
60
+ "@fluidframework/container-definitions": "~2.114.0",
61
+ "@fluidframework/container-loader": "~2.114.0",
62
+ "@fluidframework/core-interfaces": "~2.114.0",
63
+ "@fluidframework/core-utils": "~2.114.0",
64
+ "@fluidframework/driver-definitions": "~2.114.0",
65
+ "@fluidframework/fluid-static": "~2.114.0",
66
+ "@fluidframework/map": "~2.114.0",
67
+ "@fluidframework/runtime-utils": "~2.114.0",
68
+ "@fluidframework/sequence": "~2.114.0",
69
+ "@fluidframework/shared-object-base": "~2.114.0",
70
+ "@fluidframework/tree": "~2.114.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.18.2",
@@ -81,7 +81,7 @@
81
81
  "concurrently": "^10.0.3",
82
82
  "copyfiles": "^2.4.1",
83
83
  "eslint": "~9.39.1",
84
- "fluid-framework-previous": "npm:fluid-framework@2.111.0",
84
+ "fluid-framework-previous": "npm:fluid-framework@2.112.0",
85
85
  "jiti": "^2.6.1",
86
86
  "rimraf": "^6.1.3",
87
87
  "typescript": "~5.4.5"
@@ -91,9 +91,6 @@
91
91
  "broken": {}
92
92
  },
93
93
  "scripts": {
94
- "api": "fluid-build . --task api",
95
- "api-extractor:commonjs": "flub generate entrypoints --resolutionConditions require --outFileLegacyBeta legacy --outDir ./dist",
96
- "api-extractor:esnext": "flub generate entrypoints --outFileLegacyBeta legacy --outDir ./lib --node10TypeCompat",
97
94
  "build": "fluid-build . --task build",
98
95
  "build:api-reports": "concurrently \"npm:build:api-reports:*\"",
99
96
  "build:api-reports:current": "api-extractor run --local --config api-extractor/api-extractor.current.json",
@@ -101,8 +98,11 @@
101
98
  "build:commonjs": "fluid-build . --task commonjs",
102
99
  "build:compile": "fluid-build . --task compile",
103
100
  "build:docs": "api-extractor run --local",
101
+ "build:entrypoints": "fluid-build . --task build:entrypoints",
102
+ "build:entrypoints:cjs": "flub generate entrypoints --resolutionConditions require --outFileLegacyBeta legacy --outDir ./dist",
103
+ "build:entrypoints:esm": "flub generate entrypoints --outFileLegacyBeta legacy --outDir ./lib --node10TypeCompat",
104
104
  "build:esnext": "tsc --project ./tsconfig.json",
105
- "build:test": "npm run build:test:esm && npm run build:test:cjs",
105
+ "build:test": "concurrently npm:build:test:esm npm:build:test:cjs",
106
106
  "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
107
107
  "build:test:esm": "tsc --project ./src/test/tsconfig.json",
108
108
  "check:are-the-types-wrong": "attw --pack .",
package/src/index.ts CHANGED
@@ -71,6 +71,7 @@ export type {
71
71
  FluidIterable,
72
72
  FluidIterableIterator,
73
73
  FluidMap,
74
+ FluidReadonlyArray,
74
75
  FluidReadonlyMap,
75
76
  } from "@fluidframework/core-interfaces/internal";
76
77
  export { onAssertionFailure } from "@fluidframework/core-utils/internal";
@@ -92,6 +93,41 @@ export * from "@fluidframework/tree/alpha";
92
93
  // ---------------------------------------------------------------
93
94
  // #region Custom re-exports
94
95
 
96
+ // These are alpha APIs, but this package doesn't have an alpha entry point so they are imported from "internal".
97
+ export {
98
+ defineDataStore,
99
+ sharedObjectRegistryFromIterable,
100
+ } from "@fluidframework/shared-object-base/internal";
101
+ export type {
102
+ DataStoreOptions,
103
+ SharedObjectCreator,
104
+ SharedObjectRegistry,
105
+ SharedObjectKey,
106
+ SharedObjectKindAlpha,
107
+ DataStoreContext,
108
+ } from "@fluidframework/shared-object-base/internal";
109
+ export type {
110
+ DataStoreCreator,
111
+ DataStoreKey,
112
+ DataStoreKind,
113
+ DataStoreRegistry,
114
+ FluidContainer,
115
+ FluidContainerAttached,
116
+ FluidContainerWithService,
117
+ MinimumVersionForCollaboration,
118
+ Registry,
119
+ RegistryKey,
120
+ ServiceClient,
121
+ ServiceOptions,
122
+ } from "@fluidframework/driver-definitions/internal";
123
+ export {
124
+ createBasicRegistryKey,
125
+ lookupInRegistry,
126
+ // Due to this currently referencing several existing public types we do not want to stabilize as reexports from here,
127
+ // do not reexport getContainerAudience for now.
128
+ // getContainerAudience,
129
+ } from "@fluidframework/driver-definitions/internal";
130
+
95
131
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
96
132
  import type { ITree } from "@fluidframework/tree";
97
133
  import {