@fluidframework/odsp-driver-definitions 2.0.0-rc.1.0.4 → 2.0.0-rc.2.0.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 (94) hide show
  1. package/{.eslintrc.js → .eslintrc.cjs} +4 -1
  2. package/CHANGELOG.md +24 -0
  3. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  4. package/api-extractor.json +1 -1
  5. package/api-report/odsp-driver-definitions.api.md +7 -24
  6. package/dist/errors.d.ts +1 -55
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +1 -56
  9. package/dist/errors.js.map +1 -1
  10. package/dist/factory.d.ts +7 -0
  11. package/dist/factory.d.ts.map +1 -1
  12. package/dist/factory.js.map +1 -1
  13. package/dist/index.d.ts +6 -6
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +13 -14
  16. package/dist/index.js.map +1 -1
  17. package/dist/odsp-driver-definitions-alpha.d.ts +22 -74
  18. package/dist/odsp-driver-definitions-beta.d.ts +9 -5
  19. package/dist/odsp-driver-definitions-public.d.ts +5 -4
  20. package/dist/odsp-driver-definitions-untrimmed.d.ts +28 -72
  21. package/dist/odspCache.d.ts +10 -1
  22. package/dist/odspCache.d.ts.map +1 -1
  23. package/dist/odspCache.js +10 -1
  24. package/dist/odspCache.js.map +1 -1
  25. package/dist/package.json +3 -0
  26. package/dist/resolvedUrl.d.ts +1 -16
  27. package/dist/resolvedUrl.d.ts.map +1 -1
  28. package/dist/resolvedUrl.js +1 -10
  29. package/dist/resolvedUrl.js.map +1 -1
  30. package/dist/sessionProvider.d.ts +6 -0
  31. package/dist/sessionProvider.d.ts.map +1 -1
  32. package/dist/sessionProvider.js.map +1 -1
  33. package/dist/tokenFetch.d.ts +4 -1
  34. package/dist/tokenFetch.d.ts.map +1 -1
  35. package/dist/tokenFetch.js.map +1 -1
  36. package/dist/tsdoc-metadata.json +1 -1
  37. package/lib/{errors.d.mts → errors.d.ts} +6 -56
  38. package/lib/errors.d.ts.map +1 -0
  39. package/lib/errors.js +52 -0
  40. package/lib/errors.js.map +1 -0
  41. package/lib/{factory.d.mts → factory.d.ts} +8 -1
  42. package/lib/factory.d.ts.map +1 -0
  43. package/lib/{factory.mjs → factory.js} +1 -1
  44. package/lib/factory.js.map +1 -0
  45. package/lib/{index.d.mts → index.d.ts} +7 -7
  46. package/lib/index.d.ts.map +1 -0
  47. package/lib/index.js +9 -0
  48. package/lib/index.js.map +1 -0
  49. package/lib/{odsp-driver-definitions-alpha.d.mts → odsp-driver-definitions-alpha.d.ts} +22 -74
  50. package/lib/{odsp-driver-definitions-beta.d.mts → odsp-driver-definitions-beta.d.ts} +9 -5
  51. package/lib/{odsp-driver-definitions-public.d.mts → odsp-driver-definitions-public.d.ts} +5 -4
  52. package/lib/{odsp-driver-definitions-untrimmed.d.mts → odsp-driver-definitions-untrimmed.d.ts} +28 -72
  53. package/lib/{odspCache.d.mts → odspCache.d.ts} +11 -2
  54. package/lib/odspCache.d.ts.map +1 -0
  55. package/lib/{odspCache.mjs → odspCache.js} +10 -1
  56. package/lib/odspCache.js.map +1 -0
  57. package/lib/{resolvedUrl.d.mts → resolvedUrl.d.ts} +2 -17
  58. package/lib/resolvedUrl.d.ts.map +1 -0
  59. package/lib/{resolvedUrl.mjs → resolvedUrl.js} +1 -10
  60. package/lib/resolvedUrl.js.map +1 -0
  61. package/lib/{sessionProvider.d.mts → sessionProvider.d.ts} +7 -1
  62. package/lib/sessionProvider.d.ts.map +1 -0
  63. package/lib/{sessionProvider.mjs → sessionProvider.js} +1 -1
  64. package/lib/sessionProvider.js.map +1 -0
  65. package/lib/{tokenFetch.d.mts → tokenFetch.d.ts} +5 -2
  66. package/lib/tokenFetch.d.ts.map +1 -0
  67. package/lib/{tokenFetch.mjs → tokenFetch.js} +1 -1
  68. package/lib/tokenFetch.js.map +1 -0
  69. package/package.json +42 -32
  70. package/src/errors.ts +1 -64
  71. package/src/factory.ts +5 -2
  72. package/src/index.ts +7 -13
  73. package/src/odspCache.ts +11 -1
  74. package/src/resolvedUrl.ts +1 -18
  75. package/src/sessionProvider.ts +7 -0
  76. package/src/tokenFetch.ts +4 -1
  77. package/tsconfig.cjs.json +7 -0
  78. package/tsconfig.json +2 -5
  79. package/lib/errors.d.mts.map +0 -1
  80. package/lib/errors.mjs +0 -103
  81. package/lib/errors.mjs.map +0 -1
  82. package/lib/factory.d.mts.map +0 -1
  83. package/lib/factory.mjs.map +0 -1
  84. package/lib/index.d.mts.map +0 -1
  85. package/lib/index.mjs +0 -9
  86. package/lib/index.mjs.map +0 -1
  87. package/lib/odspCache.d.mts.map +0 -1
  88. package/lib/odspCache.mjs.map +0 -1
  89. package/lib/resolvedUrl.d.mts.map +0 -1
  90. package/lib/resolvedUrl.mjs.map +0 -1
  91. package/lib/sessionProvider.d.mts.map +0 -1
  92. package/lib/sessionProvider.mjs.map +0 -1
  93. package/lib/tokenFetch.d.mts.map +0 -1
  94. package/lib/tokenFetch.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { DriverError } from '@fluidframework/driver-definitions';
2
+ import { FiveDaysMs } from '@fluidframework/driver-definitions';
2
3
  import { IDriverErrorBase } from '@fluidframework/driver-definitions';
3
4
  import { IResolvedUrl } from '@fluidframework/driver-definitions';
4
5
 
@@ -6,6 +7,8 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
6
7
 
7
8
  /* Excluded from this release type: DriverError */
8
9
 
10
+ /* Excluded from this release type: FiveDaysMs */
11
+
9
12
  /* Excluded from this release type: getKeyForCacheEntry */
10
13
 
11
14
  /* Excluded from this release type: HostStoragePolicy */
@@ -50,9 +53,9 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
50
53
 
51
54
  /* Excluded from this release type: isTokenFromCache */
52
55
 
53
- /* Excluded from this release type: OdspError */
56
+ /* Excluded from this release type: maximumCacheDurationMs */
54
57
 
55
- /* Excluded from this release type: OdspErrorType */
58
+ /* Excluded from this release type: OdspError */
56
59
 
57
60
  /* Excluded from this release type: OdspErrorTypes */
58
61
 
@@ -60,8 +63,6 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
60
63
 
61
64
  /* Excluded from this release type: ShareLinkInfoType */
62
65
 
63
- /* Excluded from this release type: ShareLinkTypes */
64
-
65
66
  /* Excluded from this release type: SharingLinkRole */
66
67
 
67
68
  /* Excluded from this release type: SharingLinkScope */
@@ -81,7 +82,10 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
81
82
  export declare interface TokenResponse {
82
83
  /** Token value */
83
84
  token: string;
84
- /** Flag indicating whether token was obtained from local cache */
85
+ /**
86
+ * Whether or not the token was obtained from local cache.
87
+ * @remarks `undefined` indicates that it could not be determined whether or not the token was obtained this way.
88
+ */
85
89
  fromCache?: boolean;
86
90
  }
87
91
 
@@ -1,4 +1,5 @@
1
1
  import { DriverError } from '@fluidframework/driver-definitions';
2
+ import { FiveDaysMs } from '@fluidframework/driver-definitions';
2
3
  import { IDriverErrorBase } from '@fluidframework/driver-definitions';
3
4
  import { IResolvedUrl } from '@fluidframework/driver-definitions';
4
5
 
@@ -6,6 +7,8 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
6
7
 
7
8
  /* Excluded from this release type: DriverError */
8
9
 
10
+ /* Excluded from this release type: FiveDaysMs */
11
+
9
12
  /* Excluded from this release type: getKeyForCacheEntry */
10
13
 
11
14
  /* Excluded from this release type: HostStoragePolicy */
@@ -50,9 +53,9 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
50
53
 
51
54
  /* Excluded from this release type: isTokenFromCache */
52
55
 
53
- /* Excluded from this release type: OdspError */
56
+ /* Excluded from this release type: maximumCacheDurationMs */
54
57
 
55
- /* Excluded from this release type: OdspErrorType */
58
+ /* Excluded from this release type: OdspError */
56
59
 
57
60
  /* Excluded from this release type: OdspErrorTypes */
58
61
 
@@ -60,8 +63,6 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
60
63
 
61
64
  /* Excluded from this release type: ShareLinkInfoType */
62
65
 
63
- /* Excluded from this release type: ShareLinkTypes */
64
-
65
66
  /* Excluded from this release type: SharingLinkRole */
66
67
 
67
68
  /* Excluded from this release type: SharingLinkScope */
@@ -1,4 +1,5 @@
1
1
  import { DriverError } from '@fluidframework/driver-definitions';
2
+ import { FiveDaysMs } from '@fluidframework/driver-definitions';
2
3
  import { IDriverErrorBase } from '@fluidframework/driver-definitions';
3
4
  import { IResolvedUrl } from '@fluidframework/driver-definitions';
4
5
 
@@ -178,7 +179,7 @@ export declare type InstrumentedStorageTokenFetcher = (options: TokenFetchOption
178
179
  * @alpha
179
180
  */
180
181
  export declare interface IOdspError extends Omit<IDriverErrorBase, "errorType">, IOdspErrorAugmentations {
181
- readonly errorType: OdspErrorType;
182
+ readonly errorType: OdspErrorTypes;
182
183
  }
183
184
 
184
185
  /**
@@ -342,6 +343,13 @@ export declare interface ISnapshotOptions {
342
343
  blobs?: number;
343
344
  deltas?: number;
344
345
  channels?: number;
346
+ /**
347
+ * Maximum Data size (in bytes)
348
+ *
349
+ * @remarks
350
+ * If specified, SPO will fail snapshot request with 413 error (see {@link @fluidframework/odsp-driver-definitions#(OdspErrorTypes:variable).snapshotTooBig})
351
+ * if snapshot is bigger in size than specified limit.
352
+ */
345
353
  mds?: number;
346
354
  timeout?: number;
347
355
  }
@@ -371,6 +379,12 @@ export declare interface ISocketStorageDiscovery {
371
379
  * This is the time within which client has to refresh the session on (ODSP) relay service.
372
380
  */
373
381
  refreshSessionDurationSeconds?: number;
382
+ /**
383
+ * Represent the sensitivity labels info for the file. Keeping it optional for back-compat. The
384
+ * response will contain empty labels when the file has no labels, so this field will be there
385
+ * even if file has no labels when the service will implement this contract.
386
+ */
387
+ sensitivityLabelsInfo?: string;
374
388
  }
375
389
 
376
390
  /**
@@ -383,64 +397,19 @@ export declare interface ISocketStorageDiscovery {
383
397
  export declare const isTokenFromCache: (tokenResponse: string | TokenResponse | null) => boolean | undefined;
384
398
 
385
399
  /**
386
- * @alpha
400
+ * Must be less than IDocumentStorageServicePolicies.maximumCacheDurationMs policy of 5 days.
401
+ * That policy is the outward expression and this value is the implementation - using a larger value
402
+ * would violate that statement of the driver's behavior.
403
+ * Other parts of the system (such as Garbage Collection) depend on that policy being properly implemented.
404
+ *
405
+ * @internal
387
406
  */
388
- export declare type OdspError = IOdspError | (DriverError & IOdspErrorAugmentations);
407
+ export declare const maximumCacheDurationMs: FiveDaysMs;
389
408
 
390
409
  /**
391
- * ODSP Error types.
392
- * Different error types that may be thrown by the ODSP driver.
393
- *
394
- * @deprecated Use {@link (OdspErrorTypes:variable)} instead.
395
410
  * @alpha
396
411
  */
397
- export declare enum OdspErrorType {
398
- /**
399
- * Storage is out of space
400
- */
401
- outOfStorageError = "outOfStorageError",
402
- /**
403
- * Invalid file name (at creation of the file)
404
- */
405
- invalidFileNameError = "invalidFileNameError",
406
- /**
407
- * Snapshot is too big. Host application specified limit for snapshot size, and snapshot was bigger
408
- * that that limit, thus request failed. Hosting application is expected to have fall-back behavior for
409
- * such case.
410
- */
411
- snapshotTooBig = "snapshotTooBig",
412
- /**
413
- * Maximum time limit to fetch reached. Host application specified limit for fetching of snapshot, when
414
- * that limit is reached, request fails. Hosting application is expected to have fall-back behavior for
415
- * such case.
416
- */
417
- fetchTimeout = "fetchTimeout",
418
- /**
419
- * SPO admin toggle: fluid service is not enabled.
420
- */
421
- fluidNotEnabled = "fluidNotEnabled",
422
- /**
423
- * {@inheritDoc @fluidframework/driver-definitions#FluidErrorType.fetchTokenError}
424
- */
425
- fetchTokenError = "fetchTokenError",
426
- /**
427
- * This error will be raised when client is too behind with no way to catch up.
428
- * This condition will happen when user was offline for too long, resulting in old ops / blobs being deleted
429
- * by storage, and thus removing an ability for client to catch up.
430
- * This condition will result in any local changes being lost (i.e. only way to save state is by user
431
- * copying it over manually)
432
- */
433
- cannotCatchUp = "cannotCatchUp",
434
- /**
435
- * SPO can occasionally return 403 for r/w operations on document when there is a fail over to another data center.
436
- * So to preserve integrity of the data, the data becomes readonly.
437
- */
438
- serviceReadOnly = "serviceReadOnly",
439
- /**
440
- * Due to organizational policies, you can't access server resources from the current network location.
441
- */
442
- blockedIPAddress = "blockedIPAddress"
443
- }
412
+ export declare type OdspError = IOdspError | (DriverError & IOdspErrorAugmentations);
444
413
 
445
414
  /**
446
415
  * ODSP Error types.
@@ -538,17 +507,10 @@ export declare interface ShareLinkInfoType {
538
507
  * from the /snapshot api response.
539
508
  */
540
509
  createLink?: {
541
- /**
542
- * @deprecated
543
- * Type of shareLink requested/created when creating the file for the first time. The 'type' property here
544
- * represents the type of sharing link requested.
545
- * Will be deprecated soon. Type of sharing link will be present in the link:ISharingLink property below.
546
- */
547
- type?: ShareLinkTypes | ISharingLinkKind;
548
510
  /**
549
511
  * Share link created when the file is created for the first time with /snapshot api call.
550
512
  */
551
- link?: string | ISharingLink;
513
+ link?: ISharingLink;
552
514
  /**
553
515
  * Error message if creation of sharing link fails with /snapshot api call
554
516
  */
@@ -562,15 +524,6 @@ export declare interface ShareLinkInfoType {
562
524
  sharingLinkToRedeem?: string;
563
525
  }
564
526
 
565
- /**
566
- * @deprecated Use ISharingLinkKind type instead.
567
- * Type of shareLink requested/created when creating the file for the first time.
568
- * @alpha
569
- */
570
- export declare enum ShareLinkTypes {
571
- csl = "csl"
572
- }
573
-
574
527
  /**
575
528
  * View/edit permission role for a sharing link.
576
529
  * @alpha
@@ -645,7 +598,10 @@ export declare const tokenFromResponse: (tokenResponse: string | TokenResponse |
645
598
  export declare interface TokenResponse {
646
599
  /** Token value */
647
600
  token: string;
648
- /** Flag indicating whether token was obtained from local cache */
601
+ /**
602
+ * Whether or not the token was obtained from local cache.
603
+ * @remarks `undefined` indicates that it could not be determined whether or not the token was obtained this way.
604
+ */
649
605
  fromCache?: boolean;
650
606
  }
651
607
 
@@ -2,7 +2,16 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { IResolvedUrl } from "@fluidframework/driver-definitions";
5
+ import { IResolvedUrl, type FiveDaysMs } from "@fluidframework/driver-definitions";
6
+ /**
7
+ * Must be less than IDocumentStorageServicePolicies.maximumCacheDurationMs policy of 5 days.
8
+ * That policy is the outward expression and this value is the implementation - using a larger value
9
+ * would violate that statement of the driver's behavior.
10
+ * Other parts of the system (such as Garbage Collection) depend on that policy being properly implemented.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare const maximumCacheDurationMs: FiveDaysMs;
6
15
  /**
7
16
  * Describes what kind of content is stored in cache entry.
8
17
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"odspCache.d.ts","sourceRoot":"","sources":["../src/odspCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,KAAK,CAAC;AAOlD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,EAAE,YAAY,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;;;;;OAOG;IACH,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE9D"}
1
+ {"version":3,"file":"odspCache.d.ts","sourceRoot":"","sources":["../src/odspCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAwB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,KAAK,CAAC;AAOlD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,EAAE,YAAY,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;;;;;OAOG;IACH,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE9D"}
package/dist/odspCache.js CHANGED
@@ -4,7 +4,16 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getKeyForCacheEntry = exports.snapshotKey = void 0;
7
+ exports.getKeyForCacheEntry = exports.snapshotKey = exports.maximumCacheDurationMs = void 0;
8
+ /**
9
+ * Must be less than IDocumentStorageServicePolicies.maximumCacheDurationMs policy of 5 days.
10
+ * That policy is the outward expression and this value is the implementation - using a larger value
11
+ * would violate that statement of the driver's behavior.
12
+ * Other parts of the system (such as Garbage Collection) depend on that policy being properly implemented.
13
+ *
14
+ * @internal
15
+ */
16
+ exports.maximumCacheDurationMs = 432000000; // 5 days in ms
8
17
  /**
9
18
  * Describes what kind of content is stored in cache entry.
10
19
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"odspCache.js","sourceRoot":"","sources":["../src/odspCache.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;GAGG;AACU,QAAA,WAAW,GAAG,UAAU,CAAC;AA8FtC;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAkB;IACrD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AACzD,CAAC;AAFD,kDAEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\n\n/**\n * Describes what kind of content is stored in cache entry.\n * @internal\n */\nexport const snapshotKey = \"snapshot\";\n/**\n * @alpha\n */\nexport type CacheContentType = \"snapshot\" | \"ops\";\n\n/*\n * File / container identifier.\n * There is overlapping information here - host can use all of it or parts\n * to implement storage / identify files.\n */\n/**\n * @alpha\n */\nexport interface IFileEntry {\n\t/**\n\t * Unique and stable ID of the document.\n\t * Driver guarantees that docId is stable ID uniquely identifying document.\n\t */\n\tdocId: string;\n\t/**\n\t * Resolved URI is provided for additional versatility - host can use it to\n\t * identify file in storage, and (as example) delete all cached entries for\n\t * a file if user requests so.\n\t * This is IOdspResolvedUrl in case of ODSP driver.\n\t */\n\tresolvedUrl: IResolvedUrl;\n}\n\n/**\n * Cache entry. Identifies file that this entry belongs to, and type of content stored in it.\n * @alpha\n */\nexport interface IEntry {\n\t/**\n\t * Identifies type of entry for a given file.\n\t * Each file can have multiple types of entries associated with it.\n\t * For example, it can be snapshot, blob, ops, etc.\n\t */\n\ttype: CacheContentType;\n\n\t/**\n\t * Identifies individual entry for a given file and type.\n\t * Each file can have multiple cache entries associated with it.\n\t * This property identifies a particular instance of entry.\n\t * For example, for blobs it will be unique ID of the blob in a file.\n\t * For batch of ops, it can be starting op sequence number.\n\t * For types that have only one entry (like snapshots), it will be empty string.\n\t */\n\tkey: string;\n}\n\n/**\n * Cache entry. Identifies file that this entry belongs to, and type of content stored in it.\n * @alpha\n */\nexport interface ICacheEntry extends IEntry {\n\t/**\n\t * Identifies file in storage this cached entry is for\n\t */\n\tfile: IFileEntry;\n}\n\n/**\n * Persistent cache. This interface can be implemented by the host to provide durable caching\n * across sessions. If not provided at driver factory construction, factory will use in-memory\n * cache implementation that does not survive across sessions. Snapshot entires stored in the\n * IPersistedCache will be considered stale and removed after 2 days. Read the README for more\n * information.\n * @alpha\n */\nexport interface IPersistedCache {\n\t/**\n\t * Get the cache value of the key\n\t * @param entry - cache entry, identifies file and particular key for this file.\n\t * @returns Cached value. undefined if nothing is cached.\n\t */\n\tget(entry: ICacheEntry): Promise<any>;\n\n\t/**\n\t * Put the value into cache.\n\t * Important - only serializable content is allowed since this cache may be persisted between sessions\n\t * @param entry - cache entry.\n\t * @param value - JSON-serializable content.\n\t */\n\tput(entry: ICacheEntry, value: any): Promise<void>;\n\n\t/**\n\t * Removes the entries from the cache for given parametres.\n\t * @param file - file entry to be deleted.\n\t */\n\tremoveEntries(file: IFileEntry): Promise<void>;\n}\n\n/**\n * Api to generate a cache key from cache entry.\n * @param entry - cache entry from which a cache key is generated\n * @returns The key for cache.\n * @internal\n */\nexport function getKeyForCacheEntry(entry: ICacheEntry): string {\n\treturn `${entry.file.docId}_${entry.type}_${entry.key}`;\n}\n"]}
1
+ {"version":3,"file":"odspCache.js","sourceRoot":"","sources":["../src/odspCache.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;;;;;GAOG;AACU,QAAA,sBAAsB,GAAe,SAAW,CAAC,CAAC,eAAe;AAE9E;;;GAGG;AACU,QAAA,WAAW,GAAG,UAAU,CAAC;AA8FtC;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAkB;IACrD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AACzD,CAAC;AAFD,kDAEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl, type FiveDaysMs } from \"@fluidframework/driver-definitions\";\n\n/**\n * Must be less than IDocumentStorageServicePolicies.maximumCacheDurationMs policy of 5 days.\n * That policy is the outward expression and this value is the implementation - using a larger value\n * would violate that statement of the driver's behavior.\n * Other parts of the system (such as Garbage Collection) depend on that policy being properly implemented.\n *\n * @internal\n */\nexport const maximumCacheDurationMs: FiveDaysMs = 432_000_000; // 5 days in ms\n\n/**\n * Describes what kind of content is stored in cache entry.\n * @internal\n */\nexport const snapshotKey = \"snapshot\";\n/**\n * @alpha\n */\nexport type CacheContentType = \"snapshot\" | \"ops\";\n\n/*\n * File / container identifier.\n * There is overlapping information here - host can use all of it or parts\n * to implement storage / identify files.\n */\n/**\n * @alpha\n */\nexport interface IFileEntry {\n\t/**\n\t * Unique and stable ID of the document.\n\t * Driver guarantees that docId is stable ID uniquely identifying document.\n\t */\n\tdocId: string;\n\t/**\n\t * Resolved URI is provided for additional versatility - host can use it to\n\t * identify file in storage, and (as example) delete all cached entries for\n\t * a file if user requests so.\n\t * This is IOdspResolvedUrl in case of ODSP driver.\n\t */\n\tresolvedUrl: IResolvedUrl;\n}\n\n/**\n * Cache entry. Identifies file that this entry belongs to, and type of content stored in it.\n * @alpha\n */\nexport interface IEntry {\n\t/**\n\t * Identifies type of entry for a given file.\n\t * Each file can have multiple types of entries associated with it.\n\t * For example, it can be snapshot, blob, ops, etc.\n\t */\n\ttype: CacheContentType;\n\n\t/**\n\t * Identifies individual entry for a given file and type.\n\t * Each file can have multiple cache entries associated with it.\n\t * This property identifies a particular instance of entry.\n\t * For example, for blobs it will be unique ID of the blob in a file.\n\t * For batch of ops, it can be starting op sequence number.\n\t * For types that have only one entry (like snapshots), it will be empty string.\n\t */\n\tkey: string;\n}\n\n/**\n * Cache entry. Identifies file that this entry belongs to, and type of content stored in it.\n * @alpha\n */\nexport interface ICacheEntry extends IEntry {\n\t/**\n\t * Identifies file in storage this cached entry is for\n\t */\n\tfile: IFileEntry;\n}\n\n/**\n * Persistent cache. This interface can be implemented by the host to provide durable caching\n * across sessions. If not provided at driver factory construction, factory will use in-memory\n * cache implementation that does not survive across sessions. Snapshot entires stored in the\n * IPersistedCache will be considered stale and removed after 2 days. Read the README for more\n * information.\n * @alpha\n */\nexport interface IPersistedCache {\n\t/**\n\t * Get the cache value of the key\n\t * @param entry - cache entry, identifies file and particular key for this file.\n\t * @returns Cached value. undefined if nothing is cached.\n\t */\n\tget(entry: ICacheEntry): Promise<any>;\n\n\t/**\n\t * Put the value into cache.\n\t * Important - only serializable content is allowed since this cache may be persisted between sessions\n\t * @param entry - cache entry.\n\t * @param value - JSON-serializable content.\n\t */\n\tput(entry: ICacheEntry, value: any): Promise<void>;\n\n\t/**\n\t * Removes the entries from the cache for given parametres.\n\t * @param file - file entry to be deleted.\n\t */\n\tremoveEntries(file: IFileEntry): Promise<void>;\n}\n\n/**\n * Api to generate a cache key from cache entry.\n * @param entry - cache entry from which a cache key is generated\n * @returns The key for cache.\n * @internal\n */\nexport function getKeyForCacheEntry(entry: ICacheEntry): string {\n\treturn `${entry.file.docId}_${entry.type}_${entry.key}`;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -11,14 +11,6 @@ export interface IOdspUrlParts {
11
11
  driveId: string;
12
12
  itemId: string;
13
13
  }
14
- /**
15
- * @deprecated Use ISharingLinkKind type instead.
16
- * Type of shareLink requested/created when creating the file for the first time.
17
- * @alpha
18
- */
19
- export declare enum ShareLinkTypes {
20
- csl = "csl"
21
- }
22
14
  /**
23
15
  * Sharing scope of the share links created for a file.
24
16
  * @alpha
@@ -68,17 +60,10 @@ export interface ShareLinkInfoType {
68
60
  * from the /snapshot api response.
69
61
  */
70
62
  createLink?: {
71
- /**
72
- * @deprecated
73
- * Type of shareLink requested/created when creating the file for the first time. The 'type' property here
74
- * represents the type of sharing link requested.
75
- * Will be deprecated soon. Type of sharing link will be present in the link:ISharingLink property below.
76
- */
77
- type?: ShareLinkTypes | ISharingLinkKind;
78
63
  /**
79
64
  * Share link created when the file is created for the first time with /snapshot api call.
80
65
  */
81
- link?: string | ISharingLink;
66
+ link?: ISharingLink;
82
67
  /**
83
68
  * Error message if creation of sharing link fails with /snapshot api call
84
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolvedUrl.d.ts","sourceRoot":"","sources":["../src/resolvedUrl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,oBAAY,cAAc;IACzB,GAAG,QAAQ;CACX;AAED;;;GAGG;AACH,oBAAY,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;CACnB;AAED;;;GAGG;AACH,oBAAY,eAAe;IAC1B,IAAI,SAAS;IACb,IAAI,SAAS;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,gBAAgB,CAAC;IAKxB,IAAI,CAAC,EAAE,eAAe,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACrD,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE;QACZ;;;;;WAKG;QACH,IAAI,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC;QAEzC;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAE7B;;WAEG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;QAEZ,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY,EAAE,aAAa;IACpE,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,IAAI,CAAC;IAGtB,GAAG,EAAE,MAAM,CAAC;IAGZ,gBAAgB,EAAE,MAAM,CAAC;IAEzB,SAAS,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;IAIF,MAAM,EAAE,EAAE,CAAC;IAEX,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE;QAGV,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"resolvedUrl.d.ts","sourceRoot":"","sources":["../src/resolvedUrl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,oBAAY,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;CACnB;AAED;;;GAGG;AACH,oBAAY,eAAe;IAC1B,IAAI,SAAS;IACb,IAAI,SAAS;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,gBAAgB,CAAC;IAKxB,IAAI,CAAC,EAAE,eAAe,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACrD,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE;QACZ;;WAEG;QACH,IAAI,CAAC,EAAE,YAAY,CAAC;QAEpB;;WAEG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;QAEZ,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY,EAAE,aAAa;IACpE,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,IAAI,CAAC;IAGtB,GAAG,EAAE,MAAM,CAAC;IAGZ,gBAAgB,EAAE,MAAM,CAAC;IAEzB,SAAS,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;IAIF,MAAM,EAAE,EAAE,CAAC;IAEX,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE;QAGV,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -4,16 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SharingLinkRole = exports.SharingLinkScope = exports.ShareLinkTypes = void 0;
8
- /**
9
- * @deprecated Use ISharingLinkKind type instead.
10
- * Type of shareLink requested/created when creating the file for the first time.
11
- * @alpha
12
- */
13
- var ShareLinkTypes;
14
- (function (ShareLinkTypes) {
15
- ShareLinkTypes["csl"] = "csl";
16
- })(ShareLinkTypes || (exports.ShareLinkTypes = ShareLinkTypes = {}));
7
+ exports.SharingLinkRole = exports.SharingLinkScope = void 0;
17
8
  /**
18
9
  * Sharing scope of the share links created for a file.
19
10
  * @alpha
@@ -1 +1 @@
1
- {"version":3,"file":"resolvedUrl.js","sourceRoot":"","sources":["../src/resolvedUrl.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH;;;;GAIG;AACH,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,6BAAW,CAAA;AACZ,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB;AAED;;;GAGG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC3B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;AACpB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED;;;GAGG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,gCAAa,CAAA;IACb,gCAAa,CAAA;AACd,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\n\n/**\n * @alpha\n */\nexport interface IOdspUrlParts {\n\tsiteUrl: string;\n\tdriveId: string;\n\titemId: string;\n}\n\n/**\n * @deprecated Use ISharingLinkKind type instead.\n * Type of shareLink requested/created when creating the file for the first time.\n * @alpha\n */\nexport enum ShareLinkTypes {\n\tcsl = \"csl\",\n}\n\n/**\n * Sharing scope of the share links created for a file.\n * @alpha\n */\nexport enum SharingLinkScope {\n\torganization = \"organization\",\n\tusers = \"users\",\n\tanonymous = \"anonymous\",\n\tdefault = \"default\",\n}\n\n/**\n * View/edit permission role for a sharing link.\n * @alpha\n */\nexport enum SharingLinkRole {\n\tview = \"view\",\n\tedit = \"edit\",\n}\n\n/**\n * Defines the permissions scope for a share link requested to be created during the creation the file in ODSP.\n * Providing these properties to the /snapshot api will also create and return the requested kind of sharing link.\n * @alpha\n */\nexport interface ISharingLinkKind {\n\tscope: SharingLinkScope;\n\t/*\n\t * If this parameter is not provided, the API will default to \"edit\" links (provided\n\t * a valid createLinkScope setting is given).\n\t */\n\trole?: SharingLinkRole;\n}\n\n/**\n * Sharing link data received from the /snapshot api response.\n * @alpha\n */\nexport interface ISharingLink extends ISharingLinkKind {\n\twebUrl: string;\n}\n\n/**\n * Sharing link data created for the ODSP item.\n * Contains information about either sharing link created while creating a new file or\n * a redeemable share link created when loading an existing file\n * @alpha\n */\nexport interface ShareLinkInfoType {\n\t/**\n\t * We create a new file in ODSP with the /snapshot api call. Applications then need to make a separate apis call to\n\t * create a sharing link for that file. To reduce the number of network calls, ODSP now provides a feature\n\t * where we can create a share link along with creating a file by passing a query parameter called\n\t * createShareLink (deprecated) or createLinkScope and createLinkRole. createLink object below saves the information\n\t * from the /snapshot api response.\n\t */\n\tcreateLink?: {\n\t\t/**\n\t\t * @deprecated\n\t\t * Type of shareLink requested/created when creating the file for the first time. The 'type' property here\n\t\t * represents the type of sharing link requested.\n\t\t * Will be deprecated soon. Type of sharing link will be present in the link:ISharingLink property below.\n\t\t */\n\t\ttype?: ShareLinkTypes | ISharingLinkKind;\n\n\t\t/**\n\t\t * Share link created when the file is created for the first time with /snapshot api call.\n\t\t */\n\t\tlink?: string | ISharingLink;\n\n\t\t/**\n\t\t * Error message if creation of sharing link fails with /snapshot api call\n\t\t */\n\t\terror?: any;\n\n\t\tshareId?: string;\n\t};\n\n\t/**\n\t * This is used to save the network calls while doing trees/latest call as if the client does not have\n\t * permission then this link can be redeemed for the permissions in the same network call.\n\t */\n\tsharingLinkToRedeem?: string;\n}\n/**\n * @alpha\n */\nexport interface IOdspResolvedUrl extends IResolvedUrl, IOdspUrlParts {\n\ttype: \"fluid\";\n\todspResolvedUrl: true;\n\n\t// URL to send to fluid, contains the documentId and the path\n\turl: string;\n\n\t// A hashed identifier that is unique to this document\n\thashedDocumentId: string;\n\n\tendpoints: {\n\t\tsnapshotStorageUrl: string;\n\t\tattachmentPOSTStorageUrl: string;\n\t\tattachmentGETStorageUrl: string;\n\t\tdeltaStorageUrl: string;\n\t};\n\n\t// Tokens are not obtained by the ODSP driver using the resolve flow, the app must provide them.\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\ttokens: {};\n\n\tfileName: string;\n\n\tsummarizer: boolean;\n\n\tcodeHint?: {\n\t\t// containerPackageName is used for adding the package name to the request headers.\n\t\t// This may be used for preloading the container package when loading Fluid content.\n\t\tcontainerPackageName?: string;\n\t};\n\n\tfileVersion: string | undefined;\n\n\tdataStorePath?: string;\n\n\t/**\n\t * Sharing link data created for the ODSP item.\n\t * Contains information about either sharing link created while creating a new file or\n\t * a redeemable share link created when loading an existing file\n\t */\n\tshareLinkInfo?: ShareLinkInfoType;\n\n\tisClpCompliantApp?: boolean;\n}\n"]}
1
+ {"version":3,"file":"resolvedUrl.js","sourceRoot":"","sources":["../src/resolvedUrl.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH;;;GAGG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC3B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;AACpB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED;;;GAGG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,gCAAa,CAAA;IACb,gCAAa,CAAA;AACd,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\n\n/**\n * @alpha\n */\nexport interface IOdspUrlParts {\n\tsiteUrl: string;\n\tdriveId: string;\n\titemId: string;\n}\n\n/**\n * Sharing scope of the share links created for a file.\n * @alpha\n */\nexport enum SharingLinkScope {\n\torganization = \"organization\",\n\tusers = \"users\",\n\tanonymous = \"anonymous\",\n\tdefault = \"default\",\n}\n\n/**\n * View/edit permission role for a sharing link.\n * @alpha\n */\nexport enum SharingLinkRole {\n\tview = \"view\",\n\tedit = \"edit\",\n}\n\n/**\n * Defines the permissions scope for a share link requested to be created during the creation the file in ODSP.\n * Providing these properties to the /snapshot api will also create and return the requested kind of sharing link.\n * @alpha\n */\nexport interface ISharingLinkKind {\n\tscope: SharingLinkScope;\n\t/*\n\t * If this parameter is not provided, the API will default to \"edit\" links (provided\n\t * a valid createLinkScope setting is given).\n\t */\n\trole?: SharingLinkRole;\n}\n\n/**\n * Sharing link data received from the /snapshot api response.\n * @alpha\n */\nexport interface ISharingLink extends ISharingLinkKind {\n\twebUrl: string;\n}\n\n/**\n * Sharing link data created for the ODSP item.\n * Contains information about either sharing link created while creating a new file or\n * a redeemable share link created when loading an existing file\n * @alpha\n */\nexport interface ShareLinkInfoType {\n\t/**\n\t * We create a new file in ODSP with the /snapshot api call. Applications then need to make a separate apis call to\n\t * create a sharing link for that file. To reduce the number of network calls, ODSP now provides a feature\n\t * where we can create a share link along with creating a file by passing a query parameter called\n\t * createShareLink (deprecated) or createLinkScope and createLinkRole. createLink object below saves the information\n\t * from the /snapshot api response.\n\t */\n\tcreateLink?: {\n\t\t/**\n\t\t * Share link created when the file is created for the first time with /snapshot api call.\n\t\t */\n\t\tlink?: ISharingLink;\n\n\t\t/**\n\t\t * Error message if creation of sharing link fails with /snapshot api call\n\t\t */\n\t\terror?: any;\n\n\t\tshareId?: string;\n\t};\n\n\t/**\n\t * This is used to save the network calls while doing trees/latest call as if the client does not have\n\t * permission then this link can be redeemed for the permissions in the same network call.\n\t */\n\tsharingLinkToRedeem?: string;\n}\n/**\n * @alpha\n */\nexport interface IOdspResolvedUrl extends IResolvedUrl, IOdspUrlParts {\n\ttype: \"fluid\";\n\todspResolvedUrl: true;\n\n\t// URL to send to fluid, contains the documentId and the path\n\turl: string;\n\n\t// A hashed identifier that is unique to this document\n\thashedDocumentId: string;\n\n\tendpoints: {\n\t\tsnapshotStorageUrl: string;\n\t\tattachmentPOSTStorageUrl: string;\n\t\tattachmentGETStorageUrl: string;\n\t\tdeltaStorageUrl: string;\n\t};\n\n\t// Tokens are not obtained by the ODSP driver using the resolve flow, the app must provide them.\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\ttokens: {};\n\n\tfileName: string;\n\n\tsummarizer: boolean;\n\n\tcodeHint?: {\n\t\t// containerPackageName is used for adding the package name to the request headers.\n\t\t// This may be used for preloading the container package when loading Fluid content.\n\t\tcontainerPackageName?: string;\n\t};\n\n\tfileVersion: string | undefined;\n\n\tdataStorePath?: string;\n\n\t/**\n\t * Sharing link data created for the ODSP item.\n\t * Contains information about either sharing link created while creating a new file or\n\t * a redeemable share link created when loading an existing file\n\t */\n\tshareLinkInfo?: ShareLinkInfoType;\n\n\tisClpCompliantApp?: boolean;\n}\n"]}
@@ -28,6 +28,12 @@ export interface ISocketStorageDiscovery {
28
28
  * This is the time within which client has to refresh the session on (ODSP) relay service.
29
29
  */
30
30
  refreshSessionDurationSeconds?: number;
31
+ /**
32
+ * Represent the sensitivity labels info for the file. Keeping it optional for back-compat. The
33
+ * response will contain empty labels when the file has no labels, so this field will be there
34
+ * even if file has no labels when the service will implement this contract.
35
+ */
36
+ sensitivityLabelsInfo?: string;
31
37
  }
32
38
  /**
33
39
  * An interface that allows a concrete instance of a driver factory to interrogate itself
@@ -1 +1 @@
1
- {"version":3,"file":"sessionProvider.d.ts","sourceRoot":"","sources":["../src/sessionProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IAEvC,EAAE,EAAE,MAAM,CAAC;IAIX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IACjD,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACzF,0BAA0B,CACzB,WAAW,EAAE,YAAY,GACvB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"sessionProvider.d.ts","sourceRoot":"","sources":["../src/sessionProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IAEvC,EAAE,EAAE,MAAM,CAAC;IAIX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAEvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IACjD,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACzF,0BAA0B,CACzB,WAAW,EAAE,YAAY,GACvB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;CAChD"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionProvider.js","sourceRoot":"","sources":["../src/sessionProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\n\n/**\n * Socket storage discovery api response\n * @alpha\n */\nexport interface ISocketStorageDiscovery {\n\t// The id of the web socket\n\tid: string;\n\n\t// SPO gives us runtimeTenantId, we remap it to tenantId\n\t// See getSocketStorageDiscovery\n\truntimeTenantId?: string;\n\ttenantId: string;\n\n\tsnapshotStorageUrl: string;\n\tdeltaStorageUrl: string;\n\n\t/**\n\t * PUSH URL\n\t */\n\tdeltaStreamSocketUrl: string;\n\n\t/**\n\t * The access token for PushChannel. Optionally returned, depending on implementation.\n\t * OneDrive for Consumer implementation returns it and OneDrive for Business implementation\n\t * does not return it and instead expects token to be returned via `getWebsocketToken` callback\n\t * passed as a parameter to `OdspDocumentService.create()` factory.\n\t */\n\tsocketToken?: string;\n\n\t/**\n\t * This is the time within which client has to refresh the session on (ODSP) relay service.\n\t */\n\trefreshSessionDurationSeconds?: number;\n}\n\n/**\n * An interface that allows a concrete instance of a driver factory to interrogate itself\n * to find out if it is session aware.\n * @alpha\n */\nexport interface IProvideSessionAwareDriverFactory {\n\treadonly IRelaySessionAwareDriverFactory: IRelaySessionAwareDriverFactory;\n}\n\n/**\n * An interface that allows a concrete instance of a driver factory to call the `getRelayServiceSessionInfo`\n * function if it session aware.\n * @alpha\n */\nexport interface IRelaySessionAwareDriverFactory extends IProvideSessionAwareDriverFactory {\n\tgetRelayServiceSessionInfo(\n\t\tresolvedUrl: IResolvedUrl,\n\t): Promise<ISocketStorageDiscovery | undefined>;\n}\n"]}
1
+ {"version":3,"file":"sessionProvider.js","sourceRoot":"","sources":["../src/sessionProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\n\n/**\n * Socket storage discovery api response\n * @alpha\n */\nexport interface ISocketStorageDiscovery {\n\t// The id of the web socket\n\tid: string;\n\n\t// SPO gives us runtimeTenantId, we remap it to tenantId\n\t// See getSocketStorageDiscovery\n\truntimeTenantId?: string;\n\ttenantId: string;\n\n\tsnapshotStorageUrl: string;\n\tdeltaStorageUrl: string;\n\n\t/**\n\t * PUSH URL\n\t */\n\tdeltaStreamSocketUrl: string;\n\n\t/**\n\t * The access token for PushChannel. Optionally returned, depending on implementation.\n\t * OneDrive for Consumer implementation returns it and OneDrive for Business implementation\n\t * does not return it and instead expects token to be returned via `getWebsocketToken` callback\n\t * passed as a parameter to `OdspDocumentService.create()` factory.\n\t */\n\tsocketToken?: string;\n\n\t/**\n\t * This is the time within which client has to refresh the session on (ODSP) relay service.\n\t */\n\trefreshSessionDurationSeconds?: number;\n\n\t/**\n\t * Represent the sensitivity labels info for the file. Keeping it optional for back-compat. The\n\t * response will contain empty labels when the file has no labels, so this field will be there\n\t * even if file has no labels when the service will implement this contract.\n\t */\n\tsensitivityLabelsInfo?: string;\n}\n\n/**\n * An interface that allows a concrete instance of a driver factory to interrogate itself\n * to find out if it is session aware.\n * @alpha\n */\nexport interface IProvideSessionAwareDriverFactory {\n\treadonly IRelaySessionAwareDriverFactory: IRelaySessionAwareDriverFactory;\n}\n\n/**\n * An interface that allows a concrete instance of a driver factory to call the `getRelayServiceSessionInfo`\n * function if it session aware.\n * @alpha\n */\nexport interface IRelaySessionAwareDriverFactory extends IProvideSessionAwareDriverFactory {\n\tgetRelayServiceSessionInfo(\n\t\tresolvedUrl: IResolvedUrl,\n\t): Promise<ISocketStorageDiscovery | undefined>;\n}\n"]}
@@ -9,7 +9,10 @@
9
9
  export interface TokenResponse {
10
10
  /** Token value */
11
11
  token: string;
12
- /** Flag indicating whether token was obtained from local cache */
12
+ /**
13
+ * Whether or not the token was obtained from local cache.
14
+ * @remarks `undefined` indicates that it could not be determined whether or not the token was obtained this way.
15
+ */
13
16
  fromCache?: boolean;
14
17
  }
15
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tokenFetch.d.ts","sourceRoot":"","sources":["../src/tokenFetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IAEd,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACvE,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAEhB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;AAErF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,kBACd,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,KACtD,MAAM,GAAG,IAKW,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,kBACb,MAAM,GAAG,aAAa,GAAG,IAAI,KAC1C,OAAO,GAAG,SAGc,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,+BAA+B,CAAC,EAAE,OAAO,KACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"tokenFetch.d.ts","sourceRoot":"","sources":["../src/tokenFetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACvE,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAEhB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;AAErF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,kBACd,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,KACtD,MAAM,GAAG,IAKW,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,kBACb,MAAM,GAAG,aAAa,GAAG,IAAI,KAC1C,OAAO,GAAG,SAGc,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,+BAA+B,CAAC,EAAE,OAAO,KACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenFetch.js","sourceRoot":"","sources":["../src/tokenFetch.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgEH;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAChC,aAAwD,EACxC,EAAE,CAClB,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;IAC1D,CAAC,CAAC,aAAa;IACf,CAAC,CAAC,aAAa,KAAK,SAAS;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AAPX,QAAA,iBAAiB,qBAON;AAExB;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,CAC/B,aAA4C,EACtB,EAAE,CACxB,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;IAC1D,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;AALf,QAAA,gBAAgB,oBAKD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Represents token response\n * @beta\n */\nexport interface TokenResponse {\n\t/** Token value */\n\ttoken: string;\n\n\t/** Flag indicating whether token was obtained from local cache */\n\tfromCache?: boolean;\n}\n\n/**\n * Represents access token fetch options\n * @alpha\n */\nexport interface TokenFetchOptions {\n\t/**\n\t * Value indicating whether fresh token has to be returned.\n\t * If false then it is okay to return cached unexpired token if available.\n\t */\n\trefresh: boolean;\n\n\t/**\n\t * Claims that have to be passed with token fetch request.\n\t * These can be used to specify additional information that must be passed to token authority.\n\t */\n\tclaims?: string;\n\n\t/**\n\t * Tenant id of authority that must be handling token fetch.\n\t * If it is not specified then it is up to token fetching logic to determine which tenant authority\n\t * to use to issue access token.\n\t */\n\ttenantId?: string;\n}\n\n/**\n * Represents access token fetch options for ODSP resource\n * @alpha\n */\nexport interface OdspResourceTokenFetchOptions extends TokenFetchOptions {\n\t/** Site url representing ODSP resource location */\n\tsiteUrl: string;\n\n\t/** ODSP drive id where resource resides. Optional, used only when fetching token to access ODSP file */\n\tdriveId?: string;\n\n\t/** ODSP item id representing resource. Optional, used only when fetching token to access ODSP file */\n\titemId?: string;\n}\n\n/**\n * Method signature for callback method used to fetch access token\n * @param options - token fetch options\n * @returns If successful, TokenResponse object representing token value along with flag indicating\n * whether token came from cache. Legacy implementation may return a string for token value;\n * in this case it should be assumes that fromCache signal is undefined. Null is returned in case of failure.\n * @alpha\n */\nexport type TokenFetcher<T> = (options: T) => Promise<string | TokenResponse | null>;\n\n/**\n * Helper method which transforms return value for TokenFetcher method to token string\n * @param tokenResponse - return value for TokenFetcher method\n * @returns Token value\n * @internal\n */\nexport const tokenFromResponse = (\n\ttokenResponse: string | TokenResponse | null | undefined,\n): string | null =>\n\ttokenResponse === null || typeof tokenResponse === \"string\"\n\t\t? tokenResponse\n\t\t: tokenResponse === undefined\n\t\t? null\n\t\t: tokenResponse.token;\n\n/**\n * Helper method which returns flag indicating whether token response comes from local cache\n * @param tokenResponse - return value for TokenFetcher method\n * @returns Value indicating whether response came from cache.\n * Undefined is returned when we could not determine the source of token.\n * @internal\n */\nexport const isTokenFromCache = (\n\ttokenResponse: string | TokenResponse | null,\n): boolean | undefined =>\n\ttokenResponse === null || typeof tokenResponse === \"string\"\n\t\t? undefined\n\t\t: tokenResponse.fromCache;\n\n/**\n * Identity types supported by ODSP driver.\n * `Consumer` represents user authenticated with Microsoft Account (MSA).\n * `Enterprise` represents user authenticated with M365 tenant account.\n * @alpha\n */\nexport type IdentityType = \"Consumer\" | \"Enterprise\";\n\n/**\n * @internal\n */\nexport type InstrumentedStorageTokenFetcher = (\n\toptions: TokenFetchOptions,\n\tname: string,\n\talwaysRecordTokenFetchTelemetry?: boolean,\n) => Promise<string | null>;\n"]}
1
+ {"version":3,"file":"tokenFetch.js","sourceRoot":"","sources":["../src/tokenFetch.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmEH;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAChC,aAAwD,EACxC,EAAE,CAClB,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;IAC1D,CAAC,CAAC,aAAa;IACf,CAAC,CAAC,aAAa,KAAK,SAAS;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AAPX,QAAA,iBAAiB,qBAON;AAExB;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,CAC/B,aAA4C,EACtB,EAAE,CACxB,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;IAC1D,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;AALf,QAAA,gBAAgB,oBAKD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Represents token response\n * @beta\n */\nexport interface TokenResponse {\n\t/** Token value */\n\ttoken: string;\n\n\t/**\n\t * Whether or not the token was obtained from local cache.\n\t * @remarks `undefined` indicates that it could not be determined whether or not the token was obtained this way.\n\t */\n\tfromCache?: boolean;\n}\n\n/**\n * Represents access token fetch options\n * @alpha\n */\nexport interface TokenFetchOptions {\n\t/**\n\t * Value indicating whether fresh token has to be returned.\n\t * If false then it is okay to return cached unexpired token if available.\n\t */\n\trefresh: boolean;\n\n\t/**\n\t * Claims that have to be passed with token fetch request.\n\t * These can be used to specify additional information that must be passed to token authority.\n\t */\n\tclaims?: string;\n\n\t/**\n\t * Tenant id of authority that must be handling token fetch.\n\t * If it is not specified then it is up to token fetching logic to determine which tenant authority\n\t * to use to issue access token.\n\t */\n\ttenantId?: string;\n}\n\n/**\n * Represents access token fetch options for ODSP resource\n * @alpha\n */\nexport interface OdspResourceTokenFetchOptions extends TokenFetchOptions {\n\t/** Site url representing ODSP resource location */\n\tsiteUrl: string;\n\n\t/** ODSP drive id where resource resides. Optional, used only when fetching token to access ODSP file */\n\tdriveId?: string;\n\n\t/** ODSP item id representing resource. Optional, used only when fetching token to access ODSP file */\n\titemId?: string;\n}\n\n/**\n * Method signature for callback method used to fetch access token\n * @param options - token fetch options\n * @returns If successful, TokenResponse object representing token value along with flag indicating\n * whether token came from cache. Legacy implementation may return a string for token value;\n * in this case it should be assumes that fromCache signal is undefined. Null is returned in case of failure.\n * @alpha\n */\nexport type TokenFetcher<T> = (options: T) => Promise<string | TokenResponse | null>;\n\n/**\n * Helper method which transforms return value for TokenFetcher method to token string\n * @param tokenResponse - return value for TokenFetcher method\n * @returns Token value\n * @internal\n */\nexport const tokenFromResponse = (\n\ttokenResponse: string | TokenResponse | null | undefined,\n): string | null =>\n\ttokenResponse === null || typeof tokenResponse === \"string\"\n\t\t? tokenResponse\n\t\t: tokenResponse === undefined\n\t\t? null\n\t\t: tokenResponse.token;\n\n/**\n * Helper method which returns flag indicating whether token response comes from local cache\n * @param tokenResponse - return value for TokenFetcher method\n * @returns Value indicating whether response came from cache.\n * Undefined is returned when we could not determine the source of token.\n * @internal\n */\nexport const isTokenFromCache = (\n\ttokenResponse: string | TokenResponse | null,\n): boolean | undefined =>\n\ttokenResponse === null || typeof tokenResponse === \"string\"\n\t\t? undefined\n\t\t: tokenResponse.fromCache;\n\n/**\n * Identity types supported by ODSP driver.\n * `Consumer` represents user authenticated with Microsoft Account (MSA).\n * `Enterprise` represents user authenticated with M365 tenant account.\n * @alpha\n */\nexport type IdentityType = \"Consumer\" | \"Enterprise\";\n\n/**\n * @internal\n */\nexport type InstrumentedStorageTokenFetcher = (\n\toptions: TokenFetchOptions,\n\tname: string,\n\talwaysRecordTokenFetchTelemetry?: boolean,\n) => Promise<string | null>;\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.3"
8
+ "packageVersion": "7.42.3"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,3 +1,7 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
1
5
  import { DriverError, IDriverErrorBase } from "@fluidframework/driver-definitions";
2
6
  /**
3
7
  * ODSP Error types.
@@ -65,60 +69,6 @@ export declare const OdspErrorTypes: {
65
69
  * @alpha
66
70
  */
67
71
  export type OdspErrorTypes = (typeof OdspErrorTypes)[keyof typeof OdspErrorTypes];
68
- /**
69
- * ODSP Error types.
70
- * Different error types that may be thrown by the ODSP driver.
71
- *
72
- * @deprecated Use {@link (OdspErrorTypes:variable)} instead.
73
- * @alpha
74
- */
75
- export declare enum OdspErrorType {
76
- /**
77
- * Storage is out of space
78
- */
79
- outOfStorageError = "outOfStorageError",
80
- /**
81
- * Invalid file name (at creation of the file)
82
- */
83
- invalidFileNameError = "invalidFileNameError",
84
- /**
85
- * Snapshot is too big. Host application specified limit for snapshot size, and snapshot was bigger
86
- * that that limit, thus request failed. Hosting application is expected to have fall-back behavior for
87
- * such case.
88
- */
89
- snapshotTooBig = "snapshotTooBig",
90
- /**
91
- * Maximum time limit to fetch reached. Host application specified limit for fetching of snapshot, when
92
- * that limit is reached, request fails. Hosting application is expected to have fall-back behavior for
93
- * such case.
94
- */
95
- fetchTimeout = "fetchTimeout",
96
- /**
97
- * SPO admin toggle: fluid service is not enabled.
98
- */
99
- fluidNotEnabled = "fluidNotEnabled",
100
- /**
101
- * {@inheritDoc @fluidframework/driver-definitions#FluidErrorType.fetchTokenError}
102
- */
103
- fetchTokenError = "fetchTokenError",
104
- /**
105
- * This error will be raised when client is too behind with no way to catch up.
106
- * This condition will happen when user was offline for too long, resulting in old ops / blobs being deleted
107
- * by storage, and thus removing an ability for client to catch up.
108
- * This condition will result in any local changes being lost (i.e. only way to save state is by user
109
- * copying it over manually)
110
- */
111
- cannotCatchUp = "cannotCatchUp",
112
- /**
113
- * SPO can occasionally return 403 for r/w operations on document when there is a fail over to another data center.
114
- * So to preserve integrity of the data, the data becomes readonly.
115
- */
116
- serviceReadOnly = "serviceReadOnly",
117
- /**
118
- * Due to organizational policies, you can't access server resources from the current network location.
119
- */
120
- blockedIPAddress = "blockedIPAddress"
121
- }
122
72
  /**
123
73
  * @alpha
124
74
  */
@@ -144,10 +94,10 @@ export interface IOdspErrorAugmentations {
144
94
  * @alpha
145
95
  */
146
96
  export interface IOdspError extends Omit<IDriverErrorBase, "errorType">, IOdspErrorAugmentations {
147
- readonly errorType: OdspErrorType;
97
+ readonly errorType: OdspErrorTypes;
148
98
  }
149
99
  /**
150
100
  * @alpha
151
101
  */
152
102
  export type OdspError = IOdspError | (DriverError & IOdspErrorAugmentations);
153
- //# sourceMappingURL=errors.d.mts.map
103
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACN,WAAW,EACX,gBAAgB,EAEhB,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,cAAc;IAI1B;;OAEG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;CAEM,CAAC;AACX;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,uBAAuB;IAC/F,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,WAAW,GAAG,uBAAuB,CAAC,CAAC"}
package/lib/errors.js ADDED
@@ -0,0 +1,52 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { DriverErrorTypes, } from "@fluidframework/driver-definitions";
6
+ /**
7
+ * ODSP Error types.
8
+ * Different error types that may be thrown by the ODSP driver.
9
+ * @alpha
10
+ */
11
+ export const OdspErrorTypes = {
12
+ // Inherit base driver error types
13
+ ...DriverErrorTypes,
14
+ /**
15
+ * Invalid file name (at creation of the file)
16
+ */
17
+ invalidFileNameError: "invalidFileNameError",
18
+ /**
19
+ * Snapshot is too big. Host application specified limit for snapshot size, and snapshot was bigger
20
+ * that that limit, thus request failed. Hosting application is expected to have fall-back behavior for
21
+ * such case.
22
+ */
23
+ snapshotTooBig: "snapshotTooBig",
24
+ /**
25
+ * Maximum time limit to fetch reached. Host application specified limit for fetching of snapshot, when
26
+ * that limit is reached, request fails. Hosting application is expected to have fall-back behavior for
27
+ * such case.
28
+ */
29
+ fetchTimeout: "fetchTimeout",
30
+ /**
31
+ * SPO admin toggle: fluid service is not enabled.
32
+ */
33
+ fluidNotEnabled: "fluidNotEnabled",
34
+ /**
35
+ * This error will be raised when client is too behind with no way to catch up.
36
+ * This condition will happen when user was offline for too long, resulting in old ops / blobs being deleted
37
+ * by storage, and thus removing an ability for client to catch up.
38
+ * This condition will result in any local changes being lost (i.e. only way to save state is by user
39
+ * copying it over manually)
40
+ */
41
+ cannotCatchUp: "cannotCatchUp",
42
+ /**
43
+ * SPO can occasionally return 403 for r/w operations on document when there is a fail over to another data center.
44
+ * So to preserve integrity of the data, the data becomes readonly.
45
+ */
46
+ serviceReadOnly: "serviceReadOnly",
47
+ /**
48
+ * Due to organizational policies, you can't access server resources from the current network location.
49
+ */
50
+ blockedIPAddress: "blockedIPAddress",
51
+ };
52
+ //# sourceMappingURL=errors.js.map