@fluidframework/core-interfaces 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.1

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 (108) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +3 -6
  4. package/api-report/core-interfaces.api.md +69 -61
  5. package/dist/config.d.ts +35 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +7 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/core-interfaces-alpha.d.ts +105 -230
  10. package/dist/core-interfaces-beta.d.ts +109 -905
  11. package/dist/core-interfaces-public.d.ts +109 -905
  12. package/dist/core-interfaces-untrimmed.d.ts +120 -3
  13. package/dist/disposable.d.ts +1 -0
  14. package/dist/disposable.d.ts.map +1 -1
  15. package/dist/disposable.js.map +1 -1
  16. package/dist/error.d.ts +9 -0
  17. package/dist/error.d.ts.map +1 -1
  18. package/dist/error.js +1 -0
  19. package/dist/error.js.map +1 -1
  20. package/dist/events.d.ts +8 -1
  21. package/dist/events.d.ts.map +1 -1
  22. package/dist/events.js.map +1 -1
  23. package/dist/fluidLoadable.d.ts +16 -0
  24. package/dist/fluidLoadable.d.ts.map +1 -1
  25. package/dist/fluidLoadable.js +6 -0
  26. package/dist/fluidLoadable.js.map +1 -1
  27. package/dist/fluidPackage.d.ts +9 -0
  28. package/dist/fluidPackage.d.ts.map +1 -1
  29. package/dist/fluidPackage.js +3 -0
  30. package/dist/fluidPackage.js.map +1 -1
  31. package/dist/fluidRouter.d.ts +12 -0
  32. package/dist/fluidRouter.d.ts.map +1 -1
  33. package/dist/fluidRouter.js +1 -0
  34. package/dist/fluidRouter.js.map +1 -1
  35. package/dist/handles.d.ts +14 -0
  36. package/dist/handles.d.ts.map +1 -1
  37. package/dist/handles.js +6 -0
  38. package/dist/handles.js.map +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/logger.d.ts +16 -0
  43. package/dist/logger.d.ts.map +1 -1
  44. package/dist/logger.js +1 -0
  45. package/dist/logger.js.map +1 -1
  46. package/dist/provider.d.ts +3 -2
  47. package/dist/provider.d.ts.map +1 -1
  48. package/dist/provider.js.map +1 -1
  49. package/lib/config.d.ts +35 -0
  50. package/lib/config.d.ts.map +1 -0
  51. package/lib/config.js +7 -0
  52. package/lib/config.js.map +1 -0
  53. package/lib/core-interfaces-alpha.d.ts +105 -230
  54. package/lib/core-interfaces-beta.d.ts +109 -905
  55. package/lib/core-interfaces-public.d.ts +109 -905
  56. package/lib/core-interfaces-untrimmed.d.ts +120 -3
  57. package/lib/disposable.d.ts +1 -0
  58. package/lib/disposable.d.ts.map +1 -1
  59. package/lib/disposable.js +2 -1
  60. package/lib/disposable.js.map +1 -1
  61. package/lib/error.d.ts +9 -0
  62. package/lib/error.d.ts.map +1 -1
  63. package/lib/error.js +5 -1
  64. package/lib/error.js.map +1 -1
  65. package/lib/events.d.ts +8 -1
  66. package/lib/events.d.ts.map +1 -1
  67. package/lib/events.js +2 -1
  68. package/lib/events.js.map +1 -1
  69. package/lib/fluidLoadable.d.ts +16 -0
  70. package/lib/fluidLoadable.d.ts.map +1 -1
  71. package/lib/fluidLoadable.js +11 -2
  72. package/lib/fluidLoadable.js.map +1 -1
  73. package/lib/fluidPackage.d.ts +9 -0
  74. package/lib/fluidPackage.d.ts.map +1 -1
  75. package/lib/fluidPackage.js +12 -4
  76. package/lib/fluidPackage.js.map +1 -1
  77. package/lib/fluidRouter.d.ts +12 -0
  78. package/lib/fluidRouter.d.ts.map +1 -1
  79. package/lib/fluidRouter.js +5 -1
  80. package/lib/fluidRouter.js.map +1 -1
  81. package/lib/handles.d.ts +14 -0
  82. package/lib/handles.d.ts.map +1 -1
  83. package/lib/handles.js +11 -2
  84. package/lib/handles.js.map +1 -1
  85. package/lib/index.d.ts +1 -0
  86. package/lib/index.d.ts.map +1 -1
  87. package/lib/index.js +19 -6
  88. package/lib/index.js.map +1 -1
  89. package/lib/logger.d.ts +16 -0
  90. package/lib/logger.d.ts.map +1 -1
  91. package/lib/logger.js +5 -1
  92. package/lib/logger.js.map +1 -1
  93. package/lib/provider.d.ts +3 -2
  94. package/lib/provider.d.ts.map +1 -1
  95. package/lib/provider.js +2 -1
  96. package/lib/provider.js.map +1 -1
  97. package/package.json +8 -5
  98. package/src/config.ts +36 -0
  99. package/src/disposable.ts +1 -0
  100. package/src/error.ts +9 -0
  101. package/src/events.ts +8 -1
  102. package/src/fluidLoadable.ts +16 -0
  103. package/src/fluidPackage.ts +9 -0
  104. package/src/fluidRouter.ts +12 -0
  105. package/src/handles.ts +14 -0
  106. package/src/index.ts +1 -0
  107. package/src/logger.ts +16 -0
  108. package/src/provider.ts +3 -2
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Types supported by {@link IConfigProviderBase}.
3
+ * @alpha
4
+ */
5
+ export declare type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
6
+
1
7
  /**
2
8
  * Allows an interface to extend interfaces that already extend an {@link IEventProvider}.
3
9
  *
@@ -20,37 +26,11 @@
20
26
  * ```
21
27
  *
22
28
  * interface B will now extend interface A and its events
23
- *
29
+ * @alpha
24
30
  */
25
31
  export declare type ExtendEventProvider<TBaseEvent extends IEvent, TBase extends IEventProvider<TBaseEvent>, TEvent extends TBaseEvent> = Omit<Omit<Omit<TBase, "on">, "once">, "off"> & IEventProvider<TBaseEvent> & IEventProvider<TEvent>;
26
32
 
27
- /**
28
- * Error types the Fluid Framework may report.
29
- */
30
- export declare const FluidErrorTypes: {
31
- /**
32
- * Some error, most likely an exception caught by runtime and propagated to container as critical error
33
- */
34
- readonly genericError: "genericError";
35
- /**
36
- * Throttling error from server. Server is busy and is asking not to reconnect for some time
37
- */
38
- readonly throttlingError: "throttlingError";
39
- /**
40
- * Data loss error detected by Container / DeltaManager. Likely points to storage issue.
41
- */
42
- readonly dataCorruptionError: "dataCorruptionError";
43
- /**
44
- * Error encountered when processing an operation. May correlate with data corruption.
45
- */
46
- readonly dataProcessingError: "dataProcessingError";
47
- /**
48
- * Error indicating an API is being used improperly resulting in an invalid operation.
49
- */
50
- readonly usageError: "usageError";
51
- };
52
-
53
- export declare type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof FluidErrorTypes];
33
+ /* Excluded from this release type: FluidErrorTypes */
54
34
 
55
35
  /**
56
36
  * This utility type take interface(s) that follow the FluidObject pattern, and produces
@@ -83,7 +63,7 @@ export declare type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof Flui
83
63
  *
84
64
  * You can inspect multiple types via a intersection. For example:
85
65
  * `FluidObject<IFoo & IBar>`
86
- *
66
+ * @alpha
87
67
  */
88
68
  export declare type FluidObject<T = unknown> = {
89
69
  [P in FluidObjectProviderKeys<T>]?: T[P];
@@ -96,7 +76,7 @@ export declare type FluidObject<T = unknown> = {
96
76
  * See {@link FluidObject}
97
77
  *
98
78
  * For example `FluidObjectKeys<IFoo & IBar>` would result in `"IFoo" | "IBar"`
99
- *
79
+ * @alpha
100
80
  */
101
81
  export declare type FluidObjectKeys<T> = keyof FluidObject<T>;
102
82
 
@@ -124,11 +104,39 @@ export declare type FluidObjectKeys<T> = keyof FluidObject<T>;
124
104
  *
125
105
  * This pattern enables discovery, and delegation in a standard way which is central
126
106
  * to FluidObject pattern.
107
+ * @alpha
127
108
  */
128
109
  export declare type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
129
110
 
111
+ /**
112
+ * Base interface for providing configurations to enable/disable/control features.
113
+ * @alpha
114
+ */
115
+ export declare interface IConfigProviderBase {
116
+ /**
117
+ * For the specified config name this function gets the value.
118
+ *
119
+ * This type is meant be easy to implement by Fluid Framework consumers
120
+ * so the returned valued needs minimal type coercion, and allows consumers to
121
+ * return values in a natural way from whatever source they retrieve them.
122
+ *
123
+ * For instance a value of 1 maybe be returned as a string or a number.
124
+ * For array types a json string or an object are allowable.
125
+ *
126
+ * It should return undefined if there is no value available for the config name.
127
+ *
128
+ * @param name - The name of the config to get the value for.
129
+ *
130
+ * @privateRemarks Generally, this type should only be taken as input, and be wrapped by an
131
+ * internal monitoring context from the fluidframework/telemetry-utils package. That will provide
132
+ * a wrapper with provides strongly typed access to values via consistent type coercion.
133
+ */
134
+ getRawConfig(name: string): ConfigTypes;
135
+ }
136
+
130
137
  /**
131
138
  * Base interface for objects that require lifetime management via explicit disposal.
139
+ * @alpha
132
140
  */
133
141
  export declare interface IDisposable {
134
142
  /**
@@ -153,6 +161,8 @@ export declare interface IDisposable {
153
161
  * those from container-definitions. Once fully migrated, this will be a base interface for all errors and
154
162
  * warnings emitted by the Fluid Framework. Currently only the container layer is using IErrorBase.
155
163
  * Runtime and others will follow soon.
164
+ *
165
+ * @alpha
156
166
  */
157
167
  export declare interface IErrorBase extends Partial<Error> {
158
168
  /**
@@ -191,6 +201,7 @@ export declare interface IErrorBase extends Partial<Error> {
191
201
 
192
202
  /**
193
203
  * Base interface for error event emitters.
204
+ * @alpha
194
205
  */
195
206
  export declare interface IErrorEvent extends IEvent {
196
207
  /**
@@ -203,6 +214,7 @@ export declare interface IErrorEvent extends IEvent {
203
214
 
204
215
  /**
205
216
  * Base interface for event emitters.
217
+ * @alpha
206
218
  */
207
219
  export declare interface IEvent {
208
220
  /**
@@ -220,6 +232,7 @@ export declare interface IEvent {
220
232
 
221
233
  /**
222
234
  * Base interface for event providers.
235
+ * @alpha
223
236
  */
224
237
  export declare interface IEventProvider<TEvent extends IEvent> {
225
238
  /**
@@ -238,6 +251,7 @@ export declare interface IEventProvider<TEvent extends IEvent> {
238
251
 
239
252
  /**
240
253
  * The placeholder type that should be used instead of `this` in events.
254
+ * @alpha
241
255
  */
242
256
  export declare type IEventThisPlaceHolder = {
243
257
  thisPlaceHolder: "thisPlaceHolder";
@@ -251,6 +265,7 @@ export declare type IEventThisPlaceHolder = {
251
265
  * It currently supports the max of 15 event overloads which is more than we use anywhere.
252
266
  * At more than 15 overloads we start to hit {@link https://github.com/microsoft/TypeScript/issues/37209 | TS2589}.
253
267
  * If we need to move beyond 15 we should evaluate using a mapped type pattern like `{"event":(listenerArgs)=>void}`
268
+ * @alpha
254
269
  */
255
270
  export declare type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
256
271
  (event: infer E0, listener: (...args: infer A0) => void): any;
@@ -404,75 +419,20 @@ export declare type IEventTransformer<TThis, TEvent extends IEvent> = TEvent ext
404
419
  (event: string, listener: (...args: any[]) => void): any;
405
420
  } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
406
421
 
407
- /**
408
- * Data structure used to describe the code to load on the Fluid document.
409
- *
410
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetails}
411
- * to have code loading modules in same package.
412
- */
413
- export declare interface IFluidCodeDetails {
414
- /**
415
- * The code package to be used on the Fluid document. This is either the package name which will be loaded
416
- * from a package manager. Or the expanded Fluid package.
417
- */
418
- readonly package: string | Readonly<IFluidPackage>;
419
- /**
420
- * Configuration details. This includes links to the package manager and base CDNs.
421
- */
422
- readonly config?: IFluidCodeDetailsConfig;
423
- }
422
+ /* Excluded from this release type: IFluidCodeDetails */
424
423
 
425
- /**
426
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsComparer}
427
- * to have code loading modules in same package.
428
- */
429
- export declare const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer;
424
+ /* Excluded from this release type: IFluidCodeDetailsComparer */
430
425
 
431
- /**
432
- * Provides capability to compare Fluid code details.
433
- *
434
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsComparer}
435
- * to have code loading modules in same package.
436
- */
437
- export declare interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
438
- /**
439
- * Determines if the `candidate` code details satisfy the constraints specified in `constraint` code details.
440
- *
441
- * Similar semantics to:
442
- * {@link https://github.com/npm/node-semver#usage}
443
- */
444
- satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
445
- /**
446
- * Returns a number representing the ascending sort order of the `a` and `b` code details:
447
- *
448
- * - `< 0` if `a < b`.
449
- *
450
- * - `= 0` if `a === b`.
451
- *
452
- * - `> 0` if `a > b`.
453
- *
454
- * - `undefined` if `a` is not comparable to `b`.
455
- *
456
- * Similar semantics to:
457
- * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description | Array.sort}
458
- */
459
- compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
460
- }
426
+ /* Excluded from this release type: IFluidCodeDetailsConfig */
461
427
 
462
428
  /**
463
- * Package manager configuration. Provides a key value mapping of config values.
464
- *
465
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsConfig}
466
- * to have code loading modules in same package.
429
+ * @alpha
467
430
  */
468
- export declare interface IFluidCodeDetailsConfig {
469
- readonly [key: string]: string;
470
- }
471
-
472
431
  export declare const IFluidHandle: keyof IProvideFluidHandle;
473
432
 
474
433
  /**
475
434
  * Handle to a shared {@link FluidObject}.
435
+ * @alpha
476
436
  */
477
437
  export declare interface IFluidHandle<T = FluidObject & IFluidLoadable> extends IProvideFluidHandle {
478
438
  /**
@@ -504,10 +464,14 @@ export declare interface IFluidHandle<T = FluidObject & IFluidLoadable> extends
504
464
  bind(handle: IFluidHandle): void;
505
465
  }
506
466
 
467
+ /**
468
+ * @alpha
469
+ */
507
470
  export declare const IFluidHandleContext: keyof IProvideFluidHandleContext;
508
471
 
509
472
  /**
510
473
  * Describes a routing context from which other `IFluidHandleContext`s are defined.
474
+ * @alpha
511
475
  */
512
476
  export declare interface IFluidHandleContext extends IProvideFluidHandleContext {
513
477
  /**
@@ -530,130 +494,62 @@ export declare interface IFluidHandleContext extends IProvideFluidHandleContext
530
494
  resolveHandle(request: IRequest): Promise<IResponse>;
531
495
  }
532
496
 
497
+ /**
498
+ * @alpha
499
+ */
533
500
  export declare const IFluidLoadable: keyof IProvideFluidLoadable;
534
501
 
535
502
  /**
536
503
  * A shared FluidObject has a URL from which it can be referenced
504
+ * @alpha
537
505
  */
538
506
  export declare interface IFluidLoadable extends IProvideFluidLoadable {
539
507
  handle: IFluidHandle;
540
508
  }
541
509
 
542
- /**
543
- * Fluid-specific properties expected on a package to be loaded by the code loader.
544
- * While compatible with the npm package format it is not necessary that that package is an
545
- * npm package:
546
- * {@link https://stackoverflow.com/questions/10065564/add-custom-metadata-or-config-to-package-json-is-it-valid}
547
- *
548
- * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackage}
549
- * to have code loading modules in same package.
550
- */
551
- export declare interface IFluidPackage {
552
- /**
553
- * The name of the package that this code represnets
554
- */
555
- name: string;
556
- /**
557
- * This object represents the Fluid specific properties of the package
558
- */
559
- fluid: {
560
- /**
561
- * The name of the of the environment. This should be something like browser, or node
562
- * and contain the necessary targets for loading this code in that environment.
563
- */
564
- [environment: string]: undefined | IFluidPackageEnvironment;
565
- };
566
- /**
567
- * General access for extended fields as specific usages will
568
- * likely have additional infornamation like a definition of
569
- * compatible versions, or deployment information like rings or rollouts.
570
- */
571
- [key: string]: unknown;
572
- }
510
+ /* Excluded from this release type: IFluidPackage */
573
511
 
574
- /**
575
- * Specifies an environment on Fluid property of an {@link IFluidPackage}.
576
- *
577
- * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackageEnvironment}
578
- * to have code loading modules in same package.
579
- */
580
- export declare interface IFluidPackageEnvironment {
581
- /**
582
- * The name of the target. For a browser environment, this could be umd for scripts
583
- * or css for styles.
584
- */
585
- [target: string]: undefined | {
586
- /**
587
- * List of files for the target. These can be relative or absolute.
588
- * The code loader should resolve relative paths, and validate all
589
- * full urls.
590
- */
591
- files: string[];
592
- /**
593
- * General access for extended fields as specific usages will
594
- * likely have additional infornamation like a definition
595
- * of Library, the entrypoint for umd packages
596
- */
597
- [key: string]: unknown;
598
- };
599
- }
512
+ /* Excluded from this release type: IFluidPackageEnvironment */
600
513
 
601
514
  /**
602
515
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
516
+ * @alpha
603
517
  */
604
518
  export declare const IFluidRouter: keyof IProvideFluidRouter;
605
519
 
606
520
  /**
607
521
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
522
+ * @alpha
608
523
  */
609
524
  export declare interface IFluidRouter extends IProvideFluidRouter {
610
525
  request(request: IRequest): Promise<IResponse>;
611
526
  }
612
527
 
613
- export declare const IFluidRunnable: keyof IProvideFluidRunnable;
528
+ /* Excluded from this release type: IFluidRunnable */
614
529
 
615
- export declare interface IFluidRunnable {
616
- run(...args: any[]): Promise<void>;
617
- stop(reason?: string): void;
618
- }
530
+ /* Excluded from this release type: IGenericError */
619
531
 
620
- /**
621
- * Generic wrapper for an unrecognized/uncategorized error object
622
- */
623
- export declare interface IGenericError extends IErrorBase {
624
- /**
625
- * {@inheritDoc IErrorBase.errorType}
626
- */
627
- readonly errorType: typeof FluidErrorTypes.genericError;
628
- error?: any;
629
- }
532
+ /* Excluded from this release type: ILoggingError */
630
533
 
631
- /**
632
- * An error object that supports exporting its properties to be logged to telemetry
633
- */
634
- export declare interface ILoggingError extends Error {
635
- /**
636
- * Return all properties from this object that should be logged to telemetry
637
- */
638
- getTelemetryProperties(): ITelemetryBaseProperties;
639
- }
534
+ /* Excluded from this release type: IProvideFluidCodeDetailsComparer */
640
535
 
641
536
  /**
642
- * @deprecated in favor of {@link @fluidframework/container-definitions#IProvideFluidCodeDetailsComparer}
643
- * to have code loading modules in same package.
537
+ * @alpha
644
538
  */
645
- export declare interface IProvideFluidCodeDetailsComparer {
646
- readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
647
- }
648
-
649
539
  export declare interface IProvideFluidHandle {
650
540
  readonly IFluidHandle: IFluidHandle;
651
541
  }
652
542
 
543
+ /**
544
+ * @alpha
545
+ */
653
546
  export declare interface IProvideFluidHandleContext {
654
547
  readonly IFluidHandleContext: IFluidHandleContext;
655
548
  }
656
549
 
550
+ /**
551
+ * @alpha
552
+ */
657
553
  export declare interface IProvideFluidLoadable {
658
554
  readonly IFluidLoadable: IFluidLoadable;
659
555
  }
@@ -661,24 +557,32 @@ export declare interface IProvideFluidLoadable {
661
557
  /**
662
558
  * Request routing
663
559
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
560
+ * @alpha
664
561
  */
665
562
  export declare interface IProvideFluidRouter {
666
563
  readonly IFluidRouter: IFluidRouter;
667
564
  }
668
565
 
669
- export declare interface IProvideFluidRunnable {
670
- readonly IFluidRunnable: IFluidRunnable;
671
- }
566
+ /* Excluded from this release type: IProvideFluidRunnable */
672
567
 
568
+ /**
569
+ * @alpha
570
+ */
673
571
  export declare interface IRequest {
674
572
  url: string;
675
573
  headers?: IRequestHeader;
676
574
  }
677
575
 
576
+ /**
577
+ * @alpha
578
+ */
678
579
  export declare interface IRequestHeader {
679
580
  [index: string]: any;
680
581
  }
681
582
 
583
+ /**
584
+ * @alpha
585
+ */
682
586
  export declare interface IResponse {
683
587
  mimeType: string;
684
588
  status: number;
@@ -689,37 +593,18 @@ export declare interface IResponse {
689
593
  stack?: string;
690
594
  }
691
595
 
692
- /**
693
- * @deprecated in favor of {@link @fluidframework/container-definitions#isFluidCodeDetails}
694
- * to have code loading modules in same package.
695
- */
696
- export declare const isFluidCodeDetails: (details: unknown) => details is Readonly<IFluidCodeDetails>;
596
+ /* Excluded from this release type: isFluidCodeDetails */
697
597
 
698
- /**
699
- * Check if the package.json defines a Fluid package.
700
- *
701
- * @deprecated in favor of {@link @fluidframework/container-definitions#isFluidPackage}
702
- * to have code loading modules in same package.
703
- *
704
- * @param pkg - The package json data to check if it is a Fluid package.
705
- */
706
- export declare const isFluidPackage: (pkg: unknown) => pkg is Readonly<IFluidPackage>;
598
+ /* Excluded from this release type: isFluidPackage */
707
599
 
708
- /**
709
- * @see {@link Tagged} for info on tagging
710
- *
711
- * @deprecated Use Tagged\<TelemetryBaseEventPropertyType\>
712
- */
713
- export declare interface ITaggedTelemetryPropertyType {
714
- value: TelemetryEventPropertyType;
715
- tag: string;
716
- }
600
+ /* Excluded from this release type: ITaggedTelemetryPropertyType */
717
601
 
718
602
  /**
719
603
  * Base interface for logging telemetry statements.
720
604
  * Can contain any number of properties that get serialized as json payload.
721
605
  * @param category - category of the event, like "error", "performance", "generic", etc.
722
606
  * @param eventName - name of the event.
607
+ * @alpha
723
608
  */
724
609
  export declare interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
725
610
  category: string;
@@ -729,6 +614,7 @@ export declare interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
729
614
  /**
730
615
  * Interface to output telemetry events.
731
616
  * Implemented by hosting app / loader
617
+ * @alpha
732
618
  */
733
619
  export declare interface ITelemetryBaseLogger {
734
620
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
@@ -737,6 +623,7 @@ export declare interface ITelemetryBaseLogger {
737
623
 
738
624
  /**
739
625
  * JSON-serializable properties, which will be logged with telemetry.
626
+ * @alpha
740
627
  */
741
628
  export declare type ITelemetryBaseProperties = ITelemetryProperties;
742
629
 
@@ -746,6 +633,7 @@ export declare type ITelemetryBaseProperties = ITelemetryProperties;
746
633
  *
747
634
  * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
748
635
  * No replacement intended for FluidFramework consumers.
636
+ * @alpha
749
637
  */
750
638
  export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
751
639
  eventName: string;
@@ -757,6 +645,7 @@ export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
757
645
  *
758
646
  * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
759
647
  * No replacement intended for FluidFramework consumers.
648
+ * @alpha
760
649
  */
761
650
  export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
762
651
  eventName: string;
@@ -770,6 +659,7 @@ export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
770
659
  *
771
660
  * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
772
661
  * No replacement intended for FluidFramework consumers.
662
+ * @alpha
773
663
  */
774
664
  export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
775
665
  /**
@@ -807,6 +697,7 @@ export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
807
697
  *
808
698
  * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
809
699
  * No replacement intended for FluidFramework consumers.
700
+ * @alpha
810
701
  */
811
702
  export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
812
703
  duration?: number;
@@ -816,34 +707,19 @@ export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEve
816
707
  * {@inheritDoc ITelemetryBaseProperties}
817
708
  *
818
709
  * @deprecated Renamed to {@link ITelemetryBaseProperties}
710
+ * @alpha
819
711
  */
820
712
  export declare interface ITelemetryProperties {
821
713
  [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
822
714
  }
823
715
 
824
- /**
825
- * Warning emitted when requests to storage are being throttled
826
- */
827
- export declare interface IThrottlingWarning extends IErrorBase {
828
- /**
829
- * {@inheritDoc IErrorBase.errorType}
830
- */
831
- readonly errorType: typeof FluidErrorTypes.throttlingError;
832
- readonly retryAfterSeconds: number;
833
- }
716
+ /* Excluded from this release type: IThrottlingWarning */
834
717
 
835
- /**
836
- * Error indicating an API is being used improperly resulting in an invalid operation.
837
- */
838
- export declare interface IUsageError extends IErrorBase {
839
- /**
840
- * {@inheritDoc IErrorBase.errorType}
841
- */
842
- readonly errorType: typeof FluidErrorTypes.usageError;
843
- }
718
+ /* Excluded from this release type: IUsageError */
844
719
 
845
720
  /**
846
721
  * Specify levels of the logs.
722
+ * @alpha
847
723
  */
848
724
  export declare const LogLevel: {
849
725
  readonly verbose: 10;
@@ -853,11 +729,13 @@ export declare const LogLevel: {
853
729
 
854
730
  /**
855
731
  * Specify a level to the log to filter out logs based on the level.
732
+ * @alpha
856
733
  */
857
734
  export declare type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
858
735
 
859
736
  /**
860
737
  * Does the type replacement by changing types of {@link IEventThisPlaceHolder} to `TThis`
738
+ * @alpha
861
739
  */
862
740
  export declare type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
863
741
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
@@ -869,25 +747,20 @@ export declare type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L ext
869
747
  *
870
748
  * This indicates that the value should be organized or handled differently by loggers in various first or third
871
749
  * party scenarios. For example, tags are used to mark data that should not be stored in logs for privacy reasons.
750
+ * @alpha
872
751
  */
873
752
  export declare interface Tagged<V, T extends string = string> {
874
753
  value: V;
875
754
  tag: T;
876
755
  }
877
756
 
878
- /**
879
- * Property types that can be logged.
880
- *
881
- * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
882
- * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
883
- * General best practice is to explicitly log the fields you care about from objects.
884
- */
885
- export declare type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
757
+ /* Excluded from this release type: TelemetryBaseEventPropertyType */
886
758
 
887
759
  /**
888
760
  * Examples of known categories, however category can be any string for extensibility.
889
761
  *
890
762
  * @deprecated Moved to \@fluidframework/telemetry-utils package
763
+ * @alpha
891
764
  */
892
765
  export declare type TelemetryEventCategory = "generic" | "error" | "performance";
893
766
 
@@ -895,12 +768,14 @@ export declare type TelemetryEventCategory = "generic" | "error" | "performance"
895
768
  * {@inheritDoc TelemetryBaseEventPropertyType}
896
769
  *
897
770
  * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
771
+ * @alpha
898
772
  */
899
773
  export declare type TelemetryEventPropertyType = string | number | boolean | undefined;
900
774
 
901
775
  /**
902
776
  * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener
903
777
  * arguments and having the overload return `TTHis` as well
778
+ * @alpha
904
779
  */
905
780
  export declare type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
906
781