@fluidframework/driver-definitions 2.0.2 → 2.1.0-276326
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api-extractor/api-extractor.legacy.json +4 -0
- package/api-report/driver-definitions.beta.api.md +0 -7
- package/api-report/{driver-definitions.alpha.api.md → driver-definitions.legacy.alpha.api.md} +0 -7
- package/api-report/driver-definitions.public.api.md +0 -7
- package/dist/driverError.d.ts +10 -0
- package/dist/driverError.d.ts.map +1 -1
- package/dist/driverError.js +1 -0
- package/dist/driverError.js.map +1 -1
- package/dist/git/resources.d.ts +2 -0
- package/dist/git/resources.d.ts.map +1 -1
- package/dist/git/resources.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/protocol/clients.d.ts +1 -0
- package/dist/protocol/clients.d.ts.map +1 -1
- package/dist/protocol/clients.js.map +1 -1
- package/dist/protocol/config.d.ts +1 -0
- package/dist/protocol/config.d.ts.map +1 -1
- package/dist/protocol/config.js.map +1 -1
- package/dist/protocol/consensus.d.ts +7 -0
- package/dist/protocol/consensus.d.ts.map +1 -1
- package/dist/protocol/consensus.js.map +1 -1
- package/dist/protocol/date.d.ts +1 -0
- package/dist/protocol/date.d.ts.map +1 -1
- package/dist/protocol/date.js.map +1 -1
- package/dist/protocol/protocol.d.ts +15 -0
- package/dist/protocol/protocol.d.ts.map +1 -1
- package/dist/protocol/protocol.js +2 -0
- package/dist/protocol/protocol.js.map +1 -1
- package/dist/protocol/scopes.d.ts +1 -0
- package/dist/protocol/scopes.d.ts.map +1 -1
- package/dist/protocol/scopes.js +1 -0
- package/dist/protocol/scopes.js.map +1 -1
- package/dist/protocol/sockets.d.ts +2 -0
- package/dist/protocol/sockets.d.ts.map +1 -1
- package/dist/protocol/sockets.js.map +1 -1
- package/dist/protocol/storage.d.ts +10 -0
- package/dist/protocol/storage.d.ts.map +1 -1
- package/dist/protocol/storage.js +2 -0
- package/dist/protocol/storage.js.map +1 -1
- package/dist/protocol/summary.d.ts +1 -0
- package/dist/protocol/summary.d.ts.map +1 -1
- package/dist/protocol/summary.js.map +1 -1
- package/dist/protocol/tokens.d.ts +1 -0
- package/dist/protocol/tokens.d.ts.map +1 -1
- package/dist/protocol/tokens.js.map +1 -1
- package/dist/storage.d.ts +17 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +2 -0
- package/dist/storage.js.map +1 -1
- package/dist/urlResolver.d.ts +5 -0
- package/dist/urlResolver.d.ts.map +1 -1
- package/dist/urlResolver.js +1 -0
- package/dist/urlResolver.js.map +1 -1
- package/lib/driverError.d.ts +10 -0
- package/lib/driverError.d.ts.map +1 -1
- package/lib/driverError.js +1 -0
- package/lib/driverError.js.map +1 -1
- package/lib/git/resources.d.ts +2 -0
- package/lib/git/resources.d.ts.map +1 -1
- package/lib/git/resources.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/protocol/clients.d.ts +1 -0
- package/lib/protocol/clients.d.ts.map +1 -1
- package/lib/protocol/clients.js.map +1 -1
- package/lib/protocol/config.d.ts +1 -0
- package/lib/protocol/config.d.ts.map +1 -1
- package/lib/protocol/config.js.map +1 -1
- package/lib/protocol/consensus.d.ts +7 -0
- package/lib/protocol/consensus.d.ts.map +1 -1
- package/lib/protocol/consensus.js.map +1 -1
- package/lib/protocol/date.d.ts +1 -0
- package/lib/protocol/date.d.ts.map +1 -1
- package/lib/protocol/date.js.map +1 -1
- package/lib/protocol/protocol.d.ts +15 -0
- package/lib/protocol/protocol.d.ts.map +1 -1
- package/lib/protocol/protocol.js +2 -0
- package/lib/protocol/protocol.js.map +1 -1
- package/lib/protocol/scopes.d.ts +1 -0
- package/lib/protocol/scopes.d.ts.map +1 -1
- package/lib/protocol/scopes.js +1 -0
- package/lib/protocol/scopes.js.map +1 -1
- package/lib/protocol/sockets.d.ts +2 -0
- package/lib/protocol/sockets.d.ts.map +1 -1
- package/lib/protocol/sockets.js.map +1 -1
- package/lib/protocol/storage.d.ts +10 -0
- package/lib/protocol/storage.d.ts.map +1 -1
- package/lib/protocol/storage.js +2 -0
- package/lib/protocol/storage.js.map +1 -1
- package/lib/protocol/summary.d.ts +1 -0
- package/lib/protocol/summary.d.ts.map +1 -1
- package/lib/protocol/summary.js.map +1 -1
- package/lib/protocol/tokens.d.ts +1 -0
- package/lib/protocol/tokens.d.ts.map +1 -1
- package/lib/protocol/tokens.js.map +1 -1
- package/lib/storage.d.ts +17 -0
- package/lib/storage.d.ts.map +1 -1
- package/lib/storage.js +2 -0
- package/lib/storage.js.map +1 -1
- package/lib/urlResolver.d.ts +5 -0
- package/lib/urlResolver.d.ts.map +1 -1
- package/lib/urlResolver.js +1 -0
- package/lib/urlResolver.js.map +1 -1
- package/package.json +13 -9
- package/src/driverError.ts +10 -0
- package/src/git/resources.ts +2 -0
- package/src/protocol/clients.ts +1 -0
- package/src/protocol/config.ts +1 -0
- package/src/protocol/consensus.ts +7 -0
- package/src/protocol/date.ts +1 -0
- package/src/protocol/protocol.ts +15 -0
- package/src/protocol/scopes.ts +1 -0
- package/src/protocol/sockets.ts +2 -0
- package/src/protocol/storage.ts +10 -0
- package/src/protocol/summary.ts +1 -0
- package/src/protocol/tokens.ts +1 -0
- package/src/storage.ts +17 -0
- package/src/urlResolver.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol/protocol.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,IAAY,WAoEX;AApED,WAAY,WAAW;IACtB;;;;;OAKG;IACH,4BAAa,CAAA;IAEb;;OAEG;IACH,kCAAmB,CAAA;IAEnB;;OAEG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,kCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAiB,CAAA;IAEjB;;OAEG;IACH,gCAAiB,CAAA;IAEjB;;OAEG;IACH,sCAAuB,CAAA;IAEvB;;OAEG;IACH,wCAAyB,CAAA;IAEzB;;OAEG;IACH,0CAA2B,CAAA;IAE3B;;OAEG;IACH,+BAAgB,CAAA;IAEhB;;OAEG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,yCAA0B,CAAA;IAE1B;;OAEG;IACH,kCAAmB,CAAA;AACpB,CAAC,EApEW,WAAW,2BAAX,WAAW,QAoEtB;AAED;;GAEG;AACH,IAAY,UAUX;AAVD,WAAY,UAAU;IACrB;;OAEG;IACH,iCAAmB,CAAA;IAEnB;;OAEG;IACH,mCAAqB,CAAA;AACtB,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB;AAkbD;;;GAGG;AACH,IAAY,aAoBX;AApBD,WAAY,aAAa;IACxB;;OAEG;IACH,oDAAmC,CAAA;IAEnC;;OAEG;IACH,wDAAuC,CAAA;IAEvC;;OAEG;IACH,oDAAmC,CAAA;IAEnC;;OAEG;IACH,0DAAyC,CAAA;AAC1C,CAAC,EApBW,aAAa,6BAAb,aAAa,QAoBxB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * @alpha\n */\nexport enum MessageType {\n\t/**\n\t * Empty operation message. Used to send an updated reference sequence number.\n\t * Relay service is free to coalesce these messages or fully drop them, if\n\t * another message was used to update MSN to a number equal or higher than referenced\n\t * sequence number in Noop.\n\t */\n\tNoOp = \"noop\",\n\n\t/**\n\t * System message sent to indicate a new client has joined the collaboration.\n\t */\n\tClientJoin = \"join\",\n\n\t/**\n\t * System message sent to indicate a client has left the collaboration.\n\t */\n\tClientLeave = \"leave\",\n\n\t/**\n\t * Proposes a new consensus value.\n\t */\n\tPropose = \"propose\",\n\n\t/**\n\t * Message used to reject a pending proposal.\n\t */\n\tReject = \"reject\",\n\n\t/**\n\t * Message sent by client accepting proposal\n\t */\n\tAccept = \"accept\",\n\n\t/**\n\t * Summary operation (message).\n\t */\n\tSummarize = \"summarize\",\n\n\t/**\n\t * Summary operation (message) written.\n\t */\n\tSummaryAck = \"summaryAck\",\n\n\t/**\n\t * Summary operation (message) write failure.\n\t */\n\tSummaryNack = \"summaryNack\",\n\n\t/**\n\t * Operation (message) produced by container runtime.\n\t */\n\tOperation = \"op\",\n\n\t/**\n\t * Message to indicate that no active clients are present.\n\t */\n\tNoClient = \"noClient\",\n\n\t/**\n\t * Message to indicate successful round trip.\n\t */\n\tRoundTrip = \"tripComplete\",\n\n\t/**\n\t * Service specific control messages that are never sequenced.\n\t */\n\tControl = \"control\",\n}\n\n/**\n * @internal\n */\nexport enum SignalType {\n\t/**\n\t * System signal sent to indicate a new client has joined the collaboration.\n\t */\n\tClientJoin = \"join\",\n\n\t/**\n\t * System signal sent to indicate a client has left the collaboration.\n\t */\n\tClientLeave = \"leave\",\n}\n\n/**\n * Messages to track latency trace.\n * @alpha\n */\nexport interface ITrace {\n\t/**\n\t * Service generating the trace.\n\t */\n\tservice: string;\n\n\t/**\n\t * Denotes receiving/sending.\n\t */\n\taction: string;\n\n\t/**\n\t * Floating point time in milliseconds with up to nanosecond precision.\n\t */\n\ttimestamp: number;\n}\n\n/**\n * @alpha\n */\nexport interface INack {\n\t/**\n\t * The operation that was just nacked.\n\t */\n\toperation: IDocumentMessage | undefined;\n\n\t/**\n\t * The sequence number the client needs to catch up to before retrying.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Detail info about the nack.\n\t */\n\tcontent: INackContent;\n}\n\n/**\n * Document-specific message.\n * @alpha\n */\nexport interface IDocumentMessage {\n\t/**\n\t * The document's client sequence number.\n\t */\n\tclientSequenceNumber: number;\n\n\t/**\n\t * The reference sequence number the message was sent relative to.\n\t */\n\treferenceSequenceNumber: number;\n\n\t/**\n\t * The type of document message being sent.\n\t */\n\ttype: string;\n\n\t/**\n\t * The contents of the message.\n\t */\n\tcontents: unknown;\n\n\t/**\n\t * App provided metadata about the operation.\n\t */\n\tmetadata?: unknown;\n\n\t/**\n\t * Server provided metadata about the operation.\n\t */\n\tserverMetadata?: unknown;\n\n\t/**\n\t * Traces related to the packet.\n\t */\n\ttraces?: ITrace[];\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t * @experimental Not ready for use\n\t */\n\tcompression?: string;\n}\n\n/**\n * Document Message with optional system level data field.\n * @internal\n */\nexport interface IDocumentSystemMessage extends IDocumentMessage {\n\tdata: string;\n}\n\n/**\n * Branch origin information.\n * @alpha\n */\nexport interface IBranchOrigin {\n\t/**\n\t * Origin branch of the message.\n\t */\n\tid: string;\n\n\t/**\n\t * Sequence number for the message in branch ID.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Minimum sequence number for the message in branch ID.\n\t */\n\tminimumSequenceNumber: number;\n}\n\n/**\n * Sequenced message for a distributed document.\n * @alpha\n */\nexport interface ISequencedDocumentMessage {\n\t/**\n\t * The client ID that submitted the message.\n\t * For server generated messages the clientId will be null;\n\t */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tclientId: string | null;\n\n\t/**\n\t * The sequenced identifier.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * The minimum sequence number for all connected clients.\n\t */\n\tminimumSequenceNumber: number;\n\n\t/**\n\t * The document's client sequence number.\n\t */\n\tclientSequenceNumber: number;\n\n\t/**\n\t * The reference sequence number the message was sent relative to.\n\t */\n\treferenceSequenceNumber: number;\n\n\t/**\n\t * The type of operation.\n\t */\n\ttype: string;\n\n\t/**\n\t * The contents of the message.\n\t */\n\tcontents: unknown;\n\n\t/**\n\t * App provided metadata about the operation.\n\t */\n\tmetadata?: unknown;\n\n\t/**\n\t * Server provided metadata about the operation.\n\t */\n\tserverMetadata?: unknown;\n\n\t/**\n\t * Origin branch information for the message.\n\t *\n\t * @remarks Can be marked undefined if the current message is also the origin.\n\t */\n\torigin?: IBranchOrigin;\n\n\t/**\n\t * Traces related to the packet.\n\t */\n\ttraces?: ITrace[];\n\n\t/**\n\t * Timestamp when the server ticketed the message.\n\t */\n\ttimestamp: number;\n\n\t/**\n\t * Data provided by service. Only present in service generated messages.\n\t */\n\tdata?: string;\n\n\t/**\n\t * Experimental field for storing the rolling hash at sequence number.\n\t *\n\t * @deprecated Use ISequencedDocumentMessageExperimental instead.\n\t */\n\texpHash1?: string;\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t *\n\t * @deprecated Use ISequencedDocumentMessageExperimental instead.\n\t */\n\tcompression?: string;\n}\n\n/**\n * {@link ISequencedDocumentAugmentedMessage} with experimental properties.\n * @internal\n */\nexport type ISequencedDocumentMessageExperimental = Omit<\n\tISequencedDocumentMessage,\n\t\"expHash1\" | \"compression\"\n> & {\n\t/**\n\t * Stores the rolling hash at sequence number.\n\t */\n\texpHash1?: string;\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t */\n\tcompression?: string;\n};\n\n/**\n * @internal\n */\nexport interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage {\n\tdata: string;\n}\n\n/**\n * @internal\n */\nexport interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage {\n\tadditionalContent: string;\n}\n\n/**\n * Common interface between incoming and outgoing signals.\n * @alpha\n */\nexport interface ISignalMessageBase {\n\t/**\n\t * Signal content\n\t */\n\tcontent: unknown;\n\n\t/**\n\t * Signal type\n\t */\n\ttype?: string;\n\n\t/**\n\t * Counts the number of signals sent by the sending client.\n\t */\n\tclientConnectionNumber?: number;\n\n\t/**\n\t * Sequence number that indicates when the signal was created in relation to the delta stream\n\t */\n\treferenceSequenceNumber?: number;\n\n\t/**\n\t * Client ID of the singular client the signal is being (or has been) sent to.\n\t * May only be specified when IConnect.supportedFeatures['submit_signals_v2'] is true, will throw otherwise.\n\t */\n\ttargetClientId?: string;\n}\n\n/**\n * Interface for signals sent by the server to clients.\n * @alpha\n */\nexport interface ISignalMessage extends ISignalMessageBase {\n\t/**\n\t * The client ID that submitted the message.\n\t * For server generated messages the clientId will be null.\n\t */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tclientId: string | null;\n}\n\n/**\n * Interface for signals sent by clients to the server.\n * @internal\n */\nexport type ISentSignalMessage = ISignalMessageBase;\n\n/**\n * @alpha\n */\nexport interface IUploadedSummaryDetails {\n\t/**\n\t * Indicates whether the uploaded summary contains \".protocol\" tree.\n\t */\n\tincludesProtocolTree?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface ISummaryContent {\n\t/**\n\t * Handle reference to the summary data.\n\t */\n\thandle: string;\n\n\t/**\n\t * Message included as part of the summary.\n\t */\n\tmessage: string;\n\n\t/**\n\t * Handles to parent summaries of the proposed new summary.\n\t */\n\tparents: string[];\n\n\t/**\n\t * Handle to the current latest summary stored by the service\n\t */\n\thead: string;\n\n\t/**\n\t * Details of the uploaded summary.\n\t */\n\tdetails?: IUploadedSummaryDetails;\n\n\t// TODO - need an epoch/reload bit to indicate to clients that the summary has changed and requires a reload\n\t// This could be encoded in the summary itself as well but then would require the client to download it to check\n}\n\n/**\n * General errors returned from the server.\n * May want to add error code or something similar in the future.\n * @internal\n */\nexport interface IServerError {\n\t/**\n\t * Message describing the server error.\n\t */\n\terrorMessage: string;\n}\n\n/**\n * Data about the original proposed summary message.\n * @alpha\n */\nexport interface ISummaryProposal {\n\t/**\n\t * Actual sequence number of the summary message proposal.\n\t */\n\tsummarySequenceNumber: number;\n}\n\n/**\n * Contents of summary ack expected from the server.\n * @alpha\n */\nexport interface ISummaryAck {\n\t/**\n\t * Handle of the complete summary.\n\t */\n\thandle: string;\n\n\t/**\n\t * Information about the proposed summary message.\n\t */\n\tsummaryProposal: ISummaryProposal;\n}\n\n/**\n * Contents of summary nack expected from the server.\n * @alpha\n */\nexport interface ISummaryNack {\n\t/**\n\t * Information about the proposed summary message.\n\t */\n\tsummaryProposal: ISummaryProposal;\n\n\t/**\n\t * An error code number that represents the error. It will be a valid HTTP error code.\n\t * 403 errors are non retriable.\n\t * 400 errors are always immediately retriable.\n\t * 429 errors are retriable or non retriable (depends on type field).\n\t */\n\tcode?: number;\n\n\t/**\n\t * A message about the error for debugging/logging/telemetry purposes\n\t */\n\tmessage?: string;\n\n\t/**\n\t * Optional Retry-After time in seconds.\n\t * If specified, the client should wait this many seconds before retrying.8\n\t */\n\tretryAfter?: number;\n}\n\n/**\n * Interface for nack content.\n * @alpha\n */\nexport interface INackContent {\n\t/**\n\t * An error code number that represents the error. It will be a valid HTTP error code.\n\t * 403 errors are non retriable and client should acquire a new identity before reconnection.\n\t * 400 errors are always immediately retriable\n\t * 429 errors are retriable or non retriable (depends on type field).\n\t */\n\tcode: number;\n\n\t/**\n\t * Type of the Nack.\n\t */\n\ttype: NackErrorType;\n\n\t/**\n\t * A message about the nack for debugging/logging/telemetry purposes\n\t */\n\tmessage: string;\n\n\t/**\n\t * Optional Retry-After time in seconds\n\t * If specified, the client should wait this many seconds before retrying\n\t */\n\tretryAfter?: number;\n}\n\n/**\n * Type of the nack.\n * @alpha\n */\nexport enum NackErrorType {\n\t/**\n\t * Retriable after {@link ISummaryNack.retryAfter} seconds.\n\t */\n\tThrottlingError = \"ThrottlingError\",\n\n\t/**\n\t * Client's token is not valid for the intended message.\n\t */\n\tInvalidScopeError = \"InvalidScopeError\",\n\n\t/**\n\t * Clients message is invalid and should retry immediately with a valid message.\n\t */\n\tBadRequestError = \"BadRequestError\",\n\n\t/**\n\t * Service is having issues. Client should not retry.\n\t */\n\tLimitExceededError = \"LimitExceededError\",\n}\n"]}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol/protocol.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AACH,IAAY,WAoEX;AApED,WAAY,WAAW;IACtB;;;;;OAKG;IACH,4BAAa,CAAA;IAEb;;OAEG;IACH,kCAAmB,CAAA;IAEnB;;OAEG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,kCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAiB,CAAA;IAEjB;;OAEG;IACH,gCAAiB,CAAA;IAEjB;;OAEG;IACH,sCAAuB,CAAA;IAEvB;;OAEG;IACH,wCAAyB,CAAA;IAEzB;;OAEG;IACH,0CAA2B,CAAA;IAE3B;;OAEG;IACH,+BAAgB,CAAA;IAEhB;;OAEG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,yCAA0B,CAAA;IAE1B;;OAEG;IACH,kCAAmB,CAAA;AACpB,CAAC,EApEW,WAAW,2BAAX,WAAW,QAoEtB;AAED;;GAEG;AACH,IAAY,UAUX;AAVD,WAAY,UAAU;IACrB;;OAEG;IACH,iCAAmB,CAAA;IAEnB;;OAEG;IACH,mCAAqB,CAAA;AACtB,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB;AA+bD;;;;GAIG;AACH,IAAY,aAoBX;AApBD,WAAY,aAAa;IACxB;;OAEG;IACH,oDAAmC,CAAA;IAEnC;;OAEG;IACH,wDAAuC,CAAA;IAEvC;;OAEG;IACH,oDAAmC,CAAA;IAEnC;;OAEG;IACH,0DAAyC,CAAA;AAC1C,CAAC,EApBW,aAAa,6BAAb,aAAa,QAoBxB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * @legacy\n * @alpha\n */\nexport enum MessageType {\n\t/**\n\t * Empty operation message. Used to send an updated reference sequence number.\n\t * Relay service is free to coalesce these messages or fully drop them, if\n\t * another message was used to update MSN to a number equal or higher than referenced\n\t * sequence number in Noop.\n\t */\n\tNoOp = \"noop\",\n\n\t/**\n\t * System message sent to indicate a new client has joined the collaboration.\n\t */\n\tClientJoin = \"join\",\n\n\t/**\n\t * System message sent to indicate a client has left the collaboration.\n\t */\n\tClientLeave = \"leave\",\n\n\t/**\n\t * Proposes a new consensus value.\n\t */\n\tPropose = \"propose\",\n\n\t/**\n\t * Message used to reject a pending proposal.\n\t */\n\tReject = \"reject\",\n\n\t/**\n\t * Message sent by client accepting proposal\n\t */\n\tAccept = \"accept\",\n\n\t/**\n\t * Summary operation (message).\n\t */\n\tSummarize = \"summarize\",\n\n\t/**\n\t * Summary operation (message) written.\n\t */\n\tSummaryAck = \"summaryAck\",\n\n\t/**\n\t * Summary operation (message) write failure.\n\t */\n\tSummaryNack = \"summaryNack\",\n\n\t/**\n\t * Operation (message) produced by container runtime.\n\t */\n\tOperation = \"op\",\n\n\t/**\n\t * Message to indicate that no active clients are present.\n\t */\n\tNoClient = \"noClient\",\n\n\t/**\n\t * Message to indicate successful round trip.\n\t */\n\tRoundTrip = \"tripComplete\",\n\n\t/**\n\t * Service specific control messages that are never sequenced.\n\t */\n\tControl = \"control\",\n}\n\n/**\n * @internal\n */\nexport enum SignalType {\n\t/**\n\t * System signal sent to indicate a new client has joined the collaboration.\n\t */\n\tClientJoin = \"join\",\n\n\t/**\n\t * System signal sent to indicate a client has left the collaboration.\n\t */\n\tClientLeave = \"leave\",\n}\n\n/**\n * Messages to track latency trace.\n * @legacy\n * @alpha\n */\nexport interface ITrace {\n\t/**\n\t * Service generating the trace.\n\t */\n\tservice: string;\n\n\t/**\n\t * Denotes receiving/sending.\n\t */\n\taction: string;\n\n\t/**\n\t * Floating point time in milliseconds with up to nanosecond precision.\n\t */\n\ttimestamp: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface INack {\n\t/**\n\t * The operation that was just nacked.\n\t */\n\toperation: IDocumentMessage | undefined;\n\n\t/**\n\t * The sequence number the client needs to catch up to before retrying.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Detail info about the nack.\n\t */\n\tcontent: INackContent;\n}\n\n/**\n * Document-specific message.\n * @legacy\n * @alpha\n */\nexport interface IDocumentMessage {\n\t/**\n\t * The document's client sequence number.\n\t */\n\tclientSequenceNumber: number;\n\n\t/**\n\t * The reference sequence number the message was sent relative to.\n\t */\n\treferenceSequenceNumber: number;\n\n\t/**\n\t * The type of document message being sent.\n\t */\n\ttype: string;\n\n\t/**\n\t * The contents of the message.\n\t */\n\tcontents: unknown;\n\n\t/**\n\t * App provided metadata about the operation.\n\t */\n\tmetadata?: unknown;\n\n\t/**\n\t * Server provided metadata about the operation.\n\t */\n\tserverMetadata?: unknown;\n\n\t/**\n\t * Traces related to the packet.\n\t */\n\ttraces?: ITrace[];\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t * @experimental Not ready for use\n\t */\n\tcompression?: string;\n}\n\n/**\n * Document Message with optional system level data field.\n * @internal\n */\nexport interface IDocumentSystemMessage extends IDocumentMessage {\n\tdata: string;\n}\n\n/**\n * Branch origin information.\n * @legacy\n * @alpha\n */\nexport interface IBranchOrigin {\n\t/**\n\t * Origin branch of the message.\n\t */\n\tid: string;\n\n\t/**\n\t * Sequence number for the message in branch ID.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Minimum sequence number for the message in branch ID.\n\t */\n\tminimumSequenceNumber: number;\n}\n\n/**\n * Sequenced message for a distributed document.\n * @legacy\n * @alpha\n */\nexport interface ISequencedDocumentMessage {\n\t/**\n\t * The client ID that submitted the message.\n\t * For server generated messages the clientId will be null;\n\t */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tclientId: string | null;\n\n\t/**\n\t * The sequenced identifier.\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * The minimum sequence number for all connected clients.\n\t */\n\tminimumSequenceNumber: number;\n\n\t/**\n\t * The document's client sequence number.\n\t */\n\tclientSequenceNumber: number;\n\n\t/**\n\t * The reference sequence number the message was sent relative to.\n\t */\n\treferenceSequenceNumber: number;\n\n\t/**\n\t * The type of operation.\n\t */\n\ttype: string;\n\n\t/**\n\t * The contents of the message.\n\t */\n\tcontents: unknown;\n\n\t/**\n\t * App provided metadata about the operation.\n\t */\n\tmetadata?: unknown;\n\n\t/**\n\t * Server provided metadata about the operation.\n\t */\n\tserverMetadata?: unknown;\n\n\t/**\n\t * Origin branch information for the message.\n\t *\n\t * @remarks Can be marked undefined if the current message is also the origin.\n\t */\n\torigin?: IBranchOrigin;\n\n\t/**\n\t * Traces related to the packet.\n\t */\n\ttraces?: ITrace[];\n\n\t/**\n\t * Timestamp when the server ticketed the message.\n\t */\n\ttimestamp: number;\n\n\t/**\n\t * Data provided by service. Only present in service generated messages.\n\t */\n\tdata?: string;\n\n\t/**\n\t * Experimental field for storing the rolling hash at sequence number.\n\t *\n\t * @deprecated Use ISequencedDocumentMessageExperimental instead.\n\t */\n\texpHash1?: string;\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t *\n\t * @deprecated Use ISequencedDocumentMessageExperimental instead.\n\t */\n\tcompression?: string;\n}\n\n/**\n * {@link ISequencedDocumentAugmentedMessage} with experimental properties.\n * @internal\n */\nexport type ISequencedDocumentMessageExperimental = Omit<\n\tISequencedDocumentMessage,\n\t\"expHash1\" | \"compression\"\n> & {\n\t/**\n\t * Stores the rolling hash at sequence number.\n\t */\n\texpHash1?: string;\n\n\t/**\n\t * The compression algorithm that was used to compress contents of this message.\n\t */\n\tcompression?: string;\n};\n\n/**\n * @internal\n */\nexport interface ISequencedDocumentSystemMessage extends ISequencedDocumentMessage {\n\tdata: string;\n}\n\n/**\n * @internal\n */\nexport interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMessage {\n\tadditionalContent: string;\n}\n\n/**\n * Common interface between incoming and outgoing signals.\n * @legacy\n * @alpha\n */\nexport interface ISignalMessageBase {\n\t/**\n\t * Signal content\n\t */\n\tcontent: unknown;\n\n\t/**\n\t * Signal type\n\t */\n\ttype?: string;\n\n\t/**\n\t * Counts the number of signals sent by the sending client.\n\t */\n\tclientConnectionNumber?: number;\n\n\t/**\n\t * Sequence number that indicates when the signal was created in relation to the delta stream\n\t */\n\treferenceSequenceNumber?: number;\n\n\t/**\n\t * Client ID of the singular client the signal is being (or has been) sent to.\n\t * May only be specified when IConnect.supportedFeatures['submit_signals_v2'] is true, will throw otherwise.\n\t */\n\ttargetClientId?: string;\n}\n\n/**\n * Interface for signals sent by the server to clients.\n * @legacy\n * @alpha\n */\nexport interface ISignalMessage extends ISignalMessageBase {\n\t/**\n\t * The client ID that submitted the message.\n\t * For server generated messages the clientId will be null.\n\t */\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tclientId: string | null;\n}\n\n/**\n * Interface for signals sent by clients to the server.\n * @internal\n */\nexport type ISentSignalMessage = ISignalMessageBase;\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IUploadedSummaryDetails {\n\t/**\n\t * Indicates whether the uploaded summary contains \".protocol\" tree.\n\t */\n\tincludesProtocolTree?: boolean;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISummaryContent {\n\t/**\n\t * Handle reference to the summary data.\n\t */\n\thandle: string;\n\n\t/**\n\t * Message included as part of the summary.\n\t */\n\tmessage: string;\n\n\t/**\n\t * Handles to parent summaries of the proposed new summary.\n\t */\n\tparents: string[];\n\n\t/**\n\t * Handle to the current latest summary stored by the service\n\t */\n\thead: string;\n\n\t/**\n\t * Details of the uploaded summary.\n\t */\n\tdetails?: IUploadedSummaryDetails;\n\n\t// TODO - need an epoch/reload bit to indicate to clients that the summary has changed and requires a reload\n\t// This could be encoded in the summary itself as well but then would require the client to download it to check\n}\n\n/**\n * General errors returned from the server.\n * May want to add error code or something similar in the future.\n * @internal\n */\nexport interface IServerError {\n\t/**\n\t * Message describing the server error.\n\t */\n\terrorMessage: string;\n}\n\n/**\n * Data about the original proposed summary message.\n * @legacy\n * @alpha\n */\nexport interface ISummaryProposal {\n\t/**\n\t * Actual sequence number of the summary message proposal.\n\t */\n\tsummarySequenceNumber: number;\n}\n\n/**\n * Contents of summary ack expected from the server.\n * @legacy\n * @alpha\n */\nexport interface ISummaryAck {\n\t/**\n\t * Handle of the complete summary.\n\t */\n\thandle: string;\n\n\t/**\n\t * Information about the proposed summary message.\n\t */\n\tsummaryProposal: ISummaryProposal;\n}\n\n/**\n * Contents of summary nack expected from the server.\n * @legacy\n * @alpha\n */\nexport interface ISummaryNack {\n\t/**\n\t * Information about the proposed summary message.\n\t */\n\tsummaryProposal: ISummaryProposal;\n\n\t/**\n\t * An error code number that represents the error. It will be a valid HTTP error code.\n\t * 403 errors are non retriable.\n\t * 400 errors are always immediately retriable.\n\t * 429 errors are retriable or non retriable (depends on type field).\n\t */\n\tcode?: number;\n\n\t/**\n\t * A message about the error for debugging/logging/telemetry purposes\n\t */\n\tmessage?: string;\n\n\t/**\n\t * Optional Retry-After time in seconds.\n\t * If specified, the client should wait this many seconds before retrying.8\n\t */\n\tretryAfter?: number;\n}\n\n/**\n * Interface for nack content.\n * @legacy\n * @alpha\n */\nexport interface INackContent {\n\t/**\n\t * An error code number that represents the error. It will be a valid HTTP error code.\n\t * 403 errors are non retriable and client should acquire a new identity before reconnection.\n\t * 400 errors are always immediately retriable\n\t * 429 errors are retriable or non retriable (depends on type field).\n\t */\n\tcode: number;\n\n\t/**\n\t * Type of the Nack.\n\t */\n\ttype: NackErrorType;\n\n\t/**\n\t * A message about the nack for debugging/logging/telemetry purposes\n\t */\n\tmessage: string;\n\n\t/**\n\t * Optional Retry-After time in seconds\n\t * If specified, the client should wait this many seconds before retrying\n\t */\n\tretryAfter?: number;\n}\n\n/**\n * Type of the nack.\n * @legacy\n * @alpha\n */\nexport enum NackErrorType {\n\t/**\n\t * Retriable after {@link ISummaryNack.retryAfter} seconds.\n\t */\n\tThrottlingError = \"ThrottlingError\",\n\n\t/**\n\t * Client's token is not valid for the intended message.\n\t */\n\tInvalidScopeError = \"InvalidScopeError\",\n\n\t/**\n\t * Clients message is invalid and should retry immediately with a valid message.\n\t */\n\tBadRequestError = \"BadRequestError\",\n\n\t/**\n\t * Service is having issues. Client should not retry.\n\t */\n\tLimitExceededError = \"LimitExceededError\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,oBAAY,SAAS;IACpB;;OAEG;IACH,OAAO,aAAa;IAEpB;;OAEG;IACH,QAAQ,cAAc;IAEtB;;OAEG;IACH,YAAY,kBAAkB;CAC9B"}
|
package/dist/protocol/scopes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACH,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB;;OAEG;IACH,iCAAoB,CAAA;IAEpB;;OAEG;IACH,mCAAsB,CAAA;IAEtB;;OAEG;IACH,2CAA8B,CAAA;AAC/B,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Defines scope access for a Container/Document.\n * @legacy\n * @alpha\n */\nexport enum ScopeType {\n\t/**\n\t * Read access is supported on the Container/Document\n\t */\n\tDocRead = \"doc:read\",\n\n\t/**\n\t * Write access is supported on the Container/Document\n\t */\n\tDocWrite = \"doc:write\",\n\n\t/**\n\t * User can generate new summaries operations\n\t */\n\tSummaryWrite = \"summary:write\",\n}\n"]}
|
|
@@ -8,6 +8,7 @@ import type { ISequencedDocumentMessage, ISignalMessage } from "./protocol.js";
|
|
|
8
8
|
import type { ITokenClaims } from "./tokens.js";
|
|
9
9
|
/**
|
|
10
10
|
* Message sent to connect to the given document.
|
|
11
|
+
* @legacy
|
|
11
12
|
* @alpha
|
|
12
13
|
*/
|
|
13
14
|
export interface IConnect {
|
|
@@ -64,6 +65,7 @@ export interface IConnect {
|
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
67
|
* Message sent to indicate a client has connected to the server.
|
|
68
|
+
* @legacy
|
|
67
69
|
* @alpha
|
|
68
70
|
*/
|
|
69
71
|
export interface IConnected {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IAGH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sockets.js","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ConnectionMode, IClient, ISignalClient } from \"./clients.js\";\nimport type { IClientConfiguration } from \"./config.js\";\nimport type { ISequencedDocumentMessage, ISignalMessage } from \"./protocol.js\";\nimport type { ITokenClaims } from \"./tokens.js\";\n\n/**\n * Message sent to connect to the given document.\n * @alpha\n */\nexport interface IConnect {\n\t/**\n\t * The tenant ID for the document.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * The document that is being connected to\n\t */\n\tid: string;\n\n\t/**\n\t * Authorization token\n\t */\n\t// TODO: Update this to use undefined instead of null.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\ttoken: string | null;\n\n\t/**\n\t * Type of the client trying to connect\n\t */\n\tclient: IClient;\n\n\t/**\n\t * Semver list of protocol versions supported by the client ordered in priority of use\n\t */\n\tversions: string[];\n\n\t/**\n\t * Version of the driver which is connecting. It can be used at server to record in telemetry or\n\t * to block/allow specific driver version for specific features.\n\t */\n\tdriverVersion?: string;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Represents the version of document at client. It should match the version on server\n\t * for connection to be successful.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that client supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * Properties that client can send to server to tell info about client environment. These are a bunch of properties\n\t * separated by \";\" which server can log to better understand client environment etc.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayUserAgent?: string;\n}\n\n/**\n * Message sent to indicate a client has connected to the server.\n * @alpha\n */\nexport interface IConnected {\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * The client who is sending the message\n\t */\n\tclientId: string;\n\n\t/**\n\t * Whether or not this is an existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Maximum size of a message before chunking is required\n\t */\n\tmaxMessageSize: number;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Protocol version selected by the server to communicate with the client\n\t */\n\tversion: string;\n\n\t/**\n\t * List of protocol versions supported by the server\n\t */\n\tsupportedVersions: string[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Represents the version of document at server.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that ordering service supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * The time the client connected\n\t */\n\ttimestamp?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sockets.js","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ConnectionMode, IClient, ISignalClient } from \"./clients.js\";\nimport type { IClientConfiguration } from \"./config.js\";\nimport type { ISequencedDocumentMessage, ISignalMessage } from \"./protocol.js\";\nimport type { ITokenClaims } from \"./tokens.js\";\n\n/**\n * Message sent to connect to the given document.\n * @legacy\n * @alpha\n */\nexport interface IConnect {\n\t/**\n\t * The tenant ID for the document.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * The document that is being connected to\n\t */\n\tid: string;\n\n\t/**\n\t * Authorization token\n\t */\n\t// TODO: Update this to use undefined instead of null.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\ttoken: string | null;\n\n\t/**\n\t * Type of the client trying to connect\n\t */\n\tclient: IClient;\n\n\t/**\n\t * Semver list of protocol versions supported by the client ordered in priority of use\n\t */\n\tversions: string[];\n\n\t/**\n\t * Version of the driver which is connecting. It can be used at server to record in telemetry or\n\t * to block/allow specific driver version for specific features.\n\t */\n\tdriverVersion?: string;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Represents the version of document at client. It should match the version on server\n\t * for connection to be successful.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that client supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * Properties that client can send to server to tell info about client environment. These are a bunch of properties\n\t * separated by \";\" which server can log to better understand client environment etc.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayUserAgent?: string;\n}\n\n/**\n * Message sent to indicate a client has connected to the server.\n * @legacy\n * @alpha\n */\nexport interface IConnected {\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * The client who is sending the message\n\t */\n\tclientId: string;\n\n\t/**\n\t * Whether or not this is an existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Maximum size of a message before chunking is required\n\t */\n\tmaxMessageSize: number;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Protocol version selected by the server to communicate with the client\n\t */\n\tversion: string;\n\n\t/**\n\t * List of protocol versions supported by the server\n\t */\n\tsupportedVersions: string[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Represents the version of document at server.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that ordering service supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * The time the client connected\n\t */\n\ttimestamp?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n}\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { IsoDate } from "./date.js";
|
|
6
6
|
/**
|
|
7
|
+
* @legacy
|
|
7
8
|
* @alpha
|
|
8
9
|
*/
|
|
9
10
|
export interface IDocumentAttributes {
|
|
@@ -17,6 +18,7 @@ export interface IDocumentAttributes {
|
|
|
17
18
|
minimumSequenceNumber: number;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
21
|
+
* @legacy
|
|
20
22
|
* @alpha
|
|
21
23
|
*/
|
|
22
24
|
export declare enum FileMode {
|
|
@@ -27,6 +29,7 @@ export declare enum FileMode {
|
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Raw blob stored within the tree.
|
|
32
|
+
* @legacy
|
|
30
33
|
* @alpha
|
|
31
34
|
*/
|
|
32
35
|
export interface IBlob {
|
|
@@ -40,12 +43,14 @@ export interface IBlob {
|
|
|
40
43
|
encoding: "utf-8" | "base64";
|
|
41
44
|
}
|
|
42
45
|
/**
|
|
46
|
+
* @legacy
|
|
43
47
|
* @alpha
|
|
44
48
|
*/
|
|
45
49
|
export interface IAttachment {
|
|
46
50
|
id: string;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
53
|
+
* @legacy
|
|
49
54
|
* @alpha
|
|
50
55
|
*/
|
|
51
56
|
export interface ICreateBlobResponse {
|
|
@@ -53,6 +58,7 @@ export interface ICreateBlobResponse {
|
|
|
53
58
|
}
|
|
54
59
|
/**
|
|
55
60
|
* A tree entry wraps a path with a type of node.
|
|
61
|
+
* @legacy
|
|
56
62
|
* @alpha
|
|
57
63
|
*/
|
|
58
64
|
export type ITreeEntry = {
|
|
@@ -77,6 +83,7 @@ export type ITreeEntry = {
|
|
|
77
83
|
});
|
|
78
84
|
/**
|
|
79
85
|
* Type of entries that can be stored in a tree.
|
|
86
|
+
* @legacy
|
|
80
87
|
* @alpha
|
|
81
88
|
*/
|
|
82
89
|
export declare enum TreeEntry {
|
|
@@ -85,6 +92,7 @@ export declare enum TreeEntry {
|
|
|
85
92
|
Attachment = "Attachment"
|
|
86
93
|
}
|
|
87
94
|
/**
|
|
95
|
+
* @legacy
|
|
88
96
|
* @alpha
|
|
89
97
|
*/
|
|
90
98
|
export interface ITree {
|
|
@@ -107,6 +115,7 @@ export interface ITree {
|
|
|
107
115
|
groupId?: string;
|
|
108
116
|
}
|
|
109
117
|
/**
|
|
118
|
+
* @legacy
|
|
110
119
|
* @alpha
|
|
111
120
|
*/
|
|
112
121
|
export interface ISnapshotTree {
|
|
@@ -140,6 +149,7 @@ export interface ISnapshotTreeEx extends ISnapshotTree {
|
|
|
140
149
|
}
|
|
141
150
|
/**
|
|
142
151
|
* Represents a version of the snapshot of a data store.
|
|
152
|
+
* @legacy
|
|
143
153
|
* @alpha
|
|
144
154
|
*/
|
|
145
155
|
export interface IVersion {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,oBAAY,QAAQ;IACnB,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,SAAS,WAAW;IACpB,OAAO,WAAW;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IAEH,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CAClB,CACH,CAAC;AAEF;;;;GAIG;AACH,oBAAY,SAAS;IACpB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf"}
|
package/dist/protocol/storage.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.TreeEntry = exports.FileMode = void 0;
|
|
8
8
|
/**
|
|
9
|
+
* @legacy
|
|
9
10
|
* @alpha
|
|
10
11
|
*/
|
|
11
12
|
var FileMode;
|
|
@@ -17,6 +18,7 @@ var FileMode;
|
|
|
17
18
|
})(FileMode || (exports.FileMode = FileMode = {}));
|
|
18
19
|
/**
|
|
19
20
|
* Type of entries that can be stored in a tree.
|
|
21
|
+
* @legacy
|
|
20
22
|
* @alpha
|
|
21
23
|
*/
|
|
22
24
|
var TreeEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoBH;;;GAGG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,gCAAoB,CAAA;IACpB,8BAAkB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAmED;;;;GAIG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,sCAAyB,CAAA;AAC1B,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IsoDate } from \"./date.js\";\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentAttributes {\n\t/**\n\t * Sequence number at which the snapshot was taken\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Minimum sequence number when the snapshot was taken\n\t */\n\tminimumSequenceNumber: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum FileMode {\n\tFile = \"100644\",\n\tExecutable = \"100755\",\n\tDirectory = \"040000\",\n\tSymlink = \"120000\",\n}\n\n/**\n * Raw blob stored within the tree.\n * @legacy\n * @alpha\n */\nexport interface IBlob {\n\t/**\n\t * Contents of the blob\n\t */\n\tcontents: string;\n\n\t/**\n\t * The encoding of the contents string\n\t */\n\t// eslint-disable-next-line unicorn/text-encoding-identifier-case\n\tencoding: \"utf-8\" | \"base64\";\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IAttachment {\n\tid: string;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ICreateBlobResponse {\n\tid: string;\n}\n\n/**\n * A tree entry wraps a path with a type of node.\n * @legacy\n * @alpha\n */\nexport type ITreeEntry = {\n\t/**\n\t * Path to the object\n\t */\n\tpath: string;\n\n\t/**\n\t * The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree)\n\t * or 120000 for a blob that specifies the path of a symlink\n\t */\n\tmode: FileMode;\n} & (\n\t| {\n\t\t\ttype: TreeEntry.Blob;\n\t\t\tvalue: IBlob;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Tree;\n\t\t\tvalue: ITree;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Attachment;\n\t\t\tvalue: IAttachment;\n\t }\n);\n\n/**\n * Type of entries that can be stored in a tree.\n * @legacy\n * @alpha\n */\nexport enum TreeEntry {\n\tBlob = \"Blob\",\n\tTree = \"Tree\",\n\tAttachment = \"Attachment\",\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ITree {\n\tentries: ITreeEntry[];\n\n\t/**\n\t * Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case\n\t * it is known that the `ITree` has already been created and stored\n\t */\n\tid?: string;\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISnapshotTree {\n\tid?: string;\n\tblobs: { [path: string]: string };\n\ttrees: { [path: string]: ISnapshotTree };\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the snapshot tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @internal\n */\nexport interface ISnapshotTreeEx extends ISnapshotTree {\n\tid: string;\n\ttrees: { [path: string]: ISnapshotTreeEx };\n}\n\n/**\n * Represents a version of the snapshot of a data store.\n * @legacy\n * @alpha\n */\nexport interface IVersion {\n\t/**\n\t * Version ID\n\t */\n\tid: string;\n\n\t/**\n\t * Tree ID for this version of the snapshot\n\t */\n\ttreeId: string;\n\n\t/**\n\t * Time when snapshot was generated.\n\t */\n\tdate?: IsoDate;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE9F
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE9F;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;AAExD;;;GAGG;AAEH,yBAAiB,WAAW,CAAC;IAC5B;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,MAAM,GAAG,CAAC,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;;;OAKG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;OAGG;IACI,MAAM,MAAM,EAAE,MAAmB,CAAC;IAEzC;;;;;OAKG;IACI,MAAM,UAAU,EAAE,UAAuB,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GACpB,WAAW,CAAC,UAAU,GACtB,WAAW,CAAC,IAAI,GAChB,WAAW,CAAC,MAAM,GAClB,WAAW,CAAC,IAAI,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IAGvB,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAExC;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAkBH;;;GAGG;AACH,2DAA2D;AAC3D,IAAiB,WAAW,CA6C3B;AA7CD,WAAiB,WAAW;IAkB3B;;;OAGG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;;;OAKG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;OAGG;IACU,kBAAM,GAAW,CAAU,CAAC;IAEzC;;;;;OAKG;IACU,sBAAU,GAAe,CAAU,CAAC;AAClD,CAAC,EA7CgB,WAAW,2BAAX,WAAW,QA6C3B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Object representing a node within a summary tree.\n *\n * @remarks\n * If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children.\n * @public\n */\nexport type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment;\n\n/**\n * The root of the summary tree.\n * @legacy\n * @alpha\n */\nexport type SummaryTree = ISummaryTree | ISummaryHandle;\n\n/**\n * Type tag used to distinguish different types of nodes in a {@link ISummaryTree}.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace SummaryType {\n\t/**\n\t * @internal\n\t */\n\texport type Tree = 1;\n\t/**\n\t * @internal\n\t */\n\texport type Blob = 2;\n\t/**\n\t * @internal\n\t */\n\texport type Handle = 3;\n\t/**\n\t * @internal\n\t */\n\texport type Attachment = 4;\n\n\t/**\n\t * Represents a sub-tree in the summary.\n\t * @public\n\t */\n\texport const Tree: Tree = 1 as const;\n\n\t/**\n\t * Represents a blob of data that is added to the summary.\n\t * Such as the user data that is added to the DDS or metadata added by runtime\n\t * such as data store / channel attributes.\n\t * @public\n\t */\n\texport const Blob: Blob = 2 as const;\n\n\t/**\n\t * Path to a summary tree object from the last successful summary.\n\t * @public\n\t */\n\texport const Handle: Handle = 3 as const;\n\n\t/**\n\t * Unique identifier to larger blobs uploaded outside of the summary.\n\t * Ex. DDS has large images or video that will be uploaded by the BlobManager and\n\t * receive an Id that can be used in the summary.\n\t * @public\n\t */\n\texport const Attachment: Attachment = 4 as const;\n}\n\n/**\n * {@inheritDoc (SummaryType:namespace)}\n * @public\n */\nexport type SummaryType =\n\t| SummaryType.Attachment\n\t| SummaryType.Blob\n\t| SummaryType.Handle\n\t| SummaryType.Tree;\n\n/**\n * Summary type that {@link ISummaryHandle} points to.\n *\n * @remarks\n * Summary handles are often used to point to summary tree objects contained within older summaries, thus avoiding\n * the need to re-send the entire subtree if summary object has not changed.\n * @public\n */\nexport type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment;\n\n/**\n * Path to a summary tree object from the last successful summary indicating the summary object hasn't\n * changed since it was uploaded.\n *\n * @example\n * To illustrate, if a DataStore did not change since last summary, the framework runtime will use a handle for the\n * entire DataStore instead of re-sending the entire subtree. The same concept applies for a DDS.\n * An example of handle would be: '/<DataStoreId>/<DDSId>'.\n * @public\n */\nexport interface ISummaryHandle {\n\ttype: SummaryType.Handle;\n\n\t/**\n\t * Type of Summary Handle (SummaryType.Handle is not supported).\n\t */\n\thandleType: SummaryTypeNoHandle;\n\n\t/**\n\t * Unique path that identifies the corresponding sub-tree in a previous summary.\n\t */\n\thandle: string;\n}\n\n/**\n * String or Binary data to be uploaded to the server as part of the container's Summary.\n *\n * @remarks\n * Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568}\n *\n * @example\n * \"content\": \"\\{ \\\"pkg\\\":\\\"[\\\\\\\"OfficeRootComponent\\\\\\\",\\\\\\\"LastEditedComponent\\\\\\\"]\\\",\n * \\\"summaryFormatVersion\\\":2,\\\"isRootDataStore\\\":false \\}\"\n * @public\n */\nexport interface ISummaryBlob {\n\ttype: SummaryType.Blob;\n\tcontent: string | Uint8Array;\n}\n\n/**\n * Unique identifier for blobs uploaded outside of the summary.\n *\n * @remarks\n *\n * Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload.\n * The ID gets returned from the backend after the attachment has been uploaded.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374}\n *\n * @example\n * \"id\": \"bQAQKARDdMdTgqICmBa_ZB86YXwGP\"\n * @public\n */\nexport interface ISummaryAttachment {\n\ttype: SummaryType.Attachment;\n\tid: string;\n}\n\n/**\n * Tree Node data structure with children that are nodes of SummaryObject type:\n * Blob, Handle, Attachment or another Tree.\n * @public\n */\nexport interface ISummaryTree {\n\ttype: SummaryType.Tree;\n\n\t// TODO type I can infer from SummaryObject. File mode I may want to directly specify so have symlink+exec access\n\ttree: { [path: string]: SummaryObject };\n\n\t/**\n\t * Indicates that this tree entry is unreferenced.\n\t * If this is not present, the tree entry is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the summary tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IUser } from \"./users.js\";\n\n/**\n * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims\n *\n * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}\n * @alpha\n */\nexport interface ITokenClaims {\n\t/**\n\t * Identifies the document (a.k.a container) for which the token is being generated.\n\t * Generated by the service.\n\t */\n\tdocumentId: string;\n\n\t/**\n\t * Identifies the permissions required by the client on the document or summary.\n\t * For every scope, you can define the permissions you want to give to the client.\n\t */\n\tscopes: string[];\n\n\t/**\n\t * Unique tenant identifier.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * User for whom the token was created.\n\t */\n\tuser: IUser;\n\n\t/**\n\t * \"Issued At\"\n\t * Indicates when the authentication for this token occurred.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6}\n\t */\n\tiat: number;\n\n\t/**\n\t * \"Expiration Time\"\n\t * Identifies the expiration time on or after which the token must not be accepted for processing.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4}\n\t */\n\texp: number;\n\n\t/**\n\t * \"Version\"\n\t * Version of the access token.\n\t */\n\tver: string;\n\n\t/**\n\t * \"JWT ID\"\n\t * A unique identifier for the token.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7}\n\t */\n\tjti?: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ISummaryTokenClaims {\n\tsub: string;\n\tact: IActorClient;\n\tclaims: ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface IActorClient {\n\tsub: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenService {\n\textractClaims(token: string): ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenProvider {\n\t/**\n\t * Whether or not the token is still valid to use.\n\t */\n\tisValid(): boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IUser } from \"./users.js\";\n\n/**\n * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims\n *\n * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}\n * @legacy\n * @alpha\n */\nexport interface ITokenClaims {\n\t/**\n\t * Identifies the document (a.k.a container) for which the token is being generated.\n\t * Generated by the service.\n\t */\n\tdocumentId: string;\n\n\t/**\n\t * Identifies the permissions required by the client on the document or summary.\n\t * For every scope, you can define the permissions you want to give to the client.\n\t */\n\tscopes: string[];\n\n\t/**\n\t * Unique tenant identifier.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * User for whom the token was created.\n\t */\n\tuser: IUser;\n\n\t/**\n\t * \"Issued At\"\n\t * Indicates when the authentication for this token occurred.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6}\n\t */\n\tiat: number;\n\n\t/**\n\t * \"Expiration Time\"\n\t * Identifies the expiration time on or after which the token must not be accepted for processing.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4}\n\t */\n\texp: number;\n\n\t/**\n\t * \"Version\"\n\t * Version of the access token.\n\t */\n\tver: string;\n\n\t/**\n\t * \"JWT ID\"\n\t * A unique identifier for the token.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7}\n\t */\n\tjti?: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ISummaryTokenClaims {\n\tsub: string;\n\tact: IActorClient;\n\tclaims: ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface IActorClient {\n\tsub: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenService {\n\textractClaims(token: string): ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenProvider {\n\t/**\n\t * Whether or not the token is still valid to use.\n\t */\n\tisValid(): boolean;\n}\n"]}
|
package/dist/storage.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export interface IDeltaStorageService {
|
|
|
42
42
|
fetchReason?: string): Promise<IDeltasFetchResult>;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
+
* @legacy
|
|
45
46
|
* @alpha
|
|
46
47
|
*/
|
|
47
48
|
export type IStreamResult<T> = {
|
|
@@ -52,6 +53,7 @@ export type IStreamResult<T> = {
|
|
|
52
53
|
};
|
|
53
54
|
/**
|
|
54
55
|
* Read interface for the Queue
|
|
56
|
+
* @legacy
|
|
55
57
|
* @alpha
|
|
56
58
|
*/
|
|
57
59
|
export interface IStream<T> {
|
|
@@ -59,6 +61,7 @@ export interface IStream<T> {
|
|
|
59
61
|
}
|
|
60
62
|
/**
|
|
61
63
|
* Interface to provide access to stored deltas for a shared object
|
|
64
|
+
* @legacy
|
|
62
65
|
* @alpha
|
|
63
66
|
*/
|
|
64
67
|
export interface IDocumentDeltaStorageService {
|
|
@@ -75,12 +78,14 @@ export interface IDocumentDeltaStorageService {
|
|
|
75
78
|
fetchMessages(from: number, to: number | undefined, abortSignal?: AbortSignal, cachedOnly?: boolean, fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
|
|
76
79
|
}
|
|
77
80
|
/**
|
|
81
|
+
* @legacy
|
|
78
82
|
* @alpha
|
|
79
83
|
*/
|
|
80
84
|
export type FiveDaysMs = 432000000;
|
|
81
85
|
/**
|
|
82
86
|
* Policies describing attributes or characteristics of the driver's storage service,
|
|
83
87
|
* to direct how other components interact with the driver
|
|
88
|
+
* @legacy
|
|
84
89
|
* @alpha
|
|
85
90
|
*/
|
|
86
91
|
export interface IDocumentStorageServicePolicies {
|
|
@@ -100,6 +105,7 @@ export interface IDocumentStorageServicePolicies {
|
|
|
100
105
|
}
|
|
101
106
|
/**
|
|
102
107
|
* Interface to provide access to snapshots saved for a shared object
|
|
108
|
+
* @legacy
|
|
103
109
|
* @alpha
|
|
104
110
|
*/
|
|
105
111
|
export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
@@ -156,6 +162,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
156
162
|
}
|
|
157
163
|
/**
|
|
158
164
|
* Events emitted by {@link IDocumentService}.
|
|
165
|
+
* @legacy
|
|
159
166
|
* @alpha
|
|
160
167
|
*/
|
|
161
168
|
export interface IDocumentServiceEvents extends IEvent {
|
|
@@ -166,6 +173,7 @@ export interface IDocumentServiceEvents extends IEvent {
|
|
|
166
173
|
(event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
|
|
167
174
|
}
|
|
168
175
|
/**
|
|
176
|
+
* @legacy
|
|
169
177
|
* @alpha
|
|
170
178
|
*/
|
|
171
179
|
export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
|
|
@@ -177,6 +185,7 @@ export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
|
|
|
177
185
|
(event: "error", listener: (error: any) => void): any;
|
|
178
186
|
}
|
|
179
187
|
/**
|
|
188
|
+
* @legacy
|
|
180
189
|
* @alpha
|
|
181
190
|
*/
|
|
182
191
|
export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {
|
|
@@ -244,6 +253,7 @@ export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<ID
|
|
|
244
253
|
submitSignal: (content: string, targetClientId?: string) => void;
|
|
245
254
|
}
|
|
246
255
|
/**
|
|
256
|
+
* @legacy
|
|
247
257
|
* @alpha
|
|
248
258
|
*/
|
|
249
259
|
export declare enum LoaderCachingPolicy {
|
|
@@ -257,6 +267,7 @@ export declare enum LoaderCachingPolicy {
|
|
|
257
267
|
Prefetch = 1
|
|
258
268
|
}
|
|
259
269
|
/**
|
|
270
|
+
* @legacy
|
|
260
271
|
* @alpha
|
|
261
272
|
*/
|
|
262
273
|
export interface IDocumentServicePolicies {
|
|
@@ -276,6 +287,7 @@ export interface IDocumentServicePolicies {
|
|
|
276
287
|
readonly supportGetSnapshotApi?: boolean;
|
|
277
288
|
}
|
|
278
289
|
/**
|
|
290
|
+
* @legacy
|
|
279
291
|
* @alpha
|
|
280
292
|
*/
|
|
281
293
|
export interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {
|
|
@@ -309,6 +321,7 @@ export interface IDocumentService extends IEventProvider<IDocumentServiceEvents>
|
|
|
309
321
|
dispose(error?: any): void;
|
|
310
322
|
}
|
|
311
323
|
/**
|
|
324
|
+
* @legacy
|
|
312
325
|
* @alpha
|
|
313
326
|
*/
|
|
314
327
|
export interface IDocumentServiceFactory {
|
|
@@ -340,6 +353,7 @@ export interface IDocumentServiceFactory {
|
|
|
340
353
|
/**
|
|
341
354
|
* Context for uploading a summary to storage.
|
|
342
355
|
* Indicates the previously acked summary.
|
|
356
|
+
* @legacy
|
|
343
357
|
* @alpha
|
|
344
358
|
*/
|
|
345
359
|
export interface ISummaryContext {
|
|
@@ -354,6 +368,7 @@ export interface ISummaryContext {
|
|
|
354
368
|
readonly referenceSequenceNumber: number;
|
|
355
369
|
}
|
|
356
370
|
/**
|
|
371
|
+
* @legacy
|
|
357
372
|
* @alpha
|
|
358
373
|
*/
|
|
359
374
|
export declare enum FetchSource {
|
|
@@ -363,6 +378,7 @@ export declare enum FetchSource {
|
|
|
363
378
|
/**
|
|
364
379
|
* A "Full" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)
|
|
365
380
|
*
|
|
381
|
+
* @legacy
|
|
366
382
|
* @alpha
|
|
367
383
|
*/
|
|
368
384
|
export interface ISnapshot {
|
|
@@ -382,6 +398,7 @@ export interface ISnapshot {
|
|
|
382
398
|
/**
|
|
383
399
|
* Snapshot fetch options which are used to communicate different things to the driver
|
|
384
400
|
* when fetching the snapshot.
|
|
401
|
+
* @legacy
|
|
385
402
|
* @alpha
|
|
386
403
|
*/
|
|
387
404
|
export interface ISnapshotFetchOptions {
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACX,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;;;;;OASG;IACH,GAAG,CACF,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,YAAY;IAC1B,EAAE,EAAE,MAAM,EAAE,YAAY;IACxB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC/B;AAED
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.FetchSource = exports.LoaderCachingPolicy = void 0;
|
|
8
8
|
/**
|
|
9
|
+
* @legacy
|
|
9
10
|
* @alpha
|
|
10
11
|
*/
|
|
11
12
|
var LoaderCachingPolicy;
|
|
@@ -20,6 +21,7 @@ var LoaderCachingPolicy;
|
|
|
20
21
|
LoaderCachingPolicy[LoaderCachingPolicy["Prefetch"] = 1] = "Prefetch";
|
|
21
22
|
})(LoaderCachingPolicy || (exports.LoaderCachingPolicy = LoaderCachingPolicy = {}));
|
|
22
23
|
/**
|
|
24
|
+
* @legacy
|
|
23
25
|
* @alpha
|
|
24
26
|
*/
|
|
25
27
|
var FetchSource;
|