@fluidframework/protocol-definitions
Advanced tools
Comparing version 0.1029.1000-73081 to 0.1029.1000-83663
@@ -7,7 +7,4 @@ /*! | ||
module.exports = { | ||
"extends": [ | ||
require.resolve("@fluidframework/eslint-config-fluid") | ||
], | ||
rules: { | ||
} | ||
} | ||
extends: [require.resolve("@fluidframework/eslint-config-fluid/recommended"), "prettier"], | ||
rules: {}, | ||
}; |
{ | ||
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", | ||
"extends": "@fluidframework/build-common/api-extractor-common-report.json", | ||
"extends": "@fluidframework/build-common/api-extractor-common-strict.json", | ||
"apiReport": { | ||
@@ -5,0 +5,0 @@ "enabled": true, |
@@ -45,5 +45,3 @@ ## API Report File for "@fluidframework/protocol-definitions" | ||
export interface IBlob { | ||
// (undocumented) | ||
contents: string; | ||
// (undocumented) | ||
encoding: "utf-8" | "base64"; | ||
@@ -390,3 +388,2 @@ } | ||
}; | ||
// (undocumented) | ||
unreferenced?: true; | ||
@@ -406,2 +403,5 @@ } | ||
// @public | ||
export type IsoDate = string; | ||
// @public | ||
export interface ISummaryAck { | ||
@@ -420,12 +420,2 @@ handle: string; | ||
// @public (undocumented) | ||
export interface ISummaryAuthor { | ||
// (undocumented) | ||
date: string; | ||
// (undocumented) | ||
email: string; | ||
// (undocumented) | ||
name: string; | ||
} | ||
// @public | ||
@@ -440,12 +430,2 @@ export interface ISummaryBlob { | ||
// @public (undocumented) | ||
export interface ISummaryCommitter { | ||
// (undocumented) | ||
date: string; | ||
// (undocumented) | ||
email: string; | ||
// (undocumented) | ||
name: string; | ||
} | ||
// @public (undocumented) | ||
export interface ISummaryContent { | ||
@@ -507,19 +487,11 @@ // (undocumented) | ||
// @public (undocumented) | ||
// @public | ||
export interface ITokenClaims { | ||
// (undocumented) | ||
documentId: string; | ||
// (undocumented) | ||
exp: number; | ||
// (undocumented) | ||
iat: number; | ||
// (undocumented) | ||
jti?: string; | ||
// (undocumented) | ||
scopes: string[]; | ||
// (undocumented) | ||
tenantId: string; | ||
// (undocumented) | ||
user: IUser; | ||
// (undocumented) | ||
ver: string; | ||
@@ -554,5 +526,3 @@ } | ||
entries: ITreeEntry[]; | ||
// (undocumented) | ||
id?: string; | ||
// (undocumented) | ||
unreferenced?: true; | ||
@@ -584,3 +554,2 @@ } | ||
export interface IUser { | ||
// (undocumented) | ||
id: string; | ||
@@ -591,7 +560,4 @@ } | ||
export interface IVersion { | ||
// (undocumented) | ||
date?: string; | ||
// (undocumented) | ||
date?: IsoDate; | ||
id: string; | ||
// (undocumented) | ||
treeId: string; | ||
@@ -642,9 +608,6 @@ } | ||
// @public (undocumented) | ||
// @public | ||
export enum ScopeType { | ||
// (undocumented) | ||
DocRead = "doc:read", | ||
// (undocumented) | ||
DocWrite = "doc:write", | ||
// (undocumented) | ||
SummaryWrite = "summary:write" | ||
@@ -691,4 +654,2 @@ } | ||
// (No @packageDocumentation comment for this package) | ||
``` |
@@ -5,5 +5,12 @@ /*! | ||
*/ | ||
/** | ||
* Core set of Fluid protocol interfaces shared between services and clients. | ||
* These interfaces must always be back and forward compatible. | ||
* | ||
* @packageDocumentation | ||
*/ | ||
export * from "./clients"; | ||
export * from "./consensus"; | ||
export * from "./config"; | ||
export * from "./date"; | ||
export * from "./protocol"; | ||
@@ -10,0 +17,0 @@ export * from "./storage"; |
@@ -17,5 +17,12 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/** | ||
* Core set of Fluid protocol interfaces shared between services and clients. | ||
* These interfaces must always be back and forward compatible. | ||
* | ||
* @packageDocumentation | ||
*/ | ||
__exportStar(require("./clients"), exports); | ||
__exportStar(require("./consensus"), exports); | ||
__exportStar(require("./config"), exports); | ||
__exportStar(require("./date"), exports); | ||
__exportStar(require("./protocol"), exports); | ||
@@ -22,0 +29,0 @@ __exportStar(require("./storage"), exports); |
@@ -5,7 +5,19 @@ /*! | ||
*/ | ||
/** | ||
* Defines scope access for a Container/Document | ||
*/ | ||
export declare enum ScopeType { | ||
/** | ||
* Read access is supported on the Container/Document | ||
*/ | ||
DocRead = "doc:read", | ||
/** | ||
* Write access is supported on the Container/Document | ||
*/ | ||
DocWrite = "doc:write", | ||
/** | ||
* User can generate new summaries operations | ||
*/ | ||
SummaryWrite = "summary:write" | ||
} | ||
//# sourceMappingURL=scopes.d.ts.map |
@@ -8,8 +8,20 @@ "use strict"; | ||
exports.ScopeType = void 0; | ||
/** | ||
* Defines scope access for a Container/Document | ||
*/ | ||
var ScopeType; | ||
(function (ScopeType) { | ||
/** | ||
* Read access is supported on the Container/Document | ||
*/ | ||
ScopeType["DocRead"] = "doc:read"; | ||
/** | ||
* Write access is supported on the Container/Document | ||
*/ | ||
ScopeType["DocWrite"] = "doc:write"; | ||
/** | ||
* User can generate new summaries operations | ||
*/ | ||
ScopeType["SummaryWrite"] = "summary:write"; | ||
})(ScopeType = exports.ScopeType || (exports.ScopeType = {})); | ||
//# sourceMappingURL=scopes.js.map |
@@ -56,3 +56,3 @@ /*! | ||
* Format: "prop1:val1;prop2:val2;prop3:val3" | ||
*/ | ||
*/ | ||
relayUserAgent?: string; | ||
@@ -59,0 +59,0 @@ } |
@@ -5,2 +5,3 @@ /*! | ||
*/ | ||
import { IsoDate } from "./date"; | ||
export interface IDocumentAttributes { | ||
@@ -30,3 +31,9 @@ /** | ||
export interface IBlob { | ||
/** | ||
* Contents of the blob | ||
*/ | ||
contents: string; | ||
/** | ||
* The encoding of the contents string | ||
*/ | ||
encoding: "utf-8" | "base64"; | ||
@@ -44,3 +51,10 @@ } | ||
export declare type ITreeEntry = { | ||
/** | ||
* Path to the object | ||
*/ | ||
path: string; | ||
/** | ||
* The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree) | ||
* or 120000 for a blob that specifies the path of a symlink | ||
*/ | ||
mode: FileMode; | ||
@@ -67,3 +81,10 @@ } & ({ | ||
entries: ITreeEntry[]; | ||
/** | ||
* Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case | ||
* it is known that the `ITree` has already been created and stored | ||
*/ | ||
id?: string; | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -79,2 +100,5 @@ } | ||
}; | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -92,6 +116,15 @@ } | ||
export interface IVersion { | ||
/** | ||
* Version ID | ||
*/ | ||
id: string; | ||
/** | ||
* Tree ID for this version of the snapshot | ||
*/ | ||
treeId: string; | ||
date?: string; | ||
/** | ||
* Time when snapshot was generated. | ||
*/ | ||
date?: IsoDate; | ||
} | ||
//# sourceMappingURL=storage.d.ts.map |
@@ -7,12 +7,2 @@ /*! | ||
export declare type SummaryTree = ISummaryTree | ISummaryHandle; | ||
export interface ISummaryAuthor { | ||
name: string; | ||
email: string; | ||
date: string; | ||
} | ||
export interface ISummaryCommitter { | ||
name: string; | ||
email: string; | ||
date: string; | ||
} | ||
/** | ||
@@ -19,0 +9,0 @@ * Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. |
@@ -11,3 +11,2 @@ "use strict"; | ||
*/ | ||
// eslint-disable-next-line @typescript-eslint/no-namespace | ||
var SummaryType; | ||
@@ -14,0 +13,0 @@ (function (SummaryType) { |
@@ -6,10 +6,53 @@ /*! | ||
import { IUser } from "./users"; | ||
/** | ||
* {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
*/ | ||
export interface ITokenClaims { | ||
/** | ||
* Identifies the document (a.k.a container) for which the token is being generated. | ||
* Generated by the service. | ||
*/ | ||
documentId: string; | ||
/** | ||
* Identifies the permissions required by the client on the document or summary. | ||
* For every scope, you can define the permissions you want to give to the client. | ||
*/ | ||
scopes: string[]; | ||
/** | ||
* Unique tenant identifier. | ||
*/ | ||
tenantId: string; | ||
/** | ||
* User for whom the token was created. | ||
*/ | ||
user: IUser; | ||
/** | ||
* "Issued At" | ||
* Indicates when the authentication for this token occurred. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6} | ||
*/ | ||
iat: number; | ||
/** | ||
* "Expiration Time" | ||
* Identifies the expiration time on or after which the token must not be accepted for processing. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4} | ||
*/ | ||
exp: number; | ||
/** | ||
* "Version" | ||
* Version of the access token. | ||
*/ | ||
ver: string; | ||
/** | ||
* "JWT ID" | ||
* A unique identifier for the token. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7} | ||
*/ | ||
jti?: string; | ||
@@ -26,3 +69,3 @@ } | ||
/** | ||
* The ITokenService abstracts the discovery of claims contained within a token | ||
* Abstracts the discovery of claims contained within a token. | ||
*/ | ||
@@ -29,0 +72,0 @@ export interface ITokenService { |
@@ -9,4 +9,7 @@ /*! | ||
export interface IUser { | ||
/** | ||
* Unique identifier of the user session. This ID is established on each connection with the service. | ||
*/ | ||
id: string; | ||
} | ||
//# sourceMappingURL=users.d.ts.map |
@@ -5,5 +5,12 @@ /*! | ||
*/ | ||
/** | ||
* Core set of Fluid protocol interfaces shared between services and clients. | ||
* These interfaces must always be back and forward compatible. | ||
* | ||
* @packageDocumentation | ||
*/ | ||
export * from "./clients"; | ||
export * from "./consensus"; | ||
export * from "./config"; | ||
export * from "./date"; | ||
export * from "./protocol"; | ||
@@ -10,0 +17,0 @@ export * from "./storage"; |
@@ -5,5 +5,12 @@ /*! | ||
*/ | ||
/** | ||
* Core set of Fluid protocol interfaces shared between services and clients. | ||
* These interfaces must always be back and forward compatible. | ||
* | ||
* @packageDocumentation | ||
*/ | ||
export * from "./clients"; | ||
export * from "./consensus"; | ||
export * from "./config"; | ||
export * from "./date"; | ||
export * from "./protocol"; | ||
@@ -10,0 +17,0 @@ export * from "./storage"; |
@@ -5,7 +5,19 @@ /*! | ||
*/ | ||
/** | ||
* Defines scope access for a Container/Document | ||
*/ | ||
export declare enum ScopeType { | ||
/** | ||
* Read access is supported on the Container/Document | ||
*/ | ||
DocRead = "doc:read", | ||
/** | ||
* Write access is supported on the Container/Document | ||
*/ | ||
DocWrite = "doc:write", | ||
/** | ||
* User can generate new summaries operations | ||
*/ | ||
SummaryWrite = "summary:write" | ||
} | ||
//# sourceMappingURL=scopes.d.ts.map |
@@ -5,8 +5,20 @@ /*! | ||
*/ | ||
/** | ||
* Defines scope access for a Container/Document | ||
*/ | ||
export var ScopeType; | ||
(function (ScopeType) { | ||
/** | ||
* Read access is supported on the Container/Document | ||
*/ | ||
ScopeType["DocRead"] = "doc:read"; | ||
/** | ||
* Write access is supported on the Container/Document | ||
*/ | ||
ScopeType["DocWrite"] = "doc:write"; | ||
/** | ||
* User can generate new summaries operations | ||
*/ | ||
ScopeType["SummaryWrite"] = "summary:write"; | ||
})(ScopeType || (ScopeType = {})); | ||
//# sourceMappingURL=scopes.js.map |
@@ -56,3 +56,3 @@ /*! | ||
* Format: "prop1:val1;prop2:val2;prop3:val3" | ||
*/ | ||
*/ | ||
relayUserAgent?: string; | ||
@@ -59,0 +59,0 @@ } |
@@ -5,2 +5,3 @@ /*! | ||
*/ | ||
import { IsoDate } from "./date"; | ||
export interface IDocumentAttributes { | ||
@@ -30,3 +31,9 @@ /** | ||
export interface IBlob { | ||
/** | ||
* Contents of the blob | ||
*/ | ||
contents: string; | ||
/** | ||
* The encoding of the contents string | ||
*/ | ||
encoding: "utf-8" | "base64"; | ||
@@ -44,3 +51,10 @@ } | ||
export declare type ITreeEntry = { | ||
/** | ||
* Path to the object | ||
*/ | ||
path: string; | ||
/** | ||
* The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree) | ||
* or 120000 for a blob that specifies the path of a symlink | ||
*/ | ||
mode: FileMode; | ||
@@ -67,3 +81,10 @@ } & ({ | ||
entries: ITreeEntry[]; | ||
/** | ||
* Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case | ||
* it is known that the `ITree` has already been created and stored | ||
*/ | ||
id?: string; | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -79,2 +100,5 @@ } | ||
}; | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -92,6 +116,15 @@ } | ||
export interface IVersion { | ||
/** | ||
* Version ID | ||
*/ | ||
id: string; | ||
/** | ||
* Tree ID for this version of the snapshot | ||
*/ | ||
treeId: string; | ||
date?: string; | ||
/** | ||
* Time when snapshot was generated. | ||
*/ | ||
date?: IsoDate; | ||
} | ||
//# sourceMappingURL=storage.d.ts.map |
@@ -7,12 +7,2 @@ /*! | ||
export declare type SummaryTree = ISummaryTree | ISummaryHandle; | ||
export interface ISummaryAuthor { | ||
name: string; | ||
email: string; | ||
date: string; | ||
} | ||
export interface ISummaryCommitter { | ||
name: string; | ||
email: string; | ||
date: string; | ||
} | ||
/** | ||
@@ -19,0 +9,0 @@ * Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. |
@@ -8,3 +8,2 @@ /*! | ||
*/ | ||
// eslint-disable-next-line @typescript-eslint/no-namespace | ||
export var SummaryType; | ||
@@ -11,0 +10,0 @@ (function (SummaryType) { |
@@ -93,8 +93,4 @@ use_current_TypeAliasDeclaration_ConnectionMode(get_old_TypeAliasDeclaration_ConnectionMode()); | ||
use_old_InterfaceDeclaration_ISummaryAttachment(get_current_InterfaceDeclaration_ISummaryAttachment()); | ||
use_current_InterfaceDeclaration_ISummaryAuthor(get_old_InterfaceDeclaration_ISummaryAuthor()); | ||
use_old_InterfaceDeclaration_ISummaryAuthor(get_current_InterfaceDeclaration_ISummaryAuthor()); | ||
use_current_InterfaceDeclaration_ISummaryBlob(get_old_InterfaceDeclaration_ISummaryBlob()); | ||
use_old_InterfaceDeclaration_ISummaryBlob(get_current_InterfaceDeclaration_ISummaryBlob()); | ||
use_current_InterfaceDeclaration_ISummaryCommitter(get_old_InterfaceDeclaration_ISummaryCommitter()); | ||
use_old_InterfaceDeclaration_ISummaryCommitter(get_current_InterfaceDeclaration_ISummaryCommitter()); | ||
use_current_InterfaceDeclaration_ISummaryContent(get_old_InterfaceDeclaration_ISummaryContent()); | ||
@@ -101,0 +97,0 @@ use_old_InterfaceDeclaration_ISummaryContent(get_current_InterfaceDeclaration_ISummaryContent()); |
@@ -6,10 +6,53 @@ /*! | ||
import { IUser } from "./users"; | ||
/** | ||
* {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
*/ | ||
export interface ITokenClaims { | ||
/** | ||
* Identifies the document (a.k.a container) for which the token is being generated. | ||
* Generated by the service. | ||
*/ | ||
documentId: string; | ||
/** | ||
* Identifies the permissions required by the client on the document or summary. | ||
* For every scope, you can define the permissions you want to give to the client. | ||
*/ | ||
scopes: string[]; | ||
/** | ||
* Unique tenant identifier. | ||
*/ | ||
tenantId: string; | ||
/** | ||
* User for whom the token was created. | ||
*/ | ||
user: IUser; | ||
/** | ||
* "Issued At" | ||
* Indicates when the authentication for this token occurred. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6} | ||
*/ | ||
iat: number; | ||
/** | ||
* "Expiration Time" | ||
* Identifies the expiration time on or after which the token must not be accepted for processing. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4} | ||
*/ | ||
exp: number; | ||
/** | ||
* "Version" | ||
* Version of the access token. | ||
*/ | ||
ver: string; | ||
/** | ||
* "JWT ID" | ||
* A unique identifier for the token. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7} | ||
*/ | ||
jti?: string; | ||
@@ -26,3 +69,3 @@ } | ||
/** | ||
* The ITokenService abstracts the discovery of claims contained within a token | ||
* Abstracts the discovery of claims contained within a token. | ||
*/ | ||
@@ -29,0 +72,0 @@ export interface ITokenService { |
@@ -9,4 +9,7 @@ /*! | ||
export interface IUser { | ||
/** | ||
* Unique identifier of the user session. This ID is established on each connection with the service. | ||
*/ | ||
id: string; | ||
} | ||
//# sourceMappingURL=users.d.ts.map |
{ | ||
"name": "@fluidframework/protocol-definitions", | ||
"version": "0.1029.1000-73081", | ||
"version": "0.1029.1000-83663", | ||
"description": "Fluid protocol definitions", | ||
@@ -31,4 +31,7 @@ "homepage": "https://fluidframework.com", | ||
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout", | ||
"lint": "npm run eslint", | ||
"lint:fix": "npm run eslint:fix", | ||
"format": "npm run prettier:fix", | ||
"lint": "npm run prettier && 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", | ||
"tsc": "tsc", | ||
@@ -45,4 +48,4 @@ "tsc:watch": "tsc --watch", | ||
"devDependencies": { | ||
"@fluidframework/build-common": "^0.23.0", | ||
"@fluidframework/build-tools": "^0.2.71273", | ||
"@fluidframework/build-common": "^0.24.0", | ||
"@fluidframework/build-tools": "^0.3.0-0", | ||
"@fluidframework/eslint-config-fluid": "^0.28.2000", | ||
@@ -55,2 +58,4 @@ "@fluidframework/protocol-definitions-previous": "npm:@fluidframework/protocol-definitions@0.1028.1000", | ||
"eslint": "~8.6.0", | ||
"eslint-config-prettier": "~8.5.0", | ||
"prettier": "~2.6.2", | ||
"rimraf": "^2.6.2", | ||
@@ -72,2 +77,10 @@ "typescript": "~4.5.5", | ||
"backCompat": false | ||
}, | ||
"RemovedInterfaceDeclaration_ISummaryAuthor": { | ||
"backCompat": false, | ||
"forwardCompat": false | ||
}, | ||
"RemovedInterfaceDeclaration_ISummaryCommitter": { | ||
"forwardCompat": false, | ||
"backCompat": false | ||
} | ||
@@ -74,0 +87,0 @@ } |
# @fluidframework/protocol-definitions | ||
Core set of Fluid protocol interfaces shared between services and clients. These interfaces should always be back and | ||
Core set of Fluid protocol interfaces shared between services and clients. These interfaces should always be back and | ||
forward compatible. | ||
See [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within. |
@@ -38,3 +38,2 @@ /*! | ||
export interface ISequencedClient { | ||
client: IClient; | ||
@@ -46,3 +45,2 @@ | ||
export interface ISignalClient { | ||
clientId: string; | ||
@@ -49,0 +47,0 @@ |
@@ -27,3 +27,3 @@ /*! | ||
*/ | ||
export type ISequencedProposal = { sequenceNumber: number; } & IProposal; | ||
export type ISequencedProposal = { sequenceNumber: number } & IProposal; | ||
@@ -33,3 +33,3 @@ /** | ||
*/ | ||
export type IApprovedProposal = { approvalSequenceNumber: number; } & ISequencedProposal; | ||
export type IApprovedProposal = { approvalSequenceNumber: number } & ISequencedProposal; | ||
@@ -39,3 +39,3 @@ /** | ||
*/ | ||
export type ICommittedProposal = { commitSequenceNumber: number; } & IApprovedProposal; | ||
export type ICommittedProposal = { commitSequenceNumber: number } & IApprovedProposal; | ||
@@ -57,3 +57,9 @@ /** | ||
event: "approveProposal", | ||
listener: (sequenceNumber: number, key: string, value: any, approvalSequenceNumber: number) => void); | ||
listener: ( | ||
sequenceNumber: number, | ||
key: string, | ||
value: any, | ||
approvalSequenceNumber: number, | ||
) => void, | ||
); | ||
} | ||
@@ -89,6 +95,6 @@ | ||
*/ | ||
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">, | ||
IEventProvider<IQuorumEvents> {} | ||
@@ -95,0 +101,0 @@ export interface IProtocolState { |
@@ -6,5 +6,13 @@ /*! | ||
/** | ||
* Core set of Fluid protocol interfaces shared between services and clients. | ||
* These interfaces must always be back and forward compatible. | ||
* | ||
* @packageDocumentation | ||
*/ | ||
export * from "./clients"; | ||
export * from "./consensus"; | ||
export * from "./config"; | ||
export * from "./date"; | ||
export * from "./protocol"; | ||
@@ -11,0 +19,0 @@ export * from "./storage"; |
@@ -102,3 +102,2 @@ /*! | ||
export interface IDocumentSystemMessage extends IDocumentMessage { | ||
data: string; | ||
@@ -181,3 +180,4 @@ } | ||
export interface ISignalMessage { | ||
// TODO: Update this to use undefined instead of null. | ||
// eslint-disable-next-line @rushstack/no-new-null | ||
clientId: string | null; | ||
@@ -292,3 +292,2 @@ | ||
export interface IHelpMessage { | ||
tasks: string[]; | ||
@@ -304,3 +303,2 @@ | ||
export interface IQueueMessage { | ||
message: IHelpMessage; | ||
@@ -307,0 +305,0 @@ |
@@ -6,6 +6,20 @@ /*! | ||
/** | ||
* Defines scope access for a Container/Document | ||
*/ | ||
export enum ScopeType { | ||
/** | ||
* Read access is supported on the Container/Document | ||
*/ | ||
DocRead = "doc:read", | ||
/** | ||
* Write access is supported on the Container/Document | ||
*/ | ||
DocWrite = "doc:write", | ||
/** | ||
* User can generate new summaries operations | ||
*/ | ||
SummaryWrite = "summary:write", | ||
} |
@@ -28,2 +28,4 @@ /*! | ||
*/ | ||
// TODO: Update this to use undefined instead of null. | ||
// eslint-disable-next-line @rushstack/no-new-null | ||
token: string | null; | ||
@@ -68,3 +70,3 @@ | ||
* Format: "prop1:val1;prop2:val2;prop3:val3" | ||
*/ | ||
*/ | ||
relayUserAgent?: string; | ||
@@ -71,0 +73,0 @@ } |
@@ -6,2 +6,4 @@ /*! | ||
import { IsoDate } from "./date"; | ||
export interface IDocumentAttributes { | ||
@@ -35,6 +37,10 @@ /** | ||
export interface IBlob { | ||
// Contents of the blob | ||
/** | ||
* Contents of the blob | ||
*/ | ||
contents: string; | ||
// The encoding of the contents string | ||
/** | ||
* The encoding of the contents string | ||
*/ | ||
encoding: "utf-8" | "base64"; | ||
@@ -55,18 +61,26 @@ } | ||
export type ITreeEntry = { | ||
// Path to the object | ||
/** | ||
* Path to the object | ||
*/ | ||
path: string; | ||
// The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree) | ||
// or 120000 for a blob that specifies the path of a symlink | ||
/** | ||
* The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree) | ||
* or 120000 for a blob that specifies the path of a symlink | ||
*/ | ||
mode: FileMode; | ||
} & ( | ||
{ | ||
type: TreeEntry.Blob; | ||
value: IBlob; | ||
} | { | ||
type: TreeEntry.Tree; | ||
value: ITree; | ||
} | { | ||
type: TreeEntry.Attachment; | ||
value: IAttachment; | ||
}); | ||
| { | ||
type: TreeEntry.Blob; | ||
value: IBlob; | ||
} | ||
| { | ||
type: TreeEntry.Tree; | ||
value: ITree; | ||
} | ||
| { | ||
type: TreeEntry.Attachment; | ||
value: IAttachment; | ||
} | ||
); | ||
@@ -84,6 +98,12 @@ /** | ||
entries: ITreeEntry[]; | ||
// Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case | ||
// it is known that the ITree has already been created and stored | ||
/** | ||
* Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case | ||
* it is known that the `ITree` has already been created and stored | ||
*/ | ||
id?: string; | ||
// Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -94,5 +114,8 @@ } | ||
id?: string; | ||
blobs: { [path: string]: string; }; | ||
trees: { [path: string]: ISnapshotTree; }; | ||
// Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
blobs: { [path: string]: string }; | ||
trees: { [path: string]: ISnapshotTree }; | ||
/** | ||
* Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced. | ||
*/ | ||
unreferenced?: true; | ||
@@ -103,3 +126,3 @@ } | ||
id: string; | ||
trees: { [path: string]: ISnapshotTreeEx; }; | ||
trees: { [path: string]: ISnapshotTreeEx }; | ||
} | ||
@@ -111,11 +134,16 @@ | ||
export interface IVersion { | ||
// Version ID | ||
/** | ||
* Version ID | ||
*/ | ||
id: string; | ||
// Tree ID for this version of the snapshot | ||
/** | ||
* Tree ID for this version of the snapshot | ||
*/ | ||
treeId: string; | ||
// Time when snapshot was generated. | ||
// ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ | ||
date?: string; | ||
/** | ||
* Time when snapshot was generated. | ||
*/ | ||
date?: IsoDate; | ||
} |
@@ -10,20 +10,5 @@ /*! | ||
export interface ISummaryAuthor { | ||
name: string; | ||
email: string; | ||
// ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ | ||
date: string; | ||
} | ||
export interface ISummaryCommitter { | ||
name: string; | ||
email: string; | ||
// ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ | ||
date: string; | ||
} | ||
/** | ||
* Type tag used to distinguish different types of nodes in a {@link ISummaryTree}. | ||
*/ | ||
// eslint-disable-next-line @typescript-eslint/no-namespace | ||
export namespace SummaryType { | ||
@@ -38,24 +23,28 @@ export type Tree = 1; | ||
*/ | ||
export const Tree: Tree = 1 as const; | ||
export const Tree: Tree = 1 as const; | ||
/** | ||
* Represents a blob of data that is added to the summary. | ||
* Such as the user data that is added to the DDS or metadata added by runtime | ||
* such as data store / channel attributes. | ||
*/ | ||
export const Blob: Blob = 2 as const; | ||
/** | ||
* Represents a blob of data that is added to the summary. | ||
* Such as the user data that is added to the DDS or metadata added by runtime | ||
* such as data store / channel attributes. | ||
*/ | ||
export const Blob: Blob = 2 as const; | ||
/** | ||
* Path to a summary tree object from the last successful summary. | ||
*/ | ||
export const Handle: Handle = 3 as const; | ||
/** | ||
* Path to a summary tree object from the last successful summary. | ||
*/ | ||
export const Handle: Handle = 3 as const; | ||
/** | ||
* Unique identifier to larger blobs uploaded outside of the summary. | ||
* Ex. DDS has large images or video that will be uploaded by the BlobManager and | ||
* receive an Id that can be used in the summary. | ||
*/ | ||
export const Attachment: Attachment = 4 as const; | ||
/** | ||
* Unique identifier to larger blobs uploaded outside of the summary. | ||
* Ex. DDS has large images or video that will be uploaded by the BlobManager and | ||
* receive an Id that can be used in the summary. | ||
*/ | ||
export const Attachment: Attachment = 4 as const; | ||
} | ||
export type SummaryType = SummaryType.Attachment | SummaryType.Blob | SummaryType.Handle | SummaryType.Tree; | ||
export type SummaryType = | ||
| SummaryType.Attachment | ||
| SummaryType.Blob | ||
| SummaryType.Handle | ||
| SummaryType.Tree; | ||
@@ -117,3 +106,3 @@ export type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment; | ||
// TODO type I can infer from SummaryObject. File mode I may want to directly specify so have symlink+exec access | ||
tree: { [path: string]: SummaryObject; }; | ||
tree: { [path: string]: SummaryObject }; | ||
@@ -120,0 +109,0 @@ // Indicates that this tree entry is unreferenced. If this is not present, the tree entry is considered referenced. |
@@ -8,10 +8,60 @@ /*! | ||
/** | ||
* {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4} | ||
*/ | ||
export interface ITokenClaims { | ||
/** | ||
* Identifies the document (a.k.a container) for which the token is being generated. | ||
* Generated by the service. | ||
*/ | ||
documentId: string; | ||
/** | ||
* Identifies the permissions required by the client on the document or summary. | ||
* For every scope, you can define the permissions you want to give to the client. | ||
*/ | ||
scopes: string[]; | ||
/** | ||
* Unique tenant identifier. | ||
*/ | ||
tenantId: string; | ||
/** | ||
* User for whom the token was created. | ||
*/ | ||
user: IUser; | ||
/** | ||
* "Issued At" | ||
* Indicates when the authentication for this token occurred. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6} | ||
*/ | ||
iat: number; | ||
/** | ||
* "Expiration Time" | ||
* Identifies the expiration time on or after which the token must not be accepted for processing. | ||
* Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4} | ||
*/ | ||
exp: number; | ||
/** | ||
* "Version" | ||
* Version of the access token. | ||
*/ | ||
ver: string; | ||
/** | ||
* "JWT ID" | ||
* A unique identifier for the token. | ||
* | ||
* See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7} | ||
*/ | ||
jti?: string; | ||
@@ -31,3 +81,3 @@ } | ||
/** | ||
* The ITokenService abstracts the discovery of claims contained within a token | ||
* Abstracts the discovery of claims contained within a token. | ||
*/ | ||
@@ -34,0 +84,0 @@ export interface ITokenService { |
@@ -10,3 +10,6 @@ /*! | ||
export interface IUser { | ||
/** | ||
* Unique identifier of the user session. This ID is established on each connection with the service. | ||
*/ | ||
id: string; | ||
} |
{ | ||
"extends": "./tsconfig.json", | ||
"compilerOptions": { | ||
"outDir": "./lib", | ||
"module": "esnext" | ||
}, | ||
} | ||
"extends": "./tsconfig.json", | ||
"compilerOptions": { | ||
"outDir": "./lib", | ||
"module": "esnext", | ||
}, | ||
} |
{ | ||
"extends": "@fluidframework/build-common/ts-common-config.json", | ||
"exclude": [ | ||
"dist", | ||
"node_modules" | ||
], | ||
"compilerOptions": { | ||
"rootDir": "./src", | ||
"outDir": "./dist" | ||
}, | ||
"include": [ | ||
"src/**/*" | ||
] | ||
"extends": "@fluidframework/build-common/ts-common-config.json", | ||
"exclude": ["dist", "node_modules"], | ||
"compilerOptions": { | ||
"rootDir": "./src", | ||
"outDir": "./dist", | ||
}, | ||
"include": ["src/**/*"], | ||
} |
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
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
319422
122
3293
14