@fluidframework/core-interfaces 2.0.0-dev-rc.1.0.0.232845 → 2.0.0-dev-rc.2.0.0.245554

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 (120) hide show
  1. package/.eslintrc.cjs +5 -1
  2. package/CHANGELOG.md +36 -0
  3. package/Removing-IFluidRouter.md +1 -1
  4. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  5. package/api-extractor.json +1 -1
  6. package/api-report/core-interfaces.api.md +4 -50
  7. package/dist/core-interfaces-alpha.d.ts +5 -103
  8. package/dist/core-interfaces-beta.d.ts +9 -99
  9. package/dist/core-interfaces-public.d.ts +9 -99
  10. package/dist/core-interfaces-untrimmed.d.ts +5 -112
  11. package/dist/error.d.ts +1 -1
  12. package/dist/error.d.ts.map +1 -1
  13. package/dist/error.js.map +1 -1
  14. package/dist/fluidLoadable.d.ts +1 -1
  15. package/dist/fluidLoadable.d.ts.map +1 -1
  16. package/dist/fluidLoadable.js.map +1 -1
  17. package/dist/handles.d.ts +3 -3
  18. package/dist/handles.d.ts.map +1 -1
  19. package/dist/handles.js.map +1 -1
  20. package/dist/index.d.ts +16 -19
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +14 -14
  23. package/dist/index.js.map +1 -1
  24. package/dist/logger.d.ts +8 -96
  25. package/dist/logger.d.ts.map +1 -1
  26. package/dist/logger.js.map +1 -1
  27. package/dist/package.json +3 -0
  28. package/dist/tsdoc-metadata.json +1 -1
  29. package/lib/{config.d.mts → config.d.ts} +1 -1
  30. package/lib/config.d.ts.map +1 -0
  31. package/lib/{events.mjs → config.js} +1 -1
  32. package/lib/config.js.map +1 -0
  33. package/lib/{core-interfaces-alpha.d.mts → core-interfaces-alpha.d.ts} +5 -103
  34. package/lib/{core-interfaces-beta.d.mts → core-interfaces-beta.d.ts} +9 -99
  35. package/lib/{core-interfaces-public.d.mts → core-interfaces-public.d.ts} +9 -99
  36. package/lib/{core-interfaces-untrimmed.d.mts → core-interfaces-untrimmed.d.ts} +5 -112
  37. package/lib/{disposable.d.mts → disposable.d.ts} +1 -1
  38. package/lib/disposable.d.ts.map +1 -0
  39. package/lib/disposable.js +6 -0
  40. package/lib/disposable.js.map +1 -0
  41. package/lib/{error.d.mts → error.d.ts} +2 -2
  42. package/lib/error.d.ts.map +1 -0
  43. package/lib/{error.mjs → error.js} +1 -1
  44. package/lib/error.js.map +1 -0
  45. package/lib/{events.d.mts → events.d.ts} +1 -1
  46. package/lib/events.d.ts.map +1 -0
  47. package/lib/{config.mjs → events.js} +1 -1
  48. package/lib/events.js.map +1 -0
  49. package/lib/{fluidLoadable.d.mts → fluidLoadable.d.ts} +2 -2
  50. package/lib/fluidLoadable.d.ts.map +1 -0
  51. package/lib/{fluidLoadable.mjs → fluidLoadable.js} +1 -1
  52. package/lib/fluidLoadable.js.map +1 -0
  53. package/lib/{fluidPackage.d.mts → fluidPackage.d.ts} +1 -1
  54. package/lib/fluidPackage.d.ts.map +1 -0
  55. package/lib/{fluidPackage.mjs → fluidPackage.js} +1 -1
  56. package/lib/fluidPackage.js.map +1 -0
  57. package/lib/{fluidRouter.d.mts → fluidRouter.d.ts} +1 -1
  58. package/lib/fluidRouter.d.ts.map +1 -0
  59. package/lib/{disposable.mjs → fluidRouter.js} +1 -1
  60. package/lib/fluidRouter.js.map +1 -0
  61. package/lib/{handles.d.mts → handles.d.ts} +4 -4
  62. package/lib/handles.d.ts.map +1 -0
  63. package/lib/{handles.mjs → handles.js} +1 -1
  64. package/lib/handles.js.map +1 -0
  65. package/lib/index.d.ts +21 -0
  66. package/lib/index.d.ts.map +1 -0
  67. package/lib/index.js +10 -0
  68. package/lib/index.js.map +1 -0
  69. package/lib/logger.d.ts +92 -0
  70. package/lib/logger.d.ts.map +1 -0
  71. package/lib/{logger.mjs → logger.js} +1 -1
  72. package/lib/logger.js.map +1 -0
  73. package/lib/{messages.d.mts → messages.d.ts} +1 -1
  74. package/lib/messages.d.ts.map +1 -0
  75. package/lib/{provider.mjs → messages.js} +1 -1
  76. package/lib/messages.js.map +1 -0
  77. package/lib/{provider.d.mts → provider.d.ts} +1 -1
  78. package/lib/provider.d.ts.map +1 -0
  79. package/lib/{messages.mjs → provider.js} +1 -1
  80. package/lib/provider.js.map +1 -0
  81. package/lib/test/types/fluidObjectTypes.js +95 -0
  82. package/lib/test/types/fluidObjectTypes.js.map +1 -0
  83. package/lib/test/types/validateCoreInterfacesPrevious.generated.js +106 -0
  84. package/lib/test/types/validateCoreInterfacesPrevious.generated.js.map +1 -0
  85. package/package.json +81 -17
  86. package/src/error.ts +1 -1
  87. package/src/fluidLoadable.ts +1 -1
  88. package/src/handles.ts +3 -3
  89. package/src/index.ts +17 -40
  90. package/src/logger.ts +8 -119
  91. package/tsconfig.cjs.json +7 -0
  92. package/tsconfig.json +2 -5
  93. package/lib/config.d.mts.map +0 -1
  94. package/lib/config.mjs.map +0 -1
  95. package/lib/disposable.d.mts.map +0 -1
  96. package/lib/disposable.mjs.map +0 -1
  97. package/lib/error.d.mts.map +0 -1
  98. package/lib/error.mjs.map +0 -1
  99. package/lib/events.d.mts.map +0 -1
  100. package/lib/events.mjs.map +0 -1
  101. package/lib/fluidLoadable.d.mts.map +0 -1
  102. package/lib/fluidLoadable.mjs.map +0 -1
  103. package/lib/fluidPackage.d.mts.map +0 -1
  104. package/lib/fluidPackage.mjs.map +0 -1
  105. package/lib/fluidRouter.d.mts.map +0 -1
  106. package/lib/fluidRouter.mjs +0 -6
  107. package/lib/fluidRouter.mjs.map +0 -1
  108. package/lib/handles.d.mts.map +0 -1
  109. package/lib/handles.mjs.map +0 -1
  110. package/lib/index.d.mts +0 -24
  111. package/lib/index.d.mts.map +0 -1
  112. package/lib/index.mjs +0 -10
  113. package/lib/index.mjs.map +0 -1
  114. package/lib/logger.d.mts +0 -180
  115. package/lib/logger.d.mts.map +0 -1
  116. package/lib/logger.mjs.map +0 -1
  117. package/lib/messages.d.mts.map +0 -1
  118. package/lib/messages.mjs.map +0 -1
  119. package/lib/provider.d.mts.map +0 -1
  120. package/lib/provider.mjs.map +0 -1
package/.eslintrc.cjs CHANGED
@@ -4,8 +4,12 @@
4
4
  */
5
5
 
6
6
  module.exports = {
7
- extends: [require.resolve("@fluidframework/eslint-config-fluid"), "prettier"],
7
+ extends: [require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"],
8
8
  parserOptions: {
9
9
  project: ["./tsconfig.json", "./src/test/tsconfig.json"],
10
10
  },
11
+ rules: {
12
+ // TODO: Enabling this may require breaking changes.
13
+ "@typescript-eslint/consistent-indexed-object-style": "off",
14
+ },
11
15
  };
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @fluidframework/core-interfaces
2
2
 
3
+ ## 2.0.0-rc.2.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - core-interfaces: Removed ITelemetryProperties, TelemetryEventCategory, TelemetryEventPropertyType, and ITaggedTelemetryPropertyType ([#19752](https://github.com/microsoft/FluidFramework/issues/19752)) [615a7712e6](https://github.com/microsoft/FluidFramework/commits/615a7712e67885c6cda69ddd907cb5cc708eef18)
8
+
9
+ The `ITelemetryProperties` interface was deprecated and has been removed.
10
+ Use the identical `ITelemetryBaseProperties` instead.
11
+
12
+ The `TelemetryEventCategory` type was deprecated and has been removed from `@fluidframework/core-interfaces`, since
13
+ it had moved to `@fluidframework/telemetry-utils` in the past.
14
+
15
+ The `TelemetryEventPropertyType` type alias was deprecated and has been removed.
16
+ Use the identical `TelemetryBaseEventPropertyType` instead.
17
+
18
+ The `ITaggedTelemetryPropertyType` interface was deprecated and has been removed.
19
+ Use `Tagged<TelemetryBaseEventPropertyType>` instead.
20
+
21
+ - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
22
+
23
+ Added `containerMetadata` prop on IContainer interface.
24
+
25
+ - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
26
+
27
+ The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
28
+
29
+ - core-interfaces: Removed deprecated telemetry event types ([#19740](https://github.com/microsoft/FluidFramework/issues/19740)) [0ff130a50e](https://github.com/microsoft/FluidFramework/commits/0ff130a50e9bcccb119673ac985ea27fa38de463)
30
+
31
+ The deprecated `ITelemetryErrorEvent`, `ITelemetryGenericEvent`, and `ITelemetryPerformanceEvent` interfaces,
32
+ which represented different kinds of telemetry events, were not intended for consumers of Fluid Framework and have thus
33
+ been removed.
34
+ `ITelemetryBaseEvent` is the only telemetry event interface that should be used in/by consuming code.
35
+
36
+ `ITelemetryLogger` was not intended for consumers of Fluid Framework and has been removed.
37
+ Consumers should use the simpler `ITelemetryBaseLogger` instead.
38
+
3
39
  ## 2.0.0-rc.1.0.0
4
40
 
5
41
  Dependency updates only.
@@ -109,7 +109,7 @@ const dataStore = await containerRuntime.createDataStore(TestDataObjectType);
109
109
  await dataStore.trySetAlias(alias);
110
110
 
111
111
  const entryPoint: IFluidHandle<ITestDataObject> | undefined =
112
- await containerRuntime.getRootDataStore(alias);
112
+ await containerRuntime.getAliasedDataStoreEntryPoint(alias);
113
113
  const retrievedDataStore = await entryPoint?.get();
114
114
  ```
115
115
 
@@ -1,4 +1,8 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base-esm.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
4
+ // CJS is actually secondary; so, no report.
5
+ "apiReport": {
6
+ "enabled": false
7
+ }
4
8
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
4
4
  }
@@ -404,14 +404,6 @@ export interface ISignalEnvelope {
404
404
  };
405
405
  }
406
406
 
407
- // @internal @deprecated (undocumented)
408
- export interface ITaggedTelemetryPropertyType {
409
- // (undocumented)
410
- tag: string;
411
- // (undocumented)
412
- value: TelemetryEventPropertyType;
413
- }
414
-
415
407
  // @public
416
408
  export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
417
409
  // (undocumented)
@@ -429,40 +421,8 @@ export interface ITelemetryBaseLogger {
429
421
  }
430
422
 
431
423
  // @public
432
- export type ITelemetryBaseProperties = ITelemetryProperties;
433
-
434
- // @public @deprecated
435
- export interface ITelemetryErrorEvent extends ITelemetryProperties {
436
- // (undocumented)
437
- eventName: string;
438
- }
439
-
440
- // @public @deprecated
441
- export interface ITelemetryGenericEvent extends ITelemetryProperties {
442
- // (undocumented)
443
- category?: TelemetryEventCategory;
444
- // (undocumented)
445
- eventName: string;
446
- }
447
-
448
- // @public @deprecated
449
- export interface ITelemetryLogger extends ITelemetryBaseLogger {
450
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
451
- sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
452
- sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
453
- sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
454
- }
455
-
456
- // @public @deprecated
457
- export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
458
- // (undocumented)
459
- duration?: number;
460
- }
461
-
462
- // @public @deprecated
463
- export interface ITelemetryProperties {
464
- // (undocumented)
465
- [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
424
+ export interface ITelemetryBaseProperties {
425
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
466
426
  }
467
427
 
468
428
  // @alpha
@@ -500,14 +460,8 @@ export interface Tagged<V, T extends string = string> {
500
460
  value: V;
501
461
  }
502
462
 
503
- // @alpha
504
- export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
505
-
506
- // @public @deprecated
507
- export type TelemetryEventCategory = "generic" | "error" | "performance";
508
-
509
- // @public @deprecated
510
- export type TelemetryEventPropertyType = string | number | boolean | undefined;
463
+ // @public
464
+ export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
511
465
 
512
466
  // @public
513
467
  export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
@@ -688,8 +688,6 @@ export declare interface IResponse {
688
688
 
689
689
  /* Excluded from this release type: ISignalEnvelope */
690
690
 
691
- /* Excluded from this release type: ITaggedTelemetryPropertyType */
692
-
693
691
  /**
694
692
  * Base interface for logging telemetry statements.
695
693
  * Can contain any number of properties that get serialized as json payload.
@@ -716,92 +714,12 @@ export declare interface ITelemetryBaseLogger {
716
714
  * JSON-serializable properties, which will be logged with telemetry.
717
715
  * @public
718
716
  */
719
- export declare type ITelemetryBaseProperties = ITelemetryProperties;
720
-
721
- /**
722
- * Error telemetry event.
723
- * Maps to category = "error"
724
- *
725
- * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
726
- * No replacement intended for FluidFramework consumers.
727
- * @public
728
- */
729
- export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
730
- eventName: string;
731
- }
732
-
733
- /**
734
- * Informational (non-error) telemetry event
735
- * Maps to category = "generic"
736
- *
737
- * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
738
- * No replacement intended for FluidFramework consumers.
739
- * @public
740
- */
741
- export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
742
- eventName: string;
743
- category?: TelemetryEventCategory;
744
- }
745
-
746
- /**
747
- * ITelemetryLogger interface contains various helper telemetry methods,
748
- * encoding in one place schemas for various types of Fluid telemetry events.
749
- * Creates sub-logger that appends properties to all events
750
- *
751
- * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
752
- * No replacement intended for FluidFramework consumers.
753
- * @public
754
- */
755
- export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
756
- /**
757
- * Actual implementation that sends telemetry event
758
- * Implemented by derived classes
759
- * @param event - Telemetry event to send over
760
- * @param logLevel - optional level of the log.
761
- */
762
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
763
- /**
764
- * Send information telemetry event
765
- * @param event - Event to send
766
- * @param error - optional error object to log
767
- * @param logLevel - optional level of the log.
768
- */
769
- sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
717
+ export declare interface ITelemetryBaseProperties {
770
718
  /**
771
- * Send error telemetry event
772
- * @param event - Event to send
773
- * @param error - optional error object to log
719
+ * Properties of a telemetry event. They are string-indexed, and their values restricted to a known set of
720
+ * types (optionally "wrapped" with {@link Tagged}).
774
721
  */
775
- sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
776
- /**
777
- * Send performance telemetry event
778
- * @param event - Event to send
779
- * @param error - optional error object to log
780
- * @param logLevel - optional level of the log.
781
- */
782
- sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
783
- }
784
-
785
- /**
786
- * Performance telemetry event.
787
- * Maps to category = "performance"
788
- *
789
- * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
790
- * No replacement intended for FluidFramework consumers.
791
- * @public
792
- */
793
- export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
794
- duration?: number;
795
- }
796
-
797
- /**
798
- * {@inheritDoc ITelemetryBaseProperties}
799
- *
800
- * @deprecated Renamed to {@link ITelemetryBaseProperties}
801
- * @public
802
- */
803
- export declare interface ITelemetryProperties {
804
- [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
722
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
805
723
  }
806
724
 
807
725
  /**
@@ -861,25 +779,9 @@ export declare interface Tagged<V, T extends string = string> {
861
779
  * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
862
780
  * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
863
781
  * General best practice is to explicitly log the fields you care about from objects.
864
- * @alpha
865
- */
866
- export declare type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
867
-
868
- /**
869
- * Examples of known categories, however category can be any string for extensibility.
870
- *
871
- * @deprecated Moved to \@fluidframework/telemetry-utils package
872
- * @public
873
- */
874
- export declare type TelemetryEventCategory = "generic" | "error" | "performance";
875
-
876
- /**
877
- * {@inheritDoc TelemetryBaseEventPropertyType}
878
- *
879
- * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
880
782
  * @public
881
783
  */
882
- export declare type TelemetryEventPropertyType = string | number | boolean | undefined;
784
+ export declare type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
883
785
 
884
786
  /**
885
787
  * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener
@@ -575,8 +575,6 @@ export declare interface IResponse {
575
575
 
576
576
  /* Excluded from this release type: ISignalEnvelope */
577
577
 
578
- /* Excluded from this release type: ITaggedTelemetryPropertyType */
579
-
580
578
  /**
581
579
  * Base interface for logging telemetry statements.
582
580
  * Can contain any number of properties that get serialized as json payload.
@@ -603,92 +601,12 @@ export declare interface ITelemetryBaseLogger {
603
601
  * JSON-serializable properties, which will be logged with telemetry.
604
602
  * @public
605
603
  */
606
- export declare type ITelemetryBaseProperties = ITelemetryProperties;
607
-
608
- /**
609
- * Error telemetry event.
610
- * Maps to category = "error"
611
- *
612
- * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
613
- * No replacement intended for FluidFramework consumers.
614
- * @public
615
- */
616
- export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
617
- eventName: string;
618
- }
619
-
620
- /**
621
- * Informational (non-error) telemetry event
622
- * Maps to category = "generic"
623
- *
624
- * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
625
- * No replacement intended for FluidFramework consumers.
626
- * @public
627
- */
628
- export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
629
- eventName: string;
630
- category?: TelemetryEventCategory;
631
- }
632
-
633
- /**
634
- * ITelemetryLogger interface contains various helper telemetry methods,
635
- * encoding in one place schemas for various types of Fluid telemetry events.
636
- * Creates sub-logger that appends properties to all events
637
- *
638
- * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
639
- * No replacement intended for FluidFramework consumers.
640
- * @public
641
- */
642
- export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
643
- /**
644
- * Actual implementation that sends telemetry event
645
- * Implemented by derived classes
646
- * @param event - Telemetry event to send over
647
- * @param logLevel - optional level of the log.
648
- */
649
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
604
+ export declare interface ITelemetryBaseProperties {
650
605
  /**
651
- * Send information telemetry event
652
- * @param event - Event to send
653
- * @param error - optional error object to log
654
- * @param logLevel - optional level of the log.
606
+ * Properties of a telemetry event. They are string-indexed, and their values restricted to a known set of
607
+ * types (optionally "wrapped" with {@link Tagged}).
655
608
  */
656
- sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
657
- /**
658
- * Send error telemetry event
659
- * @param event - Event to send
660
- * @param error - optional error object to log
661
- */
662
- sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
663
- /**
664
- * Send performance telemetry event
665
- * @param event - Event to send
666
- * @param error - optional error object to log
667
- * @param logLevel - optional level of the log.
668
- */
669
- sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
670
- }
671
-
672
- /**
673
- * Performance telemetry event.
674
- * Maps to category = "performance"
675
- *
676
- * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
677
- * No replacement intended for FluidFramework consumers.
678
- * @public
679
- */
680
- export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
681
- duration?: number;
682
- }
683
-
684
- /**
685
- * {@inheritDoc ITelemetryBaseProperties}
686
- *
687
- * @deprecated Renamed to {@link ITelemetryBaseProperties}
688
- * @public
689
- */
690
- export declare interface ITelemetryProperties {
691
- [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
609
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
692
610
  }
693
611
 
694
612
  /* Excluded from this release type: IThrottlingWarning */
@@ -732,23 +650,15 @@ export declare interface Tagged<V, T extends string = string> {
732
650
  tag: T;
733
651
  }
734
652
 
735
- /* Excluded from this release type: TelemetryBaseEventPropertyType */
736
-
737
- /**
738
- * Examples of known categories, however category can be any string for extensibility.
739
- *
740
- * @deprecated Moved to \@fluidframework/telemetry-utils package
741
- * @public
742
- */
743
- export declare type TelemetryEventCategory = "generic" | "error" | "performance";
744
-
745
653
  /**
746
- * {@inheritDoc TelemetryBaseEventPropertyType}
654
+ * Property types that can be logged.
747
655
  *
748
- * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
656
+ * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
657
+ * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
658
+ * General best practice is to explicitly log the fields you care about from objects.
749
659
  * @public
750
660
  */
751
- export declare type TelemetryEventPropertyType = string | number | boolean | undefined;
661
+ export declare type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
752
662
 
753
663
  /**
754
664
  * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener
@@ -575,8 +575,6 @@ export declare interface IResponse {
575
575
 
576
576
  /* Excluded from this release type: ISignalEnvelope */
577
577
 
578
- /* Excluded from this release type: ITaggedTelemetryPropertyType */
579
-
580
578
  /**
581
579
  * Base interface for logging telemetry statements.
582
580
  * Can contain any number of properties that get serialized as json payload.
@@ -603,92 +601,12 @@ export declare interface ITelemetryBaseLogger {
603
601
  * JSON-serializable properties, which will be logged with telemetry.
604
602
  * @public
605
603
  */
606
- export declare type ITelemetryBaseProperties = ITelemetryProperties;
607
-
608
- /**
609
- * Error telemetry event.
610
- * Maps to category = "error"
611
- *
612
- * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
613
- * No replacement intended for FluidFramework consumers.
614
- * @public
615
- */
616
- export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
617
- eventName: string;
618
- }
619
-
620
- /**
621
- * Informational (non-error) telemetry event
622
- * Maps to category = "generic"
623
- *
624
- * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
625
- * No replacement intended for FluidFramework consumers.
626
- * @public
627
- */
628
- export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
629
- eventName: string;
630
- category?: TelemetryEventCategory;
631
- }
632
-
633
- /**
634
- * ITelemetryLogger interface contains various helper telemetry methods,
635
- * encoding in one place schemas for various types of Fluid telemetry events.
636
- * Creates sub-logger that appends properties to all events
637
- *
638
- * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
639
- * No replacement intended for FluidFramework consumers.
640
- * @public
641
- */
642
- export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
643
- /**
644
- * Actual implementation that sends telemetry event
645
- * Implemented by derived classes
646
- * @param event - Telemetry event to send over
647
- * @param logLevel - optional level of the log.
648
- */
649
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
604
+ export declare interface ITelemetryBaseProperties {
650
605
  /**
651
- * Send information telemetry event
652
- * @param event - Event to send
653
- * @param error - optional error object to log
654
- * @param logLevel - optional level of the log.
606
+ * Properties of a telemetry event. They are string-indexed, and their values restricted to a known set of
607
+ * types (optionally "wrapped" with {@link Tagged}).
655
608
  */
656
- sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
657
- /**
658
- * Send error telemetry event
659
- * @param event - Event to send
660
- * @param error - optional error object to log
661
- */
662
- sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
663
- /**
664
- * Send performance telemetry event
665
- * @param event - Event to send
666
- * @param error - optional error object to log
667
- * @param logLevel - optional level of the log.
668
- */
669
- sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
670
- }
671
-
672
- /**
673
- * Performance telemetry event.
674
- * Maps to category = "performance"
675
- *
676
- * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
677
- * No replacement intended for FluidFramework consumers.
678
- * @public
679
- */
680
- export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
681
- duration?: number;
682
- }
683
-
684
- /**
685
- * {@inheritDoc ITelemetryBaseProperties}
686
- *
687
- * @deprecated Renamed to {@link ITelemetryBaseProperties}
688
- * @public
689
- */
690
- export declare interface ITelemetryProperties {
691
- [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
609
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
692
610
  }
693
611
 
694
612
  /* Excluded from this release type: IThrottlingWarning */
@@ -732,23 +650,15 @@ export declare interface Tagged<V, T extends string = string> {
732
650
  tag: T;
733
651
  }
734
652
 
735
- /* Excluded from this release type: TelemetryBaseEventPropertyType */
736
-
737
- /**
738
- * Examples of known categories, however category can be any string for extensibility.
739
- *
740
- * @deprecated Moved to \@fluidframework/telemetry-utils package
741
- * @public
742
- */
743
- export declare type TelemetryEventCategory = "generic" | "error" | "performance";
744
-
745
653
  /**
746
- * {@inheritDoc TelemetryBaseEventPropertyType}
654
+ * Property types that can be logged.
747
655
  *
748
- * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
656
+ * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
657
+ * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
658
+ * General best practice is to explicitly log the fields you care about from objects.
749
659
  * @public
750
660
  */
751
- export declare type TelemetryEventPropertyType = string | number | boolean | undefined;
661
+ export declare type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
752
662
 
753
663
  /**
754
664
  * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener