Packages > @fluidframework/protocol-definitions
@fluidframework/protocol-definitions Package
Core set of Fluid protocol interfaces shared between services and clients. These interfaces must always be back and forward compatible.
Interfaces
Interface | Alerts | Description |
---|---|---|
IAttachment |
ALPHA
|
|
IBlob |
ALPHA
|
Raw blob stored within the tree. |
IBranchOrigin |
ALPHA
|
Branch origin information. |
ICapabilities |
ALPHA
|
Capabilities of a Client. In particular, whether or not the client is interactive. |
IClient |
ALPHA
|
Represents a client connected to a Fluid service, including associated user details, permissions, and connection mode. |
IClientConfiguration |
ALPHA
|
Key value store of service configuration properties provided to the client as part of connection. |
IClientDetails |
ALPHA
|
IClient connection / environment metadata. |
IConnected |
ALPHA
|
Message sent to indicate a client has connected to the server. |
ICreateBlobResponse |
ALPHA
|
|
IDocumentAttributes |
ALPHA
|
|
IDocumentMessage |
ALPHA
|
Document-specific message. |
INack |
ALPHA
|
|
INackContent |
ALPHA
|
Interface for nack content. |
IProcessMessageResult |
ALPHA
|
|
IProposal |
ALPHA
|
Proposal to set the given key/value pair. |
IQuorum |
ALPHA
|
Interface combining tracking of clients as well as proposals in the Quorum. |
IQuorumClients |
ALPHA
|
Interface for tracking clients in the Quorum. |
IQuorumProposals |
ALPHA
|
Interface for tracking proposals in the Quorum. |
ISequencedClient |
ALPHA
|
A IClient that has been acknowledged by the sequencer. |
ISequencedDocumentMessage |
ALPHA
|
Sequenced message for a distributed document. |
ISignalClient |
ALPHA
|
|
ISignalMessage |
ALPHA
|
Interface for signals sent by the server to clients. |
ISignalMessageBase |
ALPHA
|
Common interface between incoming and outgoing signals. |
ISnapshotTree |
ALPHA
|
|
ISummaryAck |
ALPHA
|
Contents of summary ack expected from the server. |
ISummaryAttachment |
ALPHA
|
Unique identifier for blobs uploaded outside of the summary. |
ISummaryBlob |
ALPHA
|
String or Binary data to be uploaded to the server as part of the container's Summary. |
ISummaryContent |
ALPHA
|
|
ISummaryHandle |
ALPHA
|
Path to a summary tree object from the last successful summary indicating the summary object hasn't changed since it was uploaded. |
ISummaryNack |
ALPHA
|
Contents of summary nack expected from the server. |
ISummaryProposal |
ALPHA
|
Data about the original proposed summary message. |
ISummaryTree |
ALPHA
|
Tree Node data structure with children that are nodes of SummaryObject type: Blob, Handle, Attachment or another Tree. |
ITokenClaims |
ALPHA
|
JSON Web Token (JWT) Claims |
ITrace |
ALPHA
|
Messages to track latency trace. |
ITree |
ALPHA
|
|
IUploadedSummaryDetails |
ALPHA
|
|
IUser |
ALPHA
|
Base user definition. It is valid to extend this interface when adding new details to the user object. |
IVersion |
ALPHA
|
Represents a version of the snapshot of a data store. |
Enumerations
Enum | Alerts | Description |
---|---|---|
FileMode |
ALPHA
|
|
MessageType |
ALPHA
|
|
NackErrorType |
ALPHA
|
Type of the nack. |
TreeEntry |
ALPHA
|
Type of entries that can be stored in a tree. |
Types
TypeAlias | Alerts | Description |
---|---|---|
ConnectionMode |
ALPHA
|
A client's connection mode - either view-only ("read") or allowing edits ("write"). |
IApprovedProposal |
ALPHA
|
Adds the sequence number at which the message was approved to an ISequencedProposal. |
ICommittedProposal |
ALPHA
|
Adds the sequence number at which the message was committed to an IApprovedProposal. |
ISequencedProposal |
ALPHA
|
Similar to IProposal except it also includes the sequence number when it was made. |
IsoDate |
ALPHA
|
ISO 8601 format date: YYYY-MM-DDTHH:MM:SSZ .
|
ITreeEntry |
ALPHA
|
A tree entry wraps a path with a type of node. |
SummaryObject |
ALPHA
|
Object representing a node within a summary tree. |
SummaryTree |
ALPHA
|
The root of the summary tree. |
SummaryType |
ALPHA
|
Type tag used to distinguish different types of nodes in a ISummaryTree. |
SummaryTypeNoHandle |
ALPHA
|
Summary type that ISummaryHandle points to. |
Namespaces
Namespace | Alerts | Description |
---|---|---|
SummaryType |
ALPHA
|
Type tag used to distinguish different types of nodes in a ISummaryTree. |
Type Details
ConnectionMode (ALPHA)
A client’s connection mode - either view-only (“read”) or allowing edits (“write”).
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type ConnectionMode = "write" | "read";
Remarks
Note: a user’s connection mode is dependent on their permissions. E.g. a user with read-only permissions will not be allowed a “write” connection mode.
IApprovedProposal (ALPHA)
Adds the sequence number at which the message was approved to an ISequencedProposal .
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type IApprovedProposal = {
approvalSequenceNumber: number;
} & ISequencedProposal;
ICommittedProposal (ALPHA)
Adds the sequence number at which the message was committed to an IApprovedProposal .
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type ICommittedProposal = {
commitSequenceNumber: number;
} & IApprovedProposal;
ISequencedProposal (ALPHA)
Similar to IProposal except it also includes the sequence number when it was made.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type ISequencedProposal = {
sequenceNumber: number;
} & IProposal;
IsoDate (ALPHA)
ISO 8601 format
date: YYYY-MM-DDTHH:MM:SSZ
.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type IsoDate = string;
ITreeEntry (ALPHA)
A tree entry wraps a path with a type of node.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type ITreeEntry = {
path: string;
mode: FileMode;
} & ({
type: TreeEntry.Blob;
value: IBlob;
} | {
type: TreeEntry.Tree;
value: ITree;
} | {
type: TreeEntry.Attachment;
value: IAttachment;
});
SummaryObject (ALPHA)
Object representing a node within a summary tree.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment;
Remarks
If any particular node is an ISummaryTree
, it can contain additional SummaryObject
s as its children.
SummaryTree (ALPHA)
The root of the summary tree.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type SummaryTree = ISummaryTree | ISummaryHandle;
SummaryType (ALPHA)
Type tag used to distinguish different types of nodes in a ISummaryTree .
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type SummaryType = SummaryType.Attachment | SummaryType.Blob | SummaryType.Handle | SummaryType.Tree;
SummaryTypeNoHandle (ALPHA)
Summary type that ISummaryHandle points to.
WARNING: This API is provided as an alpha preview and may change without notice. Use at your own risk.
Signature
export declare type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment;
Remarks
Summary handles are often used to point to summary tree objects contained within older summaries, thus avoiding the need to re-send the entire subtree if summary object has not changed.