@fluidframework/core-interfaces 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.
Files changed (72) hide show
  1. package/.eslintrc.cjs +19 -1
  2. package/CHANGELOG.md +162 -154
  3. package/api-extractor/api-extractor-lint-bundle.json +1 -1
  4. package/dist/exposedInternalUtilityTypes.d.ts +547 -0
  5. package/dist/exposedInternalUtilityTypes.d.ts.map +1 -0
  6. package/dist/exposedInternalUtilityTypes.js +11 -0
  7. package/dist/exposedInternalUtilityTypes.js.map +1 -0
  8. package/dist/exposedUtilityTypes.d.ts +10 -0
  9. package/dist/exposedUtilityTypes.d.ts.map +1 -0
  10. package/dist/exposedUtilityTypes.js +7 -0
  11. package/dist/exposedUtilityTypes.js.map +1 -0
  12. package/dist/internal.d.ts +34 -0
  13. package/dist/internal.d.ts.map +1 -0
  14. package/dist/internal.js +23 -0
  15. package/dist/internal.js.map +1 -0
  16. package/dist/jsonDeserialized.d.ts +112 -0
  17. package/dist/jsonDeserialized.d.ts.map +1 -0
  18. package/dist/jsonDeserialized.js +7 -0
  19. package/dist/jsonDeserialized.js.map +1 -0
  20. package/dist/jsonSerializable.d.ts +126 -0
  21. package/dist/jsonSerializable.d.ts.map +1 -0
  22. package/dist/jsonSerializable.js +7 -0
  23. package/dist/jsonSerializable.js.map +1 -0
  24. package/dist/jsonSerializationErrors.d.ts +31 -0
  25. package/dist/jsonSerializationErrors.d.ts.map +1 -0
  26. package/dist/jsonSerializationErrors.js +7 -0
  27. package/dist/jsonSerializationErrors.js.map +1 -0
  28. package/dist/jsonType.d.ts +30 -0
  29. package/dist/jsonType.d.ts.map +1 -0
  30. package/dist/jsonType.js +7 -0
  31. package/dist/jsonType.js.map +1 -0
  32. package/dist/package.json +16 -1
  33. package/{prettier.config.cjs → internal/exposedUtilityTypes.d.ts} +1 -3
  34. package/internal.d.ts +1 -6
  35. package/lib/exposedInternalUtilityTypes.d.ts +547 -0
  36. package/lib/exposedInternalUtilityTypes.d.ts.map +1 -0
  37. package/lib/exposedInternalUtilityTypes.js +10 -0
  38. package/lib/exposedInternalUtilityTypes.js.map +1 -0
  39. package/lib/exposedUtilityTypes.d.ts +10 -0
  40. package/lib/exposedUtilityTypes.d.ts.map +1 -0
  41. package/lib/exposedUtilityTypes.js +6 -0
  42. package/lib/exposedUtilityTypes.js.map +1 -0
  43. package/lib/internal.d.ts +34 -0
  44. package/lib/internal.d.ts.map +1 -0
  45. package/lib/internal.js +7 -0
  46. package/lib/internal.js.map +1 -0
  47. package/lib/jsonDeserialized.d.ts +112 -0
  48. package/lib/jsonDeserialized.d.ts.map +1 -0
  49. package/lib/jsonDeserialized.js +6 -0
  50. package/lib/jsonDeserialized.js.map +1 -0
  51. package/lib/jsonSerializable.d.ts +126 -0
  52. package/lib/jsonSerializable.d.ts.map +1 -0
  53. package/lib/jsonSerializable.js +6 -0
  54. package/lib/jsonSerializable.js.map +1 -0
  55. package/lib/jsonSerializationErrors.d.ts +31 -0
  56. package/lib/jsonSerializationErrors.d.ts.map +1 -0
  57. package/lib/jsonSerializationErrors.js +6 -0
  58. package/lib/jsonSerializationErrors.js.map +1 -0
  59. package/lib/jsonType.d.ts +30 -0
  60. package/lib/jsonType.d.ts.map +1 -0
  61. package/lib/jsonType.js +6 -0
  62. package/lib/jsonType.js.map +1 -0
  63. package/lib/tsdoc-metadata.json +1 -1
  64. package/package.json +51 -13
  65. package/src/cjs/package.json +19 -0
  66. package/src/exposedInternalUtilityTypes.ts +1152 -0
  67. package/src/exposedUtilityTypes.ts +20 -0
  68. package/src/internal.ts +73 -0
  69. package/src/jsonDeserialized.ts +118 -0
  70. package/src/jsonSerializable.ts +133 -0
  71. package/src/jsonSerializationErrors.ts +34 -0
  72. package/src/jsonType.ts +37 -0
package/.eslintrc.cjs CHANGED
@@ -6,10 +6,28 @@
6
6
  module.exports = {
7
7
  extends: [require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"],
8
8
  parserOptions: {
9
- project: ["./tsconfig.json", "./src/test/tsconfig.json"],
9
+ project: [
10
+ "./tsconfig.json",
11
+ "./src/test/tsconfig.json",
12
+ "./src/test/tsconfig.no-exactOptionalPropertyTypes.json",
13
+ ],
10
14
  },
11
15
  rules: {
12
16
  // TODO: Enabling this may require breaking changes.
13
17
  "@typescript-eslint/consistent-indexed-object-style": "off",
14
18
  },
19
+ overrides: [
20
+ {
21
+ // Rules only for test files
22
+ files: ["*.spec.ts", "src/test/**"],
23
+ rules: {
24
+ "import/no-internal-modules": [
25
+ "error",
26
+ {
27
+ "allow": ["@fluidframework/*/internal{,/**}"],
28
+ },
29
+ ],
30
+ },
31
+ },
32
+ ],
15
33
  };
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @fluidframework/core-interfaces
2
2
 
3
+ ## 2.31.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.30.0
8
+
9
+ Dependency updates only.
10
+
3
11
  ## 2.23.0
4
12
 
5
13
  Dependency updates only.
@@ -28,12 +36,12 @@ Dependency updates only.
28
36
 
29
37
  ### Minor Changes
30
38
 
31
- - The events library has been moved from the tree package ([#23141](https://github.com/microsoft/FluidFramework/pull/23141)) [cae07b5c8c](https://github.com/microsoft/FluidFramework/commit/cae07b5c8c7904184b5fbf8c677f302da19cc697)
39
+ - The events library has been moved from the tree package ([#23141](https://github.com/microsoft/FluidFramework/pull/23141)) [cae07b5c8c](https://github.com/microsoft/FluidFramework/commit/cae07b5c8c7904184b5fbf8c677f302da19cc697)
32
40
 
33
- In previous releases, the `@fluidframework/tree` package contained an internal events library. The events-related types and interfaces have been moved to
34
- `@fluidframework/core-interfaces`, while the implementation has been relocated to `@fluid-internal/client-utils`. There are
35
- no changes to how the events library is used; the relocation simply organizes the library into more appropriate
36
- packages. This change should have no impact on developers using the Fluid Framework.
41
+ In previous releases, the `@fluidframework/tree` package contained an internal events library. The events-related types and interfaces have been moved to
42
+ `@fluidframework/core-interfaces`, while the implementation has been relocated to `@fluid-internal/client-utils`. There are
43
+ no changes to how the events library is used; the relocation simply organizes the library into more appropriate
44
+ packages. This change should have no impact on developers using the Fluid Framework.
37
45
 
38
46
  ## 2.10.0
39
47
 
@@ -63,134 +71,134 @@ Dependency updates only.
63
71
 
64
72
  ### Minor Changes
65
73
 
66
- - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
74
+ - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
67
75
 
68
- A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
76
+ A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
69
77
 
70
- This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
78
+ This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
71
79
 
72
- This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
80
+ This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
73
81
 
74
- Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
75
- The full list of such types is:
82
+ Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
83
+ The full list of such types is:
76
84
 
77
- - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
78
- - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
79
- `ISharedObject`
80
- - `IChannel`
81
- - `IChannelAttributes`
82
- - `IChannelFactory`
83
- - `IExperimentalIncrementalSummaryContext`
84
- - `IGarbageCollectionData`
85
- - `ISummaryStats`
86
- - `ISummaryTreeWithStats`
87
- - `ITelemetryContext`
88
- - `IDeltaManagerErased`
89
- - `IFluidDataStoreRuntimeEvents`
90
- - `IFluidHandleContext`
91
- - `IProvideFluidHandleContext`
85
+ - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
86
+ - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
87
+ `ISharedObject`
88
+ - `IChannel`
89
+ - `IChannelAttributes`
90
+ - `IChannelFactory`
91
+ - `IExperimentalIncrementalSummaryContext`
92
+ - `IGarbageCollectionData`
93
+ - `ISummaryStats`
94
+ - `ISummaryTreeWithStats`
95
+ - `ITelemetryContext`
96
+ - `IDeltaManagerErased`
97
+ - `IFluidDataStoreRuntimeEvents`
98
+ - `IFluidHandleContext`
99
+ - `IProvideFluidHandleContext`
92
100
 
93
- Removed APIs:
101
+ Removed APIs:
94
102
 
95
- - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
96
- - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
97
- - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
98
- -
103
+ - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
104
+ - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
105
+ - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
106
+ -
99
107
 
100
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
108
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
101
109
 
102
- Update package implementations to use TypeScript 5.4.5.
110
+ Update package implementations to use TypeScript 5.4.5.
103
111
 
104
- - core-interfaces, tree: Unify `IDisposable` interfaces ([#21184](https://github.com/microsoft/FluidFramework/pull/21184)) [cfcb827851](https://github.com/microsoft/FluidFramework/commit/cfcb827851ffc81486db6c718380150189fb95c5)
112
+ - core-interfaces, tree: Unify `IDisposable` interfaces ([#21184](https://github.com/microsoft/FluidFramework/pull/21184)) [cfcb827851](https://github.com/microsoft/FluidFramework/commit/cfcb827851ffc81486db6c718380150189fb95c5)
105
113
 
106
- Public APIs in `@fluidframework/tree` now use `IDisposable` from `@fluidframework/core-interfaces` replacing `disposeSymbol` with "dispose".
114
+ Public APIs in `@fluidframework/tree` now use `IDisposable` from `@fluidframework/core-interfaces` replacing `disposeSymbol` with "dispose".
107
115
 
108
- `IDisposable` in `@fluidframework/core-interfaces` is now `@sealed` indicating that third parties should not implement it to reserve the ability for Fluid Framework to extend it to include `Symbol.dispose` as a future non-breaking change.
116
+ `IDisposable` in `@fluidframework/core-interfaces` is now `@sealed` indicating that third parties should not implement it to reserve the ability for Fluid Framework to extend it to include `Symbol.dispose` as a future non-breaking change.
109
117
 
110
118
  ## 2.0.0-rc.4.0.0
111
119
 
112
120
  ### Minor Changes
113
121
 
114
- - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
122
+ - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
115
123
 
116
- Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
117
- Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
124
+ Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
125
+ Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
118
126
 
119
- External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
120
- Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
121
- Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
127
+ External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
128
+ Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
129
+ Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
122
130
 
123
131
  ## 2.0.0-rc.3.0.0
124
132
 
125
133
  ### Major Changes
126
134
 
127
- - core-interfaces: Code details and package API surface removed [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
135
+ - core-interfaces: Code details and package API surface removed [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
128
136
 
129
- The code details and package API surface was deprecated in @fluidframework/core-interfaces in 0.53 and has now been removed. Please import them from @fluidframework/container-definitions instead. These include:
137
+ The code details and package API surface was deprecated in @fluidframework/core-interfaces in 0.53 and has now been removed. Please import them from @fluidframework/container-definitions instead. These include:
130
138
 
131
- - IFluidCodeDetails
132
- - IFluidCodeDetailsComparer
133
- - IFluidCodeDetailsConfig
134
- - IFluidPackage
135
- - IFluidPackageEnvironment
136
- - IProvideFluidCodeDetailsComparer
137
- - isFluidCodeDetails
138
- - isFluidPackage
139
+ - IFluidCodeDetails
140
+ - IFluidCodeDetailsComparer
141
+ - IFluidCodeDetailsConfig
142
+ - IFluidPackage
143
+ - IFluidPackageEnvironment
144
+ - IProvideFluidCodeDetailsComparer
145
+ - isFluidCodeDetails
146
+ - isFluidPackage
139
147
 
140
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
148
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
141
149
 
142
- Fluid Framework packages have been updated to use the [package.json "exports"
143
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
144
- TypeScript types and implementation code.
150
+ Fluid Framework packages have been updated to use the [package.json "exports"
151
+ field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
152
+ TypeScript types and implementation code.
145
153
 
146
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
154
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
147
155
 
148
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
149
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
156
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
157
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
150
158
 
151
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
152
- for use with modern versions of Node.js _and_ Bundlers.
153
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
154
- regarding the module and moduleResolution options.
159
+ We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
160
+ for use with modern versions of Node.js _and_ Bundlers.
161
+ [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
162
+ regarding the module and moduleResolution options.
155
163
 
156
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
157
- to distinguish stable APIs from those that are in development.**
164
+ **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
165
+ to distinguish stable APIs from those that are in development.**
158
166
 
159
167
  ## 2.0.0-rc.2.0.0
160
168
 
161
169
  ### Minor Changes
162
170
 
163
- - core-interfaces: Removed ITelemetryProperties, TelemetryEventCategory, TelemetryEventPropertyType, and ITaggedTelemetryPropertyType ([#19752](https://github.com/microsoft/FluidFramework/issues/19752)) [615a7712e6](https://github.com/microsoft/FluidFramework/commits/615a7712e67885c6cda69ddd907cb5cc708eef18)
171
+ - core-interfaces: Removed ITelemetryProperties, TelemetryEventCategory, TelemetryEventPropertyType, and ITaggedTelemetryPropertyType ([#19752](https://github.com/microsoft/FluidFramework/issues/19752)) [615a7712e6](https://github.com/microsoft/FluidFramework/commits/615a7712e67885c6cda69ddd907cb5cc708eef18)
164
172
 
165
- The `ITelemetryProperties` interface was deprecated and has been removed.
166
- Use the identical `ITelemetryBaseProperties` instead.
173
+ The `ITelemetryProperties` interface was deprecated and has been removed.
174
+ Use the identical `ITelemetryBaseProperties` instead.
167
175
 
168
- The `TelemetryEventCategory` type was deprecated and has been removed from `@fluidframework/core-interfaces`, since
169
- it had moved to `@fluidframework/telemetry-utils` in the past.
176
+ The `TelemetryEventCategory` type was deprecated and has been removed from `@fluidframework/core-interfaces`, since
177
+ it had moved to `@fluidframework/telemetry-utils` in the past.
170
178
 
171
- The `TelemetryEventPropertyType` type alias was deprecated and has been removed.
172
- Use the identical `TelemetryBaseEventPropertyType` instead.
179
+ The `TelemetryEventPropertyType` type alias was deprecated and has been removed.
180
+ Use the identical `TelemetryBaseEventPropertyType` instead.
173
181
 
174
- The `ITaggedTelemetryPropertyType` interface was deprecated and has been removed.
175
- Use `Tagged<TelemetryBaseEventPropertyType>` instead.
182
+ The `ITaggedTelemetryPropertyType` interface was deprecated and has been removed.
183
+ Use `Tagged<TelemetryBaseEventPropertyType>` instead.
176
184
 
177
- - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
185
+ - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
178
186
 
179
- Added `containerMetadata` prop on IContainer interface.
187
+ Added `containerMetadata` prop on IContainer interface.
180
188
 
181
- - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
189
+ - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
182
190
 
183
- The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
191
+ The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
184
192
 
185
- - core-interfaces: Removed deprecated telemetry event types ([#19740](https://github.com/microsoft/FluidFramework/issues/19740)) [0ff130a50e](https://github.com/microsoft/FluidFramework/commits/0ff130a50e9bcccb119673ac985ea27fa38de463)
193
+ - core-interfaces: Removed deprecated telemetry event types ([#19740](https://github.com/microsoft/FluidFramework/issues/19740)) [0ff130a50e](https://github.com/microsoft/FluidFramework/commits/0ff130a50e9bcccb119673ac985ea27fa38de463)
186
194
 
187
- The deprecated `ITelemetryErrorEvent`, `ITelemetryGenericEvent`, and `ITelemetryPerformanceEvent` interfaces,
188
- which represented different kinds of telemetry events, were not intended for consumers of Fluid Framework and have thus
189
- been removed.
190
- `ITelemetryBaseEvent` is the only telemetry event interface that should be used in/by consuming code.
195
+ The deprecated `ITelemetryErrorEvent`, `ITelemetryGenericEvent`, and `ITelemetryPerformanceEvent` interfaces,
196
+ which represented different kinds of telemetry events, were not intended for consumers of Fluid Framework and have thus
197
+ been removed.
198
+ `ITelemetryBaseEvent` is the only telemetry event interface that should be used in/by consuming code.
191
199
 
192
- `ITelemetryLogger` was not intended for consumers of Fluid Framework and has been removed.
193
- Consumers should use the simpler `ITelemetryBaseLogger` instead.
200
+ `ITelemetryLogger` was not intended for consumers of Fluid Framework and has been removed.
201
+ Consumers should use the simpler `ITelemetryBaseLogger` instead.
194
202
 
195
203
  ## 2.0.0-rc.1.0.0
196
204
 
@@ -200,27 +208,27 @@ Dependency updates only.
200
208
 
201
209
  ### Major Changes
202
210
 
203
- - container-runtime-definitions: Removed getRootDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
211
+ - container-runtime-definitions: Removed getRootDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
204
212
 
205
- The `getRootDataStore` method has been removed from `IContainerRuntime` and `ContainerRuntime`. Please migrate all usage to the new `getAliasedDataStoreEntryPoint` method. This method returns the data store's entry point which is its `IFluidHandle`.
213
+ The `getRootDataStore` method has been removed from `IContainerRuntime` and `ContainerRuntime`. Please migrate all usage to the new `getAliasedDataStoreEntryPoint` method. This method returns the data store's entry point which is its `IFluidHandle`.
206
214
 
207
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
215
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
208
216
 
209
- - core-interfaces: Removed IFluidRouter and IProvideFluidRouter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
217
+ - core-interfaces: Removed IFluidRouter and IProvideFluidRouter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
210
218
 
211
- The `IFluidRouter` and `IProvideFluidRouter` interfaces have been removed. Please migrate all usage to the new `entryPoint` pattern.
219
+ The `IFluidRouter` and `IProvideFluidRouter` interfaces have been removed. Please migrate all usage to the new `entryPoint` pattern.
212
220
 
213
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
221
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
214
222
 
215
223
  ## 2.0.0-internal.7.4.0
216
224
 
217
225
  ### Minor Changes
218
226
 
219
- - telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
227
+ - telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
220
228
 
221
- The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
222
- The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
223
- @fluidframework/core-interfaces.
229
+ The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
230
+ The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
231
+ @fluidframework/core-interfaces.
224
232
 
225
233
  ## 2.0.0-internal.7.3.0
226
234
 
@@ -238,31 +246,31 @@ Dependency updates only.
238
246
 
239
247
  ### Major Changes
240
248
 
241
- - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
249
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
242
250
 
243
- The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
251
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
244
252
 
245
- - `BaseContainerRuntimeFactory`
246
- - `RuntimeFactory`
247
- - `ContainerRuntime` (constructor and `loadRuntime`)
248
- - `FluidDataStoreRuntime`
253
+ - `BaseContainerRuntimeFactory`
254
+ - `RuntimeFactory`
255
+ - `ContainerRuntime` (constructor and `loadRuntime`)
256
+ - `FluidDataStoreRuntime`
249
257
 
250
- See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
251
- See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
258
+ See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
259
+ See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
252
260
 
253
- Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
261
+ Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
254
262
 
255
- For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
263
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
256
264
 
257
- - DEPRECATED: core-interfaces: IFluidRouter and IProvideFluidRouter deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
265
+ - DEPRECATED: core-interfaces: IFluidRouter and IProvideFluidRouter deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
258
266
 
259
- `IFluidRouter` and `IProvideFluidRouter` have been deprecated. Please remove all usages of these interfaces and migrate to the new `entryPoint` pattern.
267
+ `IFluidRouter` and `IProvideFluidRouter` have been deprecated. Please remove all usages of these interfaces and migrate to the new `entryPoint` pattern.
260
268
 
261
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
269
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
262
270
 
263
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
271
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
264
272
 
265
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
273
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
266
274
 
267
275
  ## 2.0.0-internal.6.4.0
268
276
 
@@ -272,60 +280,60 @@ Dependency updates only.
272
280
 
273
281
  ### Minor Changes
274
282
 
275
- - Cleaning up duplicate or misnamed telemetry types ([#17149](https://github.com/microsoft/FluidFramework/issues/17149)) [f9236942fa](https://github.com/microsoft/FluidFramework/commits/f9236942faf03cde860bfcbc7c28f8fbd81d3868)
283
+ - Cleaning up duplicate or misnamed telemetry types ([#17149](https://github.com/microsoft/FluidFramework/issues/17149)) [f9236942fa](https://github.com/microsoft/FluidFramework/commits/f9236942faf03cde860bfcbc7c28f8fbd81d3868)
276
284
 
277
- We have two sets of telemetry-related interfaces:
285
+ We have two sets of telemetry-related interfaces:
278
286
 
279
- - The "Base" ones
280
- - These have a very bare API surface
281
- - They are used on public API surfaces to transmit logs across layers
282
- - The internal ones
283
- - These have a richer API surface (multiple log functions with different categories,
284
- support for logging flat arrays and objects)
285
- - They are used for instrumenting our code, and then normalize and pass off the logs via the Base interface
287
+ - The "Base" ones
288
+ - These have a very bare API surface
289
+ - They are used on public API surfaces to transmit logs across layers
290
+ - The internal ones
291
+ - These have a richer API surface (multiple log functions with different categories,
292
+ support for logging flat arrays and objects)
293
+ - They are used for instrumenting our code, and then normalize and pass off the logs via the Base interface
286
294
 
287
- There are two problems with the given state of the world:
295
+ There are two problems with the given state of the world:
288
296
 
289
- 1. The "Base" ones were not named consistently, so the distinction was not as apparent as it could be
290
- 2. The internal ones were copied to `@fluidframework/telemetry-utils` and futher extended, but the original duplicates remain.
297
+ 1. The "Base" ones were not named consistently, so the distinction was not as apparent as it could be
298
+ 2. The internal ones were copied to `@fluidframework/telemetry-utils` and futher extended, but the original duplicates remain.
291
299
 
292
- This change addresses these by adding "Base" to the name of each base type, and deprecating the old duplicate internal types.
300
+ This change addresses these by adding "Base" to the name of each base type, and deprecating the old duplicate internal types.
293
301
 
294
- Additionally, the following types were adjusted:
302
+ Additionally, the following types were adjusted:
295
303
 
296
- - `TelemetryEventCategory` is moving from `@fluidframework/core-interfaces` to `@fluidframework/telemetry-utils`
297
- - Several types modeling "tagged" telemetry properties are deprecated in favor of a generic type `Tagged<V>`
304
+ - `TelemetryEventCategory` is moving from `@fluidframework/core-interfaces` to `@fluidframework/telemetry-utils`
305
+ - Several types modeling "tagged" telemetry properties are deprecated in favor of a generic type `Tagged<V>`
298
306
 
299
307
  ## 2.0.0-internal.6.2.0
300
308
 
301
309
  ### Minor Changes
302
310
 
303
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
304
-
305
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
306
- imported from the **@fluidframework/core-interfaces** package:
307
-
308
- - interface IDisposable
309
- - interface IErrorEvent
310
- - interface IErrorEvent
311
- - interface IEvent
312
- - interface IEventProvider
313
- - interface ILoggingError
314
- - interface ITaggedTelemetryPropertyType
315
- - interface ITelemetryBaseEvent
316
- - interface ITelemetryBaseLogger
317
- - interface ITelemetryErrorEvent
318
- - interface ITelemetryGenericEvent
319
- - interface ITelemetryLogger
320
- - interface ITelemetryPerformanceEvent
321
- - interface ITelemetryProperties
322
- - type ExtendEventProvider
323
- - type IEventThisPlaceHolder
324
- - type IEventTransformer
325
- - type ReplaceIEventThisPlaceHolder
326
- - type ReplaceIEventThisPlaceHolder
327
- - type TelemetryEventCategory
328
- - type TelemetryEventPropertyType
311
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
312
+
313
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
314
+ imported from the **@fluidframework/core-interfaces** package:
315
+
316
+ - interface IDisposable
317
+ - interface IErrorEvent
318
+ - interface IErrorEvent
319
+ - interface IEvent
320
+ - interface IEventProvider
321
+ - interface ILoggingError
322
+ - interface ITaggedTelemetryPropertyType
323
+ - interface ITelemetryBaseEvent
324
+ - interface ITelemetryBaseLogger
325
+ - interface ITelemetryErrorEvent
326
+ - interface ITelemetryGenericEvent
327
+ - interface ITelemetryLogger
328
+ - interface ITelemetryPerformanceEvent
329
+ - interface ITelemetryProperties
330
+ - type ExtendEventProvider
331
+ - type IEventThisPlaceHolder
332
+ - type IEventTransformer
333
+ - type ReplaceIEventThisPlaceHolder
334
+ - type ReplaceIEventThisPlaceHolder
335
+ - type TelemetryEventCategory
336
+ - type TelemetryEventPropertyType
329
337
 
330
338
  ## 2.0.0-internal.6.1.0
331
339
 
@@ -335,9 +343,9 @@ Dependency updates only.
335
343
 
336
344
  ### Major Changes
337
345
 
338
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
346
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
339
347
 
340
- Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
348
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
341
349
 
342
350
  ## 2.0.0-internal.5.4.0
343
351
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
3
  "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.json",
4
- "mainEntryPointFilePath": "<projectFolder>/lib/index.d.ts"
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/internal.d.ts"
5
5
  }