@fluidframework/runtime-definitions 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419
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/.eslintrc.cjs +12 -0
- package/CHANGELOG.md +330 -0
- package/README.md +43 -7
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/runtime-definitions.api.md +474 -0
- package/dist/attribution.d.ts +71 -0
- package/dist/attribution.d.ts.map +1 -0
- package/dist/attribution.js +7 -0
- package/dist/attribution.js.map +1 -0
- package/dist/dataStoreContext.d.ts +114 -61
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +27 -5
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreFactory.d.ts +7 -0
- package/dist/dataStoreFactory.d.ts.map +1 -1
- package/dist/dataStoreFactory.js +3 -0
- package/dist/dataStoreFactory.js.map +1 -1
- package/dist/dataStoreRegistry.d.ts +14 -4
- package/dist/dataStoreRegistry.d.ts.map +1 -1
- package/dist/dataStoreRegistry.js +3 -0
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/garbageCollection.d.ts +35 -10
- package/dist/garbageCollection.d.ts.map +1 -1
- package/dist/garbageCollection.js +25 -3
- package/dist/garbageCollection.js.map +1 -1
- package/dist/index.d.ts +52 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -16
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +10 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runtime-definitions-alpha.d.ts +993 -0
- package/dist/runtime-definitions-beta.d.ts +264 -0
- package/dist/runtime-definitions-public.d.ts +264 -0
- package/dist/runtime-definitions-untrimmed.d.ts +1068 -0
- package/dist/summary.d.ts +138 -70
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +13 -1
- package/dist/summary.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/package.json +96 -42
- package/prettier.config.cjs +8 -0
- package/src/aliasing.md +42 -0
- package/src/attribution.ts +78 -0
- package/src/dataStoreContext.ts +432 -388
- package/src/dataStoreFactory.ts +21 -11
- package/src/dataStoreRegistry.ts +18 -6
- package/src/garbageCollection.ts +38 -15
- package/src/index.ts +111 -6
- package/src/protocol.ts +46 -38
- package/src/summary.ts +298 -225
- package/tsconfig.json +10 -12
- 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
|
-
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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 -->
|
package/api-extractor.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
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
|
}
|