fluid-framework 2.23.0 → 2.31.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AA6CxB,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,IAAA,+BAA4B,EAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAFD,oDAEC;AAmBD,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AA8BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAarB,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/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/export */\n} from \"@fluidframework/core-interfaces\";\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/no-internal-modules,\n\timport/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/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 to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * } from \"@fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestType.Reference,\n * \tjsonValidator: typeboxValidator,\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\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\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,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AA0CxB,4GAA4G;AAC5G,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,IAAA,+BAA4B,EAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAFD,oDAEC;AAmBD,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAiCnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAarB,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/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/export */\n} from \"@fluidframework/core-interfaces\";\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/no-internal-modules,\n\timport/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/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 to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * } from \"@fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestType.Reference,\n * \tjsonValidator: typeboxValidator,\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\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\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"]}
package/dist/legacy.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,7 +137,6 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol,
137
141
 
138
142
  // @legacy APIs
@@ -145,6 +149,8 @@ export {
145
149
  IIntervalCollection,
146
150
  IIntervalCollectionEvent,
147
151
  ISequenceDeltaRange,
152
+ ISequenceIntervalCollection,
153
+ ISequenceIntervalCollectionEvents,
148
154
  ISequencedDocumentMessage,
149
155
  ISerializableInterval,
150
156
  ISerializedInterval,
@@ -167,6 +173,7 @@ export {
167
173
  SequenceDeltaEvent,
168
174
  SequenceEvent,
169
175
  SequenceInterval,
176
+ SequenceIntervalIndex,
170
177
  SequenceMaintenanceEvent,
171
178
  SequencePlace,
172
179
  SharedDirectory,
package/dist/public.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,6 +137,5 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol
137
141
  } from "./index.js";
package/lib/alpha.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,7 +137,6 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol,
137
141
 
138
142
  // @beta APIs
@@ -141,11 +145,17 @@ export {
141
145
  TreeChangeEventsBeta,
142
146
 
143
147
  // @alpha APIs
148
+ ArrayNodeCustomizableSchema,
149
+ ArrayNodeCustomizableSchemaUnsafe,
150
+ ArrayNodePojoEmulationSchema,
151
+ ArrayNodeSchema,
144
152
  BranchableTree,
145
153
  ConciseTree,
146
154
  EncodeOptions,
147
155
  FactoryContent,
148
156
  FactoryContentObject,
157
+ FieldSchemaAlpha,
158
+ FieldSchemaAlphaUnsafe,
149
159
  FixRecursiveArraySchema,
150
160
  FluidClientVersion,
151
161
  ForestOptions,
@@ -153,6 +163,7 @@ export {
153
163
  ForestTypeExpensiveDebug,
154
164
  ForestTypeOptimized,
155
165
  ForestTypeReference,
166
+ HandleConverter,
156
167
  ICodecOptions,
157
168
  IdentifierIndex,
158
169
  Insertable,
@@ -176,6 +187,11 @@ export {
176
187
  JsonSchemaType,
177
188
  JsonTreeSchema,
178
189
  JsonValidator,
190
+ MapNodeCustomizableSchema,
191
+ MapNodeCustomizableSchemaUnsafe,
192
+ MapNodePojoEmulationSchema,
193
+ MapNodeSchema,
194
+ ObjectNodeSchema,
179
195
  ParseOptions,
180
196
  PopUnion,
181
197
  ReadSchema,
@@ -189,7 +205,15 @@ export {
189
205
  SharedTreeFormatOptions,
190
206
  SharedTreeFormatVersion,
191
207
  SharedTreeOptions,
208
+ SimpleArrayNodeSchema,
209
+ SimpleFieldSchema,
210
+ SimpleLeafNodeSchema,
211
+ SimpleMapNodeSchema,
212
+ SimpleNodeSchema,
213
+ SimpleObjectFieldSchema,
214
+ SimpleObjectNodeSchema,
192
215
  SimpleTreeIndex,
216
+ SimpleTreeSchema,
193
217
  TransactionCallbackStatus,
194
218
  TransactionResult,
195
219
  TransactionResultExt,
@@ -206,23 +230,31 @@ export {
206
230
  TreeViewAlpha,
207
231
  UnionToTuple,
208
232
  UnsafeUnknownSchema,
233
+ ValueSchema,
209
234
  VerboseTree,
210
235
  VerboseTreeNode,
211
236
  ViewContent,
212
237
  VoidTransactionCallbackStatus,
213
238
  adaptEnum,
214
239
  asTreeViewAlpha,
240
+ cloneWithReplacements,
215
241
  comparePersistedSchema,
216
242
  configuredSharedTree,
217
243
  createIdentifierIndex,
218
244
  createSimpleTreeIndex,
219
245
  enumFromStrings,
246
+ evaluateLazySchema,
220
247
  extractPersistedSchema,
248
+ generateSchemaFromSimpleSchema,
221
249
  getBranch,
222
250
  getJsonSchema,
223
251
  independentInitializedView,
224
252
  independentView,
225
253
  noopValidator,
254
+ onAssertionFailure,
255
+ replaceConciseTreeHandles,
256
+ replaceHandles,
257
+ replaceVerboseTreeHandles,
226
258
  singletonSchema,
227
259
  typeboxValidator
228
260
  } from "./index.js";
package/lib/beta.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,7 +137,6 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol,
137
141
 
138
142
  // @beta APIs
package/lib/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
17
  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
18
  FluidObjectProviderKeys, // Used by FluidObject
19
19
  Listeners, IsListener, Listenable, Off, } from "@fluidframework/core-interfaces";
20
+ export { onAssertionFailure } from "@fluidframework/core-utils/internal";
20
21
  export type { isFluidHandle } from "@fluidframework/runtime-utils";
21
22
  export * from "@fluidframework/tree/alpha";
22
23
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
@@ -56,7 +57,7 @@ export declare const SharedTree: SharedObjectKind<ITree>;
56
57
  export declare function configuredSharedTree(options: SharedTreeOptions): SharedObjectKind<ITree>;
57
58
  export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
58
59
  export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
59
- export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, } from "@fluidframework/sequence/internal";
60
+ export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, ISequenceIntervalCollection, ISequenceIntervalCollectionEvents, SequenceIntervalIndex, } from "@fluidframework/sequence/internal";
60
61
  export type { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, } from "@fluidframework/sequence/internal";
61
62
  export { SharedString } from "@fluidframework/sequence/internal";
62
63
  export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/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;AAEzC,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;;;;;;;;;;;;;;;;;;;GAmBG;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,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,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,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;AAEzC,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;;;;;;;;;;;;;;;;;;;GAmBG;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,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,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"}
package/lib/index.js CHANGED
@@ -4,6 +4,8 @@
4
4
  */
5
5
  export { AttachState } from "@fluidframework/container-definitions";
6
6
  export { ConnectionState } from "@fluidframework/container-loader";
7
+ // This is an alpha API, but this package doesn't have an alpha entry point so its imported from "internal".
8
+ export { onAssertionFailure } from "@fluidframework/core-utils/internal";
7
9
  // Let the tree package manage its own API surface.
8
10
  // Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.
9
11
  /* eslint-disable-next-line
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;AA6CnE,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;;;;;;;;;;;;;;;;;;;GAmBG;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;AA8B1E,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/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/export */\n} from \"@fluidframework/core-interfaces\";\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/no-internal-modules,\n\timport/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/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 to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * } from \"@fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestType.Reference,\n * \tjsonValidator: typeboxValidator,\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\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\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;AA0CnE,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;;;;;;;;;;;;;;;;;;;GAmBG;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;AAiC1E,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/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/export */\n} from \"@fluidframework/core-interfaces\";\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/no-internal-modules,\n\timport/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/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 to opt into extra validation or see if opting out of some optimizations fixes an issue.\n * @example\n * ```typescript\n * import {\n * \tForestType,\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \ttypeboxValidator,\n * } from \"@fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestType.Reference,\n * \tjsonValidator: typeboxValidator,\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\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\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"]}
package/lib/legacy.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,7 +137,6 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol,
137
141
 
138
142
  // @legacy APIs
@@ -145,6 +149,8 @@ export {
145
149
  IIntervalCollection,
146
150
  IIntervalCollectionEvent,
147
151
  ISequenceDeltaRange,
152
+ ISequenceIntervalCollection,
153
+ ISequenceIntervalCollectionEvents,
148
154
  ISequencedDocumentMessage,
149
155
  ISerializableInterval,
150
156
  ISerializedInterval,
@@ -167,6 +173,7 @@ export {
167
173
  SequenceDeltaEvent,
168
174
  SequenceEvent,
169
175
  SequenceInterval,
176
+ SequenceIntervalIndex,
170
177
  SequenceMaintenanceEvent,
171
178
  SequencePlace,
172
179
  SharedDirectory,
package/lib/public.d.ts CHANGED
@@ -59,7 +59,9 @@ export {
59
59
  ITreeConfigurationOptions,
60
60
  ITreeViewConfiguration,
61
61
  ImplicitAllowedTypes,
62
+ ImplicitAllowedTypesUnsafe,
62
63
  ImplicitFieldSchema,
64
+ ImplicitFieldSchemaUnsafe,
63
65
  InitialObjects,
64
66
  Input,
65
67
  InsertableObjectFromSchemaRecordUnsafe,
@@ -74,6 +76,7 @@ export {
74
76
  IsListener,
75
77
  IterableTreeArrayContent,
76
78
  LazyItem,
79
+ LeafSchema,
77
80
  Listenable,
78
81
  Listeners,
79
82
  MakeNominal,
@@ -96,8 +99,10 @@ export {
96
99
  RunTransaction,
97
100
  SchemaCompatibilityStatus,
98
101
  SchemaFactory,
102
+ SchemaStatics,
99
103
  SharedObjectKind,
100
104
  SharedTree,
105
+ SimpleNodeSchemaBase,
101
106
  Tagged,
102
107
  TelemetryBaseEventPropertyType,
103
108
  TransactionConstraint,
@@ -132,6 +137,5 @@ export {
132
137
  WithType,
133
138
  isFluidHandle,
134
139
  rollback,
135
- schemaStatics,
136
140
  typeSchemaSymbol
137
141
  } from "./index.js";
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.47.8"
8
+ "packageVersion": "7.50.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.23.0",
3
+ "version": "2.31.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,16 +57,17 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "~2.23.0",
61
- "@fluidframework/container-loader": "~2.23.0",
62
- "@fluidframework/core-interfaces": "~2.23.0",
63
- "@fluidframework/driver-definitions": "~2.23.0",
64
- "@fluidframework/fluid-static": "~2.23.0",
65
- "@fluidframework/map": "~2.23.0",
66
- "@fluidframework/runtime-utils": "~2.23.0",
67
- "@fluidframework/sequence": "~2.23.0",
68
- "@fluidframework/shared-object-base": "~2.23.0",
69
- "@fluidframework/tree": "~2.23.0"
60
+ "@fluidframework/container-definitions": "~2.31.0",
61
+ "@fluidframework/container-loader": "~2.31.0",
62
+ "@fluidframework/core-interfaces": "~2.31.0",
63
+ "@fluidframework/core-utils": "~2.31.0",
64
+ "@fluidframework/driver-definitions": "~2.31.0",
65
+ "@fluidframework/fluid-static": "~2.31.0",
66
+ "@fluidframework/map": "~2.31.0",
67
+ "@fluidframework/runtime-utils": "~2.31.0",
68
+ "@fluidframework/sequence": "~2.31.0",
69
+ "@fluidframework/shared-object-base": "~2.31.0",
70
+ "@fluidframework/tree": "~2.31.0"
70
71
  },
71
72
  "devDependencies": {
72
73
  "@arethetypeswrong/cli": "^0.17.1",
@@ -75,12 +76,11 @@
75
76
  "@fluidframework/build-common": "^2.0.3",
76
77
  "@fluidframework/build-tools": "^0.54.0",
77
78
  "@fluidframework/eslint-config-fluid": "^5.7.3",
78
- "@microsoft/api-extractor": "7.47.8",
79
+ "@microsoft/api-extractor": "7.50.1",
79
80
  "@types/node": "^18.19.0",
80
81
  "concurrently": "^8.2.1",
81
82
  "copyfiles": "^2.4.1",
82
83
  "eslint": "~8.55.0",
83
- "prettier": "~3.0.3",
84
84
  "rimraf": "^4.4.0",
85
85
  "typescript": "~5.4.5"
86
86
  },
@@ -126,7 +126,6 @@
126
126
  "check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
127
127
  "check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
128
128
  "check:format": "npm run check:biome",
129
- "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
130
129
  "ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
131
130
  "ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
132
131
  "ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
@@ -136,7 +135,6 @@
136
135
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
137
136
  "format": "npm run format:biome",
138
137
  "format:biome": "biome check . --write",
139
- "format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
140
138
  "lint": "fluid-build . --task lint",
141
139
  "lint:fix": "fluid-build . --task eslint:fix --task format",
142
140
  "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
package/src/index.ts CHANGED
@@ -61,6 +61,8 @@ export type {
61
61
  Off,
62
62
  /* eslint-enable import/export */
63
63
  } from "@fluidframework/core-interfaces";
64
+ // This is an alpha API, but this package doesn't have an alpha entry point so its imported from "internal".
65
+ export { onAssertionFailure } from "@fluidframework/core-utils/internal";
64
66
 
65
67
  export type { isFluidHandle } from "@fluidframework/runtime-utils";
66
68
 
@@ -160,6 +162,9 @@ export type {
160
162
  SharedStringSegment,
161
163
  Side,
162
164
  ISharedSegmentSequence,
165
+ ISequenceIntervalCollection,
166
+ ISequenceIntervalCollectionEvents,
167
+ SequenceIntervalIndex,
163
168
  } from "@fluidframework/sequence/internal";
164
169
 
165
170
  export type {
@@ -1,8 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- module.exports = {
7
- ...require("@fluidframework/build-common/prettier.config.cjs"),
8
- };