@fluidframework/protocol-definitions
Advanced tools
Comparing version 3.0.0 to 3.1.0-220363
{ | ||
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", | ||
"extends": "@fluidframework/build-common/api-extractor-common-strict.json", | ||
"apiReport": { | ||
"enabled": true, | ||
"reportFolder": "<projectFolder>/api-report/" | ||
}, | ||
"docModel": { | ||
"enabled": true, | ||
"apiJsonFilePath": "<projectFolder>/_api-extractor-temp/doc-models/<unscopedPackageName>.api.json" | ||
"extends": "../../build/build-common/api-extractor-base.json", | ||
"messages": { | ||
"extractorMessageReporting": { | ||
// TODO: Add missing documentation and remove this rule override | ||
"ae-undocumented": { | ||
"logLevel": "none" | ||
} | ||
} | ||
} | ||
} |
@@ -7,9 +7,6 @@ ## API Report File for "@fluidframework/protocol-definitions" | ||
import { IErrorEvent } from '@fluidframework/common-definitions'; | ||
import { IEventProvider } from '@fluidframework/common-definitions'; | ||
// @public | ||
// @alpha | ||
export type ConnectionMode = "write" | "read"; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export enum FileMode { | ||
@@ -26,3 +23,3 @@ // (undocumented) | ||
// @public @deprecated (undocumented) | ||
// @internal @deprecated (undocumented) | ||
export interface IActorClient { | ||
@@ -33,3 +30,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export type IApprovedProposal = { | ||
@@ -39,3 +36,3 @@ approvalSequenceNumber: number; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface IAttachment { | ||
@@ -46,3 +43,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface IBlob { | ||
@@ -53,3 +50,3 @@ contents: string; | ||
// @public | ||
// @alpha | ||
export interface IBranchOrigin { | ||
@@ -61,3 +58,3 @@ id: string; | ||
// @public | ||
// @alpha | ||
export interface ICapabilities { | ||
@@ -67,3 +64,3 @@ interactive: boolean; | ||
// @public | ||
// @alpha | ||
export interface IClient { | ||
@@ -79,7 +76,5 @@ details: IClientDetails; | ||
// @public | ||
// @alpha | ||
export interface IClientConfiguration { | ||
// (undocumented) | ||
blockSize: number; | ||
// (undocumented) | ||
maxMessageSize: number; | ||
@@ -90,3 +85,3 @@ noopCountFrequency?: number; | ||
// @public | ||
// @alpha | ||
export interface IClientDetails { | ||
@@ -101,3 +96,3 @@ capabilities: ICapabilities; | ||
// @public | ||
// @internal | ||
export interface IClientJoin { | ||
@@ -108,3 +103,3 @@ clientId: string; | ||
// @public | ||
// @alpha | ||
export type ICommittedProposal = { | ||
@@ -114,3 +109,3 @@ commitSequenceNumber: number; | ||
// @public | ||
// @internal | ||
export interface IConnect { | ||
@@ -130,3 +125,3 @@ client: IClient; | ||
// @public | ||
// @alpha | ||
export interface IConnected { | ||
@@ -152,3 +147,3 @@ checkpointSequenceNumber?: number; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface ICreateBlobResponse { | ||
@@ -159,3 +154,3 @@ // (undocumented) | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface IDocumentAttributes { | ||
@@ -166,3 +161,3 @@ minimumSequenceNumber: number; | ||
// @public | ||
// @alpha | ||
export interface IDocumentMessage { | ||
@@ -179,3 +174,3 @@ clientSequenceNumber: number; | ||
// @public | ||
// @internal | ||
export interface IDocumentSystemMessage extends IDocumentMessage { | ||
@@ -186,3 +181,3 @@ // (undocumented) | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface INack { | ||
@@ -194,3 +189,3 @@ content: INackContent; | ||
// @public | ||
// @alpha | ||
export interface INackContent { | ||
@@ -203,3 +198,3 @@ code: number; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface IProcessMessageResult { | ||
@@ -210,3 +205,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface IProposal { | ||
@@ -217,3 +212,3 @@ key: string; | ||
// @public (undocumented) | ||
// @internal (undocumented) | ||
export interface IProtocolState { | ||
@@ -232,8 +227,14 @@ // (undocumented) | ||
// @public | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off">, IEventProvider<IQuorumEvents> { | ||
// @alpha | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off"> { | ||
// (undocumented) | ||
off: IQuorum["on"]; | ||
// (undocumented) | ||
on: IQuorumClients["on"] & IQuorumProposals["on"]; | ||
// (undocumented) | ||
once: IQuorum["on"]; | ||
} | ||
// @public | ||
export interface IQuorumClients extends IEventProvider<IQuorumClientsEvents> { | ||
// @alpha | ||
export interface IQuorumClients { | ||
// (undocumented) | ||
@@ -243,6 +244,16 @@ getMember(clientId: string): ISequencedClient | undefined; | ||
getMembers(): Map<string, ISequencedClient>; | ||
// (undocumented) | ||
off: IQuorumClients["on"]; | ||
// (undocumented) | ||
on(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
// (undocumented) | ||
on(event: "removeMember", listener: (clientId: string) => void): any; | ||
// (undocumented) | ||
on(event: "error", listener: (message: any) => void): any; | ||
// (undocumented) | ||
once: IQuorumClients["on"]; | ||
} | ||
// @public | ||
export interface IQuorumClientsEvents extends IErrorEvent { | ||
// @internal @deprecated (undocumented) | ||
export interface IQuorumClientsEvents { | ||
// (undocumented) | ||
@@ -252,9 +263,11 @@ (event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
(event: "removeMember", listener: (clientId: string) => void): any; | ||
// (undocumented) | ||
(event: "error", listener: (message: any) => void): any; | ||
} | ||
// @public | ||
// @internal @deprecated | ||
export type IQuorumEvents = IQuorumClientsEvents & IQuorumProposalsEvents; | ||
// @public | ||
export interface IQuorumProposals extends IEventProvider<IQuorumProposalsEvents> { | ||
// @alpha | ||
export interface IQuorumProposals { | ||
// (undocumented) | ||
@@ -265,7 +278,17 @@ get(key: string): unknown; | ||
// (undocumented) | ||
off: IQuorumProposals["on"]; | ||
// (undocumented) | ||
on(event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
// (undocumented) | ||
on(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
// (undocumented) | ||
on(event: "error", listener: (message: any) => void): void; | ||
// (undocumented) | ||
once: IQuorumProposals["on"]; | ||
// (undocumented) | ||
propose(key: string, value: unknown): Promise<void>; | ||
} | ||
// @public | ||
export interface IQuorumProposalsEvents extends IErrorEvent { | ||
// @internal @deprecated | ||
export interface IQuorumProposalsEvents { | ||
// (undocumented) | ||
@@ -275,5 +298,7 @@ (event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
// (undocumented) | ||
(event: "error", listener: (message: any) => void): void; | ||
} | ||
// @public | ||
// @internal | ||
export interface ISentSignalMessage extends ISignalMessageBase { | ||
@@ -283,3 +308,3 @@ targetClientId?: string; | ||
// @public | ||
// @alpha | ||
export interface ISequencedClient { | ||
@@ -290,3 +315,3 @@ client: IClient; | ||
// @public (undocumented) | ||
// @internal (undocumented) | ||
export interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage { | ||
@@ -297,11 +322,11 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ISequencedDocumentMessage { | ||
clientId: string | null; | ||
clientSequenceNumber: number; | ||
// @deprecated | ||
compression?: string; | ||
contents: unknown; | ||
// (undocumented) | ||
data?: string; | ||
// @alpha | ||
// @deprecated | ||
expHash1?: string; | ||
@@ -319,3 +344,9 @@ metadata?: unknown; | ||
// @public (undocumented) | ||
// @internal | ||
export type ISequencedDocumentMessageExperimental = Omit<ISequencedDocumentMessage, "expHash1" | "compression"> & { | ||
expHash1?: string; | ||
compression?: string; | ||
}; | ||
// @internal (undocumented) | ||
export interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage { | ||
@@ -326,3 +357,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export type ISequencedProposal = { | ||
@@ -332,3 +363,3 @@ sequenceNumber: number; | ||
// @public | ||
// @internal | ||
export interface IServerError { | ||
@@ -338,3 +369,3 @@ errorMessage: string; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface ISignalClient { | ||
@@ -347,3 +378,3 @@ client: IClient; | ||
// @public | ||
// @alpha | ||
export interface ISignalMessage extends ISignalMessageBase { | ||
@@ -353,3 +384,3 @@ clientId: string | null; | ||
// @public | ||
// @alpha | ||
export interface ISignalMessageBase { | ||
@@ -362,3 +393,3 @@ clientConnectionNumber?: number; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface ISnapshotTree { | ||
@@ -378,3 +409,3 @@ // (undocumented) | ||
// @public (undocumented) | ||
// @internal (undocumented) | ||
export interface ISnapshotTreeEx extends ISnapshotTree { | ||
@@ -389,6 +420,6 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export type IsoDate = string; | ||
// @public | ||
// @alpha | ||
export interface ISummaryAck { | ||
@@ -399,3 +430,3 @@ handle: string; | ||
// @public | ||
// @alpha | ||
export interface ISummaryAttachment { | ||
@@ -408,3 +439,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ISummaryBlob { | ||
@@ -417,17 +448,12 @@ // (undocumented) | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface ISummaryContent { | ||
// (undocumented) | ||
details?: IUploadedSummaryDetails; | ||
// (undocumented) | ||
handle: string; | ||
// (undocumented) | ||
head: string; | ||
// (undocumented) | ||
message: string; | ||
// (undocumented) | ||
parents: string[]; | ||
} | ||
// @public | ||
// @alpha | ||
export interface ISummaryHandle { | ||
@@ -440,3 +466,3 @@ handle: string; | ||
// @public | ||
// @alpha | ||
export interface ISummaryNack { | ||
@@ -449,3 +475,3 @@ code?: number; | ||
// @public | ||
// @alpha | ||
export interface ISummaryProposal { | ||
@@ -455,3 +481,3 @@ summarySequenceNumber: number; | ||
// @public @deprecated (undocumented) | ||
// @internal @deprecated (undocumented) | ||
export interface ISummaryTokenClaims { | ||
@@ -466,3 +492,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ISummaryTree { | ||
@@ -478,3 +504,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ITokenClaims { | ||
@@ -491,3 +517,3 @@ documentId: string; | ||
// @public @deprecated (undocumented) | ||
// @internal @deprecated (undocumented) | ||
export interface ITokenProvider { | ||
@@ -497,3 +523,3 @@ isValid(): boolean; | ||
// @public @deprecated (undocumented) | ||
// @internal @deprecated (undocumented) | ||
export interface ITokenService { | ||
@@ -504,3 +530,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export interface ITrace { | ||
@@ -512,3 +538,3 @@ action: string; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface ITree { | ||
@@ -521,3 +547,3 @@ // (undocumented) | ||
// @public | ||
// @alpha | ||
export type ITreeEntry = { | ||
@@ -537,9 +563,8 @@ path: string; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export interface IUploadedSummaryDetails { | ||
// (undocumented) | ||
includesProtocolTree?: boolean; | ||
} | ||
// @public | ||
// @alpha | ||
export interface IUser { | ||
@@ -549,3 +574,3 @@ id: string; | ||
// @public | ||
// @alpha | ||
export interface IVersion { | ||
@@ -557,3 +582,3 @@ date?: IsoDate; | ||
// @public (undocumented) | ||
// @alpha (undocumented) | ||
export enum MessageType { | ||
@@ -575,15 +600,11 @@ Accept = "accept", | ||
// @public | ||
// @alpha | ||
export enum NackErrorType { | ||
// (undocumented) | ||
BadRequestError = "BadRequestError", | ||
// (undocumented) | ||
InvalidScopeError = "InvalidScopeError", | ||
// (undocumented) | ||
LimitExceededError = "LimitExceededError", | ||
// (undocumented) | ||
ThrottlingError = "ThrottlingError" | ||
} | ||
// @public | ||
// @internal | ||
export enum ScopeType { | ||
@@ -595,3 +616,3 @@ DocRead = "doc:read", | ||
// @public (undocumented) | ||
// @internal (undocumented) | ||
export enum SignalType { | ||
@@ -602,17 +623,17 @@ ClientJoin = "join", | ||
// @public | ||
// @alpha | ||
export type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment; | ||
// @public | ||
// @alpha | ||
export type SummaryTree = ISummaryTree | ISummaryHandle; | ||
// @public | ||
// @alpha | ||
export namespace SummaryType { | ||
// (undocumented) | ||
// @internal (undocumented) | ||
export type Attachment = 4; | ||
// (undocumented) | ||
// @internal (undocumented) | ||
export type Blob = 2; | ||
// (undocumented) | ||
// @internal (undocumented) | ||
export type Handle = 3; | ||
// (undocumented) | ||
// @internal (undocumented) | ||
export type Tree = 1; | ||
@@ -625,9 +646,9 @@ const Tree: Tree; | ||
// @public | ||
// @alpha | ||
export type SummaryType = SummaryType.Attachment | SummaryType.Blob | SummaryType.Handle | SummaryType.Tree; | ||
// @public | ||
// @alpha | ||
export type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment; | ||
// @public | ||
// @alpha | ||
export enum TreeEntry { | ||
@@ -634,0 +655,0 @@ // (undocumented) |
# @fluidframework/protocol-definitions Changelog | ||
## [3.1.0](https://github.com/microsoft/FluidFramework/releases/tag/protocol-definitions_v3.1.0) | ||
`ISequencedDocumentMessage` properties `compression` and `expHash1` are deprecated. They have been extracted into a separate interface `ISequencedDocumentMessageExperimental` and should be used from there instead. | ||
## [3.0.0](https://github.com/microsoft/FluidFramework/releases/tag/protocol-definitions_v3.0.0) | ||
@@ -4,0 +8,0 @@ |
@@ -13,2 +13,3 @@ /*! | ||
* E.g. a user with read-only permissions will not be allowed a "write" connection mode. | ||
* @alpha | ||
*/ | ||
@@ -19,2 +20,3 @@ export declare type ConnectionMode = "write" | "read"; | ||
* In particular, whether or not the client is {@link ICapabilities.interactive}. | ||
* @alpha | ||
*/ | ||
@@ -35,2 +37,3 @@ export interface ICapabilities { | ||
* {@link IClient} connection / environment metadata. | ||
* @alpha | ||
*/ | ||
@@ -59,2 +62,3 @@ export interface IClientDetails { | ||
* Represents a client connected to a Fluid service, including associated user details, permissions, and connection mode. | ||
* @alpha | ||
*/ | ||
@@ -86,2 +90,3 @@ export interface IClient { | ||
* A {@link IClient} that has been acknowledged by the sequencer. | ||
* @alpha | ||
*/ | ||
@@ -98,2 +103,5 @@ export interface ISequencedClient { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISignalClient { | ||
@@ -119,2 +127,3 @@ /** | ||
* Contents sent with a `ClientJoin` message. | ||
* @internal | ||
*/ | ||
@@ -121,0 +130,0 @@ export interface IClientJoin { |
@@ -6,6 +6,13 @@ /*! | ||
/** | ||
* Key value store of service configuration properties provided to the client as part of connection | ||
* Key value store of service configuration properties provided to the client as part of connection. | ||
* @alpha | ||
*/ | ||
export interface IClientConfiguration { | ||
/** | ||
* Max message size the server will accept before requiring chunking. | ||
*/ | ||
maxMessageSize: number; | ||
/** | ||
* Server-defined ideal block size for storing snapshots. | ||
*/ | ||
blockSize: number; | ||
@@ -12,0 +19,0 @@ /** |
@@ -5,3 +5,2 @@ /*! | ||
*/ | ||
import { IErrorEvent, IEventProvider } from "@fluidframework/common-definitions"; | ||
import { ISequencedClient } from "./clients"; | ||
@@ -11,5 +10,7 @@ /** | ||
* | ||
* @remarks | ||
* Consensus on the proposal is achieved if the MSN is \>= the sequence number | ||
* at which the proposal is made and no client within the collaboration window rejects | ||
* the proposal. | ||
* @alpha | ||
*/ | ||
@@ -27,3 +28,4 @@ export interface IProposal { | ||
/** | ||
* Similar to IProposal except includes the sequence number when it was made in addition to the fields on IProposal | ||
* Similar to {@link IProposal} except it also includes the sequence number when it was made. | ||
* @alpha | ||
*/ | ||
@@ -34,3 +36,4 @@ export declare type ISequencedProposal = { | ||
/** | ||
* Adds the sequence number at which the message was approved to an ISequencedProposal | ||
* Adds the sequence number at which the message was approved to an {@link ISequencedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -41,3 +44,4 @@ export declare type IApprovedProposal = { | ||
/** | ||
* Adds the sequence number at which the message was committed to an IApprovedProposal | ||
* Adds the sequence number at which the message was committed to an {@link IApprovedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -48,17 +52,26 @@ export declare type ICommittedProposal = { | ||
/** | ||
* @deprecated This type is now unused and will be removed | ||
* Events fired by a Quorum in response to client tracking. | ||
* @internal | ||
* | ||
*/ | ||
export interface IQuorumClientsEvents extends IErrorEvent { | ||
export interface IQuorumClientsEvents { | ||
(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
(event: "removeMember", listener: (clientId: string) => void): any; | ||
(event: "error", listener: (message: any) => void): any; | ||
} | ||
/** | ||
* Events fired by a Quorum in response to proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
export interface IQuorumProposalsEvents extends IErrorEvent { | ||
export interface IQuorumProposalsEvents { | ||
(event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
(event: "error", listener: (message: any) => void): void; | ||
} | ||
/** | ||
* All events fired by an IQuorum, both client tracking and proposal tracking. | ||
* All events fired by {@link IQuorum}, both client tracking and proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
@@ -68,20 +81,39 @@ export declare type IQuorumEvents = IQuorumClientsEvents & IQuorumProposalsEvents; | ||
* Interface for tracking clients in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumClients extends IEventProvider<IQuorumClientsEvents> { | ||
export interface IQuorumClients { | ||
getMembers(): Map<string, ISequencedClient>; | ||
getMember(clientId: string): ISequencedClient | undefined; | ||
on(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
on(event: "removeMember", listener: (clientId: string) => void): any; | ||
on(event: "error", listener: (message: any) => void): any; | ||
once: IQuorumClients["on"]; | ||
off: IQuorumClients["on"]; | ||
} | ||
/** | ||
* Interface for tracking proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumProposals extends IEventProvider<IQuorumProposalsEvents> { | ||
export interface IQuorumProposals { | ||
propose(key: string, value: unknown): Promise<void>; | ||
has(key: string): boolean; | ||
get(key: string): unknown; | ||
on(event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
on(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
on(event: "error", listener: (message: any) => void): void; | ||
once: IQuorumProposals["on"]; | ||
off: IQuorumProposals["on"]; | ||
} | ||
/** | ||
* Interface combining tracking of clients as well as proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off">, IEventProvider<IQuorumEvents> { | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off"> { | ||
on: IQuorumClients["on"] & IQuorumProposals["on"]; | ||
once: IQuorum["on"]; | ||
off: IQuorum["on"]; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface IProtocolState { | ||
@@ -94,2 +126,5 @@ sequenceNumber: number; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IProcessMessageResult { | ||
@@ -96,0 +131,0 @@ immediateNoOp?: boolean; |
@@ -6,5 +6,6 @@ /*! | ||
/** | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ` | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ`. | ||
* @alpha | ||
*/ | ||
export declare type IsoDate = string; | ||
//# sourceMappingURL=date.d.ts.map |
@@ -15,3 +15,3 @@ /*! | ||
export { IsoDate } from "./date"; | ||
export { IBranchOrigin, IDocumentMessage, IDocumentSystemMessage, INack, INackContent, ISentSignalMessage, ISequencedDocumentAugmentedMessage, ISequencedDocumentMessage, ISequencedDocumentSystemMessage, IServerError, ISignalMessage, ISignalMessageBase, ISummaryAck, ISummaryContent, ISummaryNack, ISummaryProposal, ITrace, IUploadedSummaryDetails, MessageType, NackErrorType, SignalType, } from "./protocol"; | ||
export { IBranchOrigin, IDocumentMessage, IDocumentSystemMessage, INack, INackContent, ISentSignalMessage, ISequencedDocumentAugmentedMessage, ISequencedDocumentMessage, ISequencedDocumentMessageExperimental, ISequencedDocumentSystemMessage, IServerError, ISignalMessage, ISignalMessageBase, ISummaryAck, ISummaryContent, ISummaryNack, ISummaryProposal, ITrace, IUploadedSummaryDetails, MessageType, NackErrorType, SignalType, } from "./protocol"; | ||
export { ScopeType } from "./scopes"; | ||
@@ -18,0 +18,0 @@ export { IConnect, IConnected } from "./sockets"; |
@@ -5,2 +5,5 @@ /*! | ||
*/ | ||
/** | ||
* @alpha | ||
*/ | ||
export declare enum MessageType { | ||
@@ -63,2 +66,5 @@ /** | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export declare enum SignalType { | ||
@@ -75,3 +81,4 @@ /** | ||
/** | ||
* Messages to track latency trace | ||
* Messages to track latency trace. | ||
* @alpha | ||
*/ | ||
@@ -92,2 +99,5 @@ export interface ITrace { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface INack { | ||
@@ -108,3 +118,4 @@ /** | ||
/** | ||
* Document specific message | ||
* Document-specific message. | ||
* @alpha | ||
*/ | ||
@@ -148,2 +159,3 @@ export interface IDocumentMessage { | ||
* Document Message with optional system level data field. | ||
* @internal | ||
*/ | ||
@@ -154,3 +166,4 @@ export interface IDocumentSystemMessage extends IDocumentMessage { | ||
/** | ||
* Branch origin information | ||
* Branch origin information. | ||
* @alpha | ||
*/ | ||
@@ -172,3 +185,4 @@ export interface IBranchOrigin { | ||
/** | ||
* Sequenced message for a distributed document | ||
* Sequenced message for a distributed document. | ||
* @alpha | ||
*/ | ||
@@ -227,6 +241,10 @@ export interface ISequencedDocumentMessage { | ||
timestamp: number; | ||
/** | ||
* Data provided by service. Only present in service generated messages. | ||
*/ | ||
data?: string; | ||
/** | ||
* Experimental field for storing the rolling hash at sequence number. | ||
* @alpha | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
@@ -236,9 +254,30 @@ expHash1?: string; | ||
* The compression algorithm that was used to compress contents of this message. | ||
* @experimental Not ready for use. | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
compression?: string; | ||
} | ||
/** | ||
* {@link ISequencedDocumentAugmentedMessage} with experimental properties. | ||
* @internal | ||
*/ | ||
export declare type ISequencedDocumentMessageExperimental = Omit<ISequencedDocumentMessage, "expHash1" | "compression"> & { | ||
/** | ||
* Stores the rolling hash at sequence number. | ||
*/ | ||
expHash1?: string; | ||
/** | ||
* The compression algorithm that was used to compress contents of this message. | ||
*/ | ||
compression?: string; | ||
}; | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage { | ||
data: string; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage { | ||
@@ -248,3 +287,4 @@ additionalContent: string; | ||
/** | ||
* Common interface between incoming and outgoing signals | ||
* Common interface between incoming and outgoing signals. | ||
* @alpha | ||
*/ | ||
@@ -270,3 +310,4 @@ export interface ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by the server to clients | ||
* Interface for signals sent by the server to clients. | ||
* @alpha | ||
*/ | ||
@@ -281,3 +322,4 @@ export interface ISignalMessage extends ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled. | ||
* @internal | ||
*/ | ||
@@ -290,10 +332,34 @@ export interface ISentSignalMessage extends ISignalMessageBase { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IUploadedSummaryDetails { | ||
/** | ||
* Indicates whether the uploaded summary contains ".protocol" tree. | ||
*/ | ||
includesProtocolTree?: boolean; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISummaryContent { | ||
/** | ||
* Handle reference to the summary data. | ||
*/ | ||
handle: string; | ||
/** | ||
* Message included as part of the summary. | ||
*/ | ||
message: string; | ||
/** | ||
* Handles to parent summaries of the proposed new summary. | ||
*/ | ||
parents: string[]; | ||
/** | ||
* Handle to the current latest summary stored by the service | ||
*/ | ||
head: string; | ||
/** | ||
* Details of the uploaded summary. | ||
*/ | ||
details?: IUploadedSummaryDetails; | ||
@@ -304,2 +370,3 @@ } | ||
* May want to add error code or something similar in the future. | ||
* @internal | ||
*/ | ||
@@ -314,2 +381,3 @@ export interface IServerError { | ||
* Data about the original proposed summary message. | ||
* @alpha | ||
*/ | ||
@@ -324,2 +392,3 @@ export interface ISummaryProposal { | ||
* Contents of summary ack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -338,2 +407,3 @@ export interface ISummaryAck { | ||
* Contents of summary nack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -364,2 +434,3 @@ export interface ISummaryNack { | ||
* Interface for nack content. | ||
* @alpha | ||
*/ | ||
@@ -389,14 +460,23 @@ export interface INackContent { | ||
/** | ||
* Type of the Nack. | ||
* InvalidScopeError: Client's token is not valid for the intended message. | ||
* ThrottlingError: Retriable after retryAfter number. | ||
* BadRequestError: Clients message is invalid and should retry immediately with a valid message. | ||
* LimitExceededError: Service is having issues. Client should not retry. | ||
* Type of the nack. | ||
* @alpha | ||
*/ | ||
export declare enum NackErrorType { | ||
/** | ||
* Retriable after {@link ISummaryNack.retryAfter} seconds. | ||
*/ | ||
ThrottlingError = "ThrottlingError", | ||
/** | ||
* Client's token is not valid for the intended message. | ||
*/ | ||
InvalidScopeError = "InvalidScopeError", | ||
/** | ||
* Clients message is invalid and should retry immediately with a valid message. | ||
*/ | ||
BadRequestError = "BadRequestError", | ||
/** | ||
* Service is having issues. Client should not retry. | ||
*/ | ||
LimitExceededError = "LimitExceededError" | ||
} | ||
//# sourceMappingURL=protocol.d.ts.map |
@@ -8,2 +8,5 @@ "use strict"; | ||
exports.NackErrorType = exports.SignalType = exports.MessageType = void 0; | ||
/** | ||
* @alpha | ||
*/ | ||
var MessageType; | ||
@@ -67,2 +70,5 @@ (function (MessageType) { | ||
})(MessageType = exports.MessageType || (exports.MessageType = {})); | ||
/** | ||
* @internal | ||
*/ | ||
var SignalType; | ||
@@ -80,15 +86,24 @@ (function (SignalType) { | ||
/** | ||
* Type of the Nack. | ||
* InvalidScopeError: Client's token is not valid for the intended message. | ||
* ThrottlingError: Retriable after retryAfter number. | ||
* BadRequestError: Clients message is invalid and should retry immediately with a valid message. | ||
* LimitExceededError: Service is having issues. Client should not retry. | ||
* Type of the nack. | ||
* @alpha | ||
*/ | ||
var NackErrorType; | ||
(function (NackErrorType) { | ||
/** | ||
* Retriable after {@link ISummaryNack.retryAfter} seconds. | ||
*/ | ||
NackErrorType["ThrottlingError"] = "ThrottlingError"; | ||
/** | ||
* Client's token is not valid for the intended message. | ||
*/ | ||
NackErrorType["InvalidScopeError"] = "InvalidScopeError"; | ||
/** | ||
* Clients message is invalid and should retry immediately with a valid message. | ||
*/ | ||
NackErrorType["BadRequestError"] = "BadRequestError"; | ||
/** | ||
* Service is having issues. Client should not retry. | ||
*/ | ||
NackErrorType["LimitExceededError"] = "LimitExceededError"; | ||
})(NackErrorType = exports.NackErrorType || (exports.NackErrorType = {})); | ||
//# sourceMappingURL=protocol.js.map |
@@ -6,3 +6,4 @@ /*! | ||
/** | ||
* Defines scope access for a Container/Document | ||
* Defines scope access for a Container/Document. | ||
* @internal | ||
*/ | ||
@@ -9,0 +10,0 @@ export declare enum ScopeType { |
@@ -9,3 +9,4 @@ "use strict"; | ||
/** | ||
* Defines scope access for a Container/Document | ||
* Defines scope access for a Container/Document. | ||
* @internal | ||
*/ | ||
@@ -12,0 +13,0 @@ var ScopeType; |
@@ -10,3 +10,4 @@ /*! | ||
/** | ||
* Message sent to connect to the given document | ||
* Message sent to connect to the given document. | ||
* @internal | ||
*/ | ||
@@ -66,3 +67,4 @@ export interface IConnect { | ||
/** | ||
* Message sent to indicate a client has connected to the server | ||
* Message sent to indicate a client has connected to the server. | ||
* @alpha | ||
*/ | ||
@@ -69,0 +71,0 @@ export interface IConnected { |
@@ -6,2 +6,5 @@ /*! | ||
import { IsoDate } from "./date"; | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IDocumentAttributes { | ||
@@ -17,2 +20,5 @@ /** | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export declare enum FileMode { | ||
@@ -25,3 +31,4 @@ File = "100644", | ||
/** | ||
* Raw blob stored within the tree | ||
* Raw blob stored within the tree. | ||
* @alpha | ||
*/ | ||
@@ -38,5 +45,11 @@ export interface IBlob { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IAttachment { | ||
id: string; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ICreateBlobResponse { | ||
@@ -46,3 +59,4 @@ id: string; | ||
/** | ||
* A tree entry wraps a path with a type of node | ||
* A tree entry wraps a path with a type of node. | ||
* @alpha | ||
*/ | ||
@@ -70,3 +84,4 @@ export declare type ITreeEntry = { | ||
/** | ||
* Type of entries that can be stored in a tree | ||
* Type of entries that can be stored in a tree. | ||
* @alpha | ||
*/ | ||
@@ -78,2 +93,5 @@ export declare enum TreeEntry { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ITree { | ||
@@ -91,2 +109,5 @@ entries: ITreeEntry[]; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISnapshotTree { | ||
@@ -105,2 +126,5 @@ id?: string; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISnapshotTreeEx extends ISnapshotTree { | ||
@@ -113,3 +137,4 @@ id: string; | ||
/** | ||
* Represents a version of the snapshot of a data store | ||
* Represents a version of the snapshot of a data store. | ||
* @alpha | ||
*/ | ||
@@ -116,0 +141,0 @@ export interface IVersion { |
@@ -8,2 +8,5 @@ "use strict"; | ||
exports.TreeEntry = exports.FileMode = void 0; | ||
/** | ||
* @alpha | ||
*/ | ||
var FileMode; | ||
@@ -17,3 +20,4 @@ (function (FileMode) { | ||
/** | ||
* Type of entries that can be stored in a tree | ||
* Type of entries that can be stored in a tree. | ||
* @alpha | ||
*/ | ||
@@ -20,0 +24,0 @@ var TreeEntry; |
@@ -7,3 +7,6 @@ /*! | ||
* Object representing a node within a summary tree. | ||
* | ||
* @remarks | ||
* If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children. | ||
* @alpha | ||
*/ | ||
@@ -13,2 +16,3 @@ export declare type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment; | ||
* The root of the summary tree. | ||
* @alpha | ||
*/ | ||
@@ -18,10 +22,24 @@ export declare type SummaryTree = ISummaryTree | ISummaryHandle; | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
* @alpha | ||
*/ | ||
export declare namespace SummaryType { | ||
/** | ||
* @internal | ||
*/ | ||
type Tree = 1; | ||
/** | ||
* @internal | ||
*/ | ||
type Blob = 2; | ||
/** | ||
* @internal | ||
*/ | ||
type Handle = 3; | ||
/** | ||
* @internal | ||
*/ | ||
type Attachment = 4; | ||
/** | ||
* Represents a sub-tree in the summary. | ||
* @alpha | ||
*/ | ||
@@ -33,2 +51,3 @@ const Tree: Tree; | ||
* such as data store / channel attributes. | ||
* @alpha | ||
*/ | ||
@@ -38,2 +57,3 @@ const Blob: Blob; | ||
* Path to a summary tree object from the last successful summary. | ||
* @alpha | ||
*/ | ||
@@ -45,2 +65,3 @@ const Handle: Handle; | ||
* receive an Id that can be used in the summary. | ||
* @alpha | ||
*/ | ||
@@ -51,2 +72,3 @@ const Attachment: Attachment; | ||
* {@inheritDoc (SummaryType:namespace)} | ||
* @alpha | ||
*/ | ||
@@ -60,2 +82,3 @@ export declare type SummaryType = SummaryType.Attachment | SummaryType.Blob | SummaryType.Handle | SummaryType.Tree; | ||
* the need to re-send the entire subtree if summary object has not changed. | ||
* @alpha | ||
*/ | ||
@@ -71,2 +94,3 @@ export declare type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment; | ||
* An example of handle would be: '/<DataStoreId>/<DDSId>'. | ||
* @alpha | ||
*/ | ||
@@ -86,6 +110,11 @@ export interface ISummaryHandle { | ||
* String or Binary data to be uploaded to the server as part of the container's Summary. | ||
* Note: Already uploaded blobs would be referenced by a ISummaryAttachment. | ||
* | ||
* @remarks | ||
* Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568} | ||
* @example "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* | ||
* @example | ||
* "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* \"summaryFormatVersion\":2,\"isRootDataStore\":false \}" | ||
* @alpha | ||
*/ | ||
@@ -97,8 +126,13 @@ export interface ISummaryBlob { | ||
/** | ||
* Unique identifier for blobs uploaded outside of the summary. Attachment Blobs are uploaded and | ||
* downloaded separately and do not take part of the snapshot payload. | ||
* The id gets returned from the backend after the attachment has been uploaded. | ||
* Unique identifier for blobs uploaded outside of the summary. | ||
* | ||
* @remarks | ||
* | ||
* Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload. | ||
* The ID gets returned from the backend after the attachment has been uploaded. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374} | ||
* | ||
* @example "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @example | ||
* "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @alpha | ||
*/ | ||
@@ -112,2 +146,3 @@ export interface ISummaryAttachment { | ||
* Blob, Handle, Attachment or another Tree. | ||
* @alpha | ||
*/ | ||
@@ -114,0 +149,0 @@ export interface ISummaryTree { |
@@ -10,2 +10,3 @@ "use strict"; | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
* @alpha | ||
*/ | ||
@@ -17,2 +18,3 @@ // eslint-disable-next-line @typescript-eslint/no-namespace | ||
* Represents a sub-tree in the summary. | ||
* @alpha | ||
*/ | ||
@@ -24,2 +26,3 @@ SummaryType.Tree = 1; | ||
* such as data store / channel attributes. | ||
* @alpha | ||
*/ | ||
@@ -29,2 +32,3 @@ SummaryType.Blob = 2; | ||
* Path to a summary tree object from the last successful summary. | ||
* @alpha | ||
*/ | ||
@@ -36,2 +40,3 @@ SummaryType.Handle = 3; | ||
* receive an Id that can be used in the summary. | ||
* @alpha | ||
*/ | ||
@@ -38,0 +43,0 @@ SummaryType.Attachment = 4; |
@@ -10,2 +10,3 @@ /*! | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
* @alpha | ||
*/ | ||
@@ -62,2 +63,3 @@ export interface ITokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -71,2 +73,3 @@ export interface ISummaryTokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -78,2 +81,3 @@ export interface IActorClient { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -85,2 +89,3 @@ export interface ITokenService { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -87,0 +92,0 @@ export interface ITokenProvider { |
@@ -7,2 +7,3 @@ /*! | ||
* Base user definition. It is valid to extend this interface when adding new details to the user object. | ||
* @alpha | ||
*/ | ||
@@ -9,0 +10,0 @@ export interface IUser { |
@@ -13,2 +13,3 @@ /*! | ||
* E.g. a user with read-only permissions will not be allowed a "write" connection mode. | ||
* @alpha | ||
*/ | ||
@@ -19,2 +20,3 @@ export declare type ConnectionMode = "write" | "read"; | ||
* In particular, whether or not the client is {@link ICapabilities.interactive}. | ||
* @alpha | ||
*/ | ||
@@ -35,2 +37,3 @@ export interface ICapabilities { | ||
* {@link IClient} connection / environment metadata. | ||
* @alpha | ||
*/ | ||
@@ -59,2 +62,3 @@ export interface IClientDetails { | ||
* Represents a client connected to a Fluid service, including associated user details, permissions, and connection mode. | ||
* @alpha | ||
*/ | ||
@@ -86,2 +90,3 @@ export interface IClient { | ||
* A {@link IClient} that has been acknowledged by the sequencer. | ||
* @alpha | ||
*/ | ||
@@ -98,2 +103,5 @@ export interface ISequencedClient { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISignalClient { | ||
@@ -119,2 +127,3 @@ /** | ||
* Contents sent with a `ClientJoin` message. | ||
* @internal | ||
*/ | ||
@@ -121,0 +130,0 @@ export interface IClientJoin { |
@@ -6,6 +6,13 @@ /*! | ||
/** | ||
* Key value store of service configuration properties provided to the client as part of connection | ||
* Key value store of service configuration properties provided to the client as part of connection. | ||
* @alpha | ||
*/ | ||
export interface IClientConfiguration { | ||
/** | ||
* Max message size the server will accept before requiring chunking. | ||
*/ | ||
maxMessageSize: number; | ||
/** | ||
* Server-defined ideal block size for storing snapshots. | ||
*/ | ||
blockSize: number; | ||
@@ -12,0 +19,0 @@ /** |
@@ -5,3 +5,2 @@ /*! | ||
*/ | ||
import { IErrorEvent, IEventProvider } from "@fluidframework/common-definitions"; | ||
import { ISequencedClient } from "./clients"; | ||
@@ -11,5 +10,7 @@ /** | ||
* | ||
* @remarks | ||
* Consensus on the proposal is achieved if the MSN is \>= the sequence number | ||
* at which the proposal is made and no client within the collaboration window rejects | ||
* the proposal. | ||
* @alpha | ||
*/ | ||
@@ -27,3 +28,4 @@ export interface IProposal { | ||
/** | ||
* Similar to IProposal except includes the sequence number when it was made in addition to the fields on IProposal | ||
* Similar to {@link IProposal} except it also includes the sequence number when it was made. | ||
* @alpha | ||
*/ | ||
@@ -34,3 +36,4 @@ export declare type ISequencedProposal = { | ||
/** | ||
* Adds the sequence number at which the message was approved to an ISequencedProposal | ||
* Adds the sequence number at which the message was approved to an {@link ISequencedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -41,3 +44,4 @@ export declare type IApprovedProposal = { | ||
/** | ||
* Adds the sequence number at which the message was committed to an IApprovedProposal | ||
* Adds the sequence number at which the message was committed to an {@link IApprovedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -48,17 +52,26 @@ export declare type ICommittedProposal = { | ||
/** | ||
* @deprecated This type is now unused and will be removed | ||
* Events fired by a Quorum in response to client tracking. | ||
* @internal | ||
* | ||
*/ | ||
export interface IQuorumClientsEvents extends IErrorEvent { | ||
export interface IQuorumClientsEvents { | ||
(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
(event: "removeMember", listener: (clientId: string) => void): any; | ||
(event: "error", listener: (message: any) => void): any; | ||
} | ||
/** | ||
* Events fired by a Quorum in response to proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
export interface IQuorumProposalsEvents extends IErrorEvent { | ||
export interface IQuorumProposalsEvents { | ||
(event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
(event: "error", listener: (message: any) => void): void; | ||
} | ||
/** | ||
* All events fired by an IQuorum, both client tracking and proposal tracking. | ||
* All events fired by {@link IQuorum}, both client tracking and proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
@@ -68,20 +81,39 @@ export declare type IQuorumEvents = IQuorumClientsEvents & IQuorumProposalsEvents; | ||
* Interface for tracking clients in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumClients extends IEventProvider<IQuorumClientsEvents> { | ||
export interface IQuorumClients { | ||
getMembers(): Map<string, ISequencedClient>; | ||
getMember(clientId: string): ISequencedClient | undefined; | ||
on(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void): any; | ||
on(event: "removeMember", listener: (clientId: string) => void): any; | ||
on(event: "error", listener: (message: any) => void): any; | ||
once: IQuorumClients["on"]; | ||
off: IQuorumClients["on"]; | ||
} | ||
/** | ||
* Interface for tracking proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumProposals extends IEventProvider<IQuorumProposalsEvents> { | ||
export interface IQuorumProposals { | ||
propose(key: string, value: unknown): Promise<void>; | ||
has(key: string): boolean; | ||
get(key: string): unknown; | ||
on(event: "addProposal", listener: (proposal: ISequencedProposal) => void): any; | ||
on(event: "approveProposal", listener: (sequenceNumber: number, key: string, value: unknown, approvalSequenceNumber: number) => void): any; | ||
on(event: "error", listener: (message: any) => void): void; | ||
once: IQuorumProposals["on"]; | ||
off: IQuorumProposals["on"]; | ||
} | ||
/** | ||
* Interface combining tracking of clients as well as proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off">, IEventProvider<IQuorumEvents> { | ||
export interface IQuorum extends Omit<IQuorumClients, "on" | "once" | "off">, Omit<IQuorumProposals, "on" | "once" | "off"> { | ||
on: IQuorumClients["on"] & IQuorumProposals["on"]; | ||
once: IQuorum["on"]; | ||
off: IQuorum["on"]; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface IProtocolState { | ||
@@ -94,2 +126,5 @@ sequenceNumber: number; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IProcessMessageResult { | ||
@@ -96,0 +131,0 @@ immediateNoOp?: boolean; |
@@ -6,5 +6,6 @@ /*! | ||
/** | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ` | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ`. | ||
* @alpha | ||
*/ | ||
export declare type IsoDate = string; | ||
//# sourceMappingURL=date.d.ts.map |
@@ -15,3 +15,3 @@ /*! | ||
export { IsoDate } from "./date"; | ||
export { IBranchOrigin, IDocumentMessage, IDocumentSystemMessage, INack, INackContent, ISentSignalMessage, ISequencedDocumentAugmentedMessage, ISequencedDocumentMessage, ISequencedDocumentSystemMessage, IServerError, ISignalMessage, ISignalMessageBase, ISummaryAck, ISummaryContent, ISummaryNack, ISummaryProposal, ITrace, IUploadedSummaryDetails, MessageType, NackErrorType, SignalType, } from "./protocol"; | ||
export { IBranchOrigin, IDocumentMessage, IDocumentSystemMessage, INack, INackContent, ISentSignalMessage, ISequencedDocumentAugmentedMessage, ISequencedDocumentMessage, ISequencedDocumentMessageExperimental, ISequencedDocumentSystemMessage, IServerError, ISignalMessage, ISignalMessageBase, ISummaryAck, ISummaryContent, ISummaryNack, ISummaryProposal, ITrace, IUploadedSummaryDetails, MessageType, NackErrorType, SignalType, } from "./protocol"; | ||
export { ScopeType } from "./scopes"; | ||
@@ -18,0 +18,0 @@ export { IConnect, IConnected } from "./sockets"; |
@@ -5,2 +5,5 @@ /*! | ||
*/ | ||
/** | ||
* @alpha | ||
*/ | ||
export declare enum MessageType { | ||
@@ -63,2 +66,5 @@ /** | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export declare enum SignalType { | ||
@@ -75,3 +81,4 @@ /** | ||
/** | ||
* Messages to track latency trace | ||
* Messages to track latency trace. | ||
* @alpha | ||
*/ | ||
@@ -92,2 +99,5 @@ export interface ITrace { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface INack { | ||
@@ -108,3 +118,4 @@ /** | ||
/** | ||
* Document specific message | ||
* Document-specific message. | ||
* @alpha | ||
*/ | ||
@@ -148,2 +159,3 @@ export interface IDocumentMessage { | ||
* Document Message with optional system level data field. | ||
* @internal | ||
*/ | ||
@@ -154,3 +166,4 @@ export interface IDocumentSystemMessage extends IDocumentMessage { | ||
/** | ||
* Branch origin information | ||
* Branch origin information. | ||
* @alpha | ||
*/ | ||
@@ -172,3 +185,4 @@ export interface IBranchOrigin { | ||
/** | ||
* Sequenced message for a distributed document | ||
* Sequenced message for a distributed document. | ||
* @alpha | ||
*/ | ||
@@ -227,6 +241,10 @@ export interface ISequencedDocumentMessage { | ||
timestamp: number; | ||
/** | ||
* Data provided by service. Only present in service generated messages. | ||
*/ | ||
data?: string; | ||
/** | ||
* Experimental field for storing the rolling hash at sequence number. | ||
* @alpha | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
@@ -236,9 +254,30 @@ expHash1?: string; | ||
* The compression algorithm that was used to compress contents of this message. | ||
* @experimental Not ready for use. | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
compression?: string; | ||
} | ||
/** | ||
* {@link ISequencedDocumentAugmentedMessage} with experimental properties. | ||
* @internal | ||
*/ | ||
export declare type ISequencedDocumentMessageExperimental = Omit<ISequencedDocumentMessage, "expHash1" | "compression"> & { | ||
/** | ||
* Stores the rolling hash at sequence number. | ||
*/ | ||
expHash1?: string; | ||
/** | ||
* The compression algorithm that was used to compress contents of this message. | ||
*/ | ||
compression?: string; | ||
}; | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage { | ||
data: string; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage { | ||
@@ -248,3 +287,4 @@ additionalContent: string; | ||
/** | ||
* Common interface between incoming and outgoing signals | ||
* Common interface between incoming and outgoing signals. | ||
* @alpha | ||
*/ | ||
@@ -270,3 +310,4 @@ export interface ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by the server to clients | ||
* Interface for signals sent by the server to clients. | ||
* @alpha | ||
*/ | ||
@@ -281,3 +322,4 @@ export interface ISignalMessage extends ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled. | ||
* @internal | ||
*/ | ||
@@ -290,10 +332,34 @@ export interface ISentSignalMessage extends ISignalMessageBase { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IUploadedSummaryDetails { | ||
/** | ||
* Indicates whether the uploaded summary contains ".protocol" tree. | ||
*/ | ||
includesProtocolTree?: boolean; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISummaryContent { | ||
/** | ||
* Handle reference to the summary data. | ||
*/ | ||
handle: string; | ||
/** | ||
* Message included as part of the summary. | ||
*/ | ||
message: string; | ||
/** | ||
* Handles to parent summaries of the proposed new summary. | ||
*/ | ||
parents: string[]; | ||
/** | ||
* Handle to the current latest summary stored by the service | ||
*/ | ||
head: string; | ||
/** | ||
* Details of the uploaded summary. | ||
*/ | ||
details?: IUploadedSummaryDetails; | ||
@@ -304,2 +370,3 @@ } | ||
* May want to add error code or something similar in the future. | ||
* @internal | ||
*/ | ||
@@ -314,2 +381,3 @@ export interface IServerError { | ||
* Data about the original proposed summary message. | ||
* @alpha | ||
*/ | ||
@@ -324,2 +392,3 @@ export interface ISummaryProposal { | ||
* Contents of summary ack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -338,2 +407,3 @@ export interface ISummaryAck { | ||
* Contents of summary nack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -364,2 +434,3 @@ export interface ISummaryNack { | ||
* Interface for nack content. | ||
* @alpha | ||
*/ | ||
@@ -389,14 +460,23 @@ export interface INackContent { | ||
/** | ||
* Type of the Nack. | ||
* InvalidScopeError: Client's token is not valid for the intended message. | ||
* ThrottlingError: Retriable after retryAfter number. | ||
* BadRequestError: Clients message is invalid and should retry immediately with a valid message. | ||
* LimitExceededError: Service is having issues. Client should not retry. | ||
* Type of the nack. | ||
* @alpha | ||
*/ | ||
export declare enum NackErrorType { | ||
/** | ||
* Retriable after {@link ISummaryNack.retryAfter} seconds. | ||
*/ | ||
ThrottlingError = "ThrottlingError", | ||
/** | ||
* Client's token is not valid for the intended message. | ||
*/ | ||
InvalidScopeError = "InvalidScopeError", | ||
/** | ||
* Clients message is invalid and should retry immediately with a valid message. | ||
*/ | ||
BadRequestError = "BadRequestError", | ||
/** | ||
* Service is having issues. Client should not retry. | ||
*/ | ||
LimitExceededError = "LimitExceededError" | ||
} | ||
//# sourceMappingURL=protocol.d.ts.map |
@@ -5,2 +5,5 @@ /*! | ||
*/ | ||
/** | ||
* @alpha | ||
*/ | ||
export var MessageType; | ||
@@ -64,2 +67,5 @@ (function (MessageType) { | ||
})(MessageType || (MessageType = {})); | ||
/** | ||
* @internal | ||
*/ | ||
export var SignalType; | ||
@@ -77,15 +83,24 @@ (function (SignalType) { | ||
/** | ||
* Type of the Nack. | ||
* InvalidScopeError: Client's token is not valid for the intended message. | ||
* ThrottlingError: Retriable after retryAfter number. | ||
* BadRequestError: Clients message is invalid and should retry immediately with a valid message. | ||
* LimitExceededError: Service is having issues. Client should not retry. | ||
* Type of the nack. | ||
* @alpha | ||
*/ | ||
export var NackErrorType; | ||
(function (NackErrorType) { | ||
/** | ||
* Retriable after {@link ISummaryNack.retryAfter} seconds. | ||
*/ | ||
NackErrorType["ThrottlingError"] = "ThrottlingError"; | ||
/** | ||
* Client's token is not valid for the intended message. | ||
*/ | ||
NackErrorType["InvalidScopeError"] = "InvalidScopeError"; | ||
/** | ||
* Clients message is invalid and should retry immediately with a valid message. | ||
*/ | ||
NackErrorType["BadRequestError"] = "BadRequestError"; | ||
/** | ||
* Service is having issues. Client should not retry. | ||
*/ | ||
NackErrorType["LimitExceededError"] = "LimitExceededError"; | ||
})(NackErrorType || (NackErrorType = {})); | ||
//# sourceMappingURL=protocol.js.map |
@@ -6,3 +6,4 @@ /*! | ||
/** | ||
* Defines scope access for a Container/Document | ||
* Defines scope access for a Container/Document. | ||
* @internal | ||
*/ | ||
@@ -9,0 +10,0 @@ export declare enum ScopeType { |
@@ -6,3 +6,4 @@ /*! | ||
/** | ||
* Defines scope access for a Container/Document | ||
* Defines scope access for a Container/Document. | ||
* @internal | ||
*/ | ||
@@ -9,0 +10,0 @@ export var ScopeType; |
@@ -10,3 +10,4 @@ /*! | ||
/** | ||
* Message sent to connect to the given document | ||
* Message sent to connect to the given document. | ||
* @internal | ||
*/ | ||
@@ -66,3 +67,4 @@ export interface IConnect { | ||
/** | ||
* Message sent to indicate a client has connected to the server | ||
* Message sent to indicate a client has connected to the server. | ||
* @alpha | ||
*/ | ||
@@ -69,0 +71,0 @@ export interface IConnected { |
@@ -6,2 +6,5 @@ /*! | ||
import { IsoDate } from "./date"; | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IDocumentAttributes { | ||
@@ -17,2 +20,5 @@ /** | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export declare enum FileMode { | ||
@@ -25,3 +31,4 @@ File = "100644", | ||
/** | ||
* Raw blob stored within the tree | ||
* Raw blob stored within the tree. | ||
* @alpha | ||
*/ | ||
@@ -38,5 +45,11 @@ export interface IBlob { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IAttachment { | ||
id: string; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ICreateBlobResponse { | ||
@@ -46,3 +59,4 @@ id: string; | ||
/** | ||
* A tree entry wraps a path with a type of node | ||
* A tree entry wraps a path with a type of node. | ||
* @alpha | ||
*/ | ||
@@ -70,3 +84,4 @@ export declare type ITreeEntry = { | ||
/** | ||
* Type of entries that can be stored in a tree | ||
* Type of entries that can be stored in a tree. | ||
* @alpha | ||
*/ | ||
@@ -78,2 +93,5 @@ export declare enum TreeEntry { | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ITree { | ||
@@ -91,2 +109,5 @@ entries: ITreeEntry[]; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISnapshotTree { | ||
@@ -105,2 +126,5 @@ id?: string; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISnapshotTreeEx extends ISnapshotTree { | ||
@@ -113,3 +137,4 @@ id: string; | ||
/** | ||
* Represents a version of the snapshot of a data store | ||
* Represents a version of the snapshot of a data store. | ||
* @alpha | ||
*/ | ||
@@ -116,0 +141,0 @@ export interface IVersion { |
@@ -5,2 +5,5 @@ /*! | ||
*/ | ||
/** | ||
* @alpha | ||
*/ | ||
export var FileMode; | ||
@@ -14,3 +17,4 @@ (function (FileMode) { | ||
/** | ||
* Type of entries that can be stored in a tree | ||
* Type of entries that can be stored in a tree. | ||
* @alpha | ||
*/ | ||
@@ -17,0 +21,0 @@ export var TreeEntry; |
@@ -7,3 +7,6 @@ /*! | ||
* Object representing a node within a summary tree. | ||
* | ||
* @remarks | ||
* If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children. | ||
* @alpha | ||
*/ | ||
@@ -13,2 +16,3 @@ export declare type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment; | ||
* The root of the summary tree. | ||
* @alpha | ||
*/ | ||
@@ -18,10 +22,24 @@ export declare type SummaryTree = ISummaryTree | ISummaryHandle; | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
* @alpha | ||
*/ | ||
export declare namespace SummaryType { | ||
/** | ||
* @internal | ||
*/ | ||
type Tree = 1; | ||
/** | ||
* @internal | ||
*/ | ||
type Blob = 2; | ||
/** | ||
* @internal | ||
*/ | ||
type Handle = 3; | ||
/** | ||
* @internal | ||
*/ | ||
type Attachment = 4; | ||
/** | ||
* Represents a sub-tree in the summary. | ||
* @alpha | ||
*/ | ||
@@ -33,2 +51,3 @@ const Tree: Tree; | ||
* such as data store / channel attributes. | ||
* @alpha | ||
*/ | ||
@@ -38,2 +57,3 @@ const Blob: Blob; | ||
* Path to a summary tree object from the last successful summary. | ||
* @alpha | ||
*/ | ||
@@ -45,2 +65,3 @@ const Handle: Handle; | ||
* receive an Id that can be used in the summary. | ||
* @alpha | ||
*/ | ||
@@ -51,2 +72,3 @@ const Attachment: Attachment; | ||
* {@inheritDoc (SummaryType:namespace)} | ||
* @alpha | ||
*/ | ||
@@ -60,2 +82,3 @@ export declare type SummaryType = SummaryType.Attachment | SummaryType.Blob | SummaryType.Handle | SummaryType.Tree; | ||
* the need to re-send the entire subtree if summary object has not changed. | ||
* @alpha | ||
*/ | ||
@@ -71,2 +94,3 @@ export declare type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment; | ||
* An example of handle would be: '/<DataStoreId>/<DDSId>'. | ||
* @alpha | ||
*/ | ||
@@ -86,6 +110,11 @@ export interface ISummaryHandle { | ||
* String or Binary data to be uploaded to the server as part of the container's Summary. | ||
* Note: Already uploaded blobs would be referenced by a ISummaryAttachment. | ||
* | ||
* @remarks | ||
* Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568} | ||
* @example "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* | ||
* @example | ||
* "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* \"summaryFormatVersion\":2,\"isRootDataStore\":false \}" | ||
* @alpha | ||
*/ | ||
@@ -97,8 +126,13 @@ export interface ISummaryBlob { | ||
/** | ||
* Unique identifier for blobs uploaded outside of the summary. Attachment Blobs are uploaded and | ||
* downloaded separately and do not take part of the snapshot payload. | ||
* The id gets returned from the backend after the attachment has been uploaded. | ||
* Unique identifier for blobs uploaded outside of the summary. | ||
* | ||
* @remarks | ||
* | ||
* Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload. | ||
* The ID gets returned from the backend after the attachment has been uploaded. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374} | ||
* | ||
* @example "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @example | ||
* "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @alpha | ||
*/ | ||
@@ -112,2 +146,3 @@ export interface ISummaryAttachment { | ||
* Blob, Handle, Attachment or another Tree. | ||
* @alpha | ||
*/ | ||
@@ -114,0 +149,0 @@ export interface ISummaryTree { |
@@ -7,2 +7,3 @@ /*! | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
* @alpha | ||
*/ | ||
@@ -14,2 +15,3 @@ // eslint-disable-next-line @typescript-eslint/no-namespace | ||
* Represents a sub-tree in the summary. | ||
* @alpha | ||
*/ | ||
@@ -21,2 +23,3 @@ SummaryType.Tree = 1; | ||
* such as data store / channel attributes. | ||
* @alpha | ||
*/ | ||
@@ -26,2 +29,3 @@ SummaryType.Blob = 2; | ||
* Path to a summary tree object from the last successful summary. | ||
* @alpha | ||
*/ | ||
@@ -33,2 +37,3 @@ SummaryType.Handle = 3; | ||
* receive an Id that can be used in the summary. | ||
* @alpha | ||
*/ | ||
@@ -35,0 +40,0 @@ SummaryType.Attachment = 4; |
@@ -30,11 +30,7 @@ use_current_TypeAliasDeclaration_ConnectionMode(get_old_TypeAliasDeclaration_ConnectionMode()); | ||
use_current_InterfaceDeclaration_IConnected(get_old_InterfaceDeclaration_IConnected()); | ||
use_old_InterfaceDeclaration_IConnected( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_IConnected()); | ||
use_old_InterfaceDeclaration_IConnected(get_current_InterfaceDeclaration_IConnected()); | ||
use_current_InterfaceDeclaration_ICreateBlobResponse(get_old_InterfaceDeclaration_ICreateBlobResponse()); | ||
use_old_InterfaceDeclaration_ICreateBlobResponse(get_current_InterfaceDeclaration_ICreateBlobResponse()); | ||
use_current_InterfaceDeclaration_IDocumentAttributes(get_old_InterfaceDeclaration_IDocumentAttributes()); | ||
use_old_InterfaceDeclaration_IDocumentAttributes( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_IDocumentAttributes()); | ||
use_old_InterfaceDeclaration_IDocumentAttributes(get_current_InterfaceDeclaration_IDocumentAttributes()); | ||
use_current_InterfaceDeclaration_IDocumentMessage(get_old_InterfaceDeclaration_IDocumentMessage()); | ||
@@ -55,9 +51,5 @@ use_old_InterfaceDeclaration_IDocumentMessage(get_current_InterfaceDeclaration_IDocumentMessage()); | ||
use_current_InterfaceDeclaration_IQuorum(get_old_InterfaceDeclaration_IQuorum()); | ||
use_old_InterfaceDeclaration_IQuorum( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_IQuorum()); | ||
use_old_InterfaceDeclaration_IQuorum(get_current_InterfaceDeclaration_IQuorum()); | ||
use_current_InterfaceDeclaration_IQuorumClients(get_old_InterfaceDeclaration_IQuorumClients()); | ||
use_old_InterfaceDeclaration_IQuorumClients( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_IQuorumClients()); | ||
use_old_InterfaceDeclaration_IQuorumClients(get_current_InterfaceDeclaration_IQuorumClients()); | ||
use_current_InterfaceDeclaration_IQuorumClientsEvents(get_old_InterfaceDeclaration_IQuorumClientsEvents()); | ||
@@ -68,5 +60,3 @@ use_old_InterfaceDeclaration_IQuorumClientsEvents(get_current_InterfaceDeclaration_IQuorumClientsEvents()); | ||
use_current_InterfaceDeclaration_IQuorumProposals(get_old_InterfaceDeclaration_IQuorumProposals()); | ||
use_old_InterfaceDeclaration_IQuorumProposals( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_IQuorumProposals()); | ||
use_old_InterfaceDeclaration_IQuorumProposals(get_current_InterfaceDeclaration_IQuorumProposals()); | ||
use_current_InterfaceDeclaration_IQuorumProposalsEvents(get_old_InterfaceDeclaration_IQuorumProposalsEvents()); | ||
@@ -77,13 +67,7 @@ use_old_InterfaceDeclaration_IQuorumProposalsEvents(get_current_InterfaceDeclaration_IQuorumProposalsEvents()); | ||
use_current_InterfaceDeclaration_ISequencedDocumentAugmentedMessage(get_old_InterfaceDeclaration_ISequencedDocumentAugmentedMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentAugmentedMessage( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_ISequencedDocumentAugmentedMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentAugmentedMessage(get_current_InterfaceDeclaration_ISequencedDocumentAugmentedMessage()); | ||
use_current_InterfaceDeclaration_ISequencedDocumentMessage(get_old_InterfaceDeclaration_ISequencedDocumentMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentMessage( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_ISequencedDocumentMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentMessage(get_current_InterfaceDeclaration_ISequencedDocumentMessage()); | ||
use_current_InterfaceDeclaration_ISequencedDocumentSystemMessage(get_old_InterfaceDeclaration_ISequencedDocumentSystemMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentSystemMessage( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_current_InterfaceDeclaration_ISequencedDocumentSystemMessage()); | ||
use_old_InterfaceDeclaration_ISequencedDocumentSystemMessage(get_current_InterfaceDeclaration_ISequencedDocumentSystemMessage()); | ||
use_current_TypeAliasDeclaration_ISequencedProposal(get_old_TypeAliasDeclaration_ISequencedProposal()); | ||
@@ -139,5 +123,3 @@ use_old_TypeAliasDeclaration_ISequencedProposal(get_current_TypeAliasDeclaration_ISequencedProposal()); | ||
use_old_TypeAliasDeclaration_IsoDate(get_current_TypeAliasDeclaration_IsoDate()); | ||
use_current_EnumDeclaration_MessageType( | ||
// @ts-expect-error compatibility expected to be broken | ||
get_old_EnumDeclaration_MessageType()); | ||
use_current_EnumDeclaration_MessageType(get_old_EnumDeclaration_MessageType()); | ||
use_old_EnumDeclaration_MessageType(get_current_EnumDeclaration_MessageType()); | ||
@@ -144,0 +126,0 @@ use_current_EnumDeclaration_NackErrorType(get_old_EnumDeclaration_NackErrorType()); |
@@ -10,2 +10,3 @@ /*! | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
* @alpha | ||
*/ | ||
@@ -62,2 +63,3 @@ export interface ITokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -71,2 +73,3 @@ export interface ISummaryTokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -78,2 +81,3 @@ export interface IActorClient { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -85,2 +89,3 @@ export interface ITokenService { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -87,0 +92,0 @@ export interface ITokenProvider { |
@@ -7,2 +7,3 @@ /*! | ||
* Base user definition. It is valid to extend this interface when adding new details to the user object. | ||
* @alpha | ||
*/ | ||
@@ -9,0 +10,0 @@ export interface IUser { |
{ | ||
"name": "@fluidframework/protocol-definitions", | ||
"version": "3.0.0", | ||
"version": "3.1.0-220363", | ||
"description": "Fluid protocol definitions", | ||
@@ -17,18 +17,15 @@ "homepage": "https://fluidframework.com", | ||
"types": "dist/index.d.ts", | ||
"dependencies": { | ||
"@fluidframework/common-definitions": "^1.0.0" | ||
}, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@fluid-tools/build-cli": "^0.22.0", | ||
"@fluidframework/build-common": "^2.0.0", | ||
"@fluidframework/build-tools": "^0.22.0", | ||
"@fluid-tools/build-cli": "^0.26.1", | ||
"@fluidframework/build-common": "^2.0.3", | ||
"@fluidframework/build-tools": "^0.26.1", | ||
"@fluidframework/eslint-config-fluid": "^2.0.0", | ||
"@fluidframework/protocol-definitions-previous": "npm:@fluidframework/protocol-definitions@1.1.0", | ||
"@microsoft/api-extractor": "^7.22.2", | ||
"@rushstack/eslint-config": "^2.5.1", | ||
"@fluidframework/protocol-definitions-previous": "npm:@fluidframework/protocol-definitions@2.0.0", | ||
"@microsoft/api-extractor": "^7.38.3", | ||
"concurrently": "^6.2.0", | ||
"copyfiles": "^2.4.1", | ||
"eslint": "~8.6.0", | ||
"eslint-config-prettier": "~8.5.0", | ||
"prettier": "~2.6.2", | ||
"eslint-config-prettier": "~9.0.0", | ||
"prettier": "~3.0.3", | ||
"rimraf": "^2.6.2", | ||
@@ -52,57 +49,22 @@ "typescript": "~4.5.5", | ||
"typeValidation": { | ||
"broken": { | ||
"InterfaceDeclaration_IDocumentAttributes": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_IConnected": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_ISequencedDocumentAugmentedMessage": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_ISequencedDocumentMessage": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_ISequencedDocumentSystemMessage": { | ||
"backCompat": false | ||
}, | ||
"RemovedInterfaceDeclaration_IHelpMessage": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
}, | ||
"RemovedInterfaceDeclaration_IQueueMessage": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
}, | ||
"EnumDeclaration_MessageType": { | ||
"forwardCompat": false | ||
}, | ||
"InterfaceDeclaration_IQuorum": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_IQuorumClients": { | ||
"backCompat": false | ||
}, | ||
"InterfaceDeclaration_IQuorumProposals": { | ||
"backCompat": false | ||
} | ||
} | ||
"broken": {} | ||
}, | ||
"scripts": { | ||
"build": "concurrently npm:build:compile npm:lint && npm run build:docs", | ||
"build": "npm run build:compile && concurrently npm:lint npm:build:docs", | ||
"build:compile": "concurrently npm:typetests:gen npm:tsc npm:build:esnext", | ||
"build:docs": "api-extractor run --local --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/", | ||
"build:docs": "api-extractor run --local --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", | ||
"build:esnext": "tsc --project ./tsconfig.esnext.json", | ||
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json", | ||
"ci:build": "npm run build:compile", | ||
"ci:build:docs": "api-extractor run --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/", | ||
"ci:build:docs": "api-extractor run --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", | ||
"ci:test": "echo No test for this package", | ||
"ci:test:coverage": "echo No test for this package", | ||
"clean": "rimraf --glob _api-extractor-temp dist lib *.tsbuildinfo *.build.log", | ||
"clean": "rimraf --glob _api-extractor-temp dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\"", | ||
"eslint": "eslint --format stylish src", | ||
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout", | ||
"format": "npm run prettier:fix", | ||
"lint": "npm run prettier && npm run eslint", | ||
"lint": "npm run prettier && npm run check:release-tags && npm run eslint", | ||
"lint:fix": "npm run prettier:fix && npm run eslint:fix", | ||
"prettier": "prettier --check . --ignore-path ../../../.prettierignore", | ||
"prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore", | ||
"prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", | ||
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore", | ||
"tsc": "tsc", | ||
@@ -109,0 +71,0 @@ "tsc:watch": "tsc --watch", |
@@ -15,2 +15,3 @@ /*! | ||
* E.g. a user with read-only permissions will not be allowed a "write" connection mode. | ||
* @alpha | ||
*/ | ||
@@ -22,2 +23,3 @@ export type ConnectionMode = "write" | "read"; | ||
* In particular, whether or not the client is {@link ICapabilities.interactive}. | ||
* @alpha | ||
*/ | ||
@@ -39,2 +41,3 @@ export interface ICapabilities { | ||
* {@link IClient} connection / environment metadata. | ||
* @alpha | ||
*/ | ||
@@ -66,2 +69,3 @@ export interface IClientDetails { | ||
* Represents a client connected to a Fluid service, including associated user details, permissions, and connection mode. | ||
* @alpha | ||
*/ | ||
@@ -99,2 +103,3 @@ export interface IClient { | ||
* A {@link IClient} that has been acknowledged by the sequencer. | ||
* @alpha | ||
*/ | ||
@@ -113,2 +118,5 @@ export interface ISequencedClient { | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISignalClient { | ||
@@ -138,2 +146,3 @@ /** | ||
* Contents sent with a `ClientJoin` message. | ||
* @internal | ||
*/ | ||
@@ -140,0 +149,0 @@ export interface IClientJoin { |
@@ -7,9 +7,14 @@ /*! | ||
/** | ||
* Key value store of service configuration properties provided to the client as part of connection | ||
* Key value store of service configuration properties provided to the client as part of connection. | ||
* @alpha | ||
*/ | ||
export interface IClientConfiguration { | ||
// Max message size the server will accept before requiring chunking | ||
/** | ||
* Max message size the server will accept before requiring chunking. | ||
*/ | ||
maxMessageSize: number; | ||
// Server defined ideal block size for storing snapshots | ||
/** | ||
* Server-defined ideal block size for storing snapshots. | ||
*/ | ||
blockSize: number; | ||
@@ -16,0 +21,0 @@ |
@@ -6,3 +6,2 @@ /*! | ||
import { IErrorEvent, IEventProvider } from "@fluidframework/common-definitions"; | ||
import { ISequencedClient } from "./clients"; | ||
@@ -13,5 +12,7 @@ | ||
* | ||
* @remarks | ||
* Consensus on the proposal is achieved if the MSN is \>= the sequence number | ||
* at which the proposal is made and no client within the collaboration window rejects | ||
* the proposal. | ||
* @alpha | ||
*/ | ||
@@ -31,3 +32,4 @@ export interface IProposal { | ||
/** | ||
* Similar to IProposal except includes the sequence number when it was made in addition to the fields on IProposal | ||
* Similar to {@link IProposal} except it also includes the sequence number when it was made. | ||
* @alpha | ||
*/ | ||
@@ -37,3 +39,4 @@ export type ISequencedProposal = { sequenceNumber: number } & IProposal; | ||
/** | ||
* Adds the sequence number at which the message was approved to an ISequencedProposal | ||
* Adds the sequence number at which the message was approved to an {@link ISequencedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -43,3 +46,4 @@ export type IApprovedProposal = { approvalSequenceNumber: number } & ISequencedProposal; | ||
/** | ||
* Adds the sequence number at which the message was committed to an IApprovedProposal | ||
* Adds the sequence number at which the message was committed to an {@link IApprovedProposal}. | ||
* @alpha | ||
*/ | ||
@@ -49,7 +53,12 @@ export type ICommittedProposal = { commitSequenceNumber: number } & IApprovedProposal; | ||
/** | ||
* @deprecated This type is now unused and will be removed | ||
* Events fired by a Quorum in response to client tracking. | ||
* @internal | ||
* | ||
*/ | ||
export interface IQuorumClientsEvents extends IErrorEvent { | ||
export interface IQuorumClientsEvents { | ||
(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void); | ||
(event: "removeMember", listener: (clientId: string) => void); | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
(event: "error", listener: (message: any) => void); | ||
} | ||
@@ -59,4 +68,6 @@ | ||
* Events fired by a Quorum in response to proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
export interface IQuorumProposalsEvents extends IErrorEvent { | ||
export interface IQuorumProposalsEvents { | ||
(event: "addProposal", listener: (proposal: ISequencedProposal) => void); | ||
@@ -72,6 +83,10 @@ ( | ||
); | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
(event: "error", listener: (message: any) => void): void; | ||
} | ||
/** | ||
* All events fired by an IQuorum, both client tracking and proposal tracking. | ||
* All events fired by {@link IQuorum}, both client tracking and proposal tracking. | ||
* @internal | ||
* @deprecated This type is now unused and will be removed | ||
*/ | ||
@@ -82,7 +97,13 @@ export type IQuorumEvents = IQuorumClientsEvents & IQuorumProposalsEvents; | ||
* Interface for tracking clients in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumClients extends IEventProvider<IQuorumClientsEvents> { | ||
export interface IQuorumClients { | ||
getMembers(): Map<string, ISequencedClient>; | ||
getMember(clientId: string): ISequencedClient | undefined; | ||
on(event: "addMember", listener: (clientId: string, details: ISequencedClient) => void); | ||
on(event: "removeMember", listener: (clientId: string) => void); | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
on(event: "error", listener: (message: any) => void); | ||
once: IQuorumClients["on"]; | ||
off: IQuorumClients["on"]; | ||
} | ||
@@ -92,4 +113,5 @@ | ||
* Interface for tracking proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorumProposals extends IEventProvider<IQuorumProposalsEvents> { | ||
export interface IQuorumProposals { | ||
propose(key: string, value: unknown): Promise<void>; | ||
@@ -100,2 +122,17 @@ | ||
get(key: string): unknown; | ||
on(event: "addProposal", listener: (proposal: ISequencedProposal) => void); | ||
on( | ||
event: "approveProposal", | ||
listener: ( | ||
sequenceNumber: number, | ||
key: string, | ||
value: unknown, | ||
approvalSequenceNumber: number, | ||
) => void, | ||
); | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
on(event: "error", listener: (message: any) => void): void; | ||
once: IQuorumProposals["on"]; | ||
off: IQuorumProposals["on"]; | ||
} | ||
@@ -105,8 +142,15 @@ | ||
* Interface combining tracking of clients as well as proposals in the Quorum. | ||
* @alpha | ||
*/ | ||
export interface IQuorum | ||
extends Omit<IQuorumClients, "on" | "once" | "off">, | ||
Omit<IQuorumProposals, "on" | "once" | "off">, | ||
IEventProvider<IQuorumEvents> {} | ||
Omit<IQuorumProposals, "on" | "once" | "off"> { | ||
on: IQuorumClients["on"] & IQuorumProposals["on"]; | ||
once: IQuorum["on"]; | ||
off: IQuorum["on"]; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
export interface IProtocolState { | ||
@@ -120,4 +164,7 @@ sequenceNumber: number; | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IProcessMessageResult { | ||
immediateNoOp?: boolean; | ||
} |
@@ -7,4 +7,5 @@ /*! | ||
/** | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ` | ||
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ`. | ||
* @alpha | ||
*/ | ||
export type IsoDate = string; |
@@ -47,2 +47,3 @@ /*! | ||
ISequencedDocumentMessage, | ||
ISequencedDocumentMessageExperimental, | ||
ISequencedDocumentSystemMessage, | ||
@@ -49,0 +50,0 @@ IServerError, |
@@ -6,2 +6,5 @@ /*! | ||
/** | ||
* @alpha | ||
*/ | ||
export enum MessageType { | ||
@@ -77,2 +80,5 @@ /** | ||
/** | ||
* @internal | ||
*/ | ||
export enum SignalType { | ||
@@ -91,3 +97,4 @@ /** | ||
/** | ||
* Messages to track latency trace | ||
* Messages to track latency trace. | ||
* @alpha | ||
*/ | ||
@@ -111,2 +118,5 @@ export interface ITrace { | ||
/** | ||
* @alpha | ||
*/ | ||
export interface INack { | ||
@@ -130,3 +140,4 @@ /** | ||
/** | ||
* Document specific message | ||
* Document-specific message. | ||
* @alpha | ||
*/ | ||
@@ -178,2 +189,3 @@ export interface IDocumentMessage { | ||
* Document Message with optional system level data field. | ||
* @internal | ||
*/ | ||
@@ -185,3 +197,4 @@ export interface IDocumentSystemMessage extends IDocumentMessage { | ||
/** | ||
* Branch origin information | ||
* Branch origin information. | ||
* @alpha | ||
*/ | ||
@@ -206,3 +219,4 @@ export interface IBranchOrigin { | ||
/** | ||
* Sequenced message for a distributed document | ||
* Sequenced message for a distributed document. | ||
* @alpha | ||
*/ | ||
@@ -274,3 +288,5 @@ export interface ISequencedDocumentMessage { | ||
// Data provided by service. Only present in service generated messages. | ||
/** | ||
* Data provided by service. Only present in service generated messages. | ||
*/ | ||
data?: string; | ||
@@ -280,3 +296,4 @@ | ||
* Experimental field for storing the rolling hash at sequence number. | ||
* @alpha | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
@@ -287,3 +304,4 @@ expHash1?: string; | ||
* The compression algorithm that was used to compress contents of this message. | ||
* @experimental Not ready for use. | ||
* | ||
* @deprecated Use {@link ISequencedDocumentMessageExperimental} instead. | ||
*/ | ||
@@ -293,2 +311,24 @@ compression?: string; | ||
/** | ||
* {@link ISequencedDocumentAugmentedMessage} with experimental properties. | ||
* @internal | ||
*/ | ||
export type ISequencedDocumentMessageExperimental = Omit< | ||
ISequencedDocumentMessage, | ||
"expHash1" | "compression" | ||
> & { | ||
/** | ||
* Stores the rolling hash at sequence number. | ||
*/ | ||
expHash1?: string; | ||
/** | ||
* The compression algorithm that was used to compress contents of this message. | ||
*/ | ||
compression?: string; | ||
}; | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage { | ||
@@ -298,2 +338,5 @@ data: string; | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage { | ||
@@ -304,3 +347,4 @@ additionalContent: string; | ||
/** | ||
* Common interface between incoming and outgoing signals | ||
* Common interface between incoming and outgoing signals. | ||
* @alpha | ||
*/ | ||
@@ -330,3 +374,4 @@ export interface ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by the server to clients | ||
* Interface for signals sent by the server to clients. | ||
* @alpha | ||
*/ | ||
@@ -343,3 +388,4 @@ export interface ISignalMessage extends ISignalMessageBase { | ||
/** | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled | ||
* Interface for signals sent by clients to the server when submit_signals_v2 is enabled. | ||
* @internal | ||
*/ | ||
@@ -353,21 +399,39 @@ export interface ISentSignalMessage extends ISignalMessageBase { | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IUploadedSummaryDetails { | ||
// Indicates whether the uploaded summary contains ".protocol" tree | ||
/** | ||
* Indicates whether the uploaded summary contains ".protocol" tree. | ||
*/ | ||
includesProtocolTree?: boolean; | ||
} | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISummaryContent { | ||
// Handle reference to the summary data | ||
/** | ||
* Handle reference to the summary data. | ||
*/ | ||
handle: string; | ||
// Message included as part of the summary | ||
/** | ||
* Message included as part of the summary. | ||
*/ | ||
message: string; | ||
// Handles to parent summaries of the proposed new summary | ||
/** | ||
* Handles to parent summaries of the proposed new summary. | ||
*/ | ||
parents: string[]; | ||
// Handle to the current latest summary stored by the service | ||
/** | ||
* Handle to the current latest summary stored by the service | ||
*/ | ||
head: string; | ||
// Details of the uploaded summary | ||
/** | ||
* Details of the uploaded summary. | ||
*/ | ||
details?: IUploadedSummaryDetails; | ||
@@ -382,2 +446,3 @@ | ||
* May want to add error code or something similar in the future. | ||
* @internal | ||
*/ | ||
@@ -393,2 +458,3 @@ export interface IServerError { | ||
* Data about the original proposed summary message. | ||
* @alpha | ||
*/ | ||
@@ -404,2 +470,3 @@ export interface ISummaryProposal { | ||
* Contents of summary ack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -420,2 +487,3 @@ export interface ISummaryAck { | ||
* Contents of summary nack expected from the server. | ||
* @alpha | ||
*/ | ||
@@ -450,2 +518,3 @@ export interface ISummaryNack { | ||
* Interface for nack content. | ||
* @alpha | ||
*/ | ||
@@ -479,13 +548,25 @@ export interface INackContent { | ||
/** | ||
* Type of the Nack. | ||
* InvalidScopeError: Client's token is not valid for the intended message. | ||
* ThrottlingError: Retriable after retryAfter number. | ||
* BadRequestError: Clients message is invalid and should retry immediately with a valid message. | ||
* LimitExceededError: Service is having issues. Client should not retry. | ||
* Type of the nack. | ||
* @alpha | ||
*/ | ||
export enum NackErrorType { | ||
/** | ||
* Retriable after {@link ISummaryNack.retryAfter} seconds. | ||
*/ | ||
ThrottlingError = "ThrottlingError", | ||
/** | ||
* Client's token is not valid for the intended message. | ||
*/ | ||
InvalidScopeError = "InvalidScopeError", | ||
/** | ||
* Clients message is invalid and should retry immediately with a valid message. | ||
*/ | ||
BadRequestError = "BadRequestError", | ||
/** | ||
* Service is having issues. Client should not retry. | ||
*/ | ||
LimitExceededError = "LimitExceededError", | ||
} |
@@ -7,3 +7,4 @@ /*! | ||
/** | ||
* Defines scope access for a Container/Document | ||
* Defines scope access for a Container/Document. | ||
* @internal | ||
*/ | ||
@@ -10,0 +11,0 @@ export enum ScopeType { |
@@ -12,3 +12,4 @@ /*! | ||
/** | ||
* Message sent to connect to the given document | ||
* Message sent to connect to the given document. | ||
* @internal | ||
*/ | ||
@@ -81,3 +82,4 @@ export interface IConnect { | ||
/** | ||
* Message sent to indicate a client has connected to the server | ||
* Message sent to indicate a client has connected to the server. | ||
* @alpha | ||
*/ | ||
@@ -84,0 +86,0 @@ export interface IConnected { |
@@ -8,2 +8,5 @@ /*! | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IDocumentAttributes { | ||
@@ -21,2 +24,5 @@ /** | ||
/** | ||
* @alpha | ||
*/ | ||
export enum FileMode { | ||
@@ -30,3 +36,4 @@ File = "100644", | ||
/** | ||
* Raw blob stored within the tree | ||
* Raw blob stored within the tree. | ||
* @alpha | ||
*/ | ||
@@ -45,2 +52,5 @@ export interface IBlob { | ||
/** | ||
* @alpha | ||
*/ | ||
export interface IAttachment { | ||
@@ -50,2 +60,5 @@ id: string; | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ICreateBlobResponse { | ||
@@ -56,3 +69,4 @@ id: string; | ||
/** | ||
* A tree entry wraps a path with a type of node | ||
* A tree entry wraps a path with a type of node. | ||
* @alpha | ||
*/ | ||
@@ -86,3 +100,4 @@ export type ITreeEntry = { | ||
/** | ||
* Type of entries that can be stored in a tree | ||
* Type of entries that can be stored in a tree. | ||
* @alpha | ||
*/ | ||
@@ -95,2 +110,5 @@ export enum TreeEntry { | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ITree { | ||
@@ -111,2 +129,5 @@ entries: ITreeEntry[]; | ||
/** | ||
* @alpha | ||
*/ | ||
export interface ISnapshotTree { | ||
@@ -123,2 +144,5 @@ id?: string; | ||
/** | ||
* @internal | ||
*/ | ||
export interface ISnapshotTreeEx extends ISnapshotTree { | ||
@@ -130,3 +154,4 @@ id: string; | ||
/** | ||
* Represents a version of the snapshot of a data store | ||
* Represents a version of the snapshot of a data store. | ||
* @alpha | ||
*/ | ||
@@ -133,0 +158,0 @@ export interface IVersion { |
@@ -8,3 +8,6 @@ /*! | ||
* Object representing a node within a summary tree. | ||
* | ||
* @remarks | ||
* If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children. | ||
* @alpha | ||
*/ | ||
@@ -15,2 +18,3 @@ export type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment; | ||
* The root of the summary tree. | ||
* @alpha | ||
*/ | ||
@@ -21,8 +25,21 @@ export type SummaryTree = ISummaryTree | ISummaryHandle; | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
* @alpha | ||
*/ | ||
// eslint-disable-next-line @typescript-eslint/no-namespace | ||
export namespace SummaryType { | ||
/** | ||
* @internal | ||
*/ | ||
export type Tree = 1; | ||
/** | ||
* @internal | ||
*/ | ||
export type Blob = 2; | ||
/** | ||
* @internal | ||
*/ | ||
export type Handle = 3; | ||
/** | ||
* @internal | ||
*/ | ||
export type Attachment = 4; | ||
@@ -32,2 +49,3 @@ | ||
* Represents a sub-tree in the summary. | ||
* @alpha | ||
*/ | ||
@@ -40,2 +58,3 @@ export const Tree: Tree = 1 as const; | ||
* such as data store / channel attributes. | ||
* @alpha | ||
*/ | ||
@@ -46,2 +65,3 @@ export const Blob: Blob = 2 as const; | ||
* Path to a summary tree object from the last successful summary. | ||
* @alpha | ||
*/ | ||
@@ -54,2 +74,3 @@ export const Handle: Handle = 3 as const; | ||
* receive an Id that can be used in the summary. | ||
* @alpha | ||
*/ | ||
@@ -61,2 +82,3 @@ export const Attachment: Attachment = 4 as const; | ||
* {@inheritDoc (SummaryType:namespace)} | ||
* @alpha | ||
*/ | ||
@@ -75,2 +97,3 @@ export type SummaryType = | ||
* the need to re-send the entire subtree if summary object has not changed. | ||
* @alpha | ||
*/ | ||
@@ -87,2 +110,3 @@ export type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment; | ||
* An example of handle would be: '/<DataStoreId>/<DDSId>'. | ||
* @alpha | ||
*/ | ||
@@ -105,6 +129,11 @@ export interface ISummaryHandle { | ||
* String or Binary data to be uploaded to the server as part of the container's Summary. | ||
* Note: Already uploaded blobs would be referenced by a ISummaryAttachment. | ||
* | ||
* @remarks | ||
* Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568} | ||
* @example "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* | ||
* @example | ||
* "content": "\{ \"pkg\":\"[\\\"OfficeRootComponent\\\",\\\"LastEditedComponent\\\"]\", | ||
* \"summaryFormatVersion\":2,\"isRootDataStore\":false \}" | ||
* @alpha | ||
*/ | ||
@@ -117,8 +146,13 @@ export interface ISummaryBlob { | ||
/** | ||
* Unique identifier for blobs uploaded outside of the summary. Attachment Blobs are uploaded and | ||
* downloaded separately and do not take part of the snapshot payload. | ||
* The id gets returned from the backend after the attachment has been uploaded. | ||
* Unique identifier for blobs uploaded outside of the summary. | ||
* | ||
* @remarks | ||
* | ||
* Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload. | ||
* The ID gets returned from the backend after the attachment has been uploaded. | ||
* Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374} | ||
* | ||
* @example "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @example | ||
* "id": "bQAQKARDdMdTgqICmBa_ZB86YXwGP" | ||
* @alpha | ||
*/ | ||
@@ -133,2 +167,3 @@ export interface ISummaryAttachment { | ||
* Blob, Handle, Attachment or another Tree. | ||
* @alpha | ||
*/ | ||
@@ -135,0 +170,0 @@ export interface ISummaryTree { |
@@ -12,2 +12,3 @@ /*! | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
* @alpha | ||
*/ | ||
@@ -72,2 +73,3 @@ export interface ITokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -82,2 +84,3 @@ export interface ISummaryTokenClaims { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -90,2 +93,3 @@ export interface IActorClient { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -98,2 +102,3 @@ export interface ITokenService { | ||
* @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`. | ||
* @internal | ||
*/ | ||
@@ -100,0 +105,0 @@ export interface ITokenProvider { |
@@ -8,2 +8,3 @@ /*! | ||
* Base user definition. It is valid to extend this interface when adding new details to the user object. | ||
* @alpha | ||
*/ | ||
@@ -10,0 +11,0 @@ export interface IUser { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
377165
0
14
126
4836
1
- Removed@fluidframework/common-definitions@1.1.0(transitive)