fluid-framework 2.111.0 → 2.112.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/CHANGELOG.md CHANGED
@@ -1,5 +1,166 @@
1
1
  # fluid-framework
2
2
 
3
+ ## 2.112.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add Component utilities for composing open-polymorphic schema ([#27628](https://github.com/microsoft/FluidFramework/pull/27628)) [7a56d096bf](https://github.com/microsoft/FluidFramework/commit/7a56d096bffab133ab4e7ab9c8f9c465b7ba9e81)
8
+
9
+ A new `@alpha` `Component` namespace is now exported from `@fluidframework/tree` (and re-exported from `fluid-framework`). It provides utilities for composing independently authored application "components" that contribute to a shared configuration, which is useful for implementing ["open polymorphism"](<https://en.wikipedia.org/wiki/Polymorphism_(computer_science)>) schema patterns where the set of allowed types for a field or collection can be extended by separate libraries.
10
+
11
+ Each component is expressed as a `Component.Factory`: a function which receives a lazy reference to the composed configuration and returns the content that component contributes. Because the configuration is provided lazily, components may reference (including recursively) types contributed by other components. `Component.compose` combines a set of components into a `Component.Composed`, from which the aggregated configuration and per-component content can be read.
12
+
13
+ ```typescript
14
+ /** Example application component content type. */
15
+ interface MyAppComponentContent {
16
+ /**
17
+ * Item types contributed by this component.
18
+ * We are just typing them as TreeNodeSchema here to keep things simple.
19
+ * Real use would often provide some static factory to be able to create instances, as well as some APIs all item nodes should implement.
20
+ */
21
+ readonly items: Component.LazyArray<TreeNodeSchema>;
22
+ }
23
+
24
+ type MyAppComponent = Component.Factory<MyAppComponentContent>;
25
+
26
+ // A simple component, which does not depend on any other context.
27
+ const textComponent: MyAppComponent = () => ({
28
+ items: () => [() => TextItem],
29
+ });
30
+
31
+ // A component which creates an item type which recursively depends on all item types.
32
+ const containerComponent: MyAppComponent = (config) => ({
33
+ items: () => [
34
+ () =>
35
+ class extends sf.array("Container", config().getComposed("items")) {},
36
+ ],
37
+ });
38
+
39
+ const appConfig = Component.compose([containerComponent, textComponent]);
40
+
41
+ // The config's items can now be used to create a TreeViewConfiguration, root schema, or whatever else is needed.
42
+ class Root extends sf.object("Root", {
43
+ content: appConfig.getComposed("items"),
44
+ }) {}
45
+ ```
46
+
47
+ See the worked examples in [openPolymorphism.integration.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/src/test/openPolymorphism.integration.ts) for end-to-end usage with SharedTree schema.
48
+
49
+ - Independent tree views now accept an optional telemetry logger ([#27567](https://github.com/microsoft/FluidFramework/pull/27567)) [5fbbcab0af](https://github.com/microsoft/FluidFramework/commit/5fbbcab0aff87519ae6f112611f0c1e62f30d97e)
50
+
51
+ The alpha `independentView`, `independentInitializedView`, and `createIndependentTreeAlpha` APIs now accept an optional `logger` on their options.
52
+ Previously these standalone (non-`SharedTree`) views had no way to surface telemetry,
53
+ so internal events—including those emitted when the tree enters a broken state—were dropped.
54
+ Passing a logger forwards those events to the caller's telemetry pipeline.
55
+ This makes it possible to diagnose failures in scenarios that use independent tree views, such as snapshot import/export, schema migration, and other out-of-container workflows.
56
+
57
+ Events emitted by an independent tree view are tagged with the `independentView` namespace.
58
+ If no logger is provided, behavior is unchanged and telemetry events continue to be dropped.
59
+
60
+ The `logger` option is typed as `ITelemetryBaseLogger` from `@fluidframework/core-interfaces`,
61
+ so any standard Fluid telemetry logger can be passed directly.
62
+
63
+ ```typescript
64
+ // ...
65
+ const view = independentView(
66
+ new TreeViewConfiguration({ schema: MySchema }),
67
+ {
68
+ logger: myTelemetryLogger,
69
+ },
70
+ );
71
+ // ...
72
+ ```
73
+
74
+ - Shared branch names ([#27708](https://github.com/microsoft/FluidFramework/pull/27708)) [1f08b9210b](https://github.com/microsoft/FluidFramework/commit/1f08b9210bf7ba3adbc98c45b02ab8a6a58929f5)
75
+
76
+ The existing [`createSharedBranch`](https://fluidframework.com/docs/api/tree/itreealpha-interface#createsharedbranch-methodsignature) alpha API now takes an optional `name` string parameter that is associated with the shared branch.
77
+ This name can be retrieved by passing the shared branch ID to `getSharedBranchName`.
78
+
79
+ Note that, unlike the shared branch IDs, shared branch names are not guaranteed to be unique.
80
+
81
+ #### Compatibility Implications
82
+
83
+ This change breaks compatibility in the following ways:
84
+ - A document written by a client running an earlier FF version cannot be opened by a client running this version.
85
+ - A document written by a client running this version cannot be opened by a client running an earlier FF version.
86
+ - Clients running earlier FF versions will crash upon receiving ops from clients running this version.
87
+ - Clients running this version will crash upon receiving ops from clients running earlier FF versions.
88
+
89
+ These breaks are only applicable for clients with `enableSharedBranches` turned on. Other clients are unaffected.
90
+
91
+ - Add at, pop, shift, unshift, findLast, and findLastIndex methods to TreeArrayNodeAlpha ([#27686](https://github.com/microsoft/FluidFramework/pull/27686)) [59669008b9](https://github.com/microsoft/FluidFramework/commit/59669008b9f9f70ccb94030a6382afcdf8f28cd4)
92
+
93
+ `TreeArrayNodeAlpha` now has `at`, `pop`, `shift`, `unshift`, `findLast`, and `findLastIndex` methods, further aligning it with JavaScript's built-in Array API:
94
+ - `at(index)` `at` was already implemented at runtime, and consumers compiling with `lib: ES2022` or later could already see it through the inherited `ReadonlyArray` typings. This change adds no new runtime behavior, but makes `at` an explicitly declared, documented part of the API, independent of the consumer's TypeScript `lib` configuration.
95
+ - `unshift(...items)` is an alias for `insertAtStart`, mirroring how `push` aliases `insertAtEnd`: it inserts new item(s) at the start of the array. Unlike `Array.prototype.unshift`, it does not return the new length of the array.
96
+ - `pop()` removes and returns the last item in the array, or returns `undefined` (without modifying the array) if it is empty.
97
+ - `shift()` removes and returns the first item in the array, or returns `undefined` (without modifying the array) if it is empty.
98
+ - `findLast(predicate, thisArg?)` and `findLastIndex(predicate, thisArg?)` search the array from the last item to the first, returning the last matching item (or `undefined`) and its index (or `-1`) respectively, like their `Array.prototype` equivalents. As with `Array.prototype.findLast`, passing a type guard as the `findLast` predicate narrows the returned item's type.
99
+
100
+ These methods are available on `TreeArrayNodeAlpha`, which can be obtained from an existing `TreeArrayNode` via `asAlpha`, or by declaring the schema with `SchemaFactoryAlpha`'s `arrayAlpha`.
101
+
102
+ #### Usage
103
+
104
+ ```typescript
105
+ import { SchemaFactory, asAlpha } from "@fluidframework/tree/alpha";
106
+
107
+ const sf = new SchemaFactory("example");
108
+ const Inventory = sf.array("Inventory", sf.string);
109
+ const inventory = asAlpha(new Inventory(["Apples", "Bananas", "Pears"]));
110
+
111
+ // inventory: ["Apples", "Bananas", "Pears"]
112
+ inventory.unshift("Oranges", "Grapes");
113
+ // inventory: ["Oranges", "Grapes", "Apples", "Bananas", "Pears"]
114
+
115
+ inventory.at(0); // "Oranges"
116
+ inventory.at(-1); // "Pears"
117
+ inventory.at(10); // undefined
118
+
119
+ inventory.findLast((item) => item.startsWith("G")); // "Grapes"
120
+ inventory.findLastIndex((item) => item.startsWith("G")); // 1
121
+
122
+ // inventory: ["Oranges", "Grapes", "Apples", "Bananas", "Pears"]
123
+ inventory.pop(); // "Pears"
124
+ // inventory ["Oranges", "Grapes", "Apples", "Bananas"]
125
+
126
+ inventory.shift(); // "Oranges"
127
+ // inventory: ["Grapes", "Apples", "Bananas"]
128
+ ```
129
+
130
+ - Re-export telemetry types from `fluid-framework` ([#27567](https://github.com/microsoft/FluidFramework/pull/27567)) [5fbbcab0af](https://github.com/microsoft/FluidFramework/commit/5fbbcab0aff87519ae6f112611f0c1e62f30d97e)
131
+
132
+ The `fluid-framework` package now re-exports the following telemetry types from `@fluidframework/core-interfaces`:
133
+ - `ITelemetryBaseEvent`
134
+ - `ITelemetryBaseLogger`
135
+ - `LogLevel`
136
+ - `LogLevelConst`
137
+
138
+ Consumers can now import these types directly from `fluid-framework` without needing a separate dependency on `@fluidframework/core-interfaces`.
139
+
140
+ - Retain history option ([#27696](https://github.com/microsoft/FluidFramework/pull/27696)) [2fa44c6ed2](https://github.com/microsoft/FluidFramework/commit/2fa44c6ed222a8ed88a632a0bf3cad0c26e72514)
141
+
142
+ Adds a new `retainHistory` flag to [`SharedTreeOptions`](https://fluidframework.com/docs/api/tree/sharedtreeoptions-interface) (defaults to `false`).
143
+ Setting `retainHistory` to `true` will prevent SharedTree from garbage-collecting historical data about old changes.
144
+ Note that this will cause unbounded growth both in memory on the client and in summaries/snapshots (the at-rest data representing a Fluid document).
145
+ For these reasons, this option is only intended for debugging and experimentation.
146
+
147
+ ### Patch Changes
148
+
149
+ - Fix insertable types when using typesRecursive with multiple allowed types ([#27698](https://github.com/microsoft/FluidFramework/pull/27698)) [b72f836d09](https://github.com/microsoft/FluidFramework/commit/b72f836d09437654e0ef5787625073f9da41cf9f)
150
+
151
+ The allowed types produced by `SchemaFactoryBeta.typesRecursive` (and `SchemaFactoryAlpha.typesRecursive`) are now processed correctly when used in a recursive schema that permits more than one type.
152
+
153
+ Previously, passing their output to a recursive schema (for example `factory.arrayRecursive` or `factory.mapRecursive`) computed the node's insertable content type as `never`.
154
+ This caused valid insertions to fail to compile.
155
+ Recursive schemas built from a `typesRecursive` list with two or more types now accept insertable content for each of the allowed types as expected.
156
+ Recursive schemas that use a single type were unaffected.
157
+
158
+ - Throw DataCorruptionError for meaningful duplicate batch detections ([#27668](https://github.com/microsoft/FluidFramework/pull/27668)) [46a69e3d8e](https://github.com/microsoft/FluidFramework/commit/46a69e3d8e68a344bbfc277bd5c9e70699c29542)
159
+
160
+ Previously, all detected duplicate batches were only logged via the `DuplicateBatch` telemetry event, and the corresponding `DataCorruptionError` was never thrown. This was a temporary mitigation for a service-side bug that could redeliver batches.
161
+
162
+ Now, the error is thrown when either the incoming batch or the previously-seen batch has an explicit `batchId` (i.e. the batch was resubmitted, as opposed to a fresh batch whose `batchId` is derived from `clientId` and `batchStartCsn`). This distinguishes genuine duplicate-batch scenarios (e.g. container forking) from the known service-outage artifact, which only ever produces duplicates without explicit batch ids. Duplicates without an explicit `batchId` on either side continue to be log-only.
163
+
3
164
  ## 2.111.0
4
165
 
5
166
  ### Minor Changes
@@ -225,6 +225,31 @@ export interface CommitMetadata {
225
225
  // @alpha
226
226
  export function comparePersistedSchema(persisted: JsonCompatible, view: ImplicitFieldSchema, options: ICodecOptions): Omit<SchemaCompatibilityStatus, "canInitialize">;
227
227
 
228
+ // @alpha
229
+ export namespace Component {
230
+ export function compose<TComponent>(allComponents: readonly Factory<TComponent>[]): Composed<TComponent>;
231
+ export function compose<TComponent, TConfig>(allComponents: readonly Factory<TComponent, TConfig>[], lazyConfiguration: (composed: Composed<TComponent, TConfig>) => TConfig): Composed<TComponent, TConfig>;
232
+ const memoize: <T>(factory: () => T) => (() => T);
233
+ // @sealed
234
+ export interface Composed<TComponent, TConfig = ComposedDefault<TComponent>> {
235
+ readonly components: readonly TComponent[];
236
+ readonly config: TConfig;
237
+ getComponent<TFactory extends Factory<TComponent, TConfig>>(factory: TFactory): ReturnType<TFactory>;
238
+ getComposed<TKey extends keyof {
239
+ [Property in keyof TComponent as TComponent[Property] extends LazyArray<unknown> | undefined ? Property : never]: boolean;
240
+ }>(property: TKey): readonly (Exclude<TComponent[TKey], undefined> extends LazyArray<infer U> ? () => U : never)[];
241
+ getConfigured<TConfigurable extends Configurable<TConfig, unknown, TComponent>>(configurable: TConfigurable): ReturnType<TConfigurable["configure"]>;
242
+ }
243
+ // @sealed
244
+ export type ComposedDefault<TComponent> = Composed<TComponent, ComposedDefault<TComponent>>;
245
+ export interface Configurable<TConfigPartial, out TResult, TComponent> {
246
+ configure(config: TConfigPartial, components: Composed<TComponent, TConfigPartial>): TResult;
247
+ }
248
+ // @input
249
+ export type Factory<TComponent, TConfig = ComposedDefault<TComponent>> = (lazyConfiguration: () => TConfig) => TComponent;
250
+ export type LazyArray<T> = () => readonly (() => T)[];
251
+ }
252
+
228
253
  // @beta
229
254
  export type ConciseTree<THandle = IFluidHandle> = Exclude<TreeLeafValue, IFluidHandle> | THandle | ConciseTree<THandle>[] | {
230
255
  [key: string]: ConciseTree<THandle>;
@@ -284,7 +309,7 @@ export function createIdentifierIndex<TSchema extends ImplicitFieldSchema>(view:
284
309
  export function createIndependentTreeAlpha<const TSchema extends ImplicitFieldSchema>(options?: CreateIndependentTreeAlphaOptions): ViewableTree & Pick<ITreeAlpha, "exportVerbose" | "exportSimpleSchema">;
285
310
 
286
311
  // @alpha
287
- export type CreateIndependentTreeAlphaOptions = ForestOptions & ((IndependentViewOptions & {
312
+ export type CreateIndependentTreeAlphaOptions = ForestOptions & IndependentViewTelemetryOptions & ((IndependentViewOptions & {
288
313
  content?: never;
289
314
  }) | (ICodecOptions & {
290
315
  content: ViewContent;
@@ -894,16 +919,21 @@ export function incrementalEncodingPolicyForAllowedTypes(rootSchema: TreeSchema)
894
919
  export const incrementalSummaryHint: unique symbol;
895
920
 
896
921
  // @alpha
897
- export function independentInitializedView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options: ForestOptions & ICodecOptions, content: ViewContent): TreeViewAlpha<TSchema>;
922
+ export function independentInitializedView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options: ForestOptions & ICodecOptions & IndependentViewTelemetryOptions, content: ViewContent): TreeViewAlpha<TSchema>;
898
923
 
899
924
  // @alpha
900
925
  export function independentView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: IndependentViewOptions): TreeViewAlpha<TSchema>;
901
926
 
902
927
  // @alpha @input
903
- export interface IndependentViewOptions extends ForestOptions, Partial<CodecWriteOptions> {
928
+ export interface IndependentViewOptions extends ForestOptions, Partial<CodecWriteOptions>, IndependentViewTelemetryOptions {
904
929
  idCompressor?: IIdCompressor | undefined;
905
930
  }
906
931
 
932
+ // @alpha @input
933
+ export interface IndependentViewTelemetryOptions {
934
+ readonly logger?: ITelemetryBaseLogger | undefined;
935
+ }
936
+
907
937
  // @public
908
938
  export type InitialObjects<T extends ContainerSchema> = {
909
939
  [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
@@ -1023,6 +1053,20 @@ export type IsListener<TListener> = TListener extends (...args: any[]) => void ?
1023
1053
  // @public @system
1024
1054
  export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
1025
1055
 
1056
+ // @public
1057
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
1058
+ // (undocumented)
1059
+ category: string;
1060
+ // (undocumented)
1061
+ eventName: string;
1062
+ }
1063
+
1064
+ // @public
1065
+ export interface ITelemetryBaseLogger {
1066
+ minLogLevel?: LogLevel | undefined;
1067
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
1068
+ }
1069
+
1026
1070
  // @public
1027
1071
  export interface ITelemetryBaseProperties {
1028
1072
  [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
@@ -1039,10 +1083,11 @@ export interface ITree extends ViewableTree, IFluidLoadable {
1039
1083
 
1040
1084
  // @alpha @sealed
1041
1085
  export interface ITreeAlpha extends ITree {
1042
- createSharedBranch(): string;
1086
+ createSharedBranch(name?: string): string;
1043
1087
  exportSimpleSchema(): SimpleTreeSchema;
1044
1088
  exportVerbose(): VerboseTree | undefined;
1045
1089
  getSharedBranchIds(): string[];
1090
+ getSharedBranchName(branchId: string): string | undefined;
1046
1091
  viewSharedBranchWith<TRoot extends ImplicitFieldSchema>(branchId: string, config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
1047
1092
  }
1048
1093
 
@@ -1206,6 +1251,23 @@ export interface LocalChangeMetadata extends CommitMetadata {
1206
1251
  readonly labels: TransactionLabels;
1207
1252
  }
1208
1253
 
1254
+ // @public
1255
+ export const LogLevel: LogLevelConst;
1256
+
1257
+ // @public
1258
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
1259
+
1260
+ // @public
1261
+ export interface LogLevelConst {
1262
+ // @deprecated
1263
+ readonly default: 20;
1264
+ // @deprecated
1265
+ readonly error: 30;
1266
+ readonly essential: 30;
1267
+ readonly info: 20;
1268
+ readonly verbose: 10;
1269
+ }
1270
+
1209
1271
  // @public @sealed
1210
1272
  export interface MakeNominal {
1211
1273
  }
@@ -1243,6 +1305,9 @@ export const MapNodeSchema: {
1243
1305
  // @public
1244
1306
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
1245
1307
 
1308
+ // @alpha @deprecated
1309
+ export const minimize: TransactionPostProcessor;
1310
+
1246
1311
  // @public
1247
1312
  export type Myself<M extends IMember = IMember> = M & {
1248
1313
  readonly currentConnection: string;
@@ -1668,6 +1733,7 @@ export interface SharedTreeFormatOptions {
1668
1733
  // @alpha @input
1669
1734
  export interface SharedTreeOptions extends SharedTreeOptionsBeta, Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions> {
1670
1735
  readonly enableSharedBranches?: boolean;
1736
+ readonly retainHistory?: boolean;
1671
1737
  shouldEncodeIncrementally?: IncrementalEncodingPolicy;
1672
1738
  }
1673
1739
 
@@ -1874,7 +1940,7 @@ export namespace System_Unsafe {
1874
1940
  // @system
1875
1941
  export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
1876
1942
  readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
1877
- }[number];
1943
+ }[NumberKeys<TList>];
1878
1944
  // @system
1879
1945
  export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
1880
1946
  // @system
@@ -2183,7 +2249,14 @@ export const TreeArrayNode: {
2183
2249
 
2184
2250
  // @alpha @sealed
2185
2251
  export interface TreeArrayNodeAlpha<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>> extends TreeArrayNode<TAllowedTypes, T, TNew> {
2252
+ at(index: number): T | undefined;
2253
+ findLast<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: unknown): S | undefined;
2254
+ findLast(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: unknown): T | undefined;
2255
+ findLastIndex(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: unknown): number;
2256
+ pop(): T | undefined;
2257
+ shift(): T | undefined;
2186
2258
  splice(start: number, deleteCount?: number, ...items: readonly (TNew | IterableTreeArrayContent<TNew>)[]): T[];
2259
+ unshift(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
2187
2260
  }
2188
2261
 
2189
2262
  // @beta @sealed
@@ -2210,6 +2283,7 @@ export interface TreeBranch extends IDisposable {
2210
2283
  // @alpha @sealed
2211
2284
  export interface TreeBranchAlpha extends TreeBranch, TreeContextAlpha {
2212
2285
  applyChange(change: JsonCompatibleReadOnly): void;
2286
+ computeNetChangeIfRebasedOnto(branch: TreeBranch): JsonCompatibleReadOnly | undefined;
2213
2287
  readonly events: Listenable<TreeBranchEvents>;
2214
2288
  // (undocumented)
2215
2289
  fork(): TreeBranchAlpha;
@@ -710,6 +710,20 @@ export type IsListener<TListener> = TListener extends (...args: any[]) => void ?
710
710
  // @public @system
711
711
  export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
712
712
 
713
+ // @public
714
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
715
+ // (undocumented)
716
+ category: string;
717
+ // (undocumented)
718
+ eventName: string;
719
+ }
720
+
721
+ // @public
722
+ export interface ITelemetryBaseLogger {
723
+ minLogLevel?: LogLevel | undefined;
724
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
725
+ }
726
+
713
727
  // @public
714
728
  export interface ITelemetryBaseProperties {
715
729
  [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
@@ -768,6 +782,23 @@ export type Listeners<T extends object> = {
768
782
  [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
769
783
  };
770
784
 
785
+ // @public
786
+ export const LogLevel: LogLevelConst;
787
+
788
+ // @public
789
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
790
+
791
+ // @public
792
+ export interface LogLevelConst {
793
+ // @deprecated
794
+ readonly default: 20;
795
+ // @deprecated
796
+ readonly error: 30;
797
+ readonly essential: 30;
798
+ readonly info: 20;
799
+ readonly verbose: 10;
800
+ }
801
+
771
802
  // @public @sealed
772
803
  export interface MakeNominal {
773
804
  }
@@ -1151,7 +1182,7 @@ export namespace System_Unsafe {
1151
1182
  // @system
1152
1183
  export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
1153
1184
  readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
1154
- }[number];
1185
+ }[NumberKeys<TList>];
1155
1186
  // @system
1156
1187
  export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
1157
1188
  // @system
@@ -983,6 +983,20 @@ export type IsListener<TListener> = TListener extends (...args: any[]) => void ?
983
983
  // @public @system
984
984
  export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
985
985
 
986
+ // @public
987
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
988
+ // (undocumented)
989
+ category: string;
990
+ // (undocumented)
991
+ eventName: string;
992
+ }
993
+
994
+ // @public
995
+ export interface ITelemetryBaseLogger {
996
+ minLogLevel?: LogLevel | undefined;
997
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
998
+ }
999
+
986
1000
  // @public
987
1001
  export interface ITelemetryBaseProperties {
988
1002
  [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
@@ -1054,6 +1068,23 @@ export type Listeners<T extends object> = {
1054
1068
  [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
1055
1069
  };
1056
1070
 
1071
+ // @public
1072
+ export const LogLevel: LogLevelConst;
1073
+
1074
+ // @public
1075
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
1076
+
1077
+ // @public
1078
+ export interface LogLevelConst {
1079
+ // @deprecated
1080
+ readonly default: 20;
1081
+ // @deprecated
1082
+ readonly error: 30;
1083
+ readonly essential: 30;
1084
+ readonly info: 20;
1085
+ readonly verbose: 10;
1086
+ }
1087
+
1057
1088
  // @public @sealed
1058
1089
  export interface MakeNominal {
1059
1090
  }
@@ -1517,7 +1548,7 @@ export namespace System_Unsafe {
1517
1548
  // @system
1518
1549
  export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
1519
1550
  readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
1520
- }[number];
1551
+ }[NumberKeys<TList>];
1521
1552
  // @system
1522
1553
  export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
1523
1554
  // @system
@@ -524,6 +524,20 @@ export type IsListener<TListener> = TListener extends (...args: any[]) => void ?
524
524
  // @public @system
525
525
  export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
526
526
 
527
+ // @public
528
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
529
+ // (undocumented)
530
+ category: string;
531
+ // (undocumented)
532
+ eventName: string;
533
+ }
534
+
535
+ // @public
536
+ export interface ITelemetryBaseLogger {
537
+ minLogLevel?: LogLevel | undefined;
538
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
539
+ }
540
+
527
541
  // @public
528
542
  export interface ITelemetryBaseProperties {
529
543
  [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
@@ -573,6 +587,23 @@ export type Listeners<T extends object> = {
573
587
  [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
574
588
  };
575
589
 
590
+ // @public
591
+ export const LogLevel: LogLevelConst;
592
+
593
+ // @public
594
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
595
+
596
+ // @public
597
+ export interface LogLevelConst {
598
+ // @deprecated
599
+ readonly default: 20;
600
+ // @deprecated
601
+ readonly error: 30;
602
+ readonly essential: 30;
603
+ readonly info: 20;
604
+ readonly verbose: 10;
605
+ }
606
+
576
607
  // @public @sealed
577
608
  export interface MakeNominal {
578
609
  }
@@ -794,7 +825,7 @@ export namespace System_Unsafe {
794
825
  // @system
795
826
  export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
796
827
  readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
797
- }[number];
828
+ }[NumberKeys<TList>];
798
829
  // @system
799
830
  export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
800
831
  // @system
@@ -496,6 +496,20 @@ export type IsListener<TListener> = TListener extends (...args: any[]) => void ?
496
496
  // @public @system
497
497
  export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
498
498
 
499
+ // @public
500
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
501
+ // (undocumented)
502
+ category: string;
503
+ // (undocumented)
504
+ eventName: string;
505
+ }
506
+
507
+ // @public
508
+ export interface ITelemetryBaseLogger {
509
+ minLogLevel?: LogLevel | undefined;
510
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
511
+ }
512
+
499
513
  // @public
500
514
  export interface ITelemetryBaseProperties {
501
515
  [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
@@ -539,6 +553,23 @@ export type Listeners<T extends object> = {
539
553
  [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
540
554
  };
541
555
 
556
+ // @public
557
+ export const LogLevel: LogLevelConst;
558
+
559
+ // @public
560
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
561
+
562
+ // @public
563
+ export interface LogLevelConst {
564
+ // @deprecated
565
+ readonly default: 20;
566
+ // @deprecated
567
+ readonly error: 30;
568
+ readonly essential: 30;
569
+ readonly info: 20;
570
+ readonly verbose: 10;
571
+ }
572
+
542
573
  // @public @sealed
543
574
  export interface MakeNominal {
544
575
  }
@@ -760,7 +791,7 @@ export namespace System_Unsafe {
760
791
  // @system
761
792
  export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = IsUnion<TList> extends true ? never : {
762
793
  readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchemaUnsafe> ? InsertableTypedNodeUnsafe<TSchema> : never;
763
- }[number];
794
+ }[NumberKeys<TList>];
764
795
  // @system
765
796
  export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
766
797
  // @system
package/dist/alpha.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
@@ -232,6 +236,7 @@ export {
232
236
  ChangeMetadata,
233
237
  CodecName,
234
238
  CodecWriteOptions,
239
+ Component,
235
240
  CreateIndependentTreeAlphaOptions,
236
241
  DirtyTreeMap,
237
242
  DirtyTreeStatus,
@@ -255,6 +260,7 @@ export {
255
260
  ITreeAlpha,
256
261
  IncrementalEncodingPolicy,
257
262
  IndependentViewOptions,
263
+ IndependentViewTelemetryOptions,
258
264
  Insertable,
259
265
  InsertableContent,
260
266
  InsertableField,
@@ -372,6 +378,7 @@ export {
372
378
  incrementalSummaryHint,
373
379
  independentInitializedView,
374
380
  independentView,
381
+ minimize,
375
382
  normalizeAllowedTypes,
376
383
  persistedToSimpleSchema,
377
384
  replaceConciseTreeHandles,
package/dist/beta.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ 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
16
  export { getPresence, getPresenceAlpha } from "@fluidframework/fluid-static/internal";
17
17
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
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
+ 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
21
  export type { ErasedBaseType, FluidIterable, FluidIterableIterator, FluidMap, FluidReadonlyMap, } from "@fluidframework/core-interfaces/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,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;AAClD,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;AAcxB,kEAAsF;AAA7E,uGAAA,WAAW,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAoCtC,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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;AA4BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAcrB,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\";\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,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAcxB,kEAAsF;AAA7E,uGAAA,WAAW,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAwCtC,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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;AA4BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAcrB,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"]}
package/dist/legacy.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/dist/public.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/lib/alpha.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
@@ -232,6 +236,7 @@ export {
232
236
  ChangeMetadata,
233
237
  CodecName,
234
238
  CodecWriteOptions,
239
+ Component,
235
240
  CreateIndependentTreeAlphaOptions,
236
241
  DirtyTreeMap,
237
242
  DirtyTreeStatus,
@@ -255,6 +260,7 @@ export {
255
260
  ITreeAlpha,
256
261
  IncrementalEncodingPolicy,
257
262
  IndependentViewOptions,
263
+ IndependentViewTelemetryOptions,
258
264
  Insertable,
259
265
  InsertableContent,
260
266
  InsertableField,
@@ -372,6 +378,7 @@ export {
372
378
  incrementalSummaryHint,
373
379
  independentInitializedView,
374
380
  independentView,
381
+ minimize,
375
382
  normalizeAllowedTypes,
376
383
  persistedToSimpleSchema,
377
384
  replaceConciseTreeHandles,
package/lib/beta.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/lib/index.d.ts CHANGED
@@ -15,7 +15,7 @@ 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
16
  export { getPresence, getPresenceAlpha } from "@fluidframework/fluid-static/internal";
17
17
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
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
+ 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
21
  export type { ErasedBaseType, FluidIterable, FluidIterableIterator, FluidMap, FluidReadonlyMap, } from "@fluidframework/core-interfaces/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,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;AAClD,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;AAoCtF,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\";\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;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"]}
package/lib/legacy.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/lib/public.d.ts CHANGED
@@ -54,6 +54,8 @@ export {
54
54
  IProvideFluidLoadable,
55
55
  IServiceAudience,
56
56
  IServiceAudienceEvents,
57
+ ITelemetryBaseEvent,
58
+ ITelemetryBaseLogger,
57
59
  ITelemetryBaseProperties,
58
60
  ITree,
59
61
  ITreeConfigurationOptions,
@@ -74,6 +76,8 @@ export {
74
76
  LeafSchema,
75
77
  Listenable,
76
78
  Listeners,
79
+ LogLevel,
80
+ LogLevelConst,
77
81
  MakeNominal,
78
82
  MapNodeInsertableData,
79
83
  MemberChangedListener,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.111.0",
3
+ "version": "2.112.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.111.0",
61
- "@fluidframework/container-loader": "~2.111.0",
62
- "@fluidframework/core-interfaces": "~2.111.0",
63
- "@fluidframework/core-utils": "~2.111.0",
64
- "@fluidframework/driver-definitions": "~2.111.0",
65
- "@fluidframework/fluid-static": "~2.111.0",
66
- "@fluidframework/map": "~2.111.0",
67
- "@fluidframework/runtime-utils": "~2.111.0",
68
- "@fluidframework/sequence": "~2.111.0",
69
- "@fluidframework/shared-object-base": "~2.111.0",
70
- "@fluidframework/tree": "~2.111.0"
60
+ "@fluidframework/container-definitions": "~2.112.0",
61
+ "@fluidframework/container-loader": "~2.112.0",
62
+ "@fluidframework/core-interfaces": "~2.112.0",
63
+ "@fluidframework/core-utils": "~2.112.0",
64
+ "@fluidframework/driver-definitions": "~2.112.0",
65
+ "@fluidframework/fluid-static": "~2.112.0",
66
+ "@fluidframework/map": "~2.112.0",
67
+ "@fluidframework/runtime-utils": "~2.112.0",
68
+ "@fluidframework/sequence": "~2.112.0",
69
+ "@fluidframework/shared-object-base": "~2.112.0",
70
+ "@fluidframework/tree": "~2.112.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.110.0",
84
+ "fluid-framework-previous": "npm:fluid-framework@2.111.0",
85
85
  "jiti": "^2.6.1",
86
86
  "rimraf": "^6.1.3",
87
87
  "typescript": "~5.4.5"
package/src/index.ts CHANGED
@@ -45,10 +45,14 @@ export type {
45
45
  ErasedType,
46
46
  IFluidHandle,
47
47
  IFluidLoadable,
48
+ ITelemetryBaseEvent,
49
+ ITelemetryBaseLogger,
48
50
  ITelemetryBaseProperties,
49
51
  IEventTransformer,
50
52
  IProvideFluidLoadable,
51
53
  IFluidHandleErased,
54
+ LogLevel,
55
+ LogLevelConst,
52
56
  TransformedEvent,
53
57
  TelemetryBaseEventPropertyType,
54
58
  Tagged,