@fluidframework/driver-definitions 2.1.0-274160 → 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.
Files changed (114) hide show
  1. package/dist/driverError.d.ts +10 -0
  2. package/dist/driverError.d.ts.map +1 -1
  3. package/dist/driverError.js +1 -0
  4. package/dist/driverError.js.map +1 -1
  5. package/dist/git/resources.d.ts +2 -0
  6. package/dist/git/resources.d.ts.map +1 -1
  7. package/dist/git/resources.js.map +1 -1
  8. package/dist/legacy.d.ts +1 -1
  9. package/dist/protocol/clients.d.ts +1 -0
  10. package/dist/protocol/clients.d.ts.map +1 -1
  11. package/dist/protocol/clients.js.map +1 -1
  12. package/dist/protocol/config.d.ts +1 -0
  13. package/dist/protocol/config.d.ts.map +1 -1
  14. package/dist/protocol/config.js.map +1 -1
  15. package/dist/protocol/consensus.d.ts +7 -0
  16. package/dist/protocol/consensus.d.ts.map +1 -1
  17. package/dist/protocol/consensus.js.map +1 -1
  18. package/dist/protocol/date.d.ts +1 -0
  19. package/dist/protocol/date.d.ts.map +1 -1
  20. package/dist/protocol/date.js.map +1 -1
  21. package/dist/protocol/protocol.d.ts +15 -0
  22. package/dist/protocol/protocol.d.ts.map +1 -1
  23. package/dist/protocol/protocol.js +2 -0
  24. package/dist/protocol/protocol.js.map +1 -1
  25. package/dist/protocol/scopes.d.ts +1 -0
  26. package/dist/protocol/scopes.d.ts.map +1 -1
  27. package/dist/protocol/scopes.js +1 -0
  28. package/dist/protocol/scopes.js.map +1 -1
  29. package/dist/protocol/sockets.d.ts +2 -0
  30. package/dist/protocol/sockets.d.ts.map +1 -1
  31. package/dist/protocol/sockets.js.map +1 -1
  32. package/dist/protocol/storage.d.ts +10 -0
  33. package/dist/protocol/storage.d.ts.map +1 -1
  34. package/dist/protocol/storage.js +2 -0
  35. package/dist/protocol/storage.js.map +1 -1
  36. package/dist/protocol/summary.d.ts +1 -0
  37. package/dist/protocol/summary.d.ts.map +1 -1
  38. package/dist/protocol/summary.js.map +1 -1
  39. package/dist/protocol/tokens.d.ts +1 -0
  40. package/dist/protocol/tokens.d.ts.map +1 -1
  41. package/dist/protocol/tokens.js.map +1 -1
  42. package/dist/storage.d.ts +17 -0
  43. package/dist/storage.d.ts.map +1 -1
  44. package/dist/storage.js +2 -0
  45. package/dist/storage.js.map +1 -1
  46. package/dist/urlResolver.d.ts +5 -0
  47. package/dist/urlResolver.d.ts.map +1 -1
  48. package/dist/urlResolver.js +1 -0
  49. package/dist/urlResolver.js.map +1 -1
  50. package/lib/driverError.d.ts +10 -0
  51. package/lib/driverError.d.ts.map +1 -1
  52. package/lib/driverError.js +1 -0
  53. package/lib/driverError.js.map +1 -1
  54. package/lib/git/resources.d.ts +2 -0
  55. package/lib/git/resources.d.ts.map +1 -1
  56. package/lib/git/resources.js.map +1 -1
  57. package/lib/legacy.d.ts +1 -1
  58. package/lib/protocol/clients.d.ts +1 -0
  59. package/lib/protocol/clients.d.ts.map +1 -1
  60. package/lib/protocol/clients.js.map +1 -1
  61. package/lib/protocol/config.d.ts +1 -0
  62. package/lib/protocol/config.d.ts.map +1 -1
  63. package/lib/protocol/config.js.map +1 -1
  64. package/lib/protocol/consensus.d.ts +7 -0
  65. package/lib/protocol/consensus.d.ts.map +1 -1
  66. package/lib/protocol/consensus.js.map +1 -1
  67. package/lib/protocol/date.d.ts +1 -0
  68. package/lib/protocol/date.d.ts.map +1 -1
  69. package/lib/protocol/date.js.map +1 -1
  70. package/lib/protocol/protocol.d.ts +15 -0
  71. package/lib/protocol/protocol.d.ts.map +1 -1
  72. package/lib/protocol/protocol.js +2 -0
  73. package/lib/protocol/protocol.js.map +1 -1
  74. package/lib/protocol/scopes.d.ts +1 -0
  75. package/lib/protocol/scopes.d.ts.map +1 -1
  76. package/lib/protocol/scopes.js +1 -0
  77. package/lib/protocol/scopes.js.map +1 -1
  78. package/lib/protocol/sockets.d.ts +2 -0
  79. package/lib/protocol/sockets.d.ts.map +1 -1
  80. package/lib/protocol/sockets.js.map +1 -1
  81. package/lib/protocol/storage.d.ts +10 -0
  82. package/lib/protocol/storage.d.ts.map +1 -1
  83. package/lib/protocol/storage.js +2 -0
  84. package/lib/protocol/storage.js.map +1 -1
  85. package/lib/protocol/summary.d.ts +1 -0
  86. package/lib/protocol/summary.d.ts.map +1 -1
  87. package/lib/protocol/summary.js.map +1 -1
  88. package/lib/protocol/tokens.d.ts +1 -0
  89. package/lib/protocol/tokens.d.ts.map +1 -1
  90. package/lib/protocol/tokens.js.map +1 -1
  91. package/lib/storage.d.ts +17 -0
  92. package/lib/storage.d.ts.map +1 -1
  93. package/lib/storage.js +2 -0
  94. package/lib/storage.js.map +1 -1
  95. package/lib/urlResolver.d.ts +5 -0
  96. package/lib/urlResolver.d.ts.map +1 -1
  97. package/lib/urlResolver.js +1 -0
  98. package/lib/urlResolver.js.map +1 -1
  99. package/package.json +5 -5
  100. package/src/driverError.ts +10 -0
  101. package/src/git/resources.ts +2 -0
  102. package/src/protocol/clients.ts +1 -0
  103. package/src/protocol/config.ts +1 -0
  104. package/src/protocol/consensus.ts +7 -0
  105. package/src/protocol/date.ts +1 -0
  106. package/src/protocol/protocol.ts +15 -0
  107. package/src/protocol/scopes.ts +1 -0
  108. package/src/protocol/sockets.ts +2 -0
  109. package/src/protocol/storage.ts +10 -0
  110. package/src/protocol/summary.ts +1 -0
  111. package/src/protocol/tokens.ts +1 -0
  112. package/src/storage.ts +17 -0
  113. package/src/urlResolver.ts +5 -0
  114. /package/api-report/{driver-definitions.alpha.api.md → driver-definitions.legacy.alpha.api.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgUH;;GAEG;AACH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC9B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACT,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B;AA4HD;;GAEG;AACH,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACpB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIDisposable,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\n\nimport type { IAnyDriverError } from \"./driverError.js\";\nimport type {\n\tConnectionMode,\n\tIClient,\n\tIClientConfiguration,\n\tICreateBlobResponse,\n\tIDocumentMessage,\n\tINack,\n\tISequencedDocumentMessage,\n\tISignalClient,\n\tISignalMessage,\n\tISnapshotTree,\n\tISummaryHandle,\n\tISummaryTree,\n\tITokenClaims,\n\tIVersion,\n} from \"./protocol/index.js\";\nimport type { IResolvedUrl } from \"./urlResolver.js\";\n\n/**\n * @internal\n */\nexport interface IDeltasFetchResult {\n\t/**\n\t * Sequential set of messages starting from 'from' sequence number.\n\t * May be partial result, i.e. not fulfill original request in full.\n\t */\n\tmessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * If true, storage only partially fulfilled request, but has more ops\n\t * If false, the request was fulfilled. If less ops were returned then\n\t * requested, then storage does not have more ops in this range.\n\t */\n\tpartialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @internal\n */\nexport interface IDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the inclusive sequence number range\n\t * @param tenantId - Id of the tenant.\n\t * @param id - document id.\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tget(\n\t\ttenantId: string,\n\t\tid: string,\n\t\tfrom: number, // inclusive\n\t\tto: number, // exclusive\n\t\tfetchReason?: string,\n\t): Promise<IDeltasFetchResult>;\n}\n\n/**\n * @alpha\n */\nexport type IStreamResult<T> = { done: true } | { done: false; value: T };\n\n/**\n * Read interface for the Queue\n * @alpha\n */\nexport interface IStream<T> {\n\tread(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @alpha\n */\nexport interface IDocumentDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the exclusive sequence number range\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param abortSignal - signal that aborts operation\n\t * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tfetchMessages(\n\t\tfrom: number,\n\t\tto: number | undefined,\n\t\tabortSignal?: AbortSignal,\n\t\tcachedOnly?: boolean,\n\t\tfetchReason?: string,\n\t): IStream<ISequencedDocumentMessage[]>;\n}\n\n// DO NOT INCREASE THIS TYPE'S VALUE\n// If a driver started using a larger value,\n// internal assumptions of the Runtime's GC feature will be violated\n// DO NOT INCREASE THIS TYPE'S VALUE\n/**\n * @alpha\n */\nexport type FiveDaysMs = 432_000_000; /* 5 days in milliseconds */\n\n/**\n * Policies describing attributes or characteristics of the driver's storage service,\n * to direct how other components interact with the driver\n * @alpha\n */\nexport interface IDocumentStorageServicePolicies {\n\t/**\n\t * Should the Loader implement any sort of pre-fetching or caching mechanism?\n\t */\n\treadonly caching?: LoaderCachingPolicy;\n\n\t/**\n\t * IMPORTANT: This policy MUST be set to 5 days and PROPERLY ENFORCED for drivers that are used\n\t * in applications where Garbage Collection is enabled. Otherwise data loss may occur.\n\t *\n\t * This policy pertains to requests for the latest snapshot from the service.\n\t * If set, it means that the driver guarantees not to use a cached value that was fetched more than 5 days ago.\n\t * If undefined, the driver makes no guarantees about the age of snapshots used for loading.\n\t */\n\treadonly maximumCacheDurationMs?: FiveDaysMs;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n * @alpha\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\treadonly policies?: IDocumentStorageServicePolicies;\n\n\t/**\n\t * Returns the snapshot tree.\n\t * @param version - Version of the snapshot to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t */\n\t// TODO: use `undefined` instead.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tgetSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n\t/**\n\t * Returns the snapshot which can contain other artifacts too like blob contents, ops etc. It is different from\n\t * `getSnapshotTree` api in that, that API only returns the snapshot tree from the snapshot.\n\t * @param snapshotFetchOptions - Options specified by the caller to specify and want certain behavior from the\n\t * driver when fetching the snapshot.\n\t */\n\tgetSnapshot?(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;\n\n\t/**\n\t * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n\t * @param versionId - Version id of the requested version.\n\t * @param count - Number of the versions to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n\t * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n\t * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n\t * from storage.\n\t */\n\tgetVersions(\n\t\t// TODO: use `undefined` instead.\n\t\t// eslint-disable-next-line @rushstack/no-new-null\n\t\tversionId: string | null,\n\t\tcount: number,\n\t\tscenarioName?: string,\n\t\tfetchSource?: FetchSource,\n\t): Promise<IVersion[]>;\n\n\t/**\n\t * Creates a blob out of the given buffer\n\t */\n\tcreateBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n\t/**\n\t * Reads the object with the given ID, returns content in arrayBufferLike\n\t */\n\treadBlob(id: string): Promise<ArrayBufferLike>;\n\n\t/**\n\t * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n\t * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n\t * referencing from the previously acked summary.\n\t * Returns the uploaded summary handle.\n\t */\n\tuploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n\t/**\n\t * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n\t * server has deleted it this call may result in a broken promise.\n\t */\n\tdownloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\n/**\n * Events emitted by {@link IDocumentService}.\n * @alpha\n */\nexport interface IDocumentServiceEvents extends IEvent {\n\t/**\n\t * This event is used to communicate any metadata related to the container. We might have received metadata from the service.\n\t * Read more info on this event from here `IContainer.containerMetadata`.\n\t */\n\t(event: \"metadataUpdate\", listener: (metadata: Record<string, string>) => void);\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n\t(event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n\t(event: \"disconnect\", listener: (reason: IAnyDriverError) => void);\n\t(event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n\t(event: \"signal\", listener: (message: ISignalMessage | ISignalMessage[]) => void);\n\t(event: \"pong\", listener: (latency: number) => void);\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (error: any) => void);\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentDeltaConnection\n\textends IDisposable,\n\t\tIEventProvider<IDocumentDeltaConnectionEvents> {\n\t/**\n\t * ClientID for the connection\n\t */\n\tclientId: string;\n\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * Mode of the client\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * Whether the connection was made to a new or existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Protocol version being used with the service\n\t */\n\tversion: string;\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 * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\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 * 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\t/**\n\t * Submit a new message to the server\n\t */\n\tsubmit(messages: IDocumentMessage[]): void;\n\n\t/**\n\t * Submits a new signal to the server\n\t *\n\t * @privateRemarks\n\t * UnknownShouldBe<string> can be string if {@link IDocumentServiceFactory} becomes internal.\n\t */\n\tsubmitSignal: (content: string, targetClientId?: string) => void;\n}\n\n/**\n * @alpha\n */\nexport enum LoaderCachingPolicy {\n\t/**\n\t * The loader should not implement any prefetching or caching policy.\n\t */\n\tNoCaching,\n\n\t/**\n\t * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n\t */\n\tPrefetch,\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentServicePolicies {\n\t/**\n\t * Do not connect to delta stream\n\t */\n\treadonly storageOnly?: boolean;\n\n\t/**\n\t * Summarizer uploads the protocol tree too when summarizing.\n\t */\n\treadonly summarizeProtocolTree?: boolean;\n\n\t/**\n\t * Whether the driver supports the new getSnapshot api which returns snapshot which\n\t * contains all contents along with the snapshot tree. Enable this by default when the\n\t * driver can fully support the api.\n\t */\n\treadonly supportGetSnapshotApi?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {\n\tresolvedUrl: IResolvedUrl;\n\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\tpolicies?: IDocumentServicePolicies;\n\n\t/**\n\t * Access to storage associated with the document\n\t */\n\tconnectToStorage(): Promise<IDocumentStorageService>;\n\n\t/**\n\t * Access to delta storage associated with the document\n\t */\n\tconnectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n\t/**\n\t * Subscribes to the document delta stream\n\t */\n\tconnectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n\t/**\n\t * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n\t * Useful for storage to commit any pending state if any (including any local caching).\n\t * Please note that it does not remove the need for caller to close all active delta connections,\n\t * as storage may not be tracking such objects.\n\t * @param error - tells if container (and storage) are closed due to critical error.\n\t * Error might be due to disconnect between client & server knowledge about file, like file being overwritten\n\t * in storage, but client having stale local cache.\n\t * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n\t */\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tdispose(error?: any): void;\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentServiceFactory {\n\t/**\n\t * Creates the document service after extracting different endpoints URLs from a resolved URL.\n\t *\n\t * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t *\n\t * @returns An instance of {@link IDocumentService}.\n\t */\n\tcreateDocumentService(\n\t\tresolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n\n\t/**\n\t * Creates a new document with the provided options. Returns the document service.\n\t *\n\t * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n\t * should be posted later, before connecting to ordering service.\n\t * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t */\n\tcreateContainer(\n\t\tcreateNewSummary: ISummaryTree | undefined,\n\t\tcreateNewResolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n * @alpha\n */\nexport interface ISummaryContext {\n\t/**\n\t * Parent summary proposed handle (from summary op)\n\t */\n\treadonly proposalHandle: string | undefined;\n\n\t/**\n\t * Parent summary acked handle (from summary ack)\n\t */\n\treadonly ackHandle: string | undefined;\n\n\treadonly referenceSequenceNumber: number;\n}\n\n/**\n * @alpha\n */\nexport enum FetchSource {\n\tdefault = \"default\",\n\tnoCache = \"noCache\",\n}\n\n/**\n * A \"Full\" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)\n *\n * @alpha\n */\nexport interface ISnapshot {\n\tsnapshotTree: ISnapshotTree;\n\tblobContents: Map<string, ArrayBuffer>;\n\tops: ISequencedDocumentMessage[];\n\n\t/**\n\t * Sequence number of the snapshot\n\t */\n\tsequenceNumber: number | undefined;\n\n\t/**\n\t * Sequence number for the latest op/snapshot for the file in ODSP\n\t */\n\tlatestSequenceNumber: number | undefined;\n\n\tsnapshotFormatV: 1;\n}\n\n/**\n * Snapshot fetch options which are used to communicate different things to the driver\n * when fetching the snapshot.\n * @alpha\n */\nexport interface ISnapshotFetchOptions {\n\t/**\n\t * Indicates scenario in which the snapshot is fetched. It is a free form string mostly\n\t * used for telemetry purposes.\n\t */\n\tscenarioName?: string;\n\t/**\n\t * Tell driver to cache the fetched snapshot. Driver is supposed to cache the fetched snapshot if this is\n\t * set to true. If undefined, then it is upto the driver, to cache it or not.\n\t */\n\tcacheSnapshot?: boolean;\n\n\t/**\n\t * Version of the snapshot to be fetched. Certain storage services just keep 1 snapshot for the\n\t * container, so specifying version is not necessary for storage services.\n\t */\n\tversionId?: string;\n\n\t/**\n\t * List of loading groupId of datastores for which the snapshot needs to be fetched. If not provided, content with\n\t * default/missing groupIDs will be requested from the service. It is upto the service, to include snapshot for\n\t * content with groupIds or not. Don't provide anything here for fetching content for initial container boot.\n\t */\n\tloadingGroupIds?: string[];\n\n\t/**\n\t * Specify if you want default behavior of the driver to fetch the snapshot like lets say simultaneously fetch from\n\t * network and cache or specify FetchSource.noCache to just fetch from network.\n\t */\n\tfetchSource?: FetchSource;\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyUH;;;GAGG;AACH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC9B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACT,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B;AAgID;;;GAGG;AACH,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACpB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIDisposable,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\n\nimport type { IAnyDriverError } from \"./driverError.js\";\nimport type {\n\tConnectionMode,\n\tIClient,\n\tIClientConfiguration,\n\tICreateBlobResponse,\n\tIDocumentMessage,\n\tINack,\n\tISequencedDocumentMessage,\n\tISignalClient,\n\tISignalMessage,\n\tISnapshotTree,\n\tISummaryHandle,\n\tISummaryTree,\n\tITokenClaims,\n\tIVersion,\n} from \"./protocol/index.js\";\nimport type { IResolvedUrl } from \"./urlResolver.js\";\n\n/**\n * @internal\n */\nexport interface IDeltasFetchResult {\n\t/**\n\t * Sequential set of messages starting from 'from' sequence number.\n\t * May be partial result, i.e. not fulfill original request in full.\n\t */\n\tmessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * If true, storage only partially fulfilled request, but has more ops\n\t * If false, the request was fulfilled. If less ops were returned then\n\t * requested, then storage does not have more ops in this range.\n\t */\n\tpartialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @internal\n */\nexport interface IDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the inclusive sequence number range\n\t * @param tenantId - Id of the tenant.\n\t * @param id - document id.\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tget(\n\t\ttenantId: string,\n\t\tid: string,\n\t\tfrom: number, // inclusive\n\t\tto: number, // exclusive\n\t\tfetchReason?: string,\n\t): Promise<IDeltasFetchResult>;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport type IStreamResult<T> = { done: true } | { done: false; value: T };\n\n/**\n * Read interface for the Queue\n * @legacy\n * @alpha\n */\nexport interface IStream<T> {\n\tread(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the exclusive sequence number range\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param abortSignal - signal that aborts operation\n\t * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tfetchMessages(\n\t\tfrom: number,\n\t\tto: number | undefined,\n\t\tabortSignal?: AbortSignal,\n\t\tcachedOnly?: boolean,\n\t\tfetchReason?: string,\n\t): IStream<ISequencedDocumentMessage[]>;\n}\n\n// DO NOT INCREASE THIS TYPE'S VALUE\n// If a driver started using a larger value,\n// internal assumptions of the Runtime's GC feature will be violated\n// DO NOT INCREASE THIS TYPE'S VALUE\n/**\n * @legacy\n * @alpha\n */\nexport type FiveDaysMs = 432_000_000; /* 5 days in milliseconds */\n\n/**\n * Policies describing attributes or characteristics of the driver's storage service,\n * to direct how other components interact with the driver\n * @legacy\n * @alpha\n */\nexport interface IDocumentStorageServicePolicies {\n\t/**\n\t * Should the Loader implement any sort of pre-fetching or caching mechanism?\n\t */\n\treadonly caching?: LoaderCachingPolicy;\n\n\t/**\n\t * IMPORTANT: This policy MUST be set to 5 days and PROPERLY ENFORCED for drivers that are used\n\t * in applications where Garbage Collection is enabled. Otherwise data loss may occur.\n\t *\n\t * This policy pertains to requests for the latest snapshot from the service.\n\t * If set, it means that the driver guarantees not to use a cached value that was fetched more than 5 days ago.\n\t * If undefined, the driver makes no guarantees about the age of snapshots used for loading.\n\t */\n\treadonly maximumCacheDurationMs?: FiveDaysMs;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n * @legacy\n * @alpha\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\treadonly policies?: IDocumentStorageServicePolicies;\n\n\t/**\n\t * Returns the snapshot tree.\n\t * @param version - Version of the snapshot to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t */\n\t// TODO: use `undefined` instead.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tgetSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n\t/**\n\t * Returns the snapshot which can contain other artifacts too like blob contents, ops etc. It is different from\n\t * `getSnapshotTree` api in that, that API only returns the snapshot tree from the snapshot.\n\t * @param snapshotFetchOptions - Options specified by the caller to specify and want certain behavior from the\n\t * driver when fetching the snapshot.\n\t */\n\tgetSnapshot?(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;\n\n\t/**\n\t * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n\t * @param versionId - Version id of the requested version.\n\t * @param count - Number of the versions to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n\t * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n\t * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n\t * from storage.\n\t */\n\tgetVersions(\n\t\t// TODO: use `undefined` instead.\n\t\t// eslint-disable-next-line @rushstack/no-new-null\n\t\tversionId: string | null,\n\t\tcount: number,\n\t\tscenarioName?: string,\n\t\tfetchSource?: FetchSource,\n\t): Promise<IVersion[]>;\n\n\t/**\n\t * Creates a blob out of the given buffer\n\t */\n\tcreateBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n\t/**\n\t * Reads the object with the given ID, returns content in arrayBufferLike\n\t */\n\treadBlob(id: string): Promise<ArrayBufferLike>;\n\n\t/**\n\t * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n\t * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n\t * referencing from the previously acked summary.\n\t * Returns the uploaded summary handle.\n\t */\n\tuploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n\t/**\n\t * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n\t * server has deleted it this call may result in a broken promise.\n\t */\n\tdownloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\n/**\n * Events emitted by {@link IDocumentService}.\n * @legacy\n * @alpha\n */\nexport interface IDocumentServiceEvents extends IEvent {\n\t/**\n\t * This event is used to communicate any metadata related to the container. We might have received metadata from the service.\n\t * Read more info on this event from here `IContainer.containerMetadata`.\n\t */\n\t(event: \"metadataUpdate\", listener: (metadata: Record<string, string>) => void);\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n\t(event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n\t(event: \"disconnect\", listener: (reason: IAnyDriverError) => void);\n\t(event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n\t(event: \"signal\", listener: (message: ISignalMessage | ISignalMessage[]) => void);\n\t(event: \"pong\", listener: (latency: number) => void);\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (error: any) => void);\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaConnection\n\textends IDisposable,\n\t\tIEventProvider<IDocumentDeltaConnectionEvents> {\n\t/**\n\t * ClientID for the connection\n\t */\n\tclientId: string;\n\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * Mode of the client\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * Whether the connection was made to a new or existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Protocol version being used with the service\n\t */\n\tversion: string;\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 * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\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 * 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\t/**\n\t * Submit a new message to the server\n\t */\n\tsubmit(messages: IDocumentMessage[]): void;\n\n\t/**\n\t * Submits a new signal to the server\n\t *\n\t * @privateRemarks\n\t * UnknownShouldBe<string> can be string if {@link IDocumentServiceFactory} becomes internal.\n\t */\n\tsubmitSignal: (content: string, targetClientId?: string) => void;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum LoaderCachingPolicy {\n\t/**\n\t * The loader should not implement any prefetching or caching policy.\n\t */\n\tNoCaching,\n\n\t/**\n\t * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n\t */\n\tPrefetch,\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentServicePolicies {\n\t/**\n\t * Do not connect to delta stream\n\t */\n\treadonly storageOnly?: boolean;\n\n\t/**\n\t * Summarizer uploads the protocol tree too when summarizing.\n\t */\n\treadonly summarizeProtocolTree?: boolean;\n\n\t/**\n\t * Whether the driver supports the new getSnapshot api which returns snapshot which\n\t * contains all contents along with the snapshot tree. Enable this by default when the\n\t * driver can fully support the api.\n\t */\n\treadonly supportGetSnapshotApi?: boolean;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {\n\tresolvedUrl: IResolvedUrl;\n\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\tpolicies?: IDocumentServicePolicies;\n\n\t/**\n\t * Access to storage associated with the document\n\t */\n\tconnectToStorage(): Promise<IDocumentStorageService>;\n\n\t/**\n\t * Access to delta storage associated with the document\n\t */\n\tconnectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n\t/**\n\t * Subscribes to the document delta stream\n\t */\n\tconnectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n\t/**\n\t * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n\t * Useful for storage to commit any pending state if any (including any local caching).\n\t * Please note that it does not remove the need for caller to close all active delta connections,\n\t * as storage may not be tracking such objects.\n\t * @param error - tells if container (and storage) are closed due to critical error.\n\t * Error might be due to disconnect between client & server knowledge about file, like file being overwritten\n\t * in storage, but client having stale local cache.\n\t * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n\t */\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tdispose(error?: any): void;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentServiceFactory {\n\t/**\n\t * Creates the document service after extracting different endpoints URLs from a resolved URL.\n\t *\n\t * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t *\n\t * @returns An instance of {@link IDocumentService}.\n\t */\n\tcreateDocumentService(\n\t\tresolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n\n\t/**\n\t * Creates a new document with the provided options. Returns the document service.\n\t *\n\t * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n\t * should be posted later, before connecting to ordering service.\n\t * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t */\n\tcreateContainer(\n\t\tcreateNewSummary: ISummaryTree | undefined,\n\t\tcreateNewResolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n * @legacy\n * @alpha\n */\nexport interface ISummaryContext {\n\t/**\n\t * Parent summary proposed handle (from summary op)\n\t */\n\treadonly proposalHandle: string | undefined;\n\n\t/**\n\t * Parent summary acked handle (from summary ack)\n\t */\n\treadonly ackHandle: string | undefined;\n\n\treadonly referenceSequenceNumber: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum FetchSource {\n\tdefault = \"default\",\n\tnoCache = \"noCache\",\n}\n\n/**\n * A \"Full\" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)\n *\n * @legacy\n * @alpha\n */\nexport interface ISnapshot {\n\tsnapshotTree: ISnapshotTree;\n\tblobContents: Map<string, ArrayBuffer>;\n\tops: ISequencedDocumentMessage[];\n\n\t/**\n\t * Sequence number of the snapshot\n\t */\n\tsequenceNumber: number | undefined;\n\n\t/**\n\t * Sequence number for the latest op/snapshot for the file in ODSP\n\t */\n\tlatestSequenceNumber: number | undefined;\n\n\tsnapshotFormatV: 1;\n}\n\n/**\n * Snapshot fetch options which are used to communicate different things to the driver\n * when fetching the snapshot.\n * @legacy\n * @alpha\n */\nexport interface ISnapshotFetchOptions {\n\t/**\n\t * Indicates scenario in which the snapshot is fetched. It is a free form string mostly\n\t * used for telemetry purposes.\n\t */\n\tscenarioName?: string;\n\t/**\n\t * Tell driver to cache the fetched snapshot. Driver is supposed to cache the fetched snapshot if this is\n\t * set to true. If undefined, then it is upto the driver, to cache it or not.\n\t */\n\tcacheSnapshot?: boolean;\n\n\t/**\n\t * Version of the snapshot to be fetched. Certain storage services just keep 1 snapshot for the\n\t * container, so specifying version is not necessary for storage services.\n\t */\n\tversionId?: string;\n\n\t/**\n\t * List of loading groupId of datastores for which the snapshot needs to be fetched. If not provided, content with\n\t * default/missing groupIDs will be requested from the service. It is upto the service, to include snapshot for\n\t * content with groupIds or not. Don't provide anything here for fetching content for initial container boot.\n\t */\n\tloadingGroupIds?: string[];\n\n\t/**\n\t * Specify if you want default behavior of the driver to fetch the snapshot like lets say simultaneously fetch from\n\t * network and cache or specify FetchSource.noCache to just fetch from network.\n\t */\n\tfetchSource?: FetchSource;\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { IRequest } from "@fluidframework/core-interfaces";
6
6
  /**
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export interface IResolvedUrl {
@@ -22,6 +23,7 @@ export interface IResolvedUrl {
22
23
  }
23
24
  /**
24
25
  * Container package info handed off to resolver.
26
+ * @legacy
25
27
  * @alpha
26
28
  */
27
29
  export interface IContainerPackageInfo {
@@ -31,6 +33,7 @@ export interface IContainerPackageInfo {
31
33
  name: string;
32
34
  }
33
35
  /**
36
+ * @legacy
34
37
  * @alpha
35
38
  */
36
39
  export interface IUrlResolver {
@@ -47,6 +50,7 @@ export interface IUrlResolver {
47
50
  /**
48
51
  * Information that can be returned by a lightweight, seperately exported driver function. Used to preanalyze a URL
49
52
  * for driver compatibility and preload information.
53
+ * @legacy
50
54
  * @alpha
51
55
  */
52
56
  export interface DriverPreCheckInfo {
@@ -62,6 +66,7 @@ export interface DriverPreCheckInfo {
62
66
  }
63
67
  /**
64
68
  * Additional key in the loader request header
69
+ * @legacy
65
70
  * @alpha
66
71
  */
67
72
  export declare enum DriverHeader {
@@ -1 +1 @@
1
- {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAI5B,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,cAAc,CACb,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACvC,OAAO,CAAC,MAAM,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,oBAAY,YAAY;IAEvB,iBAAiB,4BAA4B;IAE7C,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG1C,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CAC9B;AAED,OAAO,QAAQ,iCAAiC,CAAC;IAChD;;;;OAIG;IAEH,UAAiB,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;CACjE"}
1
+ {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAI5B,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,cAAc,CACb,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACvC,OAAO,CAAC,MAAM,CAAC,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,oBAAY,YAAY;IAEvB,iBAAiB,4BAA4B;IAE7C,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG1C,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CAC9B;AAED,OAAO,QAAQ,iCAAiC,CAAC;IAChD;;;;OAIG;IAEH,UAAiB,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;CACjE"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * Additional key in the loader request header
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export var DriverHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsEH;;;GAGG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACvB,qDAAqD;IACrD,6DAA6C,CAAA;IAC7C,iDAAiD;IACjD,uCAAuB,CAAA;AACxB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IRequest } from \"@fluidframework/core-interfaces\";\n\n/**\n * @alpha\n */\nexport interface IResolvedUrl {\n\ttype: \"fluid\";\n\t/**\n\t * The id of the container this resolved url is for.\n\t */\n\tid: string;\n\turl: string;\n\ttokens: { [name: string]: string };\n\tendpoints: { [name: string]: string };\n}\n\n/**\n * Container package info handed off to resolver.\n * @alpha\n */\nexport interface IContainerPackageInfo {\n\t/**\n\t * Container package name.\n\t */\n\tname: string;\n}\n\n/**\n * @alpha\n */\nexport interface IUrlResolver {\n\t// Like DNS should be able to cache resolution requests. Then possibly just have a token provider go and do stuff?\n\t// the expiration of it could be relative to the lifetime of the token? Requests after need to refresh?\n\t// or do we split the token access from this?\n\tresolve(request: IRequest): Promise<IResolvedUrl | undefined>;\n\n\t/**\n\t * Creates a url for the created container with any data store path given in the relative url.\n\t * @param resolvedUrl - resolved url for the container.\n\t * @param relativeUrl - relative url containing data store path; '/' represents root path.\n\t * @param packageInfoSource - optional, represents container package information to be included in url.\n\t * @returns absolute url combining container url with dta store path and optional additional information.\n\t */\n\tgetAbsoluteUrl(\n\t\tresolvedUrl: IResolvedUrl,\n\t\trelativeUrl: string,\n\t\tpackageInfoSource?: IContainerPackageInfo,\n\t): Promise<string>;\n}\n\n/**\n * Information that can be returned by a lightweight, seperately exported driver function. Used to preanalyze a URL\n * for driver compatibility and preload information.\n * @alpha\n */\nexport interface DriverPreCheckInfo {\n\t/**\n\t * A code details hint that can potentially be used to prefetch container code prior to having a snapshot.\n\t */\n\tcodeDetailsHint?: string;\n\n\t/**\n\t * Domains that will be connected to on the critical boot path. Hosts can choose to preconnect to these for\n\t * improved performance.\n\t */\n\tcriticalBootDomains?: string[];\n}\n\n/**\n * Additional key in the loader request header\n * @alpha\n */\nexport enum DriverHeader {\n\t// Key to indicate whether the request for summarizer\n\tsummarizingClient = \"fluid-client-summarizer\",\n\t// createNew information, specific to each driver\n\tcreateNew = \"createNew\",\n}\n\n/**\n * @internal\n */\nexport interface IDriverHeader {\n\t[DriverHeader.summarizingClient]: boolean;\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t[DriverHeader.createNew]: any;\n}\n\ndeclare module \"@fluidframework/core-interfaces\" {\n\t/**\n\t * Interface to represent headers to include in the container or data store load request.\n\t * For example, caller can use this to pass on various loader options in the container\n\t * load request.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\texport interface IRequestHeader extends Partial<IDriverHeader> {}\n}\n"]}
1
+ {"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0EH;;;;GAIG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACvB,qDAAqD;IACrD,6DAA6C,CAAA;IAC7C,iDAAiD;IACjD,uCAAuB,CAAA;AACxB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IRequest } from \"@fluidframework/core-interfaces\";\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IResolvedUrl {\n\ttype: \"fluid\";\n\t/**\n\t * The id of the container this resolved url is for.\n\t */\n\tid: string;\n\turl: string;\n\ttokens: { [name: string]: string };\n\tendpoints: { [name: string]: string };\n}\n\n/**\n * Container package info handed off to resolver.\n * @legacy\n * @alpha\n */\nexport interface IContainerPackageInfo {\n\t/**\n\t * Container package name.\n\t */\n\tname: string;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IUrlResolver {\n\t// Like DNS should be able to cache resolution requests. Then possibly just have a token provider go and do stuff?\n\t// the expiration of it could be relative to the lifetime of the token? Requests after need to refresh?\n\t// or do we split the token access from this?\n\tresolve(request: IRequest): Promise<IResolvedUrl | undefined>;\n\n\t/**\n\t * Creates a url for the created container with any data store path given in the relative url.\n\t * @param resolvedUrl - resolved url for the container.\n\t * @param relativeUrl - relative url containing data store path; '/' represents root path.\n\t * @param packageInfoSource - optional, represents container package information to be included in url.\n\t * @returns absolute url combining container url with dta store path and optional additional information.\n\t */\n\tgetAbsoluteUrl(\n\t\tresolvedUrl: IResolvedUrl,\n\t\trelativeUrl: string,\n\t\tpackageInfoSource?: IContainerPackageInfo,\n\t): Promise<string>;\n}\n\n/**\n * Information that can be returned by a lightweight, seperately exported driver function. Used to preanalyze a URL\n * for driver compatibility and preload information.\n * @legacy\n * @alpha\n */\nexport interface DriverPreCheckInfo {\n\t/**\n\t * A code details hint that can potentially be used to prefetch container code prior to having a snapshot.\n\t */\n\tcodeDetailsHint?: string;\n\n\t/**\n\t * Domains that will be connected to on the critical boot path. Hosts can choose to preconnect to these for\n\t * improved performance.\n\t */\n\tcriticalBootDomains?: string[];\n}\n\n/**\n * Additional key in the loader request header\n * @legacy\n * @alpha\n */\nexport enum DriverHeader {\n\t// Key to indicate whether the request for summarizer\n\tsummarizingClient = \"fluid-client-summarizer\",\n\t// createNew information, specific to each driver\n\tcreateNew = \"createNew\",\n}\n\n/**\n * @internal\n */\nexport interface IDriverHeader {\n\t[DriverHeader.summarizingClient]: boolean;\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t[DriverHeader.createNew]: any;\n}\n\ndeclare module \"@fluidframework/core-interfaces\" {\n\t/**\n\t * Interface to represent headers to include in the container or data store load request.\n\t * For example, caller can use this to pass on various loader options in the container\n\t * load request.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\texport interface IRequestHeader extends Partial<IDriverHeader> {}\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@fluidframework/driver-definitions",
3
- "version": "2.1.0-274160",
3
+ "version": "2.1.0-276326",
4
4
  "description": "Fluid driver definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/microsoft/FluidFramework.git",
9
- "directory": "common/lib/driver-definitions"
9
+ "directory": "packages/common/driver-definitions"
10
10
  },
11
11
  "license": "MIT",
12
12
  "author": "Microsoft and contributors",
@@ -47,7 +47,7 @@
47
47
  "main": "lib/index.js",
48
48
  "types": "lib/public.d.ts",
49
49
  "dependencies": {
50
- "@fluidframework/core-interfaces": "2.1.0-274160"
50
+ "@fluidframework/core-interfaces": "2.1.0-276326"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@arethetypeswrong/cli": "^0.15.2",
@@ -77,8 +77,8 @@
77
77
  },
78
78
  "scripts": {
79
79
  "api": "fluid-build . --task api",
80
- "api-extractor:commonjs": "flub generate entrypoints --outFileAlpha legacy --outDir ./dist",
81
- "api-extractor:esnext": "flub generate entrypoints --outFileAlpha legacy --outDir ./lib --node10TypeCompat",
80
+ "api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
81
+ "api-extractor:esnext": "flub generate entrypoints --outDir ./lib --node10TypeCompat",
82
82
  "build": "fluid-build . --task build",
83
83
  "build:compile": "fluid-build . --task compile",
84
84
  "build:docs": "concurrently \"npm:build:docs:*\"",
@@ -13,6 +13,7 @@ const { dataCorruptionError, dataProcessingError, ...FluidErrorTypesExceptDataTy
13
13
 
14
14
  /**
15
15
  * Different error types the Driver may report out to the Host.
16
+ * @legacy
16
17
  * @alpha
17
18
  */
18
19
  export const DriverErrorTypes = {
@@ -107,6 +108,7 @@ export const DriverErrorTypes = {
107
108
  } as const;
108
109
  /**
109
110
  * {@inheritDoc (DriverErrorTypes:variable)}
111
+ * @legacy
110
112
  * @alpha
111
113
  */
112
114
  export type DriverErrorTypes = (typeof DriverErrorTypes)[keyof typeof DriverErrorTypes];
@@ -121,6 +123,7 @@ export type DriverErrorTypes = (typeof DriverErrorTypes)[keyof typeof DriverErro
121
123
  * "Any" in the interface name is a nod to the fact that errorType has lost its type constraint.
122
124
  * It will be either {@link @fluidframework/driver-definitions#(DriverErrorTypes:variable)} or the specific driver's specialized error type enum,
123
125
  * but we can't reference a specific driver's error type enum in this code.
126
+ * @legacy
124
127
  * @alpha
125
128
  */
126
129
  export interface IAnyDriverError extends Omit<IDriverErrorBase, "errorType"> {
@@ -134,6 +137,7 @@ export interface IAnyDriverError extends Omit<IDriverErrorBase, "errorType"> {
134
137
 
135
138
  /**
136
139
  * Base interface for all errors and warnings
140
+ * @legacy
137
141
  * @alpha
138
142
  */
139
143
  export interface IDriverErrorBase {
@@ -167,6 +171,7 @@ export interface IDriverErrorBase {
167
171
  }
168
172
 
169
173
  /**
174
+ * @legacy
170
175
  * @alpha
171
176
  */
172
177
  export interface IThrottlingWarning extends IDriverErrorBase {
@@ -175,6 +180,7 @@ export interface IThrottlingWarning extends IDriverErrorBase {
175
180
  }
176
181
 
177
182
  /**
183
+ * @legacy
178
184
  * @alpha
179
185
  */
180
186
  export interface IGenericNetworkError extends IDriverErrorBase {
@@ -183,6 +189,7 @@ export interface IGenericNetworkError extends IDriverErrorBase {
183
189
  }
184
190
 
185
191
  /**
192
+ * @legacy
186
193
  * @alpha
187
194
  */
188
195
  export interface IAuthorizationError extends IDriverErrorBase {
@@ -192,6 +199,7 @@ export interface IAuthorizationError extends IDriverErrorBase {
192
199
  }
193
200
 
194
201
  /**
202
+ * @legacy
195
203
  * @alpha
196
204
  */
197
205
  export interface ILocationRedirectionError extends IDriverErrorBase {
@@ -202,6 +210,7 @@ export interface ILocationRedirectionError extends IDriverErrorBase {
202
210
  /**
203
211
  * Having this uber interface without types that have their own interfaces
204
212
  * allows compiler to differentiate interfaces based on error type
213
+ * @legacy
205
214
  * @alpha
206
215
  */
207
216
  export interface IDriverBasicError extends IDriverErrorBase {
@@ -223,6 +232,7 @@ export interface IDriverBasicError extends IDriverErrorBase {
223
232
  }
224
233
 
225
234
  /**
235
+ * @legacy
226
236
  * @alpha
227
237
  */
228
238
  export type DriverError =
@@ -142,6 +142,7 @@ export interface IRef {
142
142
 
143
143
  /**
144
144
  * Required params to create ref
145
+ * @legacy
145
146
  * @alpha
146
147
  */
147
148
  export interface ICreateRefParams {
@@ -151,6 +152,7 @@ export interface ICreateRefParams {
151
152
 
152
153
  /**
153
154
  * Required params to patch ref
155
+ * @legacy
154
156
  * @alpha
155
157
  */
156
158
  export interface IPatchRefParams {
@@ -111,6 +111,7 @@ export interface ISequencedClient {
111
111
  }
112
112
 
113
113
  /**
114
+ * @legacy
114
115
  * @alpha
115
116
  */
116
117
  export interface ISignalClient {
@@ -5,6 +5,7 @@
5
5
 
6
6
  /**
7
7
  * Key value store of service configuration properties provided to the client as part of connection.
8
+ * @legacy
8
9
  * @alpha
9
10
  */
10
11
  export interface IClientConfiguration {
@@ -12,6 +12,7 @@ import type { ISequencedClient } from "./clients.js";
12
12
  * Consensus on the proposal is achieved if the MSN is \>= the sequence number
13
13
  * at which the proposal is made and no client within the collaboration window rejects
14
14
  * the proposal.
15
+ * @legacy
15
16
  * @alpha
16
17
  */
17
18
  export interface IProposal {
@@ -28,18 +29,21 @@ export interface IProposal {
28
29
 
29
30
  /**
30
31
  * Similar to {@link IProposal} except it also includes the sequence number when it was made.
32
+ * @legacy
31
33
  * @alpha
32
34
  */
33
35
  export type ISequencedProposal = { sequenceNumber: number } & IProposal;
34
36
 
35
37
  /**
36
38
  * Adds the sequence number at which the message was approved to an {@link ISequencedProposal}.
39
+ * @legacy
37
40
  * @alpha
38
41
  */
39
42
  export type IApprovedProposal = { approvalSequenceNumber: number } & ISequencedProposal;
40
43
 
41
44
  /**
42
45
  * Adds the sequence number at which the message was committed to an {@link IApprovedProposal}.
46
+ * @legacy
43
47
  * @alpha
44
48
  */
45
49
  export type ICommittedProposal = { commitSequenceNumber: number } & IApprovedProposal;
@@ -101,6 +105,7 @@ export interface IQuorumClients {
101
105
 
102
106
  /**
103
107
  * Interface for tracking proposals in the Quorum.
108
+ * @legacy
104
109
  * @alpha
105
110
  */
106
111
  export interface IQuorumProposals {
@@ -128,6 +133,7 @@ export interface IQuorumProposals {
128
133
 
129
134
  /**
130
135
  * Interface combining tracking of clients as well as proposals in the Quorum.
136
+ * @legacy
131
137
  * @alpha
132
138
  */
133
139
  export interface IQuorum
@@ -150,6 +156,7 @@ export interface IProtocolState {
150
156
  }
151
157
 
152
158
  /**
159
+ * @legacy
153
160
  * @alpha
154
161
  */
155
162
  export interface IProcessMessageResult {
@@ -5,6 +5,7 @@
5
5
 
6
6
  /**
7
7
  * {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO 8601 format} date: `YYYY-MM-DDTHH:MM:SSZ`.
8
+ * @legacy
8
9
  * @alpha
9
10
  */
10
11
  export type IsoDate = string;
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  /**
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export enum MessageType {
@@ -93,6 +94,7 @@ export enum SignalType {
93
94
 
94
95
  /**
95
96
  * Messages to track latency trace.
97
+ * @legacy
96
98
  * @alpha
97
99
  */
98
100
  export interface ITrace {
@@ -113,6 +115,7 @@ export interface ITrace {
113
115
  }
114
116
 
115
117
  /**
118
+ * @legacy
116
119
  * @alpha
117
120
  */
118
121
  export interface INack {
@@ -134,6 +137,7 @@ export interface INack {
134
137
 
135
138
  /**
136
139
  * Document-specific message.
140
+ * @legacy
137
141
  * @alpha
138
142
  */
139
143
  export interface IDocumentMessage {
@@ -189,6 +193,7 @@ export interface IDocumentSystemMessage extends IDocumentMessage {
189
193
 
190
194
  /**
191
195
  * Branch origin information.
196
+ * @legacy
192
197
  * @alpha
193
198
  */
194
199
  export interface IBranchOrigin {
@@ -210,6 +215,7 @@ export interface IBranchOrigin {
210
215
 
211
216
  /**
212
217
  * Sequenced message for a distributed document.
218
+ * @legacy
213
219
  * @alpha
214
220
  */
215
221
  export interface ISequencedDocumentMessage {
@@ -332,6 +338,7 @@ export interface ISequencedDocumentAugmentedMessage extends ISequencedDocumentMe
332
338
 
333
339
  /**
334
340
  * Common interface between incoming and outgoing signals.
341
+ * @legacy
335
342
  * @alpha
336
343
  */
337
344
  export interface ISignalMessageBase {
@@ -364,6 +371,7 @@ export interface ISignalMessageBase {
364
371
 
365
372
  /**
366
373
  * Interface for signals sent by the server to clients.
374
+ * @legacy
367
375
  * @alpha
368
376
  */
369
377
  export interface ISignalMessage extends ISignalMessageBase {
@@ -382,6 +390,7 @@ export interface ISignalMessage extends ISignalMessageBase {
382
390
  export type ISentSignalMessage = ISignalMessageBase;
383
391
 
384
392
  /**
393
+ * @legacy
385
394
  * @alpha
386
395
  */
387
396
  export interface IUploadedSummaryDetails {
@@ -392,6 +401,7 @@ export interface IUploadedSummaryDetails {
392
401
  }
393
402
 
394
403
  /**
404
+ * @legacy
395
405
  * @alpha
396
406
  */
397
407
  export interface ISummaryContent {
@@ -438,6 +448,7 @@ export interface IServerError {
438
448
 
439
449
  /**
440
450
  * Data about the original proposed summary message.
451
+ * @legacy
441
452
  * @alpha
442
453
  */
443
454
  export interface ISummaryProposal {
@@ -449,6 +460,7 @@ export interface ISummaryProposal {
449
460
 
450
461
  /**
451
462
  * Contents of summary ack expected from the server.
463
+ * @legacy
452
464
  * @alpha
453
465
  */
454
466
  export interface ISummaryAck {
@@ -465,6 +477,7 @@ export interface ISummaryAck {
465
477
 
466
478
  /**
467
479
  * Contents of summary nack expected from the server.
480
+ * @legacy
468
481
  * @alpha
469
482
  */
470
483
  export interface ISummaryNack {
@@ -495,6 +508,7 @@ export interface ISummaryNack {
495
508
 
496
509
  /**
497
510
  * Interface for nack content.
511
+ * @legacy
498
512
  * @alpha
499
513
  */
500
514
  export interface INackContent {
@@ -525,6 +539,7 @@ export interface INackContent {
525
539
 
526
540
  /**
527
541
  * Type of the nack.
542
+ * @legacy
528
543
  * @alpha
529
544
  */
530
545
  export enum NackErrorType {
@@ -5,6 +5,7 @@
5
5
 
6
6
  /**
7
7
  * Defines scope access for a Container/Document.
8
+ * @legacy
8
9
  * @alpha
9
10
  */
10
11
  export enum ScopeType {
@@ -10,6 +10,7 @@ import type { ITokenClaims } from "./tokens.js";
10
10
 
11
11
  /**
12
12
  * Message sent to connect to the given document.
13
+ * @legacy
13
14
  * @alpha
14
15
  */
15
16
  export interface IConnect {
@@ -79,6 +80,7 @@ export interface IConnect {
79
80
 
80
81
  /**
81
82
  * Message sent to indicate a client has connected to the server.
83
+ * @legacy
82
84
  * @alpha
83
85
  */
84
86
  export interface IConnected {
@@ -6,6 +6,7 @@
6
6
  import type { IsoDate } from "./date.js";
7
7
 
8
8
  /**
9
+ * @legacy
9
10
  * @alpha
10
11
  */
11
12
  export interface IDocumentAttributes {
@@ -21,6 +22,7 @@ export interface IDocumentAttributes {
21
22
  }
22
23
 
23
24
  /**
25
+ * @legacy
24
26
  * @alpha
25
27
  */
26
28
  export enum FileMode {
@@ -32,6 +34,7 @@ export enum FileMode {
32
34
 
33
35
  /**
34
36
  * Raw blob stored within the tree.
37
+ * @legacy
35
38
  * @alpha
36
39
  */
37
40
  export interface IBlob {
@@ -48,6 +51,7 @@ export interface IBlob {
48
51
  }
49
52
 
50
53
  /**
54
+ * @legacy
51
55
  * @alpha
52
56
  */
53
57
  export interface IAttachment {
@@ -55,6 +59,7 @@ export interface IAttachment {
55
59
  }
56
60
 
57
61
  /**
62
+ * @legacy
58
63
  * @alpha
59
64
  */
60
65
  export interface ICreateBlobResponse {
@@ -63,6 +68,7 @@ export interface ICreateBlobResponse {
63
68
 
64
69
  /**
65
70
  * A tree entry wraps a path with a type of node.
71
+ * @legacy
66
72
  * @alpha
67
73
  */
68
74
  export type ITreeEntry = {
@@ -93,6 +99,7 @@ export type ITreeEntry = {
93
99
 
94
100
  /**
95
101
  * Type of entries that can be stored in a tree.
102
+ * @legacy
96
103
  * @alpha
97
104
  */
98
105
  export enum TreeEntry {
@@ -102,6 +109,7 @@ export enum TreeEntry {
102
109
  }
103
110
 
104
111
  /**
112
+ * @legacy
105
113
  * @alpha
106
114
  */
107
115
  export interface ITree {
@@ -128,6 +136,7 @@ export interface ITree {
128
136
  }
129
137
 
130
138
  /**
139
+ * @legacy
131
140
  * @alpha
132
141
  */
133
142
  export interface ISnapshotTree {
@@ -159,6 +168,7 @@ export interface ISnapshotTreeEx extends ISnapshotTree {
159
168
 
160
169
  /**
161
170
  * Represents a version of the snapshot of a data store.
171
+ * @legacy
162
172
  * @alpha
163
173
  */
164
174
  export interface IVersion {
@@ -14,6 +14,7 @@ export type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISumm
14
14
 
15
15
  /**
16
16
  * The root of the summary tree.
17
+ * @legacy
17
18
  * @alpha
18
19
  */
19
20
  export type SummaryTree = ISummaryTree | ISummaryHandle;
@@ -9,6 +9,7 @@ import type { IUser } from "./users.js";
9
9
  * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims
10
10
  *
11
11
  * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}
12
+ * @legacy
12
13
  * @alpha
13
14
  */
14
15
  export interface ITokenClaims {