@fluidframework/datastore-definitions 2.0.0-dev.7.4.0.215930 → 2.0.0-dev.7.4.0.216897

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.
@@ -5,442 +5,74 @@
5
5
  * @packageDocumentation
6
6
  */
7
7
 
8
- import { AttachState } from '@fluidframework/container-definitions';
9
- import { FluidObject } from '@fluidframework/core-interfaces';
10
- import { IAudience } from '@fluidframework/container-definitions';
11
- import { IDeltaManager } from '@fluidframework/container-definitions';
12
- import { IDisposable } from '@fluidframework/core-interfaces';
13
8
  import { IDocumentMessage } from '@fluidframework/protocol-definitions';
14
- import { IEvent } from '@fluidframework/core-interfaces';
15
- import { IEventProvider } from '@fluidframework/core-interfaces';
16
- import { IExperimentalIncrementalSummaryContext } from '@fluidframework/runtime-definitions';
17
- import { IFluidHandle } from '@fluidframework/core-interfaces';
18
- import { IFluidHandleContext } from '@fluidframework/core-interfaces';
19
- import { IFluidLoadable } from '@fluidframework/core-interfaces';
20
- import { IFluidRouter } from '@fluidframework/core-interfaces';
21
- import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
22
- import { IIdCompressor } from '@fluidframework/runtime-definitions';
23
- import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
24
- import { ILoaderOptions } from '@fluidframework/container-definitions';
25
- import { IProvideFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
26
9
  import { IQuorumClients } from '@fluidframework/protocol-definitions';
27
- import { IRequest } from '@fluidframework/core-interfaces';
28
- import { IResponse } from '@fluidframework/core-interfaces';
29
10
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
30
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
31
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
32
- import { ITelemetryLogger } from '@fluidframework/core-interfaces';
33
-
34
- export declare interface IChannel extends IFluidLoadable {
35
- /**
36
- * A readonly identifier for the channel
37
- */
38
- readonly id: string;
39
- readonly attributes: IChannelAttributes;
40
- /**
41
- * Generates summary of the channel synchronously. It is called when an `attach message`
42
- * for a local channel is generated. In other words, when the channel is being attached
43
- * to make it visible to other clients.
44
- *
45
- * @remarks
46
- *
47
- * Note: Since the Attach Summary is generated for local channels when making them visible to
48
- * remote clients, they don't have any previous summaries to compare against. For this reason,
49
- * the attach summary cannot contain summary handles (paths to sub-trees or blobs).
50
- * It can, however, contain {@link @fluidframework/protocol-definitions#ISummaryAttachment}
51
- * (handles to blobs uploaded async via the blob manager).
52
- *
53
- * @param fullTree - A flag indicating whether the attempt should generate a full
54
- * summary tree without any handles for unchanged subtrees.
55
- *
56
- * Default: `false`
57
- *
58
- * @param trackState - An optimization for tracking state of objects across summaries. If the state
59
- * of an object did not change since last successful summary, an
60
- * {@link @fluidframework/protocol-definitions#ISummaryHandle} can be used
61
- * instead of re-summarizing it. If this is `false`, the expectation is that you should never
62
- * send an `ISummaryHandle`, since you are not expected to track state.
63
- *
64
- * Note: The goal is to remove the trackState and automatically decided whether the
65
- * handles will be used or not: {@link https://github.com/microsoft/FluidFramework/issues/10455}
66
- *
67
- * Default: `false`
68
- *
69
- * @param telemetryContext - See {@link @fluidframework/runtime-definitions#ITelemetryContext}.
70
- *
71
- * @returns A summary capturing the current state of the channel.
72
- */
73
- getAttachSummary(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
74
- /**
75
- * Generates summary of the channel asynchronously.
76
- * This should not be called where the channel can be modified while summarization is in progress.
77
- *
78
- * @param fullTree - flag indicating whether the attempt should generate a full
79
- * summary tree without any handles for unchanged subtrees. It should only be set to true when generating
80
- * a summary from the entire container.
81
- *
82
- * Default: `false`
83
- *
84
- * @param trackState - An optimization for tracking state of objects across summaries. If the state
85
- * of an object did not change since last successful summary, an
86
- * {@link @fluidframework/protocol-definitions#ISummaryHandle} can be used
87
- * instead of re-summarizing it. If this is `false`, the expectation is that you should never
88
- * send an `ISummaryHandle`, since you are not expected to track state.
89
- *
90
- * Default: `false`
91
- *
92
- * Note: The goal is to remove the trackState and automatically decided whether the
93
- * handles will be used or not: {@link https://github.com/microsoft/FluidFramework/issues/10455}
94
- *
95
- * @param telemetryContext - See {@link @fluidframework/runtime-definitions#ITelemetryContext}.
96
- *
97
- * @returns A summary capturing the current state of the channel.
98
- */
99
- summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext): Promise<ISummaryTreeWithStats>;
100
- /**
101
- * Checks if the channel is attached to storage.
102
- * @returns True iff the channel is attached.
103
- */
104
- isAttached(): boolean;
105
- /**
106
- * Enables the channel to send and receive ops.
107
- * @param services - The services to connect to.
108
- */
109
- connect(services: IChannelServices): void;
110
- /**
111
- * Returns the GC data for this channel. It contains a list of GC nodes that contains references to
112
- * other GC nodes.
113
- * @param fullGC - true to bypass optimizations and force full generation of GC data.
114
- */
115
- getGCData(fullGC?: boolean): IGarbageCollectionData;
116
- }
117
11
 
118
- /**
119
- * Represents the attributes of a channel/DDS.
120
- */
121
- export declare interface IChannelAttributes {
122
- /**
123
- * Type name of the DDS for factory look up with ISharedObjectRegistry
124
- */
125
- readonly type: string;
126
- /**
127
- * Format version of the snapshot
128
- * Currently, only use to display a debug message if the version is incompatible
129
- */
130
- readonly snapshotFormatVersion: string;
131
- /**
132
- * The package version of the code of the DDS, for debug only
133
- */
134
- readonly packageVersion?: string;
135
- }
12
+ /* Excluded from this release type: AttachState */
136
13
 
137
- /**
138
- * Definitions of a channel factory.
139
- *
140
- * @remarks
141
- *
142
- * The runtime must be able to produce "channels" of the correct in-memory object type for the collaborative session.
143
- * Here "channels" are typically distributed data structures (DDSs).
144
- *
145
- * The runtime will consult with a registry of such factories during
146
- * {@link https://fluidframework.com/docs/build/containers/ | Container} load and when receiving "attach" operations
147
- * (ops), which indicate a new instance of a channel being introduced to the collaboration session, to produce the
148
- * appropriate in-memory object.
149
- *
150
- * Factories follow a common model but enable custom behavior.
151
- *
152
- * @example
153
- *
154
- * If a collaboration includes a {@link https://fluidframework.com/docs/data-structures/map/ | SharedMap},
155
- * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
156
- */
157
- export declare interface IChannelFactory {
158
- /**
159
- * String representing the type of the factory.
160
- */
161
- readonly type: string;
162
- /**
163
- * Attributes of the channel.
164
- */
165
- readonly attributes: IChannelAttributes;
166
- /**
167
- * Loads the given channel. This call is only ever invoked internally as the only thing
168
- * that is ever directly loaded is the document itself. Load will then only be called on documents that
169
- * were created and added to a channel.
170
- * @param runtime - Data store runtime containing state/info/helper methods about the data store.
171
- * @param id - ID of the channel.
172
- * @param services - Services to read objects at a given path using the delta connection.
173
- * @param channelAttributes - The attributes for the the channel to be loaded.
174
- * @returns The loaded object
175
- *
176
- * @privateRemarks
177
- * Thought: should the storage object include the version information and limit access to just files
178
- * for the given object? The latter seems good in general. But both are probably good things. We then just
179
- * need a way to allow the document to provide later storage for the object.
180
- */
181
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, channelAttributes: Readonly<IChannelAttributes>): Promise<IChannel>;
182
- /**
183
- * Creates a local version of the channel.
184
- * Calling attach on the object later will insert it into the object stream.
185
- * @param runtime - The runtime the new object will be associated with
186
- * @param id - The unique ID of the new object
187
- * @returns The newly created object.
188
- *
189
- * @privateRemarks
190
- * NOTE here - When we attach we need to submit all the pending ops prior to actually doing the attach
191
- * for consistency.
192
- */
193
- create(runtime: IFluidDataStoreRuntime, id: string): IChannel;
194
- }
14
+ /* Excluded from this release type: FluidObject */
195
15
 
196
- /**
197
- * Storage services to read the objects at a given path using the given delta connection.
198
- */
199
- export declare interface IChannelServices {
200
- deltaConnection: IDeltaConnection;
201
- objectStorage: IChannelStorageService;
202
- }
16
+ /* Excluded from this release type: IAudience */
203
17
 
204
- /**
205
- * Storage services to read the objects at a given path.
206
- */
207
- export declare interface IChannelStorageService {
208
- /**
209
- * Reads the object contained at the given path. Returns a buffer representation for the object.
210
- */
211
- readBlob(path: string): Promise<ArrayBufferLike>;
212
- /**
213
- * Determines if there is an object contained at the given path.
214
- */
215
- contains(path: string): Promise<boolean>;
216
- /**
217
- * Lists the blobs that exist at a specific path.
218
- */
219
- list(path: string): Promise<string[]>;
220
- }
18
+ /* Excluded from this release type: IChannel */
221
19
 
222
- /**
223
- * Interface to represent a connection to a delta notification stream.
224
- */
225
- export declare interface IDeltaConnection {
226
- connected: boolean;
227
- /**
228
- * Send new messages to the server.
229
- * @param messageContent - The content of the message to be sent.
230
- * @param localOpMetadata - The local metadata associated with the message. This is kept locally by the runtime
231
- * and not sent to the server. It will be provided back when this message is acknowledged by the server. It will
232
- * also be provided back when asked to resubmit the message.
233
- */
234
- submit(messageContent: any, localOpMetadata: unknown): void;
235
- /**
236
- * Attaches a message handler to the delta connection
237
- */
238
- attach(handler: IDeltaHandler): void;
239
- /**
240
- * Indicates that the channel is dirty and needs to be part of the summary. It is called by a SharedSummaryBlock
241
- * that needs to be part of the summary but does not generate ops.
242
- */
243
- dirty(): void;
244
- /**
245
- * Called when a new outbound reference is added to another node. This is used by garbage collection to identify
246
- * all references added in the system.
247
- * @param srcHandle - The handle of the node that added the reference.
248
- * @param outboundHandle - The handle of the outbound node that is referenced.
249
- */
250
- addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;
251
- }
20
+ /* Excluded from this release type: IChannelAttributes */
252
21
 
253
- /**
254
- * Handler provided by shared data structure to process requests from the runtime.
255
- */
256
- export declare interface IDeltaHandler {
257
- /**
258
- * Processes the op.
259
- * @param message - The message to process
260
- * @param local - Whether the message originated from the local client
261
- * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
262
- * For messages from a remote client, this will be undefined.
263
- */
264
- process: (message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown) => void;
265
- /**
266
- * State change events to indicate changes to the delta connection
267
- * @param connected - true if connected, false otherwise
268
- */
269
- setConnectionState(connected: boolean): void;
270
- /**
271
- * Called when the runtime asks the client to resubmit an op. This may be because the Container reconnected and
272
- * this op was not acked.
273
- * The client can choose to resubmit the same message, submit different / multiple messages or not submit anything
274
- * at all.
275
- * @param message - The original message that was submitted.
276
- * @param localOpMetadata - The local metadata associated with the original message.
277
- */
278
- reSubmit(message: any, localOpMetadata: unknown): void;
279
- /**
280
- * Apply changes from an op. Used when rehydrating an attached container
281
- * with pending changes. This prepares the SharedObject for seeing an ACK
282
- * for the op or resubmitting the op upon reconnection.
283
- * @param message - Contents of a stashed op.
284
- * @returns localMetadata of the op, to be passed to process() or resubmit()
285
- * when the op is ACKed or resubmitted, respectively
286
- */
287
- applyStashedOp(message: any): unknown;
288
- /**
289
- * Revert a local op.
290
- * @param message - The original message that was submitted.
291
- * @param localOpMetadata - The local metadata associated with the original message.
292
- */
293
- rollback?(message: any, localOpMetadata: unknown): void;
294
- }
22
+ /* Excluded from this release type: IChannelFactory */
295
23
 
296
- /**
297
- * Represents the runtime for the data store. Contains helper functions/state of the data store.
298
- */
299
- export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable, Partial<IProvideFluidDataStoreRegistry> {
300
- readonly id: string;
301
- readonly IFluidHandleContext: IFluidHandleContext;
302
- readonly rootRoutingContext: IFluidHandleContext;
303
- readonly channelsRoutingContext: IFluidHandleContext;
304
- readonly objectsRoutingContext: IFluidHandleContext;
305
- readonly options: ILoaderOptions;
306
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
307
- readonly clientId: string | undefined;
308
- readonly connected: boolean;
309
- readonly logger: ITelemetryLogger;
310
- /**
311
- * Indicates the attachment state of the data store to a host service.
312
- */
313
- readonly attachState: AttachState;
314
- readonly idCompressor?: IIdCompressor;
315
- /**
316
- * Returns the channel with the given id
317
- */
318
- getChannel(id: string): Promise<IChannel>;
319
- /**
320
- * Invokes the given callback and expects that no ops are submitted
321
- * until execution finishes. If an op is submitted, an error will be raised.
322
- *
323
- * Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
324
- *
325
- * @param callback - the callback to be invoked
326
- */
327
- ensureNoDataModelChanges<T>(callback: () => T): T;
328
- /**
329
- * Creates a new channel of the given type.
330
- * @param id - ID of the channel to be created. A unique ID will be generated if left undefined.
331
- * @param type - Type of the channel.
332
- */
333
- createChannel(id: string | undefined, type: string): IChannel;
334
- /**
335
- * Bind the channel with the data store runtime. If the runtime
336
- * is attached then we attach the channel to make it live.
337
- */
338
- bindChannel(channel: IChannel): void;
339
- /**
340
- * Api to upload a blob of data.
341
- * @param blob - blob to be uploaded.
342
- */
343
- uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
344
- /**
345
- * Submits the signal to be sent to other clients.
346
- * @param type - Type of the signal.
347
- * @param content - Content of the signal.
348
- * @param targetClientId - When specified, the signal is only sent to the provided client id.
349
- */
350
- submitSignal(type: string, content: any, targetClientId?: string): void;
351
- /**
352
- * Returns the current quorum.
353
- */
354
- getQuorum(): IQuorumClients;
355
- /**
356
- * Returns the current audience.
357
- */
358
- getAudience(): IAudience;
359
- /**
360
- * Resolves when a local data store is attached.
361
- */
362
- waitAttached(): Promise<void>;
363
- /**
364
- * Exposes a handle to the root object / entryPoint of the data store. Use this as the primary way of interacting
365
- * with it.
366
- */
367
- readonly entryPoint: IFluidHandle<FluidObject>;
368
- /**
369
- * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
370
- */
371
- request(request: IRequest): Promise<IResponse>;
372
- /**
373
- * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
374
- */
375
- readonly IFluidRouter: IFluidRouter;
376
- }
377
-
378
- export declare interface IFluidDataStoreRuntimeEvents extends IEvent {
379
- (event: "disconnected" | "dispose" | "attaching" | "attached", listener: () => void): any;
380
- (event: "op", listener: (message: ISequencedDocumentMessage) => void): any;
381
- (event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
382
- (event: "connected", listener: (clientId: string) => void): any;
383
- }
24
+ /* Excluded from this release type: IChannelServices */
384
25
 
385
- /**
386
- * Used to constrain a type `T` to types that are serializable as JSON.
387
- * Produces a compile-time error if `T` contains non-Jsonable members.
388
- *
389
- * @remarks
390
- * Note that this does NOT prevent using of values with non-json compatible data,
391
- * it only prevents using values with types that include non-json compatible data.
392
- * This means that one can, for example, pass an a value typed with json compatible
393
- * interface into this function,
394
- * that could actually be a class with lots on non-json compatible fields and methods.
395
- *
396
- * Important: `T extends Jsonable<T>` is incorrect (does not even compile).
397
- * `T extends Jsonable` is also incorrect since `Jsonable` is just `any` and thus applies no constraint at all.
398
- *
399
- * The optional 'TReplaced' parameter may be used to permit additional leaf types to support
400
- * situations where a `replacer` is used to handle special values (e.g., `Jsonable<{ x: IFluidHandle }, IFluidHandle>`).
401
- *
402
- * Note that `Jsonable<T>` does not protect against the following pitfalls when serializing with JSON.stringify():
403
- *
404
- * - `undefined` properties on objects are omitted (i.e., properties become undefined instead of equal to undefined).
405
- *
406
- * - When `undefined` appears as the root object or as an array element it is coerced to `null`.
407
- *
408
- * - Non-finite numbers (`NaN`, `+/-Infinity`) are also coerced to `null`.
409
- *
410
- * - prototypes and non-enumerable properties are lost.
411
- *
412
- * Also, `Jsonable<T>` does not prevent the construction of circular references.
413
- *
414
- * Using `Jsonable` (with no type parameters) or `Jsonable<any>` is just a type alias for `any`
415
- * and should not be used if type safety is desired.
416
- *
417
- * @example Typical usage
418
- *
419
- * ```typescript
420
- * function foo<T>(value: Jsonable<T>) { ... }
421
- * ```
422
- */
423
- export declare type Jsonable<T = any, TReplaced = void> = T extends undefined | null | boolean | number | string | TReplaced ? T : Extract<T, Function> extends never ? {
424
- [K in keyof T]: Extract<K, symbol> extends never ? Jsonable<T[K], TReplaced> : never;
425
- } : never;
26
+ /* Excluded from this release type: IChannelStorageService */
426
27
 
427
- /**
428
- * Used to constrain a type 'T' to types that Fluid can intrinsically serialize. Produces a
429
- * compile-time error if `T` contains non-serializable members.
430
- *
431
- * @remarks
432
- * See Jsonable for caveats regarding serialization of `undefined`, non-finite numbers,
433
- * and circular references.
434
- *
435
- * Important: `T extends Serializable<T>` is generally incorrect.
436
- * (Any value of `T` extends the serializable subset of itself.)
437
- *
438
- * @example Typical usage
439
- *
440
- * ```typescript
441
- * function serialize<T>(value: Serializable<T>) { ... }
442
- * ```
443
- */
444
- export declare type Serializable<T = any> = Jsonable<T, IFluidHandle>;
28
+ /* Excluded from this release type: IDeltaConnection */
29
+
30
+ /* Excluded from this release type: IDeltaHandler */
31
+
32
+ /* Excluded from this release type: IDeltaManager */
33
+
34
+ /* Excluded from this release type: IDisposable */
35
+
36
+ /* Excluded from this release type: IEvent */
37
+
38
+ /* Excluded from this release type: IEventProvider */
39
+
40
+ /* Excluded from this release type: IExperimentalIncrementalSummaryContext */
41
+
42
+ /* Excluded from this release type: IFluidDataStoreRuntime */
43
+
44
+ /* Excluded from this release type: IFluidDataStoreRuntimeEvents */
45
+
46
+ /* Excluded from this release type: IFluidHandle */
47
+
48
+ /* Excluded from this release type: IFluidHandleContext */
49
+
50
+ /* Excluded from this release type: IFluidLoadable */
51
+
52
+ /* Excluded from this release type: IFluidRouter */
53
+
54
+ /* Excluded from this release type: IGarbageCollectionData */
55
+
56
+ /* Excluded from this release type: IIdCompressor */
57
+
58
+ /* Excluded from this release type: IInboundSignalMessage */
59
+
60
+ /* Excluded from this release type: ILoaderOptions */
61
+
62
+ /* Excluded from this release type: IProvideFluidDataStoreRegistry */
63
+
64
+ /* Excluded from this release type: IRequest */
65
+
66
+ /* Excluded from this release type: IResponse */
67
+
68
+ /* Excluded from this release type: ISummaryTreeWithStats */
69
+
70
+ /* Excluded from this release type: ITelemetryContext */
71
+
72
+ /* Excluded from this release type: ITelemetryLogger */
73
+
74
+ /* Excluded from this release type: Jsonable */
75
+
76
+ /* Excluded from this release type: Serializable */
445
77
 
446
78
  export { }
@@ -31,6 +31,9 @@ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
31
31
  import { ITelemetryContext } from '@fluidframework/runtime-definitions';
32
32
  import { ITelemetryLogger } from '@fluidframework/core-interfaces';
33
33
 
34
+ /**
35
+ * @internal
36
+ */
34
37
  export declare interface IChannel extends IFluidLoadable {
35
38
  /**
36
39
  * A readonly identifier for the channel
@@ -117,6 +120,7 @@ export declare interface IChannel extends IFluidLoadable {
117
120
 
118
121
  /**
119
122
  * Represents the attributes of a channel/DDS.
123
+ * @internal
120
124
  */
121
125
  export declare interface IChannelAttributes {
122
126
  /**
@@ -153,6 +157,7 @@ export declare interface IChannelAttributes {
153
157
  *
154
158
  * If a collaboration includes a {@link https://fluidframework.com/docs/data-structures/map/ | SharedMap},
155
159
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
160
+ * @internal
156
161
  */
157
162
  export declare interface IChannelFactory {
158
163
  /**
@@ -195,6 +200,7 @@ export declare interface IChannelFactory {
195
200
 
196
201
  /**
197
202
  * Storage services to read the objects at a given path using the given delta connection.
203
+ * @internal
198
204
  */
199
205
  export declare interface IChannelServices {
200
206
  deltaConnection: IDeltaConnection;
@@ -203,6 +209,7 @@ export declare interface IChannelServices {
203
209
 
204
210
  /**
205
211
  * Storage services to read the objects at a given path.
212
+ * @internal
206
213
  */
207
214
  export declare interface IChannelStorageService {
208
215
  /**
@@ -221,6 +228,7 @@ export declare interface IChannelStorageService {
221
228
 
222
229
  /**
223
230
  * Interface to represent a connection to a delta notification stream.
231
+ * @internal
224
232
  */
225
233
  export declare interface IDeltaConnection {
226
234
  connected: boolean;
@@ -252,6 +260,7 @@ export declare interface IDeltaConnection {
252
260
 
253
261
  /**
254
262
  * Handler provided by shared data structure to process requests from the runtime.
263
+ * @internal
255
264
  */
256
265
  export declare interface IDeltaHandler {
257
266
  /**
@@ -295,6 +304,7 @@ export declare interface IDeltaHandler {
295
304
 
296
305
  /**
297
306
  * Represents the runtime for the data store. Contains helper functions/state of the data store.
307
+ * @internal
298
308
  */
299
309
  export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable, Partial<IProvideFluidDataStoreRegistry> {
300
310
  readonly id: string;
@@ -375,6 +385,9 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
375
385
  readonly IFluidRouter: IFluidRouter;
376
386
  }
377
387
 
388
+ /**
389
+ * @internal
390
+ */
378
391
  export declare interface IFluidDataStoreRuntimeEvents extends IEvent {
379
392
  (event: "disconnected" | "dispose" | "attaching" | "attached", listener: () => void): any;
380
393
  (event: "op", listener: (message: ISequencedDocumentMessage) => void): any;
@@ -419,6 +432,7 @@ export declare interface IFluidDataStoreRuntimeEvents extends IEvent {
419
432
  * ```typescript
420
433
  * function foo<T>(value: Jsonable<T>) { ... }
421
434
  * ```
435
+ * @internal
422
436
  */
423
437
  export declare type Jsonable<T = any, TReplaced = void> = T extends undefined | null | boolean | number | string | TReplaced ? T : Extract<T, Function> extends never ? {
424
438
  [K in keyof T]: Extract<K, symbol> extends never ? Jsonable<T[K], TReplaced> : never;
@@ -440,6 +454,7 @@ export declare type Jsonable<T = any, TReplaced = void> = T extends undefined |
440
454
  * ```typescript
441
455
  * function serialize<T>(value: Serializable<T>) { ... }
442
456
  * ```
457
+ * @internal
443
458
  */
444
459
  export declare type Serializable<T = any> = Jsonable<T, IFluidHandle>;
445
460
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/datastore-definitions",
3
- "version": "2.0.0-dev.7.4.0.215930",
3
+ "version": "2.0.0-dev.7.4.0.216897",
4
4
  "description": "Fluid data store definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -14,10 +14,10 @@
14
14
  "main": "dist/index.js",
15
15
  "types": "dist/index.d.ts",
16
16
  "dependencies": {
17
- "@fluidframework/container-definitions": "2.0.0-dev.7.4.0.215930",
18
- "@fluidframework/core-interfaces": "2.0.0-dev.7.4.0.215930",
17
+ "@fluidframework/container-definitions": "2.0.0-dev.7.4.0.216897",
18
+ "@fluidframework/core-interfaces": "2.0.0-dev.7.4.0.216897",
19
19
  "@fluidframework/protocol-definitions": "^3.0.0",
20
- "@fluidframework/runtime-definitions": "2.0.0-dev.7.4.0.215930"
20
+ "@fluidframework/runtime-definitions": "2.0.0-dev.7.4.0.216897"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@fluid-tools/build-cli": "^0.28.0",
@@ -55,12 +55,13 @@
55
55
  "build:compile": "fluid-build . --task compile",
56
56
  "build:docs": "fluid-build . --task api",
57
57
  "build:test": "tsc --project ./src/test/tsconfig.json",
58
+ "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
58
59
  "ci:build:docs": "api-extractor run",
59
60
  "clean": "rimraf --glob dist \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
60
61
  "eslint": "eslint --format stylish src",
61
62
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
62
63
  "format": "npm run prettier:fix",
63
- "lint": "npm run prettier && npm run eslint",
64
+ "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
64
65
  "lint:fix": "npm run prettier:fix && npm run eslint:fix",
65
66
  "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
66
67
  "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
package/src/channel.ts CHANGED
@@ -14,6 +14,9 @@ import {
14
14
  import { IChannelAttributes } from "./storage";
15
15
  import { IFluidDataStoreRuntime } from "./dataStoreRuntime";
16
16
 
17
+ /**
18
+ * @internal
19
+ */
17
20
  export interface IChannel extends IFluidLoadable {
18
21
  /**
19
22
  * A readonly identifier for the channel
@@ -115,6 +118,7 @@ export interface IChannel extends IFluidLoadable {
115
118
 
116
119
  /**
117
120
  * Handler provided by shared data structure to process requests from the runtime.
121
+ * @internal
118
122
  */
119
123
  export interface IDeltaHandler {
120
124
  /**
@@ -162,6 +166,7 @@ export interface IDeltaHandler {
162
166
 
163
167
  /**
164
168
  * Interface to represent a connection to a delta notification stream.
169
+ * @internal
165
170
  */
166
171
  export interface IDeltaConnection {
167
172
  connected: boolean;
@@ -197,6 +202,7 @@ export interface IDeltaConnection {
197
202
 
198
203
  /**
199
204
  * Storage services to read the objects at a given path.
205
+ * @internal
200
206
  */
201
207
  export interface IChannelStorageService {
202
208
  /**
@@ -217,6 +223,7 @@ export interface IChannelStorageService {
217
223
 
218
224
  /**
219
225
  * Storage services to read the objects at a given path using the given delta connection.
226
+ * @internal
220
227
  */
221
228
  export interface IChannelServices {
222
229
  deltaConnection: IDeltaConnection;
@@ -243,6 +250,7 @@ export interface IChannelServices {
243
250
  *
244
251
  * If a collaboration includes a {@link https://fluidframework.com/docs/data-structures/map/ | SharedMap},
245
252
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
253
+ * @internal
246
254
  */
247
255
  export interface IChannelFactory {
248
256
  /**