@fluidframework/container-runtime 2.70.0-361092 → 2.70.0-361248
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/container-runtime.test-files.tar +0 -0
- package/dist/containerRuntime.d.ts +5 -5
- package/dist/containerRuntime.js +5 -5
- package/dist/containerRuntime.js.map +1 -1
- package/dist/messageTypes.d.ts +1 -1
- package/dist/messageTypes.js +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/opLifecycle/duplicateBatchDetector.d.ts +2 -2
- package/dist/opLifecycle/duplicateBatchDetector.js +2 -2
- package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +2 -2
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +5 -3
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSerialization.d.ts +2 -2
- package/dist/opLifecycle/opSerialization.js +2 -2
- package/dist/opLifecycle/opSerialization.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +1 -1
- package/dist/opLifecycle/opSplitter.js +1 -1
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +2 -2
- package/dist/opLifecycle/outbox.js +2 -2
- 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 +1 -1
- package/dist/pendingStateManager.js +1 -1
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/storageServiceWithAttachBlobs.d.ts +7 -7
- package/dist/storageServiceWithAttachBlobs.js +7 -7
- package/dist/storageServiceWithAttachBlobs.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +1 -1
- package/dist/summary/documentSchema.js +1 -1
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +6 -6
- package/dist/summary/summaryFormat.js.map +1 -1
- package/lib/containerRuntime.d.ts +5 -5
- package/lib/containerRuntime.js +5 -5
- package/lib/containerRuntime.js.map +1 -1
- package/lib/messageTypes.d.ts +1 -1
- package/lib/messageTypes.js +1 -1
- package/lib/messageTypes.js.map +1 -1
- package/lib/opLifecycle/duplicateBatchDetector.d.ts +2 -2
- package/lib/opLifecycle/duplicateBatchDetector.js +2 -2
- package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +2 -2
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +5 -3
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSerialization.d.ts +2 -2
- package/lib/opLifecycle/opSerialization.js +2 -2
- package/lib/opLifecycle/opSerialization.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +1 -1
- package/lib/opLifecycle/opSplitter.js +1 -1
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +2 -2
- package/lib/opLifecycle/outbox.js +2 -2
- 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 +1 -1
- package/lib/pendingStateManager.js +1 -1
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/storageServiceWithAttachBlobs.d.ts +7 -7
- package/lib/storageServiceWithAttachBlobs.js +7 -7
- package/lib/storageServiceWithAttachBlobs.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +1 -1
- package/lib/summary/documentSchema.js +1 -1
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +6 -6
- package/lib/summary/summaryFormat.js.map +1 -1
- package/package.json +17 -17
- package/src/containerRuntime.ts +5 -5
- package/src/messageTypes.ts +1 -1
- package/src/opLifecycle/duplicateBatchDetector.ts +2 -2
- package/src/opLifecycle/opGroupingManager.ts +7 -4
- package/src/opLifecycle/opSerialization.ts +2 -2
- package/src/opLifecycle/opSplitter.ts +1 -1
- package/src/opLifecycle/outbox.ts +2 -2
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +1 -1
- package/src/storageServiceWithAttachBlobs.ts +7 -7
- package/src/summary/documentSchema.ts +1 -1
- package/src/summary/summaryFormat.ts +6 -6
|
@@ -72,7 +72,7 @@ export class OpGroupingManager {
|
|
|
72
72
|
* This is needed as a placeholder if a batch becomes empty on resubmit, but we are tracking batch IDs.
|
|
73
73
|
* @param resubmittingBatchId - batch ID of the resubmitting batch
|
|
74
74
|
* @param referenceSequenceNumber - reference sequence number
|
|
75
|
-
* @returns
|
|
75
|
+
* @returns The outbound batch as well as the interior placeholder message
|
|
76
76
|
*/
|
|
77
77
|
public createEmptyGroupedBatch(
|
|
78
78
|
resubmittingBatchId: string,
|
|
@@ -112,7 +112,7 @@ export class OpGroupingManager {
|
|
|
112
112
|
*
|
|
113
113
|
* If the batch already has only 1 message, it is returned as-is.
|
|
114
114
|
*
|
|
115
|
-
* @remarks
|
|
115
|
+
* @remarks Remember that a BatchMessage has its content JSON serialized, so the incoming batch message contents
|
|
116
116
|
* must be parsed first, and then the type and contents mentioned above are hidden in that JSON serialization.
|
|
117
117
|
*/
|
|
118
118
|
public groupBatch(batch: OutboundBatch): OutboundSingletonBatch {
|
|
@@ -132,7 +132,7 @@ export class OpGroupingManager {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
// We expect this will be on the first message, if present at all.
|
|
135
|
-
let groupedBatchId;
|
|
135
|
+
let groupedBatchId: unknown;
|
|
136
136
|
for (const message of batch.messages) {
|
|
137
137
|
if (message.metadata !== undefined) {
|
|
138
138
|
const { batch: _batch, batchId, ...rest } = message.metadata;
|
|
@@ -146,7 +146,10 @@ export class OpGroupingManager {
|
|
|
146
146
|
const serializedContent = JSON.stringify({
|
|
147
147
|
type: OpGroupingManager.groupedBatchOp,
|
|
148
148
|
contents: batch.messages.map<IGroupedMessage>((message) => ({
|
|
149
|
-
contents:
|
|
149
|
+
contents:
|
|
150
|
+
message.contents === undefined
|
|
151
|
+
? undefined
|
|
152
|
+
: (JSON.parse(message.contents) as unknown),
|
|
150
153
|
metadata: message.metadata,
|
|
151
154
|
compression: message.compression,
|
|
152
155
|
})),
|
|
@@ -18,7 +18,7 @@ import type { EmptyGroupedBatch } from "./opGroupingManager.js";
|
|
|
18
18
|
* Takes an incoming runtime message (outer type "op"), JSON.parses the message's contents in place,
|
|
19
19
|
* if needed (old Loader does this for us).
|
|
20
20
|
* Only to be used for runtime messages. The contents here would be the virtualized payload for a batch of ops.
|
|
21
|
-
* @remarks
|
|
21
|
+
* @remarks Serialization during submit happens via {@link serializeOp}
|
|
22
22
|
* @param mutableMessage - op message received
|
|
23
23
|
*/
|
|
24
24
|
export function ensureContentsDeserialized(mutableMessage: ISequencedDocumentMessage): void {
|
|
@@ -31,7 +31,7 @@ export function ensureContentsDeserialized(mutableMessage: ISequencedDocumentMes
|
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Before submitting an op to the Outbox, its contents must be serialized using this function.
|
|
34
|
-
* @remarks
|
|
34
|
+
* @remarks The deserialization on process happens via the function {@link ensureContentsDeserialized}.
|
|
35
35
|
*
|
|
36
36
|
* @param toSerialize - op message to serialize. Also supports an array of ops.
|
|
37
37
|
*/
|
|
@@ -118,7 +118,7 @@ export class OpSplitter {
|
|
|
118
118
|
* To illustrate the current functionality, if the input is `[largeOp]`, `largeOp` will be split into `[chunk1, chunk2, chunk3, chunk4]`.
|
|
119
119
|
* `chunk1`, `chunk2` and `chunk3` will be sent individually and `[chunk4]` will be returned.
|
|
120
120
|
*
|
|
121
|
-
* @remarks
|
|
121
|
+
* @remarks A side effect here is that 1 or more chunks are queued immediately for sending in next JS turn.
|
|
122
122
|
*
|
|
123
123
|
* @privateRemarks
|
|
124
124
|
* This maintains support for splitting a compressed batch with multiple messages (empty placeholders after the first),
|
|
@@ -252,7 +252,7 @@ export class Outbox {
|
|
|
252
252
|
* message as the first message. If flushing partial batch is not enabled, we will throw (except for reentrant ops).
|
|
253
253
|
* This would indicate we expected this case to be precluded by logic elsewhere.
|
|
254
254
|
*
|
|
255
|
-
* @remarks
|
|
255
|
+
* @remarks To detect batch interruption, we compare both the reference sequence number
|
|
256
256
|
* (i.e. last message processed by DeltaManager) and the client sequence number of the
|
|
257
257
|
* last message processed by the ContainerRuntime. In the absence of op reentrancy, this
|
|
258
258
|
* pair will remain stable during a single JS turn during which the batch is being built up.
|
|
@@ -539,7 +539,7 @@ export class Outbox {
|
|
|
539
539
|
/**
|
|
540
540
|
* As necessary and enabled, groups / compresses / chunks the given batch.
|
|
541
541
|
*
|
|
542
|
-
* @remarks
|
|
542
|
+
* @remarks If chunking happens, a side effect here is that 1 or more chunks are queued immediately for sending in next JS turn.
|
|
543
543
|
*
|
|
544
544
|
* @param localBatch - Local Batch to be virtualized - i.e. transformed into an Outbound Batch
|
|
545
545
|
* @param groupingEnabled - If true, Grouped batching is enabled.
|
package/src/packageVersion.ts
CHANGED
|
@@ -608,7 +608,7 @@ export class PendingStateManager implements IDisposable {
|
|
|
608
608
|
* @param sequenceNumber - The sequenceNumber from the server corresponding to the next pending message.
|
|
609
609
|
* @param message - [optional] The entire incoming message, for comparing contents with the pending message for extra validation.
|
|
610
610
|
* @throws DataProcessingError if the pending message content doesn't match the incoming message content.
|
|
611
|
-
* @returns
|
|
611
|
+
* @returns The localOpMetadata of the next pending message, to be sent to whoever submitted the original message.
|
|
612
612
|
*/
|
|
613
613
|
private processNextPendingMessage(
|
|
614
614
|
sequenceNumber: number,
|
|
@@ -30,7 +30,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* {@link IRuntimeStorageService.policies}.
|
|
33
|
-
* @deprecated
|
|
33
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
34
34
|
*/
|
|
35
35
|
public get policies(): IDocumentStorageServicePolicies | undefined {
|
|
36
36
|
return this.internalStorageService.policies;
|
|
@@ -49,7 +49,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* {@link IRuntimeStorageService.getSnapshotTree}.
|
|
52
|
-
* @deprecated
|
|
52
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
53
53
|
*/
|
|
54
54
|
public async getSnapshotTree(
|
|
55
55
|
version?: IVersion,
|
|
@@ -61,7 +61,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* {@link IRuntimeStorageService.getSnapshot}.
|
|
64
|
-
* @deprecated
|
|
64
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
65
65
|
*/
|
|
66
66
|
public async getSnapshot(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot> {
|
|
67
67
|
if (this.internalStorageService.getSnapshot !== undefined) {
|
|
@@ -74,7 +74,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* {@link IRuntimeStorageService.getVersions}.
|
|
77
|
-
* @deprecated
|
|
77
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
78
78
|
*/
|
|
79
79
|
public async getVersions(
|
|
80
80
|
// eslint-disable-next-line @rushstack/no-new-null
|
|
@@ -93,7 +93,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
95
|
* {@link IRuntimeStorageService.uploadSummaryWithContext}.
|
|
96
|
-
* @deprecated
|
|
96
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
97
97
|
*/
|
|
98
98
|
public async uploadSummaryWithContext(
|
|
99
99
|
summary: ISummaryTree,
|
|
@@ -104,7 +104,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
106
|
* {@link IRuntimeStorageService.createBlob}.
|
|
107
|
-
* @deprecated
|
|
107
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
108
108
|
*/
|
|
109
109
|
public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
|
|
110
110
|
return this.internalStorageService.createBlob(file);
|
|
@@ -112,7 +112,7 @@ export class StorageServiceWithAttachBlobs implements IRuntimeStorageService {
|
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
114
|
* {@link IRuntimeStorageService.downloadSummary}.
|
|
115
|
-
* @deprecated
|
|
115
|
+
* @deprecated This will be removed in a future release. The DataStore layer does not need this.
|
|
116
116
|
*/
|
|
117
117
|
public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
|
|
118
118
|
return this.internalStorageService.downloadSummary(handle);
|
|
@@ -740,7 +740,7 @@ export class DocumentsSchemaController {
|
|
|
740
740
|
* @param contents - contents of the messages
|
|
741
741
|
* @param local - whether op is local
|
|
742
742
|
* @param sequenceNumber - sequence number of the op
|
|
743
|
-
* @returns
|
|
743
|
+
* @returns true if schema was accepted, otherwise false (rejected due to failed CAS)
|
|
744
744
|
*/
|
|
745
745
|
public processDocumentSchemaMessages(
|
|
746
746
|
contents: IDocumentSchemaChangeMessageIncoming[],
|
|
@@ -23,7 +23,7 @@ import type { IGCMetadata } from "../gc/index.js";
|
|
|
23
23
|
import type { IDocumentSchema } from "./documentSchema.js";
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* @deprecated
|
|
26
|
+
* @deprecated This interface will no longer be exported in the future(AB#8004).
|
|
27
27
|
* @legacy @beta
|
|
28
28
|
*/
|
|
29
29
|
export type OmitAttributesVersions<T> = Omit<
|
|
@@ -32,7 +32,7 @@ export type OmitAttributesVersions<T> = Omit<
|
|
|
32
32
|
>;
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* @deprecated
|
|
35
|
+
* @deprecated This interface will no longer be exported in the future(AB#8004).
|
|
36
36
|
* @legacy @beta
|
|
37
37
|
*/
|
|
38
38
|
export interface IFluidDataStoreAttributes0 {
|
|
@@ -48,7 +48,7 @@ export interface IFluidDataStoreAttributes0 {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
|
-
* @deprecated
|
|
51
|
+
* @deprecated This interface will no longer be exported in the future(AB#8004).
|
|
52
52
|
* @legacy @beta
|
|
53
53
|
*/
|
|
54
54
|
export interface IFluidDataStoreAttributes1
|
|
@@ -58,7 +58,7 @@ export interface IFluidDataStoreAttributes1
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
* @deprecated
|
|
61
|
+
* @deprecated This interface will no longer be exported in the future(AB#8004).
|
|
62
62
|
* @legacy @beta
|
|
63
63
|
*/
|
|
64
64
|
export interface IFluidDataStoreAttributes2
|
|
@@ -81,7 +81,7 @@ export interface IFluidDataStoreAttributes2
|
|
|
81
81
|
* store like the package, snapshotFormatVersion to take different decisions based on a particular
|
|
82
82
|
* snapshotFormatVersion.
|
|
83
83
|
*
|
|
84
|
-
* @deprecated
|
|
84
|
+
* @deprecated This interface will no longer be exported in the future(AB#8004).
|
|
85
85
|
*
|
|
86
86
|
* @legacy @beta
|
|
87
87
|
*
|
|
@@ -126,7 +126,7 @@ export function hasIsolatedChannels(attributes: ReadFluidDataStoreAttributes): b
|
|
|
126
126
|
export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGCMetadata {
|
|
127
127
|
readonly summaryFormatVersion: 1;
|
|
128
128
|
/**
|
|
129
|
-
* @deprecated
|
|
129
|
+
* @deprecated used by old (prior to 2.0 RC3) runtimes
|
|
130
130
|
*/
|
|
131
131
|
readonly message?: ISummaryMetadataMessage;
|
|
132
132
|
/**
|