@microsoft/applicationinsights-core-js 3.0.0-beta.2209-03 → 3.0.0-beta.2210-02

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 (179) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +1249 -675
  3. package/browser/applicationinsights-core-js.js.map +1 -1
  4. package/browser/applicationinsights-core-js.min.js +2 -2
  5. package/browser/applicationinsights-core-js.min.js.map +1 -1
  6. package/dist/applicationinsights-core-js.api.json +3669 -1713
  7. package/dist/applicationinsights-core-js.api.md +131 -54
  8. package/dist/applicationinsights-core-js.d.ts +332 -131
  9. package/dist/applicationinsights-core-js.js +1249 -675
  10. package/dist/applicationinsights-core-js.js.map +1 -1
  11. package/dist/applicationinsights-core-js.min.js +2 -2
  12. package/dist/applicationinsights-core-js.min.js.map +1 -1
  13. package/dist/applicationinsights-core-js.rollup.d.ts +332 -131
  14. package/dist-esm/Config/ConfigDefaults.js +114 -0
  15. package/dist-esm/Config/ConfigDefaults.js.map +1 -0
  16. package/dist-esm/Config/DynamicConfig.js +129 -0
  17. package/dist-esm/Config/DynamicConfig.js.map +1 -0
  18. package/dist-esm/Config/DynamicProperty.js +139 -0
  19. package/dist-esm/Config/DynamicProperty.js.map +1 -0
  20. package/dist-esm/Config/DynamicState.js +109 -0
  21. package/dist-esm/Config/DynamicState.js.map +1 -0
  22. package/dist-esm/Config/DynamicSupport.js +57 -0
  23. package/dist-esm/Config/DynamicSupport.js.map +1 -0
  24. package/dist-esm/Config/IConfigDefaults.js +8 -0
  25. package/dist-esm/Config/IConfigDefaults.js.map +1 -0
  26. package/dist-esm/Config/IDynamicConfigHandler.js +8 -0
  27. package/dist-esm/Config/IDynamicConfigHandler.js.map +1 -0
  28. package/dist-esm/Config/IDynamicPropertyHandler.js +8 -0
  29. package/dist-esm/Config/IDynamicPropertyHandler.js.map +1 -0
  30. package/dist-esm/Config/IDynamicWatcher.js +8 -0
  31. package/dist-esm/Config/IDynamicWatcher.js.map +1 -0
  32. package/dist-esm/Config/_IDynamicConfigHandlerState.js +6 -0
  33. package/dist-esm/Config/_IDynamicConfigHandlerState.js.map +1 -0
  34. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +808 -23
  35. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +22 -18
  37. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  38. package/dist-esm/JavaScriptSDK/ChannelController.js +1 -1
  39. package/dist-esm/JavaScriptSDK/CookieMgr.js +78 -38
  40. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/CoreUtils.js +6 -5
  42. package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +10 -8
  44. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  45. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  46. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +40 -23
  47. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  48. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -115
  49. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  50. package/dist-esm/JavaScriptSDK/EventHelpers.js +30 -29
  51. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
  52. package/dist-esm/JavaScriptSDK/HelperFuncs.js +19 -34
  53. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  54. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  55. package/dist-esm/JavaScriptSDK/InternalConstants.js +5 -1
  56. package/dist-esm/JavaScriptSDK/InternalConstants.js.map +1 -1
  57. package/dist-esm/JavaScriptSDK/NotificationManager.js +18 -11
  58. package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
  59. package/dist-esm/JavaScriptSDK/PerfManager.js +2 -3
  60. package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
  61. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +62 -53
  62. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  63. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  64. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +8 -10
  65. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  66. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -4
  67. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
  68. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  69. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +12 -10
  70. package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  71. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -2
  72. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js.map +1 -1
  73. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +2 -107
  75. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js.map +1 -1
  76. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  85. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  86. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  87. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  88. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  89. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  90. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  91. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  92. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  93. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  94. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  95. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  96. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  97. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  98. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  99. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +8 -0
  100. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js.map +1 -0
  101. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +3 -1
  102. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js.map +1 -1
  103. package/dist-esm/__DynamicConstants.js +26 -23
  104. package/dist-esm/__DynamicConstants.js.map +1 -1
  105. package/dist-esm/applicationinsights-core-js.js +6 -4
  106. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  107. package/package.json +2 -2
  108. package/src/JavaScriptSDK/AppInsightsCore.ts +1156 -16
  109. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +25 -17
  110. package/src/JavaScriptSDK/CookieMgr.ts +88 -41
  111. package/src/JavaScriptSDK/CoreUtils.ts +4 -3
  112. package/src/JavaScriptSDK/DiagnosticLogger.ts +51 -29
  113. package/src/JavaScriptSDK/EnvUtils.ts +0 -133
  114. package/src/JavaScriptSDK/EventHelpers.ts +29 -28
  115. package/src/JavaScriptSDK/HelperFuncs.ts +22 -39
  116. package/src/JavaScriptSDK/InternalConstants.ts +5 -0
  117. package/src/JavaScriptSDK/NotificationManager.ts +25 -14
  118. package/src/JavaScriptSDK/PerfManager.ts +2 -2
  119. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +73 -56
  120. package/src/JavaScriptSDK/TelemetryHelpers.ts +8 -9
  121. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +2 -2
  122. package/src/JavaScriptSDK/W3cTraceParent.ts +7 -6
  123. package/src/JavaScriptSDK.Enums/EnumHelperFuncs.ts +0 -1
  124. package/src/JavaScriptSDK.Enums/LoggingEnums.ts +9 -108
  125. package/src/JavaScriptSDK.Enums/TelemetryUpdateReason.ts +1 -1
  126. package/src/JavaScriptSDK.Interfaces/IAppInsightsCore.ts +28 -3
  127. package/src/JavaScriptSDK.Interfaces/ICookieMgr.ts +8 -0
  128. package/src/JavaScriptSDK.Interfaces/IDiagnosticLogger.ts +15 -8
  129. package/src/JavaScriptSDK.Interfaces/IInstrumentHooks.ts +3 -1
  130. package/src/JavaScriptSDK.Interfaces/INotificationListener.ts +5 -5
  131. package/src/JavaScriptSDK.Interfaces/INotificationManager.ts +8 -8
  132. package/src/JavaScriptSDK.Interfaces/IPerfManager.ts +3 -3
  133. package/src/JavaScriptSDK.Interfaces/IProcessTelemetryContext.ts +10 -9
  134. package/src/JavaScriptSDK.Interfaces/ITelemetryInitializers.ts +2 -1
  135. package/src/JavaScriptSDK.Interfaces/ITelemetryUpdateState.ts +15 -5
  136. package/src/JavaScriptSDK.Interfaces/IUnloadHook.ts +22 -0
  137. package/src/JavaScriptSDK.Interfaces/IUnloadableComponent.ts +3 -3
  138. package/tsconfig.json +3 -2
  139. package/types/Config/ConfigDefaults.d.ts +10 -0
  140. package/types/Config/DynamicConfig.d.ts +23 -0
  141. package/types/Config/DynamicProperty.d.ts +3 -0
  142. package/types/Config/DynamicState.d.ts +3 -0
  143. package/types/Config/DynamicSupport.d.ts +15 -0
  144. package/types/Config/IConfigDefaults.d.ts +42 -0
  145. package/types/Config/IDynamicConfigHandler.d.ts +46 -0
  146. package/types/Config/IDynamicPropertyHandler.d.ts +11 -0
  147. package/types/Config/IDynamicWatcher.d.ts +28 -0
  148. package/types/Config/_IDynamicConfigHandlerState.d.ts +35 -0
  149. package/types/JavaScriptSDK/AppInsightsCore.d.ts +136 -4
  150. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +2 -2
  151. package/types/JavaScriptSDK/CookieMgr.d.ts +0 -10
  152. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +18 -16
  153. package/types/JavaScriptSDK/EventHelpers.d.ts +24 -24
  154. package/types/JavaScriptSDK/HelperFuncs.d.ts +13 -11
  155. package/types/JavaScriptSDK/InternalConstants.d.ts +4 -0
  156. package/types/JavaScriptSDK/NotificationManager.d.ts +7 -7
  157. package/types/JavaScriptSDK/PerfManager.d.ts +2 -2
  158. package/types/JavaScriptSDK/ProcessTelemetryContext.d.ts +3 -2
  159. package/types/JavaScriptSDK/TelemetryHelpers.d.ts +3 -3
  160. package/types/JavaScriptSDK.Enums/LoggingEnums.d.ts +7 -5
  161. package/types/JavaScriptSDK.Enums/TelemetryUpdateReason.d.ts +1 -0
  162. package/types/JavaScriptSDK.Interfaces/IAppInsightsCore.d.ts +25 -3
  163. package/types/JavaScriptSDK.Interfaces/ICookieMgr.d.ts +6 -0
  164. package/types/JavaScriptSDK.Interfaces/IDiagnosticLogger.d.ts +14 -8
  165. package/types/JavaScriptSDK.Interfaces/IInstrumentHooks.d.ts +2 -1
  166. package/types/JavaScriptSDK.Interfaces/INotificationListener.d.ts +5 -5
  167. package/types/JavaScriptSDK.Interfaces/INotificationManager.d.ts +8 -8
  168. package/types/JavaScriptSDK.Interfaces/IPerfManager.d.ts +3 -3
  169. package/types/JavaScriptSDK.Interfaces/IProcessTelemetryContext.d.ts +5 -9
  170. package/types/JavaScriptSDK.Interfaces/ITelemetryInitializers.d.ts +2 -1
  171. package/types/JavaScriptSDK.Interfaces/ITelemetryUpdateState.d.ts +13 -2
  172. package/types/JavaScriptSDK.Interfaces/IUnloadHook.d.ts +18 -0
  173. package/types/__DynamicConstants.d.ts +18 -15
  174. package/types/applicationinsights-core-js.d.ts +11 -4
  175. package/types/tsdoc-metadata.json +1 -1
  176. package/dist-esm/JavaScriptSDK/BaseCore.js +0 -654
  177. package/dist-esm/JavaScriptSDK/BaseCore.js.map +0 -1
  178. package/src/JavaScriptSDK/BaseCore.ts +0 -948
  179. package/types/JavaScriptSDK/BaseCore.d.ts +0 -124
@@ -8,6 +8,7 @@ import { arrForEach } from '@nevware21/ts-utils';
8
8
  import { arrIndexOf } from '@nevware21/ts-utils';
9
9
  import { arrMap } from '@nevware21/ts-utils';
10
10
  import { arrReduce } from '@nevware21/ts-utils';
11
+ import { asString } from '@nevware21/ts-utils';
11
12
  import { objDeepFreeze as deepFreeze } from '@nevware21/ts-utils';
12
13
  import { dumpObj } from '@nevware21/ts-utils';
13
14
  import { EnumCls } from '@nevware21/ts-utils';
@@ -71,35 +72,13 @@ export function addPageShowEventListener(listener: any, excludeEvents?: string[]
71
72
  export function addPageUnloadEventListener(listener: any, excludeEvents?: string[], evtNamespace?: string | string[]): boolean;
72
73
 
73
74
  // @public (undocumented)
74
- export class AppInsightsCore extends BaseCore implements IAppInsightsCore {
75
- constructor();
76
- // (undocumented)
77
- initialize(config: IConfiguration, extensions: IPlugin[], logger?: IDiagnosticLogger, notificationManager?: INotificationManager): void;
78
- // (undocumented)
79
- track(telemetryItem: ITelemetryItem): void;
80
- }
81
-
82
- // @public (undocumented)
83
- export function areCookiesSupported(logger?: IDiagnosticLogger): any;
84
-
85
- export { arrForEach }
86
-
87
- export { arrIndexOf }
88
-
89
- export { arrMap }
90
-
91
- export { arrReduce }
92
-
93
- // @public
94
- export function attachEvent(obj: any, eventNameWithoutOn: string, handlerRef: any, useCapture?: boolean): boolean;
95
-
96
- // @public (undocumented)
97
- export class BaseCore implements IAppInsightsCore {
75
+ export class AppInsightsCore implements IAppInsightsCore {
98
76
  constructor();
99
77
  addNotificationListener(listener: INotificationListener): void;
100
78
  addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
101
- addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler | void;
79
+ addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler;
102
80
  addUnloadCb(handler: UnloadHandler): void;
81
+ addUnloadHook(hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>): void;
103
82
  // (undocumented)
104
83
  config: IConfiguration;
105
84
  // (undocumented)
@@ -128,6 +107,7 @@ export class BaseCore implements IAppInsightsCore {
128
107
  isInitialized: () => boolean;
129
108
  // (undocumented)
130
109
  logger: IDiagnosticLogger;
110
+ onCfgChange<T extends IConfiguration = IConfiguration>(handler: WatcherFunction<T>): IUnloadHook;
131
111
  pollInternalLogs(eventName?: string): number;
132
112
  // (undocumented)
133
113
  protected releaseQueue(): void;
@@ -140,13 +120,33 @@ export class BaseCore implements IAppInsightsCore {
140
120
  // (undocumented)
141
121
  track(telemetryItem: ITelemetryItem): void;
142
122
  unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void;
123
+ updateCfg<T extends IConfiguration = IConfiguration>(newConfig: T, mergeExisting?: boolean): void;
143
124
  protected _updateHook?(updateCtx: IProcessTelemetryUpdateContext, updateState: ITelemetryUpdateState): void | boolean;
144
125
  }
145
126
 
127
+ // @public (undocumented)
128
+ export function applyDefaults<C>(theConfig: C, defaultValues: IConfigDefaults<C>): C;
129
+
130
+ // @public (undocumented)
131
+ export function areCookiesSupported(logger?: IDiagnosticLogger): any;
132
+
133
+ export { arrForEach }
134
+
135
+ export { arrIndexOf }
136
+
137
+ export { arrMap }
138
+
139
+ export { arrReduce }
140
+
141
+ export { asString }
142
+
143
+ // @public
144
+ export function attachEvent(obj: any, eventNameWithoutOn: string, handlerRef: any, useCapture?: boolean): boolean;
145
+
146
146
  // @public
147
147
  export abstract class BaseTelemetryPlugin implements ITelemetryPlugin {
148
148
  constructor();
149
- protected _addHook(hooks: IInstrumentHook | IInstrumentHook[]): void;
149
+ protected _addHook(hooks: IUnloadHook | IUnloadHook[] | ILegacyUnloadHook | ILegacyUnloadHook[]): void;
150
150
  protected _addUnloadCb(handler: UnloadHandler): void;
151
151
  core: IAppInsightsCore;
152
152
  diagLog: (itemCtx?: IProcessTelemetryContext) => IDiagnosticLogger;
@@ -177,13 +177,16 @@ export function createClassFromInterface<T>(defaults?: T): new () => T;
177
177
  // @public (undocumented)
178
178
  export function createCookieMgr(rootConfig?: IConfiguration, logger?: IDiagnosticLogger): ICookieMgr;
179
179
 
180
+ // @public
181
+ export function createDynamicConfig<T extends IConfiguration>(config: T, defaultConfig?: IConfigDefaults<T>, logger?: IDiagnosticLogger, inPlace?: boolean): IDynamicConfigHandler<T>;
182
+
180
183
  // @public
181
184
  export const createEnumStyle: <E>(values: {
182
185
  [key in keyof E]: E[keyof E];
183
186
  }) => EnumValue<E>;
184
187
 
185
188
  // @public
186
- export function createProcessTelemetryContext(telemetryChain: ITelemetryPluginChain | null, config: IConfiguration, core: IAppInsightsCore, startAt?: IPlugin): IProcessTelemetryContext;
189
+ export function createProcessTelemetryContext(telemetryChain: ITelemetryPluginChain | null, cfg: IConfiguration, core: IAppInsightsCore, startAt?: IPlugin): IProcessTelemetryContext;
187
190
 
188
191
  // @public
189
192
  export function createTraceParent(traceId?: string, spanId?: string, flags?: number, version?: string): ITraceParent;
@@ -223,7 +226,9 @@ export class DiagnosticLogger implements IDiagnosticLogger {
223
226
  queue: _InternalLogMessage[];
224
227
  resetInternalMessageCount(): void;
225
228
  telemetryLoggingLevel(): number;
226
- throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
229
+ throwInternal(severity: LoggingSeverity, msgId: _eInternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
230
+ // (undocumented)
231
+ update(updateState: ITelemetryUpdateState): void;
227
232
  warnToConsole(message: string): void;
228
233
  }
229
234
 
@@ -275,8 +280,12 @@ export const enum _eInternalMessageId {
275
280
  // (undocumented)
276
281
  ClientPerformanceMathError = 8,
277
282
  // (undocumented)
283
+ ConfigWatcherException = 107,
284
+ // (undocumented)
278
285
  CreateEnvelopeError = 47,
279
286
  // (undocumented)
287
+ DynamicConfigException = 108,
288
+ // (undocumented)
280
289
  ErrorParsingAISessionCookie = 9,
281
290
  // (undocumented)
282
291
  ErrorPVCalc = 10,
@@ -415,6 +424,7 @@ export const enum _eInternalMessageId {
415
424
  // @public (undocumented)
416
425
  export const enum eLoggingSeverity {
417
426
  CRITICAL = 1,
427
+ DISABLED = 0,
418
428
  WARNING = 2
419
429
  }
420
430
 
@@ -462,19 +472,14 @@ export function getDebugListener(config: IConfiguration): INotificationListener;
462
472
 
463
473
  export { getDocument }
464
474
 
475
+ // Warning: (ae-internal-missing-underscore) The name "getDynamicConfigHandler" should be prefixed with an underscore because the declaration is marked as @internal
476
+ //
477
+ // @internal
478
+ export function getDynamicConfigHandler<T>(value: T | IDynamicConfigHandler<T>): IDynamicConfigHandler<T> | null;
479
+
465
480
  // @public
466
481
  export function getExceptionName(object: any): string;
467
482
 
468
- // @public (undocumented)
469
- export const enum GetExtCfgMergeType {
470
- // (undocumented)
471
- MergeDefaultFromRootOrDefault = 2,
472
- // (undocumented)
473
- MergeDefaultOnly = 1,
474
- // (undocumented)
475
- None = 0
476
- }
477
-
478
483
  // @public
479
484
  export function getGblPerfMgr(): IPerfManager;
480
485
 
@@ -523,8 +528,9 @@ export { hasWindow }
523
528
  export interface IAppInsightsCore extends IPerfManagerProvider {
524
529
  addNotificationListener?(listener: INotificationListener): void;
525
530
  addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
526
- addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler | void;
531
+ addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler;
527
532
  addUnloadCb(handler: UnloadHandler): void;
533
+ addUnloadHook(hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>): void;
528
534
  // (undocumented)
529
535
  config: IConfiguration;
530
536
  evtNamespace(): string;
@@ -541,6 +547,7 @@ export interface IAppInsightsCore extends IPerfManagerProvider {
541
547
  isInitialized?: () => boolean;
542
548
  // (undocumented)
543
549
  logger: IDiagnosticLogger;
550
+ onCfgChange<T extends IConfiguration = IConfiguration>(handler: WatcherFunction<T>): IUnloadHook;
544
551
  // (undocumented)
545
552
  pollInternalLogs?(eventName?: string): number;
546
553
  removeNotificationListener?(listener: INotificationListener): void;
@@ -551,6 +558,7 @@ export interface IAppInsightsCore extends IPerfManagerProvider {
551
558
  // (undocumented)
552
559
  track(telemetryItem: ITelemetryItem): void;
553
560
  unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void;
561
+ updateCfg<T extends IConfiguration = IConfiguration>(newConfig: T, mergeExisting?: boolean): void;
554
562
  }
555
563
 
556
564
  // @public (undocumented)
@@ -560,7 +568,7 @@ export interface IBaseProcessingContext {
560
568
  diagLog: () => IDiagnosticLogger;
561
569
  getCfg: () => IConfiguration;
562
570
  getConfig: (identifier: string, field: string, defaultValue?: number | string | boolean | string[] | RegExp[] | Function) => number | string | boolean | string[] | RegExp[] | Function;
563
- getExtCfg: <T>(identifier: string, defaultValue?: T | any, mergeDefault?: GetExtCfgMergeType) => T;
571
+ getExtCfg: <T>(identifier: string, defaultValue?: IConfigDefaults<T>) => T;
564
572
  getNext: () => ITelemetryPluginChain;
565
573
  hasNext: () => boolean;
566
574
  iterate: <T extends ITelemetryPlugin = ITelemetryPlugin>(callback: (plugin: T) => void) => void;
@@ -576,6 +584,26 @@ export interface IChannelControls extends ITelemetryPlugin {
576
584
  teardown: (unloadCtx?: IProcessTelemetryUnloadContext, unloadState?: ITelemetryUnloadState) => void | boolean;
577
585
  }
578
586
 
587
+ // @public
588
+ export type IConfigCheckFn<V> = (value: V) => boolean;
589
+
590
+ // @public
591
+ export interface IConfigDefaultCheck<T, V, C extends IConfiguration = IConfiguration> {
592
+ dfVal?: (value: any) => boolean;
593
+ fb?: keyof T | keyof C | Array<keyof T | keyof C>;
594
+ isVal?: IConfigCheckFn<V>;
595
+ set?: IConfigSetFn<T, V>;
596
+ v?: V;
597
+ }
598
+
599
+ // @public
600
+ export type IConfigDefaults<T, C extends IConfiguration = IConfiguration> = {
601
+ [key in keyof T]: T[key] | IConfigDefaultCheck<T, T[key], C>;
602
+ };
603
+
604
+ // @public
605
+ export type IConfigSetFn<T, V> = (value: any, defValue: V, theConfig: T) => V;
606
+
579
607
  // @public
580
608
  export interface IConfiguration {
581
609
  channels?: IChannelControls[][];
@@ -613,6 +641,7 @@ export interface ICookieMgr {
613
641
  purge(name: string, path?: string): boolean;
614
642
  set(name: string, value: string, maxAgeSec?: number, domain?: string, path?: string): boolean;
615
643
  setEnabled(value: boolean): void;
644
+ update?(updateState: ITelemetryUpdateState): void;
616
645
  }
617
646
 
618
647
  // @public
@@ -661,7 +690,8 @@ export interface IDiagnosticLogger {
661
690
  queue: _InternalLogMessage[];
662
691
  resetInternalMessageCount(): void;
663
692
  telemetryLoggingLevel: () => number;
664
- throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
693
+ throwInternal(severity: LoggingSeverity, msgId: _eInternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
694
+ update?(updateState: ITelemetryUpdateState): void;
665
695
  warnToConsole(message: string): void;
666
696
  }
667
697
 
@@ -677,6 +707,22 @@ export interface IDistributedTraceContext {
677
707
  setTraceId(newValue: string): void;
678
708
  }
679
709
 
710
+ // @public
711
+ export interface IDynamicConfigHandler<T extends IConfiguration> {
712
+ cfg: T;
713
+ logger: IDiagnosticLogger;
714
+ notify: () => void;
715
+ set: <C, V>(theConfig: C, name: string, value: V) => V;
716
+ readonly uid: string;
717
+ watch: (configHandler: WatcherFunction<T>) => IWatcherHandler<T>;
718
+ }
719
+
720
+ // @public (undocumented)
721
+ export interface IDynamicPropertyHandler<T> {
722
+ h: IWatcherHandler<T>[];
723
+ n: string;
724
+ }
725
+
680
726
  // @public (undocumented)
681
727
  export interface IInstrumentCallDetails {
682
728
  ctx: () => any;
@@ -691,7 +737,7 @@ export interface IInstrumentCallDetails {
691
737
  }
692
738
 
693
739
  // @public
694
- export interface IInstrumentHook {
740
+ export interface IInstrumentHook extends IUnloadHook {
695
741
  cbks: IInstrumentHooksCallbacks;
696
742
  id: number;
697
743
  rm: () => void;
@@ -718,6 +764,11 @@ export interface IInstrumentHooksCallbacks {
718
764
  rsp?: InstrumentorHooksCallback;
719
765
  }
720
766
 
767
+ // @public
768
+ export interface ILegacyUnloadHook {
769
+ remove: () => void;
770
+ }
771
+
721
772
  // @public (undocumented)
722
773
  export interface ILoadedPlugin<T extends IPlugin> {
723
774
  isEnabled: () => boolean;
@@ -771,21 +822,15 @@ export function InstrumentProtos(target: any, funcNames: string[], callbacks: II
771
822
 
772
823
  // @public (undocumented)
773
824
  export class _InternalLogMessage {
774
- constructor(msgId: _InternalMessageId, msg: string, isUserAct?: boolean, properties?: Object);
825
+ constructor(msgId: _eInternalMessageId, msg: string, isUserAct?: boolean, properties?: Object);
775
826
  // (undocumented)
776
827
  static dataType: string;
777
828
  // (undocumented)
778
829
  message: string;
779
830
  // (undocumented)
780
- messageId: _InternalMessageId;
831
+ messageId: _eInternalMessageId;
781
832
  }
782
833
 
783
- // @public
784
- export const _InternalMessageId: EnumValue<typeof _eInternalMessageId>;
785
-
786
- // @public (undocumented)
787
- export type _InternalMessageId = number | _eInternalMessageId;
788
-
789
834
  // @public
790
835
  export interface IPerfEvent {
791
836
  childEvts?: IPerfEvent[];
@@ -922,7 +967,7 @@ export interface ITelemetryInitializerContainer {
922
967
  }
923
968
 
924
969
  // @public (undocumented)
925
- export interface ITelemetryInitializerHandler {
970
+ export interface ITelemetryInitializerHandler extends ILegacyUnloadHook {
926
971
  // (undocumented)
927
972
  remove(): void;
928
973
  }
@@ -972,6 +1017,10 @@ export interface ITelemetryUnloadState {
972
1017
  // @public (undocumented)
973
1018
  export interface ITelemetryUpdateState {
974
1019
  added?: IPlugin[];
1020
+ cfg?: IConfiguration;
1021
+ merge?: boolean;
1022
+ newConfig?: IConfiguration;
1023
+ oldCfg?: IConfiguration;
975
1024
  reason: TelemetryUpdateReason;
976
1025
  removed?: IPlugin[];
977
1026
  }
@@ -997,6 +1046,27 @@ export interface IUnloadHandlerContainer {
997
1046
  run: (itemCtx: IProcessTelemetryUnloadContext, unloadState: ITelemetryUnloadState) => void;
998
1047
  }
999
1048
 
1049
+ // @public
1050
+ export interface IUnloadHook {
1051
+ rm: () => void;
1052
+ }
1053
+
1054
+ // @public (undocumented)
1055
+ export interface IWatchDetails<T extends IConfiguration> {
1056
+ // (undocumented)
1057
+ cfg: T;
1058
+ // (undocumented)
1059
+ hdlr: IDynamicConfigHandler<T>;
1060
+ }
1061
+
1062
+ // @public (undocumented)
1063
+ export interface IWatcherHandler<T extends IConfiguration> extends IUnloadHook {
1064
+ // (undocumented)
1065
+ fn: WatcherFunction<T>;
1066
+ // (undocumented)
1067
+ rm: () => void;
1068
+ }
1069
+
1000
1070
  // @public (undocumented)
1001
1071
  export const LoggingSeverity: EnumValue<typeof eLoggingSeverity>;
1002
1072
 
@@ -1060,6 +1130,9 @@ export { objSeal }
1060
1130
 
1061
1131
  export { objToString }
1062
1132
 
1133
+ // @public
1134
+ export function onConfigChange<T>(config: T, configHandler: WatcherFunction<T>, logger?: IDiagnosticLogger): IWatcherHandler<T>;
1135
+
1063
1136
  // @public
1064
1137
  export function optimizeObject<T>(theObject: T): T;
1065
1138
 
@@ -1110,7 +1183,7 @@ export class ProcessTelemetryContext implements IProcessTelemetryContext {
1110
1183
  // (undocumented)
1111
1184
  getConfig: (identifier: string, field: string, defaultValue?: number | string | boolean | string[] | RegExp[] | Function) => number | string | boolean | string[] | RegExp[] | Function;
1112
1185
  // (undocumented)
1113
- getExtCfg: <T>(identifier: string, defaultValue?: T | any) => T;
1186
+ getExtCfg: <T>(identifier: string, defaultValue?: IConfigDefaults<T>) => T;
1114
1187
  getNext: () => ITelemetryPluginChain;
1115
1188
  hasNext: () => boolean;
1116
1189
  iterate: <T extends ITelemetryPlugin = ITelemetryPlugin>(callback: (plugin: T) => void) => void;
@@ -1217,6 +1290,7 @@ export const enum TelemetryUnloadReason {
1217
1290
 
1218
1291
  // @public
1219
1292
  export const enum TelemetryUpdateReason {
1293
+ ConfigurationChanged = 1,
1220
1294
  PluginAdded = 16,
1221
1295
  PluginRemoved = 32,
1222
1296
  Unknown = 0
@@ -1225,10 +1299,10 @@ export const enum TelemetryUpdateReason {
1225
1299
  export { throwError }
1226
1300
 
1227
1301
  // @public
1228
- export function _throwInternal(logger: IDiagnosticLogger, severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
1302
+ export function _throwInternal(logger: IDiagnosticLogger, severity: LoggingSeverity, msgId: _eInternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
1229
1303
 
1230
1304
  // @public
1231
- export function toISOString(date: Date): any;
1305
+ export function toISOString(date: Date): string;
1232
1306
 
1233
1307
  // @public (undocumented)
1234
1308
  export function uaDisallowsSameSiteNone(userAgent: string): boolean;
@@ -1248,6 +1322,9 @@ export function useXDomainRequest(): boolean | undefined;
1248
1322
  // @public
1249
1323
  export function _warnToConsole(logger: IDiagnosticLogger, message: string): void;
1250
1324
 
1325
+ // @public (undocumented)
1326
+ export type WatcherFunction<T extends IConfiguration> = (details: IWatchDetails<T>) => void;
1327
+
1251
1328
  // (No @packageDocumentation comment for this package)
1252
1329
 
1253
1330
  ```