@fluidframework/runtime-definitions 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277

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 (55) hide show
  1. package/.eslintrc.cjs +12 -0
  2. package/CHANGELOG.md +330 -0
  3. package/README.md +43 -7
  4. package/api-extractor-lint.json +4 -0
  5. package/api-extractor.json +2 -2
  6. package/api-report/runtime-definitions.api.md +474 -0
  7. package/dist/attribution.d.ts +71 -0
  8. package/dist/attribution.d.ts.map +1 -0
  9. package/dist/attribution.js +7 -0
  10. package/dist/attribution.js.map +1 -0
  11. package/dist/dataStoreContext.d.ts +114 -61
  12. package/dist/dataStoreContext.d.ts.map +1 -1
  13. package/dist/dataStoreContext.js +27 -5
  14. package/dist/dataStoreContext.js.map +1 -1
  15. package/dist/dataStoreFactory.d.ts +7 -0
  16. package/dist/dataStoreFactory.d.ts.map +1 -1
  17. package/dist/dataStoreFactory.js +3 -0
  18. package/dist/dataStoreFactory.js.map +1 -1
  19. package/dist/dataStoreRegistry.d.ts +14 -4
  20. package/dist/dataStoreRegistry.d.ts.map +1 -1
  21. package/dist/dataStoreRegistry.js +3 -0
  22. package/dist/dataStoreRegistry.js.map +1 -1
  23. package/dist/garbageCollection.d.ts +35 -10
  24. package/dist/garbageCollection.d.ts.map +1 -1
  25. package/dist/garbageCollection.js +25 -3
  26. package/dist/garbageCollection.js.map +1 -1
  27. package/dist/index.d.ts +52 -6
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +26 -16
  30. package/dist/index.js.map +1 -1
  31. package/dist/protocol.d.ts +10 -3
  32. package/dist/protocol.d.ts.map +1 -1
  33. package/dist/protocol.js.map +1 -1
  34. package/dist/runtime-definitions-alpha.d.ts +993 -0
  35. package/dist/runtime-definitions-beta.d.ts +264 -0
  36. package/dist/runtime-definitions-public.d.ts +264 -0
  37. package/dist/runtime-definitions-untrimmed.d.ts +1068 -0
  38. package/dist/summary.d.ts +138 -70
  39. package/dist/summary.d.ts.map +1 -1
  40. package/dist/summary.js +13 -1
  41. package/dist/summary.js.map +1 -1
  42. package/dist/tsdoc-metadata.json +11 -0
  43. package/package.json +100 -40
  44. package/prettier.config.cjs +8 -0
  45. package/src/aliasing.md +42 -0
  46. package/src/attribution.ts +78 -0
  47. package/src/dataStoreContext.ts +432 -388
  48. package/src/dataStoreFactory.ts +21 -11
  49. package/src/dataStoreRegistry.ts +18 -6
  50. package/src/garbageCollection.ts +38 -15
  51. package/src/index.ts +111 -6
  52. package/src/protocol.ts +46 -38
  53. package/src/summary.ts +298 -225
  54. package/tsconfig.json +10 -12
  55. package/.eslintrc.js +0 -13
package/.eslintrc.cjs ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ module.exports = {
7
+ parserOptions: {
8
+ project: ["./tsconfig.json", "./src/test/tsconfig.json"],
9
+ },
10
+ extends: ["@fluidframework/eslint-config-fluid/minimal", "prettier"],
11
+ plugins: ["deprecation"],
12
+ };
package/CHANGELOG.md ADDED
@@ -0,0 +1,330 @@
1
+ # @fluidframework/runtime-definitions
2
+
3
+ ## 2.0.0-internal.8.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - container-runtime-definitions: Removed resolveHandle and IFluidHandleContext from ContainerRuntime interfaces [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
8
+
9
+ The `IContainerRuntime.resolveHandle(...)` method and the `IContainerRuntimeBase.IFluidHandleContext` property have been
10
+ removed. Please remove all usage of these APIs.
11
+
12
+ See
13
+ [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
14
+ for more details.
15
+
16
+ - container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
17
+
18
+ The `request(...)` method and `IFluidRouter` property have been removed from the following places:
19
+
20
+ - `ContainerRuntime`
21
+ - `IRuntime`
22
+ - `IContainerRuntimeBase`
23
+
24
+ Please use the `IRuntime.getEntryPoint()` method to get the runtime's entry point.
25
+
26
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
27
+
28
+ - runtime-definitions: Removed IFluidRouter from IFluidDataStoreChannel and FluidDataStoreRuntime [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
29
+
30
+ The `IFluidRouter` property has been removed from `IFluidDataStoreChannel` and `FluidDataStoreRuntime`. Please migrate
31
+ all usage to the `IFluidDataStoreChannel.entryPoint` API.
32
+
33
+ See
34
+ [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
35
+ for more details.
36
+
37
+ - runtime-definitions: Removed request and IFluidRouter from IDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
38
+
39
+ The `request` method and `IFluidRouter` property have been removed from `IDataStore`. Please migrate all usage to the `IDataStore.entryPoint` API.
40
+
41
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
42
+
43
+ ## 2.0.0-internal.7.4.0
44
+
45
+ ### Minor Changes
46
+
47
+ - container-runtime/runtime-definitions: `IdCompressor` and related types deprecated ([#18749](https://github.com/microsoft/FluidFramework/issues/18749)) [6f070179de](https://github.com/microsoft/FluidFramework/commits/6f070179ded7c2f4398252f75485e85b39725419)
48
+
49
+ `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
50
+ packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.
51
+
52
+ The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
53
+ `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
54
+
55
+ ## 2.0.0-internal.7.3.0
56
+
57
+ Dependency updates only.
58
+
59
+ ## 2.0.0-internal.7.2.0
60
+
61
+ Dependency updates only.
62
+
63
+ ## 2.0.0-internal.7.1.0
64
+
65
+ Dependency updates only.
66
+
67
+ ## 2.0.0-internal.7.0.0
68
+
69
+ ### Major Changes
70
+
71
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
72
+
73
+ This included the following changes from the protocol-definitions release:
74
+
75
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
76
+ submitted by clients to the server and the resulting signals sent from the server to clients.
77
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
78
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
79
+ ISignalMessageBase interface that contains common members.
80
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
81
+
82
+ - runtime-definitions: `bindToContext` API removed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
83
+
84
+ `bindToContext` has been removed from `FluidDataStoreRuntime`, `IFluidDataStoreContext` and
85
+ `MockFluidDataStoreContext`. This has been deprecated for several releases and cannot be used anymore.
86
+
87
+ - DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
88
+
89
+ The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
90
+
91
+ - `IContainerRuntime`
92
+ - `IContainerRuntimeBase`
93
+
94
+ Requesting arbitrary URLs has been deprecated on `IContainerRuntime`. Please migrate all usage to the `IContainerRuntime.getEntryPoint()` method if trying to obtain the application-specified root object.
95
+
96
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
97
+
98
+ - container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
99
+
100
+ `IFluidRouter` and `request({ url: "/" })` on `IContainer` and `IDataStore` are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate `getEntryPoint()` or `entryPoint` APIs.
101
+
102
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
103
+
104
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
105
+
106
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
107
+
108
+ - @fluidframework/gitresources: 2.0.1
109
+ - @fluidframework/server-kafka-orderer: 2.0.1
110
+ - @fluidframework/server-lambdas: 2.0.1
111
+ - @fluidframework/server-lambdas-driver: 2.0.1
112
+ - @fluidframework/server-local-server: 2.0.1
113
+ - @fluidframework/server-memory-orderer: 2.0.1
114
+ - @fluidframework/protocol-base: 2.0.1
115
+ - @fluidframework/server-routerlicious: 2.0.1
116
+ - @fluidframework/server-routerlicious-base: 2.0.1
117
+ - @fluidframework/server-services: 2.0.1
118
+ - @fluidframework/server-services-client: 2.0.1
119
+ - @fluidframework/server-services-core: 2.0.1
120
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
121
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
122
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
123
+ - @fluidframework/server-services-shared: 2.0.1
124
+ - @fluidframework/server-services-telemetry: 2.0.1
125
+ - @fluidframework/server-services-utils: 2.0.1
126
+ - @fluidframework/server-test-utils: 2.0.1
127
+ - tinylicious: 2.0.1
128
+
129
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
130
+
131
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
132
+
133
+ - `BaseContainerRuntimeFactory`
134
+ - `RuntimeFactory`
135
+ - `ContainerRuntime` (constructor and `loadRuntime`)
136
+ - `FluidDataStoreRuntime`
137
+
138
+ 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.
139
+ 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.
140
+
141
+ 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.
142
+
143
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
144
+
145
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
146
+
147
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
148
+
149
+ ## 2.0.0-internal.6.4.0
150
+
151
+ ### Minor Changes
152
+
153
+ - Upcoming: The type of the logger property/param in various APIs will be changing ([#17350](https://github.com/microsoft/FluidFramework/issues/17350)) [27284bcda3](https://github.com/microsoft/FluidFramework/commits/27284bcda3d63cc4306cf76806f8a075db0db60f)
154
+
155
+ - @fluidframework/runtime-definitions
156
+ - `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
157
+ - @fluidframework/odsp-driver
158
+ - `protected OdspDocumentServiceFactoryCore.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
159
+ - `protected LocalOdspDocumentServiceFactory.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
160
+
161
+ Additionally, several of @fluidframework/telemetry-utils's exports are being marked as internal and should not be consumed outside of other FF packages.
162
+
163
+ ## 2.0.0-internal.6.3.0
164
+
165
+ Dependency updates only.
166
+
167
+ ## 2.0.0-internal.6.2.0
168
+
169
+ ### Minor Changes
170
+
171
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
172
+
173
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
174
+ imported from the **@fluidframework/core-interfaces** package:
175
+
176
+ - interface IDisposable
177
+ - interface IErrorEvent
178
+ - interface IErrorEvent
179
+ - interface IEvent
180
+ - interface IEventProvider
181
+ - interface ILoggingError
182
+ - interface ITaggedTelemetryPropertyType
183
+ - interface ITelemetryBaseEvent
184
+ - interface ITelemetryBaseLogger
185
+ - interface ITelemetryErrorEvent
186
+ - interface ITelemetryGenericEvent
187
+ - interface ITelemetryLogger
188
+ - interface ITelemetryPerformanceEvent
189
+ - interface ITelemetryProperties
190
+ - type ExtendEventProvider
191
+ - type IEventThisPlaceHolder
192
+ - type IEventTransformer
193
+ - type ReplaceIEventThisPlaceHolder
194
+ - type ReplaceIEventThisPlaceHolder
195
+ - type TelemetryEventCategory
196
+ - type TelemetryEventPropertyType
197
+
198
+ ## 2.0.0-internal.6.1.0
199
+
200
+ Dependency updates only.
201
+
202
+ ## 2.0.0-internal.6.0.0
203
+
204
+ ### Major Changes
205
+
206
+ - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
207
+
208
+ The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
209
+
210
+ - `IRuntime` and `ContainerRuntime`
211
+ - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
212
+ - `IFluidDataStoreChannel`
213
+ - `MockFluidDataStoreRuntime`
214
+ - `TestFluidObject`
215
+
216
+ Please migrate usage to the corresponding `entryPoint` or `getEntryPoint()` of the object. The value for these "entryPoint" related APIs is determined from factories (for `IRuntime` and `IFluidDataStoreRuntime`) via the `initializeEntryPoint` method. If no method is passed to the factory, the corresponding `entryPoint` and `getEntryPoint()` will be undefined.
217
+
218
+ For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/next/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
219
+
220
+ More information of the migration off the request pattern, and current status of its removal, is documented in [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md).
221
+
222
+ - IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
223
+
224
+ - The `request` function taking an arbitrary URL and headers is deprecated
225
+ - However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
226
+ from the request pattern to using entryPoint.
227
+
228
+ ### About requesting "/" and using entryPoint
229
+
230
+ Requesting "/" is an idiom some consumers of Fluid Framework have used in their own `requestHandler`s
231
+ (passed to `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor).
232
+ The ability to access the "root" or "entry point" of a Container / DataStore will presently be provided by
233
+ `IContainer.getEntryPoint` and `IDataStore.entryPoint`. However these are still optional, so a temporary workaround is needed.
234
+
235
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
236
+ for more info on this transition from request to entryPoint.
237
+
238
+ ### Present Replacement for requesting an arbitrary URL
239
+
240
+ Suppose you have these variables:
241
+
242
+ ```ts
243
+ const container: IContainer = ...;
244
+ const dataStore: IDataStore = ...;
245
+ ```
246
+
247
+ Before:
248
+
249
+ ```ts
250
+ container.request({ url, headers });
251
+ dataStore.request({ url, headers });
252
+ ```
253
+
254
+ After:
255
+
256
+ ```ts
257
+ // Assume there is an interface like this in the app's Container implementation
258
+ interface CustomUrlRouter {
259
+ doRequestRouting(request: { url: string; headers: Record<string, any>; }): any;
260
+ }
261
+
262
+ // Prerequisite: Pass a requestHandler to ContainerRuntime.loadRuntime that routes "/"
263
+ // to some root object implementing CustomUrlRouter
264
+ const containerRouter: CustomUrlRouter = await container.request({ "/" });
265
+ containerRouter.doRequestRouting({ url, headers });
266
+
267
+ // Prerequisite: Pass a requestHandler to FluidDataStoreRuntime's constructor that routes "/"
268
+ // to some root object implementing CustomUrlRouter
269
+ const dataStoreRouter: CustomUrlRouter = await dataStore.request({ "/" });
270
+ dataStoreRouter.doRequestRouting({ url, headers });
271
+ ```
272
+
273
+ ### Looking ahead to using entryPoint
274
+
275
+ In the next major release, `getEntryPoint` and `entryPoint` should be mandatory and available for use.
276
+ Then you may replace each call `request({ url: "/" })` with a call to get the entryPoint using these functions/properties.
277
+
278
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
279
+
280
+ 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.
281
+
282
+ - IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
283
+
284
+ IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
285
+
286
+ ## 2.0.0-internal.5.4.0
287
+
288
+ Dependency updates only.
289
+
290
+ ## 2.0.0-internal.5.3.0
291
+
292
+ Dependency updates only.
293
+
294
+ ## 2.0.0-internal.5.2.0
295
+
296
+ Dependency updates only.
297
+
298
+ ## 2.0.0-internal.5.1.0
299
+
300
+ Dependency updates only.
301
+
302
+ ## 2.0.0-internal.5.0.0
303
+
304
+ ### Major Changes
305
+
306
+ - GC interfaces removed from runtime-definitions [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
307
+
308
+ The following interfaces available in `@fluidframework/runtime-definitions` were deprecated in 2.0.0-internal.4.1.0 and are now removed.
309
+
310
+ - `IGarbageCollectionNodeData`
311
+ - `IGarbageCollectionState`
312
+ - `IGarbageCollectionSnapshotData`
313
+ - `IGarbageCollectionSummaryDetailsLegacy`
314
+
315
+ ## 2.0.0-internal.4.4.0
316
+
317
+ Dependency updates only.
318
+
319
+ ## 2.0.0-internal.4.1.0
320
+
321
+ ### Minor Changes
322
+
323
+ - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
324
+
325
+ The following interfaces available in `@fluidframework/runtime-definitions` are internal implementation details and have been deprecated for public use. They will be removed in an upcoming release.
326
+
327
+ - `IGarbageCollectionNodeData`
328
+ - `IGarbageCollectionState`
329
+ - `IGarbageCollectionSnapshotData`
330
+ - `IGarbageCollectionSummaryDetailsLegacy`
package/README.md CHANGED
@@ -2,13 +2,49 @@
2
2
 
3
3
  Contains handshake interfaces for communication between the container runtime layer and the data store runtime layer.
4
4
 
5
- - `IFluidDataStoreRuntimeChannel` includes the minimal set of data and functionalities that are needed by the ContainerRuntime to bind and control a FluidDataStoreRuntime, including attach, snapshot, op/signal processing, request routes, and connection state notifications.
6
- - `IFluidDataStoreContext` includes data and function provided by the container layer and used by the data store layer for information about the container, to send ops and signals, data store creation, etc.
7
- - Agent/Task related interfaces, since the agent scheduler is included by default by the container layer, and data stores can make use of it
8
- - `IFluidDataStoreFactory` and `IFluidDataStoreRegistry` definitions
9
- - Common protocol structures that are not related to back-compat between the layer: `IAttachMessage`, `IEnvelope`, `ISignalEnvelope`, `IInboundSignalMessage`.
10
- - `IContainerRuntimeBase` is a temporary interface that includes a reduced set of data and functionalities from `IContainerRuntime` that the IFluidDataStoreRuntimeChannel or data store writer will need from `ContainerRuntime`.Eventually, all of the these should be shim by the `IFluidDataStoreContext`
5
+ <!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->
6
+
7
+ <!-- prettier-ignore-start -->
8
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
9
+
10
+ ## Using Fluid Framework libraries
11
+
12
+ When taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.
13
+ While Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,
14
+ library consumers should always prefer `^`.
15
+
16
+ Note that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,
17
+ you must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).
18
+ Standard `^` and `~` ranges will not work as expected.
19
+ See the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)
20
+ package for more information including tools to convert between version schemes.
21
+
22
+ <!-- prettier-ignore-end -->
23
+
24
+ <!-- AUTO-GENERATED-CONTENT:END -->
25
+
26
+ - `IFluidDataStoreRuntimeChannel` includes the minimal set of data and functionalities that are needed by the ContainerRuntime to bind and control a FluidDataStoreRuntime, including attach, snapshot, op/signal processing, request routes, and connection state notifications.
27
+ - `IFluidDataStoreContext` includes data and function provided by the container layer and used by the data store layer for information about the container, to send ops and signals, data store creation, etc.
28
+ - Agent/Task related interfaces, since the agent scheduler is included by default by the container layer, and data stores can make use of it
29
+ - `IFluidDataStoreFactory` and `IFluidDataStoreRegistry` definitions
30
+ - Common protocol structures that are not related to back-compat between the layer: `IAttachMessage`, `IEnvelope`, `ISignalEnvelope`, `IInboundSignalMessage`.
31
+ - `IContainerRuntimeBase` is a temporary interface that includes a reduced set of data and functionalities from `IContainerRuntime` that the IFluidDataStoreRuntimeChannel or data store writer will need from `ContainerRuntime`.Eventually, all of the these should be shim by the `IFluidDataStoreContext`
11
32
 
12
33
  These interfaces needs to have strong back-compat guaranetee to support dynamic data store loading scenario where the FluidDataStoreRuntime might be built with different version.
13
34
 
14
- See [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.
35
+ <!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->
36
+
37
+ <!-- prettier-ignore-start -->
38
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
39
+
40
+ ## Trademark
41
+
42
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
43
+
44
+ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
45
+
46
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
47
+
48
+ <!-- prettier-ignore-end -->
49
+
50
+ <!-- AUTO-GENERATED-CONTENT:END -->
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json"
4
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "@fluidframework/build-common/api-extractor-common-report.json"
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.json"
4
4
  }