@fluidframework/driver-definitions 2.53.0 → 2.60.0

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 (113) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/api-report/{driver-definitions.legacy.alpha.api.md → driver-definitions.legacy.beta.api.md} +73 -73
  3. package/dist/driverError.d.ts +10 -20
  4. package/dist/driverError.d.ts.map +1 -1
  5. package/dist/driverError.js +1 -2
  6. package/dist/driverError.js.map +1 -1
  7. package/dist/git/resources.d.ts +2 -4
  8. package/dist/git/resources.d.ts.map +1 -1
  9. package/dist/git/resources.js.map +1 -1
  10. package/dist/protocol/clients.d.ts +1 -2
  11. package/dist/protocol/clients.d.ts.map +1 -1
  12. package/dist/protocol/clients.js.map +1 -1
  13. package/dist/protocol/config.d.ts +1 -2
  14. package/dist/protocol/config.d.ts.map +1 -1
  15. package/dist/protocol/config.js.map +1 -1
  16. package/dist/protocol/consensus.d.ts +7 -14
  17. package/dist/protocol/consensus.d.ts.map +1 -1
  18. package/dist/protocol/consensus.js.map +1 -1
  19. package/dist/protocol/date.d.ts +1 -2
  20. package/dist/protocol/date.d.ts.map +1 -1
  21. package/dist/protocol/date.js.map +1 -1
  22. package/dist/protocol/protocol.d.ts +15 -30
  23. package/dist/protocol/protocol.d.ts.map +1 -1
  24. package/dist/protocol/protocol.js +2 -4
  25. package/dist/protocol/protocol.js.map +1 -1
  26. package/dist/protocol/scopes.d.ts +1 -2
  27. package/dist/protocol/scopes.d.ts.map +1 -1
  28. package/dist/protocol/scopes.js +1 -2
  29. package/dist/protocol/scopes.js.map +1 -1
  30. package/dist/protocol/sockets.d.ts +2 -4
  31. package/dist/protocol/sockets.d.ts.map +1 -1
  32. package/dist/protocol/sockets.js.map +1 -1
  33. package/dist/protocol/storage.d.ts +10 -20
  34. package/dist/protocol/storage.d.ts.map +1 -1
  35. package/dist/protocol/storage.js +2 -4
  36. package/dist/protocol/storage.js.map +1 -1
  37. package/dist/protocol/summary.d.ts +1 -2
  38. package/dist/protocol/summary.d.ts.map +1 -1
  39. package/dist/protocol/summary.js.map +1 -1
  40. package/dist/protocol/tokens.d.ts +1 -2
  41. package/dist/protocol/tokens.d.ts.map +1 -1
  42. package/dist/protocol/tokens.js.map +1 -1
  43. package/dist/storage.d.ts +17 -34
  44. package/dist/storage.d.ts.map +1 -1
  45. package/dist/storage.js +2 -4
  46. package/dist/storage.js.map +1 -1
  47. package/dist/urlResolver.d.ts +5 -10
  48. package/dist/urlResolver.d.ts.map +1 -1
  49. package/dist/urlResolver.js +1 -2
  50. package/dist/urlResolver.js.map +1 -1
  51. package/lib/driverError.d.ts +10 -20
  52. package/lib/driverError.d.ts.map +1 -1
  53. package/lib/driverError.js +1 -2
  54. package/lib/driverError.js.map +1 -1
  55. package/lib/git/resources.d.ts +2 -4
  56. package/lib/git/resources.d.ts.map +1 -1
  57. package/lib/git/resources.js.map +1 -1
  58. package/lib/protocol/clients.d.ts +1 -2
  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 -2
  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 -14
  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 -2
  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 -30
  71. package/lib/protocol/protocol.d.ts.map +1 -1
  72. package/lib/protocol/protocol.js +2 -4
  73. package/lib/protocol/protocol.js.map +1 -1
  74. package/lib/protocol/scopes.d.ts +1 -2
  75. package/lib/protocol/scopes.d.ts.map +1 -1
  76. package/lib/protocol/scopes.js +1 -2
  77. package/lib/protocol/scopes.js.map +1 -1
  78. package/lib/protocol/sockets.d.ts +2 -4
  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 -20
  82. package/lib/protocol/storage.d.ts.map +1 -1
  83. package/lib/protocol/storage.js +2 -4
  84. package/lib/protocol/storage.js.map +1 -1
  85. package/lib/protocol/summary.d.ts +1 -2
  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 -2
  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 -34
  92. package/lib/storage.d.ts.map +1 -1
  93. package/lib/storage.js +2 -4
  94. package/lib/storage.js.map +1 -1
  95. package/lib/urlResolver.d.ts +5 -10
  96. package/lib/urlResolver.d.ts.map +1 -1
  97. package/lib/urlResolver.js +1 -2
  98. package/lib/urlResolver.js.map +1 -1
  99. package/package.json +4 -4
  100. package/src/driverError.ts +10 -20
  101. package/src/git/resources.ts +2 -4
  102. package/src/protocol/clients.ts +1 -2
  103. package/src/protocol/config.ts +1 -2
  104. package/src/protocol/consensus.ts +7 -14
  105. package/src/protocol/date.ts +1 -2
  106. package/src/protocol/protocol.ts +15 -30
  107. package/src/protocol/scopes.ts +1 -2
  108. package/src/protocol/sockets.ts +2 -4
  109. package/src/protocol/storage.ts +11 -21
  110. package/src/protocol/summary.ts +1 -2
  111. package/src/protocol/tokens.ts +1 -2
  112. package/src/storage.ts +17 -34
  113. package/src/urlResolver.ts +5 -10
package/lib/storage.d.ts CHANGED
@@ -42,8 +42,7 @@ export interface IDeltaStorageService {
42
42
  fetchReason?: string): Promise<IDeltasFetchResult>;
43
43
  }
44
44
  /**
45
- * @legacy
46
- * @alpha
45
+ * @legacy @beta
47
46
  */
48
47
  export type IStreamResult<T> = {
49
48
  done: true;
@@ -53,16 +52,14 @@ export type IStreamResult<T> = {
53
52
  };
54
53
  /**
55
54
  * Read interface for the Queue
56
- * @legacy
57
- * @alpha
55
+ * @legacy @beta
58
56
  */
59
57
  export interface IStream<T> {
60
58
  read(): Promise<IStreamResult<T>>;
61
59
  }
62
60
  /**
63
61
  * Interface to provide access to stored deltas for a shared object
64
- * @legacy
65
- * @alpha
62
+ * @legacy @beta
66
63
  */
67
64
  export interface IDocumentDeltaStorageService {
68
65
  /**
@@ -78,15 +75,13 @@ export interface IDocumentDeltaStorageService {
78
75
  fetchMessages(from: number, to: number | undefined, abortSignal?: AbortSignal, cachedOnly?: boolean, fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
79
76
  }
80
77
  /**
81
- * @legacy
82
- * @alpha
78
+ * @legacy @beta
83
79
  */
84
80
  export type FiveDaysMs = 432_000_000;
85
81
  /**
86
82
  * Policies describing attributes or characteristics of the driver's storage service,
87
83
  * to direct how other components interact with the driver
88
- * @legacy
89
- * @alpha
84
+ * @legacy @beta
90
85
  */
91
86
  export interface IDocumentStorageServicePolicies {
92
87
  /**
@@ -105,8 +100,7 @@ export interface IDocumentStorageServicePolicies {
105
100
  }
106
101
  /**
107
102
  * Interface to provide access to snapshots saved for a shared object
108
- * @legacy
109
- * @alpha
103
+ * @legacy @beta
110
104
  */
111
105
  export interface IDocumentStorageService extends Partial<IDisposable> {
112
106
  /**
@@ -162,8 +156,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
162
156
  }
163
157
  /**
164
158
  * Events emitted by {@link IDocumentService}.
165
- * @legacy
166
- * @alpha
159
+ * @legacy @beta
167
160
  */
168
161
  export interface IDocumentServiceEvents extends IEvent {
169
162
  /**
@@ -173,8 +166,7 @@ export interface IDocumentServiceEvents extends IEvent {
173
166
  (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
174
167
  }
175
168
  /**
176
- * @legacy
177
- * @alpha
169
+ * @legacy @beta
178
170
  */
179
171
  export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
180
172
  (event: "nack", listener: (documentId: string, message: INack[]) => void): any;
@@ -193,8 +185,7 @@ export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
193
185
  (event: "error", listener: (error: any) => void): any;
194
186
  }
195
187
  /**
196
- * @legacy
197
- * @alpha
188
+ * @legacy @beta
198
189
  */
199
190
  export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {
200
191
  /**
@@ -261,8 +252,7 @@ export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<ID
261
252
  submitSignal: (content: string, targetClientId?: string) => void;
262
253
  }
263
254
  /**
264
- * @legacy
265
- * @alpha
255
+ * @legacy @beta
266
256
  */
267
257
  export declare enum LoaderCachingPolicy {
268
258
  /**
@@ -275,8 +265,7 @@ export declare enum LoaderCachingPolicy {
275
265
  Prefetch = 1
276
266
  }
277
267
  /**
278
- * @legacy
279
- * @alpha
268
+ * @legacy @beta
280
269
  */
281
270
  export interface IDocumentServicePolicies {
282
271
  /**
@@ -295,8 +284,7 @@ export interface IDocumentServicePolicies {
295
284
  readonly supportGetSnapshotApi?: boolean;
296
285
  }
297
286
  /**
298
- * @legacy
299
- * @alpha
287
+ * @legacy @beta
300
288
  */
301
289
  export interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {
302
290
  resolvedUrl: IResolvedUrl;
@@ -329,8 +317,7 @@ export interface IDocumentService extends IEventProvider<IDocumentServiceEvents>
329
317
  dispose(error?: any): void;
330
318
  }
331
319
  /**
332
- * @legacy
333
- * @alpha
320
+ * @legacy @beta
334
321
  */
335
322
  export interface IDocumentServiceFactory {
336
323
  /**
@@ -361,8 +348,7 @@ export interface IDocumentServiceFactory {
361
348
  /**
362
349
  * Context for uploading a summary to storage.
363
350
  * Indicates the previously acked summary.
364
- * @legacy
365
- * @alpha
351
+ * @legacy @beta
366
352
  */
367
353
  export interface ISummaryContext {
368
354
  /**
@@ -376,8 +362,7 @@ export interface ISummaryContext {
376
362
  readonly referenceSequenceNumber: number;
377
363
  }
378
364
  /**
379
- * @legacy
380
- * @alpha
365
+ * @legacy @beta
381
366
  */
382
367
  export declare enum FetchSource {
383
368
  default = "default",
@@ -386,8 +371,7 @@ export declare enum FetchSource {
386
371
  /**
387
372
  * A "Full" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)
388
373
  *
389
- * @legacy
390
- * @alpha
374
+ * @legacy @beta
391
375
  */
392
376
  export interface ISnapshot {
393
377
  snapshotTree: ISnapshotTree;
@@ -406,8 +390,7 @@ export interface ISnapshot {
406
390
  /**
407
391
  * Snapshot fetch options which are used to communicate different things to the driver
408
392
  * when fetching the snapshot.
409
- * @legacy
410
- * @alpha
393
+ * @legacy @beta
411
394
  */
412
395
  export interface ISnapshotFetchOptions {
413
396
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
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;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC5C;;;;;;;;;OASG;IACH,aAAa,CACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;CACxC;AAMD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,UAAU,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,WAAW,CAAC;IACpE;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAEhE;;;;;OAKG;IAGH,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAE1F;;;;;OAKG;IACH,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/E;;;;;;;;;;OAUG;IACH,WAAW,CAGV,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3F;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IACrD;;;OAGG;IACH,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,OAAE;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,WAAW;IAClE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,OAAE;IAC1E;;;;;;;OAOG;IACH,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,OAAE;IACnE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,IAAI,OAAE;IAC7F,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,EAAE,KAAK,IAAI,OAAE;IAClF,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,OAAE;IAGrD,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,OAAE;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,wBAChB,SAAQ,WAAW,EAClB,cAAc,CAAC,8BAA8B,CAAC;IAC/C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;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,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC9B;;OAEG;IACH,SAAS,IAAA;IAET;;OAEG;IACH,QAAQ,IAAA;CACR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC/E,WAAW,EAAE,YAAY,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAErD;;OAEG;IACH,qBAAqB,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAE/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IAGH,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;;;;;;;;OAUG;IACH,qBAAqB,CACpB,WAAW,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;OAUG;IACH,eAAe,CACd,gBAAgB,EAAE,YAAY,GAAG,SAAS,EAC1C,oBAAoB,EAAE,YAAY,EAClC,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACzB,YAAY,EAAE,aAAa,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,GAAG,EAAE,yBAAyB,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,eAAe,EAAE,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B"}
package/lib/storage.js CHANGED
@@ -3,8 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  /**
6
- * @legacy
7
- * @alpha
6
+ * @legacy @beta
8
7
  */
9
8
  export var LoaderCachingPolicy;
10
9
  (function (LoaderCachingPolicy) {
@@ -18,8 +17,7 @@ export var LoaderCachingPolicy;
18
17
  LoaderCachingPolicy[LoaderCachingPolicy["Prefetch"] = 1] = "Prefetch";
19
18
  })(LoaderCachingPolicy || (LoaderCachingPolicy = {}));
20
19
  /**
21
- * @legacy
22
- * @alpha
20
+ * @legacy @beta
23
21
  */
24
22
  export var FetchSource;
25
23
  (function (FetchSource) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiVH;;;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 | undefined;\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/**\n\t * @param reason - The reason for the disconnection.\n\t * Note: this parameter will also accept undefined in a future release to support clean disconnections.\n\t * When `reason` is provided, it indicates an error that caused the disconnection. When `undefined`, it represents\n\t * a clean, intentional disconnect that should not be treated as an error.\n\t * Signature will change from `(reason: IAnyDriverError) => void` to `(reason: IAnyDriverError | undefined) => void`.\n\t * Update your listener implementations to handle cases where `reason` is undefined.\n\t */\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"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwUH;;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 * @legacy @beta\n */\nexport type IStreamResult<T> = { done: true } | { done: false; value: T };\n\n/**\n * Read interface for the Queue\n * @legacy @beta\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 @beta\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 @beta\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 @beta\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 @beta\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\treadonly policies?: IDocumentStorageServicePolicies | undefined;\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 @beta\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 @beta\n */\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n\t(event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n\t/**\n\t * @param reason - The reason for the disconnection.\n\t * Note: this parameter will also accept undefined in a future release to support clean disconnections.\n\t * When `reason` is provided, it indicates an error that caused the disconnection. When `undefined`, it represents\n\t * a clean, intentional disconnect that should not be treated as an error.\n\t * Signature will change from `(reason: IAnyDriverError) => void` to `(reason: IAnyDriverError | undefined) => void`.\n\t * Update your listener implementations to handle cases where `reason` is undefined.\n\t */\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 @beta\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 @beta\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 @beta\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 @beta\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 @beta\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 @beta\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 @beta\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 @beta\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 @beta\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,8 +4,7 @@
4
4
  */
5
5
  import type { IRequest } from "@fluidframework/core-interfaces";
6
6
  /**
7
- * @legacy
8
- * @alpha
7
+ * @legacy @beta
9
8
  */
10
9
  export interface IResolvedUrl {
11
10
  type: "fluid";
@@ -23,8 +22,7 @@ export interface IResolvedUrl {
23
22
  }
24
23
  /**
25
24
  * Container package info handed off to resolver.
26
- * @legacy
27
- * @alpha
25
+ * @legacy @beta
28
26
  */
29
27
  export interface IContainerPackageInfo {
30
28
  /**
@@ -33,8 +31,7 @@ export interface IContainerPackageInfo {
33
31
  name: string;
34
32
  }
35
33
  /**
36
- * @legacy
37
- * @alpha
34
+ * @legacy @beta
38
35
  */
39
36
  export interface IUrlResolver {
40
37
  resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
@@ -50,8 +47,7 @@ export interface IUrlResolver {
50
47
  /**
51
48
  * Information that can be returned by a lightweight, seperately exported driver function. Used to preanalyze a URL
52
49
  * for driver compatibility and preload information.
53
- * @legacy
54
- * @alpha
50
+ * @legacy @beta
55
51
  */
56
52
  export interface DriverPreCheckInfo {
57
53
  /**
@@ -66,8 +62,7 @@ export interface DriverPreCheckInfo {
66
62
  }
67
63
  /**
68
64
  * Additional key in the loader request header
69
- * @legacy
70
- * @alpha
65
+ * @legacy @beta
71
66
  */
72
67
  export declare enum DriverHeader {
73
68
  summarizingClient = "fluid-client-summarizer",
@@ -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;;;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"}
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"}
@@ -4,8 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * Additional key in the loader request header
7
- * @legacy
8
- * @alpha
7
+ * @legacy @beta
9
8
  */
10
9
  export var DriverHeader;
11
10
  (function (DriverHeader) {
@@ -1 +1 @@
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"]}
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 * @legacy @beta\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 @beta\n */\nexport interface IContainerPackageInfo {\n\t/**\n\t * Container package name.\n\t */\n\tname: string;\n}\n\n/**\n * @legacy @beta\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 @beta\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 @beta\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,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/driver-definitions",
3
- "version": "2.53.0",
3
+ "version": "2.60.0",
4
4
  "description": "Fluid driver definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -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.53.0"
50
+ "@fluidframework/core-interfaces": "~2.60.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@arethetypeswrong/cli": "^0.17.1",
@@ -55,8 +55,8 @@
55
55
  "@fluid-tools/build-cli": "^0.57.0",
56
56
  "@fluidframework/build-common": "^2.0.3",
57
57
  "@fluidframework/build-tools": "^0.57.0",
58
- "@fluidframework/driver-definitions-previous": "npm:@fluidframework/driver-definitions@2.52.0",
59
- "@fluidframework/eslint-config-fluid": "^5.7.4",
58
+ "@fluidframework/driver-definitions-previous": "npm:@fluidframework/driver-definitions@2.53.0",
59
+ "@fluidframework/eslint-config-fluid": "^6.0.0",
60
60
  "@microsoft/api-extractor": "7.52.8",
61
61
  "concurrently": "^8.2.1",
62
62
  "copyfiles": "^2.4.1",
@@ -13,8 +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
17
- * @alpha
16
+ * @legacy @beta
18
17
  */
19
18
  export const DriverErrorTypes = {
20
19
  // Inherit base error types
@@ -108,8 +107,7 @@ export const DriverErrorTypes = {
108
107
  } as const;
109
108
  /**
110
109
  * {@inheritDoc (DriverErrorTypes:variable)}
111
- * @legacy
112
- * @alpha
110
+ * @legacy @beta
113
111
  */
114
112
  export type DriverErrorTypes = (typeof DriverErrorTypes)[keyof typeof DriverErrorTypes];
115
113
 
@@ -123,8 +121,7 @@ export type DriverErrorTypes = (typeof DriverErrorTypes)[keyof typeof DriverErro
123
121
  * "Any" in the interface name is a nod to the fact that errorType has lost its type constraint.
124
122
  * It will be either {@link @fluidframework/driver-definitions#(DriverErrorTypes:variable)} or the specific driver's specialized error type enum,
125
123
  * but we can't reference a specific driver's error type enum in this code.
126
- * @legacy
127
- * @alpha
124
+ * @legacy @beta
128
125
  */
129
126
  export interface IAnyDriverError extends Omit<IDriverErrorBase, "errorType"> {
130
127
  readonly errorType: string;
@@ -137,8 +134,7 @@ export interface IAnyDriverError extends Omit<IDriverErrorBase, "errorType"> {
137
134
 
138
135
  /**
139
136
  * Base interface for all errors and warnings
140
- * @legacy
141
- * @alpha
137
+ * @legacy @beta
142
138
  */
143
139
  export interface IDriverErrorBase {
144
140
  /**
@@ -171,8 +167,7 @@ export interface IDriverErrorBase {
171
167
  }
172
168
 
173
169
  /**
174
- * @legacy
175
- * @alpha
170
+ * @legacy @beta
176
171
  */
177
172
  export interface IThrottlingWarning extends IDriverErrorBase {
178
173
  readonly errorType: typeof DriverErrorTypes.throttlingError;
@@ -180,8 +175,7 @@ export interface IThrottlingWarning extends IDriverErrorBase {
180
175
  }
181
176
 
182
177
  /**
183
- * @legacy
184
- * @alpha
178
+ * @legacy @beta
185
179
  */
186
180
  export interface IGenericNetworkError extends IDriverErrorBase {
187
181
  readonly errorType: typeof DriverErrorTypes.genericNetworkError;
@@ -189,8 +183,7 @@ export interface IGenericNetworkError extends IDriverErrorBase {
189
183
  }
190
184
 
191
185
  /**
192
- * @legacy
193
- * @alpha
186
+ * @legacy @beta
194
187
  */
195
188
  export interface IAuthorizationError extends IDriverErrorBase {
196
189
  readonly errorType: typeof DriverErrorTypes.authorizationError;
@@ -199,8 +192,7 @@ export interface IAuthorizationError extends IDriverErrorBase {
199
192
  }
200
193
 
201
194
  /**
202
- * @legacy
203
- * @alpha
195
+ * @legacy @beta
204
196
  */
205
197
  export interface ILocationRedirectionError extends IDriverErrorBase {
206
198
  readonly errorType: typeof DriverErrorTypes.locationRedirection;
@@ -210,8 +202,7 @@ export interface ILocationRedirectionError extends IDriverErrorBase {
210
202
  /**
211
203
  * Having this uber interface without types that have their own interfaces
212
204
  * allows compiler to differentiate interfaces based on error type
213
- * @legacy
214
- * @alpha
205
+ * @legacy @beta
215
206
  */
216
207
  export interface IDriverBasicError extends IDriverErrorBase {
217
208
  readonly errorType:
@@ -232,8 +223,7 @@ export interface IDriverBasicError extends IDriverErrorBase {
232
223
  }
233
224
 
234
225
  /**
235
- * @legacy
236
- * @alpha
226
+ * @legacy @beta
237
227
  */
238
228
  export type DriverError =
239
229
  | IThrottlingWarning
@@ -142,8 +142,7 @@ export interface IRef {
142
142
 
143
143
  /**
144
144
  * Required params to create ref
145
- * @legacy
146
- * @alpha
145
+ * @legacy @beta
147
146
  */
148
147
  export interface ICreateRefParams {
149
148
  ref: string;
@@ -152,8 +151,7 @@ export interface ICreateRefParams {
152
151
 
153
152
  /**
154
153
  * Required params to patch ref
155
- * @legacy
156
- * @alpha
154
+ * @legacy @beta
157
155
  */
158
156
  export interface IPatchRefParams {
159
157
  sha: string;
@@ -111,8 +111,7 @@ export interface ISequencedClient {
111
111
  }
112
112
 
113
113
  /**
114
- * @legacy
115
- * @alpha
114
+ * @legacy @beta
116
115
  */
117
116
  export interface ISignalClient {
118
117
  /**
@@ -5,8 +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
9
- * @alpha
8
+ * @legacy @beta
10
9
  */
11
10
  export interface IClientConfiguration {
12
11
  /**
@@ -12,8 +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
16
- * @alpha
15
+ * @legacy @beta
17
16
  */
18
17
  export interface IProposal {
19
18
  /**
@@ -29,22 +28,19 @@ export interface IProposal {
29
28
 
30
29
  /**
31
30
  * Similar to {@link IProposal} except it also includes the sequence number when it was made.
32
- * @legacy
33
- * @alpha
31
+ * @legacy @beta
34
32
  */
35
33
  export type ISequencedProposal = { sequenceNumber: number } & IProposal;
36
34
 
37
35
  /**
38
36
  * Adds the sequence number at which the message was approved to an {@link ISequencedProposal}.
39
- * @legacy
40
- * @alpha
37
+ * @legacy @beta
41
38
  */
42
39
  export type IApprovedProposal = { approvalSequenceNumber: number } & ISequencedProposal;
43
40
 
44
41
  /**
45
42
  * Adds the sequence number at which the message was committed to an {@link IApprovedProposal}.
46
- * @legacy
47
- * @alpha
43
+ * @legacy @beta
48
44
  */
49
45
  export type ICommittedProposal = { commitSequenceNumber: number } & IApprovedProposal;
50
46
 
@@ -65,8 +61,7 @@ export interface IQuorumClients {
65
61
 
66
62
  /**
67
63
  * Interface for tracking proposals in the Quorum.
68
- * @legacy
69
- * @alpha
64
+ * @legacy @beta
70
65
  */
71
66
  export interface IQuorumProposals {
72
67
  propose(key: string, value: unknown): Promise<void>;
@@ -93,8 +88,7 @@ export interface IQuorumProposals {
93
88
 
94
89
  /**
95
90
  * Interface combining tracking of clients as well as proposals in the Quorum.
96
- * @legacy
97
- * @alpha
91
+ * @legacy @beta
98
92
  */
99
93
  export interface IQuorum
100
94
  extends Omit<IQuorumClients, "on" | "once" | "off">,
@@ -116,8 +110,7 @@ export interface IProtocolState {
116
110
  }
117
111
 
118
112
  /**
119
- * @legacy
120
- * @alpha
113
+ * @legacy @beta
121
114
  */
122
115
  export interface IProcessMessageResult {
123
116
  immediateNoOp?: boolean;
@@ -5,7 +5,6 @@
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
9
- * @alpha
8
+ * @legacy @beta
10
9
  */
11
10
  export type IsoDate = string;