fluid-framework 2.92.0 → 2.100.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
@@ -131,6 +131,7 @@ export {
131
131
  ValidateRecursiveSchemaTemplate,
132
132
  ViewableTree,
133
133
  WithType,
134
+ getPresence,
134
135
  isFluidHandle,
135
136
  rollback,
136
137
  typeSchemaSymbol,
@@ -154,12 +155,17 @@ export {
154
155
  ErasedBaseType,
155
156
  ExtensibleUnionNode,
156
157
  FixRecursiveArraySchema,
158
+ FluidIterable,
159
+ FluidIterableIterator,
160
+ FluidMap,
161
+ FluidReadonlyMap,
157
162
  FluidSerializableAsTree,
158
163
  ForestOptions,
159
164
  ForestType,
160
165
  ForestTypeExpensiveDebug,
161
166
  ForestTypeOptimized,
162
167
  ForestTypeReference,
168
+ IdentifierIndex,
163
169
  JsonCompatible,
164
170
  JsonCompatibleObject,
165
171
  KeyEncodingOptions,
@@ -179,6 +185,9 @@ export {
179
185
  TreeBranch,
180
186
  TreeChangeEventsBeta,
181
187
  TreeEncodingOptions,
188
+ TreeIndex,
189
+ TreeIndexKey,
190
+ TreeIndexNodes,
182
191
  TreeRecordNode,
183
192
  TreeRecordNodeUnsafe,
184
193
  TreeViewBeta,
@@ -189,7 +198,9 @@ export {
189
198
  adaptEnum,
190
199
  asBeta,
191
200
  configuredSharedTreeBeta,
201
+ createIdentifierIndex,
192
202
  createIndependentTreeBeta,
203
+ createTreeIndex,
193
204
  enumFromStrings,
194
205
  singletonSchema,
195
206
  snapshotSchemaCompatibility,
@@ -206,6 +217,8 @@ export {
206
217
  ArrayNodeRemoveOp,
207
218
  ArrayNodeRetainOp,
208
219
  ArrayNodeSchema,
220
+ ArrayNodeTreeChangedDeltaOp,
221
+ ArrayNodeTreeChangedRetainOp,
209
222
  ArrayPlaceAnchor,
210
223
  ChangeMetadata,
211
224
  CodecName,
@@ -231,7 +244,6 @@ export {
231
244
  HandleConverter,
232
245
  ICodecOptions,
233
246
  ITreeAlpha,
234
- IdentifierIndex,
235
247
  IncrementalEncodingPolicy,
236
248
  IndependentViewOptions,
237
249
  Insertable,
@@ -267,6 +279,7 @@ export {
267
279
  NodeChangedDataAlpha,
268
280
  NodeChangedDataDelta,
269
281
  NodeChangedDataProperties,
282
+ NodeChangedDataTreeDelta,
270
283
  NodeProvider,
271
284
  NodeSchemaOptionsAlpha,
272
285
  ObjectNodeSchema,
@@ -314,9 +327,7 @@ export {
314
327
  TreeCompressionStrategy,
315
328
  TreeContextAlpha,
316
329
  TreeIdentifierUtils,
317
- TreeIndex,
318
- TreeIndexKey,
319
- TreeIndexNodes,
330
+ TreeMapNodeAlpha,
320
331
  TreeParsingOptions,
321
332
  TreeSchema,
322
333
  TreeSchemaEncodingOptions,
@@ -339,9 +350,7 @@ export {
339
350
  configuredSharedTreeAlpha,
340
351
  contentSchemaSymbol,
341
352
  createArrayInsertionAnchor,
342
- createIdentifierIndex,
343
353
  createIndependentTreeAlpha,
344
- createTreeIndex,
345
354
  decodeSchemaCompatibilitySnapshot,
346
355
  encodeSchemaCompatibilitySnapshot,
347
356
  eraseSchemaDetails,
@@ -351,6 +360,7 @@ export {
351
360
  extractPersistedSchema,
352
361
  generateSchemaFromSimpleSchema,
353
362
  getJsonSchema,
363
+ getPresenceAlpha,
354
364
  getSimpleSchema,
355
365
  importCompatibilitySchemaSnapshot,
356
366
  incrementalEncodingPolicyForAllowedTypes,
package/lib/beta.d.ts CHANGED
@@ -131,6 +131,7 @@ export {
131
131
  ValidateRecursiveSchemaTemplate,
132
132
  ViewableTree,
133
133
  WithType,
134
+ getPresence,
134
135
  isFluidHandle,
135
136
  rollback,
136
137
  typeSchemaSymbol,
@@ -154,12 +155,17 @@ export {
154
155
  ErasedBaseType,
155
156
  ExtensibleUnionNode,
156
157
  FixRecursiveArraySchema,
158
+ FluidIterable,
159
+ FluidIterableIterator,
160
+ FluidMap,
161
+ FluidReadonlyMap,
157
162
  FluidSerializableAsTree,
158
163
  ForestOptions,
159
164
  ForestType,
160
165
  ForestTypeExpensiveDebug,
161
166
  ForestTypeOptimized,
162
167
  ForestTypeReference,
168
+ IdentifierIndex,
163
169
  JsonCompatible,
164
170
  JsonCompatibleObject,
165
171
  KeyEncodingOptions,
@@ -179,6 +185,9 @@ export {
179
185
  TreeBranch,
180
186
  TreeChangeEventsBeta,
181
187
  TreeEncodingOptions,
188
+ TreeIndex,
189
+ TreeIndexKey,
190
+ TreeIndexNodes,
182
191
  TreeRecordNode,
183
192
  TreeRecordNodeUnsafe,
184
193
  TreeViewBeta,
@@ -189,7 +198,9 @@ export {
189
198
  adaptEnum,
190
199
  asBeta,
191
200
  configuredSharedTreeBeta,
201
+ createIdentifierIndex,
192
202
  createIndependentTreeBeta,
203
+ createTreeIndex,
193
204
  enumFromStrings,
194
205
  singletonSchema,
195
206
  snapshotSchemaCompatibility
package/lib/index.d.ts CHANGED
@@ -13,11 +13,12 @@ ICriticalContainerError, } from "@fluidframework/container-definitions";
13
13
  export { AttachState } from "@fluidframework/container-definitions";
14
14
  export { ConnectionState } from "@fluidframework/container-loader";
15
15
  export type { ContainerAttachProps, ContainerSchema, IConnection, IFluidContainer, IFluidContainerEvents, IMember, InitialObjects, IServiceAudience, IServiceAudienceEvents, MemberChangedListener, Myself, } from "@fluidframework/fluid-static";
16
+ export { getPresence, getPresenceAlpha } from "@fluidframework/fluid-static/internal";
16
17
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
18
  export type { IErrorBase, IEventProvider, IDisposable, IEvent, IEventThisPlaceHolder, IErrorEvent, ErasedType, IFluidHandle, IFluidLoadable, ITelemetryBaseProperties, IEventTransformer, IProvideFluidLoadable, IFluidHandleErased, TransformedEvent, TelemetryBaseEventPropertyType, Tagged, ReplaceIEventThisPlaceHolder, FluidObject, // Linked in doc comment
18
19
  FluidObjectProviderKeys, // Used by FluidObject
19
20
  Listeners, IsListener, Listenable, Off, } from "@fluidframework/core-interfaces";
20
- export type { ErasedBaseType } from "@fluidframework/core-interfaces/internal";
21
+ export type { ErasedBaseType, FluidIterable, FluidIterableIterator, FluidMap, FluidReadonlyMap, } from "@fluidframework/core-interfaces/internal";
21
22
  export { onAssertionFailure } from "@fluidframework/core-utils/internal";
22
23
  export type { isFluidHandle } from "@fluidframework/runtime-utils";
23
24
  export * from "@fluidframework/tree/alpha";
@@ -28,10 +29,10 @@ import { type SharedTreeOptions } from "@fluidframework/tree/internal";
28
29
  * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
29
30
  * of objects, arrays, and other data types.
30
31
  * @privateRemarks
31
- * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
32
+ * Here we reexport SharedTree, but with the `@legacy` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
32
33
  * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
33
34
  * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
34
- * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
35
+ * This package however is not intended for use by users of the encapsulated API, and therefore it can discard that interface.
35
36
  * @public
36
37
  */
37
38
  export declare const SharedTree: SharedObjectKind<ITree>;
@@ -66,7 +67,7 @@ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
66
67
  export type { DeserializeCallback, InteriorSequencePlace, IInterval, IntervalStickiness, ISequenceDeltaRange, ISerializedInterval, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, ISequenceIntervalCollection, ISequenceIntervalCollectionEvents, SequenceIntervalIndex, } from "@fluidframework/sequence/internal";
67
68
  export type { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, } from "@fluidframework/sequence/internal";
68
69
  export { SharedString } from "@fluidframework/sequence/internal";
69
- export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/internal";
70
+ export type { ISharedObject, ISharedObjectEvents, ISharedObjectKind, } from "@fluidframework/shared-object-base/internal";
70
71
  export type { ISequencedDocumentMessage, // Leaked via ISharedObjectEvents
71
72
  IBranchOrigin, // Required for ISequencedDocumentMessage
72
73
  ITrace, } from "@fluidframework/driver-definitions/internal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,EAAE,sBAAsB;AAE/C,SAAS,EACT,UAAU,EACV,UAAU,EACV,GAAG,GAEH,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AASnE,cAAc,4BAA4B,CAAC;AAQ3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGN,KAAK,iBAAiB,EACtB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAExF;AAQD,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,EACtB,2BAA2B,EAC3B,iCAAiC,EACjC,qBAAqB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,GACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,EAAE,sBAAsB;AAE/C,SAAS,EACT,UAAU,EACV,UAAU,EACV,GAAG,GAEH,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACX,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,GAChB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AASnE,cAAc,4BAA4B,CAAC;AAQ3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGN,KAAK,iBAAiB,EACtB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAExF;AAQD,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,EACtB,2BAA2B,EAC3B,iCAAiC,EACjC,qBAAqB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,GACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,YAAY,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
package/lib/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export { AttachState } from "@fluidframework/container-definitions";
6
6
  export { ConnectionState } from "@fluidframework/container-loader";
7
+ export { getPresence, getPresenceAlpha } from "@fluidframework/fluid-static/internal";
7
8
  // This is an alpha API, but this package doesn't have an alpha entry point so its imported from "internal".
8
9
  export { onAssertionFailure } from "@fluidframework/core-utils/internal";
9
10
  // Let the tree package manage its own API surface.
@@ -19,10 +20,10 @@ import { SharedTree as OriginalSharedTree, configuredSharedTree as originalConfi
19
20
  * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
20
21
  * of objects, arrays, and other data types.
21
22
  * @privateRemarks
22
- * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
23
+ * Here we reexport SharedTree, but with the `@legacy` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
23
24
  * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
24
25
  * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
25
- * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
26
+ * This package however is not intended for use by users of the encapsulated API, and therefore it can discard that interface.
26
27
  * @public
27
28
  */
28
29
  export const SharedTree = OriginalSharedTree;
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;AA4CnE,4GAA4G;AAC5G,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;AAajE,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 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\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\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 { ErasedBaseType } from \"@fluidframework/core-interfaces/internal\";\n\n// This is an alpha API, but this package doesn't have an alpha entry point so its imported from \"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 `@alpha` 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 therefor 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} 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;AAqCtF,4GAA4G;AAC5G,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\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\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\";\n\n// This is an alpha API, but this package doesn't have an alpha entry point so its imported from \"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"]}
package/lib/legacy.d.ts CHANGED
@@ -131,6 +131,7 @@ export {
131
131
  ValidateRecursiveSchemaTemplate,
132
132
  ViewableTree,
133
133
  WithType,
134
+ getPresence,
134
135
  isFluidHandle,
135
136
  rollback,
136
137
  typeSchemaSymbol,
@@ -161,12 +162,17 @@ export {
161
162
  ErasedBaseType,
162
163
  ExtensibleUnionNode,
163
164
  FixRecursiveArraySchema,
165
+ FluidIterable,
166
+ FluidIterableIterator,
167
+ FluidMap,
168
+ FluidReadonlyMap,
164
169
  FluidSerializableAsTree,
165
170
  ForestOptions,
166
171
  ForestType,
167
172
  ForestTypeExpensiveDebug,
168
173
  ForestTypeOptimized,
169
174
  ForestTypeReference,
175
+ IdentifierIndex,
170
176
  JsonCompatible,
171
177
  JsonCompatibleObject,
172
178
  KeyEncodingOptions,
@@ -186,6 +192,9 @@ export {
186
192
  TreeBranch,
187
193
  TreeChangeEventsBeta,
188
194
  TreeEncodingOptions,
195
+ TreeIndex,
196
+ TreeIndexKey,
197
+ TreeIndexNodes,
189
198
  TreeRecordNode,
190
199
  TreeRecordNodeUnsafe,
191
200
  TreeViewBeta,
@@ -196,7 +205,9 @@ export {
196
205
  adaptEnum,
197
206
  asBeta,
198
207
  configuredSharedTreeBeta,
208
+ createIdentifierIndex,
199
209
  createIndependentTreeBeta,
210
+ createTreeIndex,
200
211
  enumFromStrings,
201
212
  singletonSchema,
202
213
  snapshotSchemaCompatibility,
@@ -217,6 +228,7 @@ export {
217
228
  ISharedMapEvents,
218
229
  ISharedObject,
219
230
  ISharedObjectEvents,
231
+ ISharedObjectKind,
220
232
  ISharedSegmentSequence,
221
233
  ISharedSegmentSequenceEvents,
222
234
  ISharedString,
package/lib/public.d.ts CHANGED
@@ -131,6 +131,7 @@ export {
131
131
  ValidateRecursiveSchemaTemplate,
132
132
  ViewableTree,
133
133
  WithType,
134
+ getPresence,
134
135
  isFluidHandle,
135
136
  rollback,
136
137
  typeSchemaSymbol
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.11"
8
+ "packageVersion": "7.58.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.92.0",
3
+ "version": "2.100.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,34 +57,38 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "~2.92.0",
61
- "@fluidframework/container-loader": "~2.92.0",
62
- "@fluidframework/core-interfaces": "~2.92.0",
63
- "@fluidframework/core-utils": "~2.92.0",
64
- "@fluidframework/driver-definitions": "~2.92.0",
65
- "@fluidframework/fluid-static": "~2.92.0",
66
- "@fluidframework/map": "~2.92.0",
67
- "@fluidframework/runtime-utils": "~2.92.0",
68
- "@fluidframework/sequence": "~2.92.0",
69
- "@fluidframework/shared-object-base": "~2.92.0",
70
- "@fluidframework/tree": "~2.92.0"
60
+ "@fluidframework/container-definitions": "~2.100.0",
61
+ "@fluidframework/container-loader": "~2.100.0",
62
+ "@fluidframework/core-interfaces": "~2.100.0",
63
+ "@fluidframework/core-utils": "~2.100.0",
64
+ "@fluidframework/driver-definitions": "~2.100.0",
65
+ "@fluidframework/fluid-static": "~2.100.0",
66
+ "@fluidframework/map": "~2.100.0",
67
+ "@fluidframework/runtime-utils": "~2.100.0",
68
+ "@fluidframework/sequence": "~2.100.0",
69
+ "@fluidframework/shared-object-base": "~2.100.0",
70
+ "@fluidframework/tree": "~2.100.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.18.2",
74
74
  "@biomejs/biome": "~2.4.5",
75
- "@fluid-tools/build-cli": "^0.64.0",
75
+ "@fluid-tools/build-cli": "^0.65.0",
76
76
  "@fluidframework/build-common": "^2.0.3",
77
- "@fluidframework/build-tools": "^0.64.0",
77
+ "@fluidframework/build-tools": "^0.65.0",
78
78
  "@fluidframework/eslint-config-fluid": "^9.0.0",
79
- "@microsoft/api-extractor": "7.52.11",
80
- "@types/node": "~20.19.30",
79
+ "@microsoft/api-extractor": "7.58.1",
80
+ "@types/node": "~22.19.17",
81
81
  "concurrently": "^9.2.1",
82
82
  "copyfiles": "^2.4.1",
83
83
  "eslint": "~9.39.1",
84
+ "fluid-framework-previous": "npm:fluid-framework@2.92.0",
84
85
  "jiti": "^2.6.1",
85
86
  "rimraf": "^6.1.3",
86
87
  "typescript": "~5.4.5"
87
88
  },
89
+ "typeValidation": {
90
+ "broken": {}
91
+ },
88
92
  "scripts": {
89
93
  "api": "fluid-build . --task api",
90
94
  "api-extractor:commonjs": "flub generate entrypoints --resolutionConditions require --outFileLegacyBeta legacy --outDir ./dist",
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@ export type {
33
33
  MemberChangedListener,
34
34
  Myself,
35
35
  } from "@fluidframework/fluid-static";
36
+ export { getPresence, getPresenceAlpha } from "@fluidframework/fluid-static/internal";
36
37
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
37
38
  export type {
38
39
  IErrorBase,
@@ -61,7 +62,13 @@ export type {
61
62
  Off,
62
63
  /* eslint-enable import-x/export */
63
64
  } from "@fluidframework/core-interfaces";
64
- export type { ErasedBaseType } from "@fluidframework/core-interfaces/internal";
65
+ export type {
66
+ ErasedBaseType,
67
+ FluidIterable,
68
+ FluidIterableIterator,
69
+ FluidMap,
70
+ FluidReadonlyMap,
71
+ } from "@fluidframework/core-interfaces/internal";
65
72
 
66
73
  // This is an alpha API, but this package doesn't have an alpha entry point so its imported from "internal".
67
74
  export { onAssertionFailure } from "@fluidframework/core-utils/internal";
@@ -95,10 +102,10 @@ import {
95
102
  * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
96
103
  * of objects, arrays, and other data types.
97
104
  * @privateRemarks
98
- * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
105
+ * Here we reexport SharedTree, but with the `@legacy` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
99
106
  * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
100
107
  * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
101
- * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
108
+ * This package however is not intended for use by users of the encapsulated API, and therefore it can discard that interface.
102
109
  * @public
103
110
  */
104
111
  export const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;
@@ -182,6 +189,7 @@ export { SharedString } from "@fluidframework/sequence/internal";
182
189
  export type {
183
190
  ISharedObject,
184
191
  ISharedObjectEvents,
192
+ ISharedObjectKind,
185
193
  } from "@fluidframework/shared-object-base/internal";
186
194
 
187
195
  export type {