@fluidframework/container-runtime 2.1.0-274160 → 2.1.0-276326
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/README.md +9 -0
- package/container-runtime.test-files.tar +0 -0
- package/dist/blobManager.d.ts +1 -0
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +1 -0
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +23 -13
- package/dist/channelCollection.js.map +1 -1
- package/dist/containerRuntime.d.ts +19 -2
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +14 -2
- package/dist/containerRuntime.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +9 -0
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +1 -0
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/messageTypes.d.ts +1 -0
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js +1 -0
- package/dist/messageTypes.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts +4 -0
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +8 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +18 -16
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/pendingStateManager.d.ts +8 -6
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +18 -14
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +8 -0
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +2 -0
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +1 -0
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/summarizer.d.ts +1 -0
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +1 -0
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +29 -0
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +10 -0
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +1 -0
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +8 -0
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js.map +1 -1
- package/lib/blobManager.d.ts +1 -0
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +1 -0
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +23 -13
- package/lib/channelCollection.js.map +1 -1
- package/lib/containerRuntime.d.ts +19 -2
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +14 -2
- package/lib/containerRuntime.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +9 -0
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +1 -0
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/messageTypes.d.ts +1 -0
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js +1 -0
- package/lib/messageTypes.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts +4 -0
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +8 -4
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +18 -16
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/pendingStateManager.d.ts +8 -6
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +18 -14
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +8 -0
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +2 -0
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +1 -0
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/summarizer.d.ts +1 -0
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +1 -0
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +29 -0
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +10 -0
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +1 -0
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +8 -0
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js.map +1 -1
- package/package.json +19 -19
- package/src/blobManager.ts +1 -0
- package/src/channelCollection.ts +23 -13
- package/src/containerRuntime.ts +23 -2
- package/src/gc/gcDefinitions.ts +9 -0
- package/src/messageTypes.ts +1 -0
- package/src/opLifecycle/batchManager.ts +4 -0
- package/src/opLifecycle/outbox.ts +19 -21
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +25 -20
- package/src/summary/documentSchema.ts +8 -0
- package/src/summary/orderedClientElection.ts +1 -0
- package/src/summary/runWhileConnectedCoordinator.ts +1 -0
- package/src/summary/summarizer.ts +1 -0
- package/src/summary/summarizerTypes.ts +29 -0
- package/src/summary/summaryCollection.ts +10 -0
- package/src/summary/summaryFormat.ts +8 -0
- /package/api-report/{container-runtime.alpha.api.md → container-runtime.legacy.alpha.api.md} +0 -0
|
@@ -41,7 +41,7 @@ export interface IOutboxParameters {
|
|
|
41
41
|
readonly submitBatchFn:
|
|
42
42
|
| ((batch: IBatchMessage[], referenceSequenceNumber?: number) => number)
|
|
43
43
|
| undefined;
|
|
44
|
-
readonly legacySendBatchFn: (batch: IBatch) =>
|
|
44
|
+
readonly legacySendBatchFn: (batch: IBatch) => number;
|
|
45
45
|
readonly config: IOutboxConfig;
|
|
46
46
|
readonly compressor: OpCompressor;
|
|
47
47
|
readonly splitter: OpSplitter;
|
|
@@ -126,10 +126,14 @@ export class Outbox {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
130
|
-
* what was already in the batch managers, this means that batching has been interrupted so
|
|
129
|
+
* Detect whether batching has been interrupted by an incoming message being processed. In this case,
|
|
131
130
|
* we will flush the accumulated messages to account for that and create a new batch with the new
|
|
132
131
|
* message as the first message.
|
|
132
|
+
*
|
|
133
|
+
* @remarks - To detect batch interruption, we compare both the reference sequence number
|
|
134
|
+
* (i.e. last message processed by DeltaManager) and the client sequence number of the
|
|
135
|
+
* last message processed by the ContainerRuntime. In the absence of op reentrancy, this
|
|
136
|
+
* pair will remain stable during a single JS turn during which the batch is being built up.
|
|
133
137
|
*/
|
|
134
138
|
private maybeFlushPartialBatch() {
|
|
135
139
|
const mainBatchSeqNums = this.mainBatch.sequenceNumbers;
|
|
@@ -254,6 +258,7 @@ export class Outbox {
|
|
|
254
258
|
return;
|
|
255
259
|
}
|
|
256
260
|
|
|
261
|
+
let clientSequenceNumber: number | undefined;
|
|
257
262
|
// Did we disconnect? (i.e. is shouldSend false?)
|
|
258
263
|
// If so, do nothing, as pending state manager will resubmit it correctly on reconnect.
|
|
259
264
|
// Because flush() is a task that executes async (on clean stack), we can get here in disconnected state.
|
|
@@ -261,10 +266,10 @@ export class Outbox {
|
|
|
261
266
|
const processedBatch = this.compressBatch(
|
|
262
267
|
shouldGroup ? this.params.groupingManager.groupBatch(rawBatch) : rawBatch,
|
|
263
268
|
);
|
|
264
|
-
this.sendBatch(processedBatch);
|
|
269
|
+
clientSequenceNumber = this.sendBatch(processedBatch);
|
|
265
270
|
}
|
|
266
271
|
|
|
267
|
-
this.
|
|
272
|
+
this.params.pendingStateManager.onFlushBatch(rawBatch.content, clientSequenceNumber);
|
|
268
273
|
}
|
|
269
274
|
|
|
270
275
|
/**
|
|
@@ -355,11 +360,12 @@ export class Outbox {
|
|
|
355
360
|
* Sends the batch object to the container context to be sent over the wire.
|
|
356
361
|
*
|
|
357
362
|
* @param batch - batch to be sent
|
|
363
|
+
* @returns the clientSequenceNumber of the start of the batch, or undefined if nothing was sent
|
|
358
364
|
*/
|
|
359
365
|
private sendBatch(batch: IBatch) {
|
|
360
366
|
const length = batch.content.length;
|
|
361
367
|
if (length === 0) {
|
|
362
|
-
return;
|
|
368
|
+
return undefined; // Nothing submitted
|
|
363
369
|
}
|
|
364
370
|
|
|
365
371
|
const socketSize = estimateSocketSize(batch);
|
|
@@ -372,6 +378,7 @@ export class Outbox {
|
|
|
372
378
|
});
|
|
373
379
|
}
|
|
374
380
|
|
|
381
|
+
let clientSequenceNumber: number;
|
|
375
382
|
if (this.params.submitBatchFn === undefined) {
|
|
376
383
|
// Legacy path - supporting old loader versions. Can be removed only when LTS moves above
|
|
377
384
|
// version that has support for batches (submitBatchFn)
|
|
@@ -380,10 +387,10 @@ export class Outbox {
|
|
|
380
387
|
0x5a6 /* Compression should not have happened if the loader does not support it */,
|
|
381
388
|
);
|
|
382
389
|
|
|
383
|
-
this.params.legacySendBatchFn(batch);
|
|
390
|
+
clientSequenceNumber = this.params.legacySendBatchFn(batch);
|
|
384
391
|
} else {
|
|
385
392
|
assert(batch.referenceSequenceNumber !== undefined, 0x58e /* Batch must not be empty */);
|
|
386
|
-
this.params.submitBatchFn(
|
|
393
|
+
clientSequenceNumber = this.params.submitBatchFn(
|
|
387
394
|
batch.content.map((message) => ({
|
|
388
395
|
contents: message.contents,
|
|
389
396
|
metadata: message.metadata,
|
|
@@ -393,20 +400,11 @@ export class Outbox {
|
|
|
393
400
|
batch.referenceSequenceNumber,
|
|
394
401
|
);
|
|
395
402
|
}
|
|
396
|
-
}
|
|
397
403
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
this.params.pendingStateManager.onSubmitMessage(
|
|
403
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
404
|
-
message.contents!,
|
|
405
|
-
message.referenceSequenceNumber,
|
|
406
|
-
message.localOpMetadata,
|
|
407
|
-
message.metadata,
|
|
408
|
-
);
|
|
409
|
-
}
|
|
404
|
+
// Convert from clientSequenceNumber of last message in the batch to clientSequenceNumber of first message.
|
|
405
|
+
clientSequenceNumber -= length - 1;
|
|
406
|
+
assert(clientSequenceNumber >= 0, 0x3d0 /* clientSequenceNumber can't be negative */);
|
|
407
|
+
return clientSequenceNumber;
|
|
410
408
|
}
|
|
411
409
|
|
|
412
410
|
public checkpoint() {
|
package/src/packageVersion.ts
CHANGED
|
@@ -16,6 +16,7 @@ import Deque from "double-ended-queue";
|
|
|
16
16
|
|
|
17
17
|
import { InboundSequencedContainerRuntimeMessage } from "./messageTypes.js";
|
|
18
18
|
import { IBatchMetadata } from "./metadata.js";
|
|
19
|
+
import type { BatchMessage } from "./opLifecycle/index.js";
|
|
19
20
|
import { pkgVersion } from "./packageVersion.js";
|
|
20
21
|
|
|
21
22
|
/**
|
|
@@ -29,6 +30,7 @@ export interface IPendingMessage {
|
|
|
29
30
|
localOpMetadata: unknown;
|
|
30
31
|
opMetadata: Record<string, unknown> | undefined;
|
|
31
32
|
sequenceNumber?: number;
|
|
33
|
+
batchStartCsn?: number;
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
export interface IPendingLocalState {
|
|
@@ -187,27 +189,30 @@ export class PendingStateManager implements IDisposable {
|
|
|
187
189
|
public readonly dispose = () => this.disposeOnce.value;
|
|
188
190
|
|
|
189
191
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
* @param
|
|
193
|
-
* @param
|
|
194
|
-
*
|
|
192
|
+
* The given batch has been flushed, and needs to be tracked locally until the corresponding
|
|
193
|
+
* acks are processed, to ensure it is successfully sent.
|
|
194
|
+
* @param batch - The batch that was flushed
|
|
195
|
+
* @param clientSequenceNumber - The CSN of the first message in the batch,
|
|
196
|
+
* or undefined if the batch was not yet sent (e.g. by the time we flushed we lost the connection)
|
|
195
197
|
*/
|
|
196
|
-
public
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
198
|
+
public onFlushBatch(batch: BatchMessage[], clientSequenceNumber: number | undefined) {
|
|
199
|
+
for (const message of batch) {
|
|
200
|
+
const {
|
|
201
|
+
contents: content = "",
|
|
202
|
+
referenceSequenceNumber,
|
|
203
|
+
localOpMetadata,
|
|
204
|
+
metadata: opMetadata,
|
|
205
|
+
} = message;
|
|
206
|
+
const pendingMessage: IPendingMessage = {
|
|
207
|
+
type: "message",
|
|
208
|
+
referenceSequenceNumber,
|
|
209
|
+
content,
|
|
210
|
+
localOpMetadata,
|
|
211
|
+
opMetadata,
|
|
212
|
+
batchStartCsn: clientSequenceNumber,
|
|
213
|
+
};
|
|
214
|
+
this.pendingMessages.push(pendingMessage);
|
|
215
|
+
}
|
|
211
216
|
}
|
|
212
217
|
|
|
213
218
|
/**
|
|
@@ -13,6 +13,7 @@ import { pkgVersion } from "../packageVersion.js";
|
|
|
13
13
|
* Please note that for all property types we should use undefined to indicate that particular capability is off.
|
|
14
14
|
* Using false, or some string value (like "off") will result in clients who do not understand that property failing, whereas
|
|
15
15
|
* we want them to continue to collaborate alongside clients who support that capability, but such capability is shipping dark for now.
|
|
16
|
+
* @legacy
|
|
16
17
|
* @alpha
|
|
17
18
|
*/
|
|
18
19
|
export type DocumentSchemaValueType = string | string[] | true | number | undefined;
|
|
@@ -27,6 +28,7 @@ export type DocumentSchemaValueType = string | string[] | true | number | undefi
|
|
|
27
28
|
* undefined - ID compressor is not loaded.
|
|
28
29
|
* While IContainerRuntime.generateDocumentUniqueId() is available, it will produce long IDs that are do not compress well.
|
|
29
30
|
*
|
|
31
|
+
* @legacy
|
|
30
32
|
* @alpha
|
|
31
33
|
*/
|
|
32
34
|
export type IdCompressorMode = "on" | "delayed" | undefined;
|
|
@@ -55,6 +57,7 @@ export type IdCompressorMode = "on" | "delayed" | undefined;
|
|
|
55
57
|
*
|
|
56
58
|
* For now we are limiting it to just plain properties, and only really simple types, but that can be changed in the future.
|
|
57
59
|
*
|
|
60
|
+
* @legacy
|
|
58
61
|
* @alpha
|
|
59
62
|
*/
|
|
60
63
|
export interface IDocumentSchema {
|
|
@@ -75,6 +78,7 @@ export interface IDocumentSchema {
|
|
|
75
78
|
* ContainerMessageType.DocumentSchemaChange messages use CAS (Compare-and-swap) semantics, and convey
|
|
76
79
|
* regSeq of last known schema change (known to a client proposing schema change).
|
|
77
80
|
* @see ContainerRuntimeDocumentSchemaMessage
|
|
81
|
+
* @legacy
|
|
78
82
|
* @alpha
|
|
79
83
|
*/
|
|
80
84
|
export type IDocumentSchemaChangeMessage = IDocumentSchema;
|
|
@@ -85,6 +89,7 @@ export type IDocumentSchemaChangeMessage = IDocumentSchema;
|
|
|
85
89
|
* WARNING: This type is used to infer IDocumentSchemaCurrent type!
|
|
86
90
|
* Any changes here (including renaming of properties) are potentially changing document format and should be considered carefully!
|
|
87
91
|
*
|
|
92
|
+
* @legacy
|
|
88
93
|
* @alpha
|
|
89
94
|
*/
|
|
90
95
|
export interface IDocumentSchemaFeatures {
|
|
@@ -114,12 +119,14 @@ export interface IDocumentSchemaFeatures {
|
|
|
114
119
|
* This must be bumped whenever the format of document schema or protocol for changing the current document schema changes.
|
|
115
120
|
* Ex: adding a new configuration property (under IDocumentSchema.runtime) does not require changing this version.
|
|
116
121
|
* Ex: Changing the 'document schema acceptance' mechanism from convert-and-swap to one requiring consensus does require changing this version.
|
|
122
|
+
* @legacy
|
|
117
123
|
* @alpha
|
|
118
124
|
*/
|
|
119
125
|
export const currentDocumentVersionSchema = 1;
|
|
120
126
|
|
|
121
127
|
/**
|
|
122
128
|
* Current document schema.
|
|
129
|
+
* @legacy
|
|
123
130
|
* @alpha
|
|
124
131
|
*/
|
|
125
132
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
@@ -420,6 +427,7 @@ function arrayToProp(arr: string[]) {
|
|
|
420
427
|
* Clients can retry, but current implementation is simply - they will not (and will rely on next session / reload to do
|
|
421
428
|
* recalc and decide if schema needs to be changed or not).
|
|
422
429
|
*
|
|
430
|
+
* @legacy
|
|
423
431
|
* @alpha
|
|
424
432
|
*/
|
|
425
433
|
export class DocumentsSchemaController {
|
|
@@ -67,6 +67,7 @@ export const createSummarizingWarning = (errorMessage: string, logged: boolean)
|
|
|
67
67
|
* Summarizer is responsible for coordinating when to generate and send summaries.
|
|
68
68
|
* It is the main entry point for summary work.
|
|
69
69
|
* It is created only by summarizing container (i.e. one with clientType === "summarizer")
|
|
70
|
+
* @legacy
|
|
70
71
|
* @alpha
|
|
71
72
|
*/
|
|
72
73
|
export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
|
|
@@ -36,6 +36,7 @@ import { SummarizeReason } from "./summaryGenerator.js";
|
|
|
36
36
|
/**
|
|
37
37
|
* Similar to AbortSignal, but using promise instead of events
|
|
38
38
|
* @param T - cancellation reason type
|
|
39
|
+
* @legacy
|
|
39
40
|
* @alpha
|
|
40
41
|
*/
|
|
41
42
|
export interface ICancellationToken<T> {
|
|
@@ -50,12 +51,14 @@ export interface ICancellationToken<T> {
|
|
|
50
51
|
|
|
51
52
|
/**
|
|
52
53
|
* Similar to AbortSignal, but using promise instead of events
|
|
54
|
+
* @legacy
|
|
53
55
|
* @alpha
|
|
54
56
|
*/
|
|
55
57
|
export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
|
|
56
58
|
|
|
57
59
|
/**
|
|
58
60
|
* Data required to update internal tracking state after receiving a Summary Ack.
|
|
61
|
+
* @legacy
|
|
59
62
|
* @alpha
|
|
60
63
|
*/
|
|
61
64
|
export interface IRefreshSummaryAckOptions {
|
|
@@ -70,6 +73,7 @@ export interface IRefreshSummaryAckOptions {
|
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
/**
|
|
76
|
+
* @legacy
|
|
73
77
|
* @alpha
|
|
74
78
|
*/
|
|
75
79
|
export interface ISummarizerInternalsProvider {
|
|
@@ -89,6 +93,7 @@ export interface ISummarizingWarning extends ContainerWarning {
|
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
/**
|
|
96
|
+
* @legacy
|
|
92
97
|
* @alpha
|
|
93
98
|
*/
|
|
94
99
|
export interface IConnectableRuntime {
|
|
@@ -99,6 +104,7 @@ export interface IConnectableRuntime {
|
|
|
99
104
|
}
|
|
100
105
|
|
|
101
106
|
/**
|
|
107
|
+
* @legacy
|
|
102
108
|
* @alpha
|
|
103
109
|
*/
|
|
104
110
|
export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
@@ -120,6 +126,7 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
|
120
126
|
|
|
121
127
|
/**
|
|
122
128
|
* Options affecting summarize behavior.
|
|
129
|
+
* @legacy
|
|
123
130
|
* @alpha
|
|
124
131
|
*/
|
|
125
132
|
export interface ISummarizeOptions {
|
|
@@ -128,6 +135,7 @@ export interface ISummarizeOptions {
|
|
|
128
135
|
}
|
|
129
136
|
|
|
130
137
|
/**
|
|
138
|
+
* @legacy
|
|
131
139
|
* @alpha
|
|
132
140
|
*/
|
|
133
141
|
export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
@@ -142,6 +150,7 @@ export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
|
142
150
|
}
|
|
143
151
|
|
|
144
152
|
/**
|
|
153
|
+
* @legacy
|
|
145
154
|
* @alpha
|
|
146
155
|
*/
|
|
147
156
|
export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
@@ -153,6 +162,7 @@ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
|
153
162
|
|
|
154
163
|
/**
|
|
155
164
|
* Options to use when enqueueing a summarize attempt.
|
|
165
|
+
* @legacy
|
|
156
166
|
* @alpha
|
|
157
167
|
*/
|
|
158
168
|
export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
@@ -171,6 +181,7 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
|
171
181
|
/**
|
|
172
182
|
* In addition to the normal summary tree + stats, this contains additional stats
|
|
173
183
|
* only relevant at the root of the tree.
|
|
184
|
+
* @legacy
|
|
174
185
|
* @alpha
|
|
175
186
|
*/
|
|
176
187
|
export interface IGeneratedSummaryStats extends ISummaryStats {
|
|
@@ -190,6 +201,7 @@ export interface IGeneratedSummaryStats extends ISummaryStats {
|
|
|
190
201
|
|
|
191
202
|
/**
|
|
192
203
|
* Type for summarization failures that are retriable.
|
|
204
|
+
* @legacy
|
|
193
205
|
* @alpha
|
|
194
206
|
*/
|
|
195
207
|
export interface IRetriableFailureError extends Error {
|
|
@@ -198,6 +210,7 @@ export interface IRetriableFailureError extends Error {
|
|
|
198
210
|
|
|
199
211
|
/**
|
|
200
212
|
* Base results for all submitSummary attempts.
|
|
213
|
+
* @legacy
|
|
201
214
|
* @alpha
|
|
202
215
|
*/
|
|
203
216
|
export interface IBaseSummarizeResult {
|
|
@@ -211,6 +224,7 @@ export interface IBaseSummarizeResult {
|
|
|
211
224
|
|
|
212
225
|
/**
|
|
213
226
|
* Results of submitSummary after generating the summary tree.
|
|
227
|
+
* @legacy
|
|
214
228
|
* @alpha
|
|
215
229
|
*/
|
|
216
230
|
export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
|
|
@@ -225,6 +239,7 @@ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "
|
|
|
225
239
|
|
|
226
240
|
/**
|
|
227
241
|
* Results of submitSummary after uploading the tree to storage.
|
|
242
|
+
* @legacy
|
|
228
243
|
* @alpha
|
|
229
244
|
*/
|
|
230
245
|
export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
|
|
@@ -237,6 +252,7 @@ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "
|
|
|
237
252
|
|
|
238
253
|
/**
|
|
239
254
|
* Results of submitSummary after submitting the summarize op.
|
|
255
|
+
* @legacy
|
|
240
256
|
* @alpha
|
|
241
257
|
*/
|
|
242
258
|
export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
|
|
@@ -262,6 +278,7 @@ export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stag
|
|
|
262
278
|
* 3. "upload" - the summary was uploaded to storage, and the result contains the server-provided handle
|
|
263
279
|
*
|
|
264
280
|
* 4. "submit" - the summarize op was submitted, and the result contains the op client sequence number.
|
|
281
|
+
* @legacy
|
|
265
282
|
* @alpha
|
|
266
283
|
*/
|
|
267
284
|
export type SubmitSummaryResult =
|
|
@@ -272,12 +289,14 @@ export type SubmitSummaryResult =
|
|
|
272
289
|
|
|
273
290
|
/**
|
|
274
291
|
* The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.
|
|
292
|
+
* @legacy
|
|
275
293
|
* @alpha
|
|
276
294
|
*/
|
|
277
295
|
export type SummaryStage = SubmitSummaryResult["stage"] | "unknown";
|
|
278
296
|
|
|
279
297
|
/**
|
|
280
298
|
* The data in summarizer result when submit summary stage fails.
|
|
299
|
+
* @legacy
|
|
281
300
|
* @alpha
|
|
282
301
|
*/
|
|
283
302
|
export interface SubmitSummaryFailureData {
|
|
@@ -285,6 +304,7 @@ export interface SubmitSummaryFailureData {
|
|
|
285
304
|
}
|
|
286
305
|
|
|
287
306
|
/**
|
|
307
|
+
* @legacy
|
|
288
308
|
* @alpha
|
|
289
309
|
*/
|
|
290
310
|
export interface IBroadcastSummaryResult {
|
|
@@ -293,6 +313,7 @@ export interface IBroadcastSummaryResult {
|
|
|
293
313
|
}
|
|
294
314
|
|
|
295
315
|
/**
|
|
316
|
+
* @legacy
|
|
296
317
|
* @alpha
|
|
297
318
|
*/
|
|
298
319
|
export interface IAckSummaryResult {
|
|
@@ -301,6 +322,7 @@ export interface IAckSummaryResult {
|
|
|
301
322
|
}
|
|
302
323
|
|
|
303
324
|
/**
|
|
325
|
+
* @legacy
|
|
304
326
|
* @alpha
|
|
305
327
|
*/
|
|
306
328
|
export interface INackSummaryResult {
|
|
@@ -309,6 +331,7 @@ export interface INackSummaryResult {
|
|
|
309
331
|
}
|
|
310
332
|
|
|
311
333
|
/**
|
|
334
|
+
* @legacy
|
|
312
335
|
* @alpha
|
|
313
336
|
*/
|
|
314
337
|
export type SummarizeResultPart<TSuccess, TFailure = undefined> =
|
|
@@ -324,6 +347,7 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> =
|
|
|
324
347
|
};
|
|
325
348
|
|
|
326
349
|
/**
|
|
350
|
+
* @legacy
|
|
327
351
|
* @alpha
|
|
328
352
|
*/
|
|
329
353
|
export interface ISummarizeResults {
|
|
@@ -340,6 +364,7 @@ export interface ISummarizeResults {
|
|
|
340
364
|
}
|
|
341
365
|
|
|
342
366
|
/**
|
|
367
|
+
* @legacy
|
|
343
368
|
* @alpha
|
|
344
369
|
*/
|
|
345
370
|
export type EnqueueSummarizeResult =
|
|
@@ -370,6 +395,7 @@ export type EnqueueSummarizeResult =
|
|
|
370
395
|
};
|
|
371
396
|
|
|
372
397
|
/**
|
|
398
|
+
* @legacy
|
|
373
399
|
* @alpha
|
|
374
400
|
*/
|
|
375
401
|
export type SummarizerStopReason =
|
|
@@ -399,6 +425,7 @@ export type SummarizerStopReason =
|
|
|
399
425
|
| "latestSummaryStateStale";
|
|
400
426
|
|
|
401
427
|
/**
|
|
428
|
+
* @legacy
|
|
402
429
|
* @alpha
|
|
403
430
|
*/
|
|
404
431
|
export interface ISummarizeEventProps {
|
|
@@ -409,6 +436,7 @@ export interface ISummarizeEventProps {
|
|
|
409
436
|
}
|
|
410
437
|
|
|
411
438
|
/**
|
|
439
|
+
* @legacy
|
|
412
440
|
* @alpha
|
|
413
441
|
*/
|
|
414
442
|
export interface ISummarizerEvents extends IEvent {
|
|
@@ -416,6 +444,7 @@ export interface ISummarizerEvents extends IEvent {
|
|
|
416
444
|
}
|
|
417
445
|
|
|
418
446
|
/**
|
|
447
|
+
* @legacy
|
|
419
448
|
* @alpha
|
|
420
449
|
*/
|
|
421
450
|
export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
|
|
@@ -19,6 +19,7 @@ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Interface for summary op messages with typed contents.
|
|
22
|
+
* @legacy
|
|
22
23
|
* @alpha
|
|
23
24
|
*/
|
|
24
25
|
export interface ISummaryOpMessage extends ISequencedDocumentMessage {
|
|
@@ -28,6 +29,7 @@ export interface ISummaryOpMessage extends ISequencedDocumentMessage {
|
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Interface for summary ack messages with typed contents.
|
|
32
|
+
* @legacy
|
|
31
33
|
* @alpha
|
|
32
34
|
*/
|
|
33
35
|
export interface ISummaryAckMessage extends ISequencedDocumentMessage {
|
|
@@ -37,6 +39,7 @@ export interface ISummaryAckMessage extends ISequencedDocumentMessage {
|
|
|
37
39
|
|
|
38
40
|
/**
|
|
39
41
|
* Interface for summary nack messages with typed contents.
|
|
42
|
+
* @legacy
|
|
40
43
|
* @alpha
|
|
41
44
|
*/
|
|
42
45
|
export interface ISummaryNackMessage extends ISequencedDocumentMessage {
|
|
@@ -47,6 +50,7 @@ export interface ISummaryNackMessage extends ISequencedDocumentMessage {
|
|
|
47
50
|
/**
|
|
48
51
|
* A single summary which can be tracked as it goes through its life cycle.
|
|
49
52
|
* The life cycle is: Local to Broadcast to Acked/Nacked.
|
|
53
|
+
* @legacy
|
|
50
54
|
* @alpha
|
|
51
55
|
*/
|
|
52
56
|
export interface ISummary {
|
|
@@ -58,6 +62,7 @@ export interface ISummary {
|
|
|
58
62
|
|
|
59
63
|
/**
|
|
60
64
|
* A single summary which has already been acked by the server.
|
|
65
|
+
* @legacy
|
|
61
66
|
* @alpha
|
|
62
67
|
*/
|
|
63
68
|
export interface IAckedSummary {
|
|
@@ -145,6 +150,7 @@ class Summary implements ISummary {
|
|
|
145
150
|
|
|
146
151
|
/**
|
|
147
152
|
* Watches summaries created by a specific client.
|
|
153
|
+
* @legacy
|
|
148
154
|
* @alpha
|
|
149
155
|
*/
|
|
150
156
|
export interface IClientSummaryWatcher extends IDisposable {
|
|
@@ -214,6 +220,7 @@ class ClientSummaryWatcher implements IClientSummaryWatcher {
|
|
|
214
220
|
}
|
|
215
221
|
}
|
|
216
222
|
/**
|
|
223
|
+
* @legacy
|
|
217
224
|
* @alpha
|
|
218
225
|
*/
|
|
219
226
|
export type OpActionEventName =
|
|
@@ -223,11 +230,13 @@ export type OpActionEventName =
|
|
|
223
230
|
| "default";
|
|
224
231
|
|
|
225
232
|
/**
|
|
233
|
+
* @legacy
|
|
226
234
|
* @alpha
|
|
227
235
|
*/
|
|
228
236
|
export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
|
|
229
237
|
|
|
230
238
|
/**
|
|
239
|
+
* @legacy
|
|
231
240
|
* @alpha
|
|
232
241
|
*/
|
|
233
242
|
export interface ISummaryCollectionOpEvents extends IEvent {
|
|
@@ -238,6 +247,7 @@ export interface ISummaryCollectionOpEvents extends IEvent {
|
|
|
238
247
|
* Data structure that looks at the op stream to track summaries as they
|
|
239
248
|
* are broadcast, acked and nacked.
|
|
240
249
|
* It provides functionality for watching specific summaries.
|
|
250
|
+
* @legacy
|
|
241
251
|
* @alpha
|
|
242
252
|
*/
|
|
243
253
|
export class SummaryCollection extends TypedEventEmitter<ISummaryCollectionOpEvents> {
|
|
@@ -26,6 +26,7 @@ import { IDocumentSchema } from "./documentSchema.js";
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @deprecated - This interface will no longer be exported in the future(AB#8004).
|
|
29
|
+
* @legacy
|
|
29
30
|
* @alpha
|
|
30
31
|
*/
|
|
31
32
|
export type OmitAttributesVersions<T> = Omit<
|
|
@@ -35,6 +36,7 @@ export type OmitAttributesVersions<T> = Omit<
|
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* @deprecated - This interface will no longer be exported in the future(AB#8004).
|
|
39
|
+
* @legacy
|
|
38
40
|
* @alpha
|
|
39
41
|
*/
|
|
40
42
|
export interface IFluidDataStoreAttributes0 {
|
|
@@ -51,6 +53,7 @@ export interface IFluidDataStoreAttributes0 {
|
|
|
51
53
|
|
|
52
54
|
/**
|
|
53
55
|
* @deprecated - This interface will no longer be exported in the future(AB#8004).
|
|
56
|
+
* @legacy
|
|
54
57
|
* @alpha
|
|
55
58
|
*/
|
|
56
59
|
export interface IFluidDataStoreAttributes1
|
|
@@ -61,6 +64,7 @@ export interface IFluidDataStoreAttributes1
|
|
|
61
64
|
|
|
62
65
|
/**
|
|
63
66
|
* @deprecated - This interface will no longer be exported in the future(AB#8004).
|
|
67
|
+
* @legacy
|
|
64
68
|
* @alpha
|
|
65
69
|
*/
|
|
66
70
|
export interface IFluidDataStoreAttributes2
|
|
@@ -83,6 +87,7 @@ export interface IFluidDataStoreAttributes2
|
|
|
83
87
|
*
|
|
84
88
|
* @deprecated - This interface will no longer be exported in the future(AB#8004).
|
|
85
89
|
*
|
|
90
|
+
* @legacy
|
|
86
91
|
* @alpha
|
|
87
92
|
*
|
|
88
93
|
*/
|
|
@@ -120,6 +125,7 @@ export function hasIsolatedChannels(attributes: ReadFluidDataStoreAttributes): b
|
|
|
120
125
|
}
|
|
121
126
|
|
|
122
127
|
/**
|
|
128
|
+
* @legacy
|
|
123
129
|
* @alpha
|
|
124
130
|
*/
|
|
125
131
|
export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGCMetadata {
|
|
@@ -139,6 +145,7 @@ export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGC
|
|
|
139
145
|
}
|
|
140
146
|
|
|
141
147
|
/**
|
|
148
|
+
* @legacy
|
|
142
149
|
* @alpha
|
|
143
150
|
*/
|
|
144
151
|
export interface ICreateContainerMetadata {
|
|
@@ -150,6 +157,7 @@ export interface ICreateContainerMetadata {
|
|
|
150
157
|
|
|
151
158
|
/**
|
|
152
159
|
* The properties of an ISequencedDocumentMessage to be stored in the metadata blob in summary.
|
|
160
|
+
* @legacy
|
|
153
161
|
* @alpha
|
|
154
162
|
*/
|
|
155
163
|
export type ISummaryMetadataMessage = Pick<
|
/package/api-report/{container-runtime.alpha.api.md → container-runtime.legacy.alpha.api.md}
RENAMED
|
File without changes
|