@microsoft/applicationinsights-core-js 3.4.0-nightlybeta3.2602-27 → 3.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 (258) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +997 -114
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +999 -116
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +999 -116
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/index.js +997 -114
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/index.min.js +2 -2
  17. package/dist/es5/index.min.js.map +1 -1
  18. package/dist-es5/__DynamicConstants.js +44 -27
  19. package/dist-es5/__DynamicConstants.js.map +1 -1
  20. package/dist-es5/config/ConfigDefaultHelpers.js +1 -1
  21. package/dist-es5/config/ConfigDefaults.js +1 -1
  22. package/dist-es5/config/DynamicConfig.js +1 -1
  23. package/dist-es5/config/DynamicProperty.js +1 -1
  24. package/dist-es5/config/DynamicState.js +1 -1
  25. package/dist-es5/config/DynamicSupport.js +1 -1
  26. package/dist-es5/constants/Constants.js +1 -1
  27. package/dist-es5/constants/InternalConstants.js +4 -1
  28. package/dist-es5/constants/InternalConstants.js.map +1 -1
  29. package/dist-es5/core/AggregationError.js +1 -1
  30. package/dist-es5/core/AppInsightsCore.js +13 -13
  31. package/dist-es5/core/AppInsightsCore.js.map +1 -1
  32. package/dist-es5/core/AsyncUtils.js +1 -1
  33. package/dist-es5/core/BaseTelemetryPlugin.js +1 -1
  34. package/dist-es5/core/CookieMgr.js +1 -1
  35. package/dist-es5/core/DbgExtensionUtils.js +1 -1
  36. package/dist-es5/core/InstrumentHooks.js +1 -1
  37. package/dist-es5/core/NotificationManager.js +1 -1
  38. package/dist-es5/core/PerfManager.js +1 -1
  39. package/dist-es5/core/ProcessTelemetryContext.js +3 -3
  40. package/dist-es5/core/ProcessTelemetryContext.js.map +1 -1
  41. package/dist-es5/core/ResponseHelpers.js +1 -1
  42. package/dist-es5/core/SenderPostManager.js +1 -1
  43. package/dist-es5/core/StatsBeat.js +9 -9
  44. package/dist-es5/core/StatsBeat.js.map +1 -1
  45. package/dist-es5/core/TelemetryHelpers.js +3 -3
  46. package/dist-es5/core/TelemetryHelpers.js.map +1 -1
  47. package/dist-es5/core/TelemetryInitializerPlugin.js +1 -1
  48. package/dist-es5/core/UnloadHandlerContainer.js +1 -1
  49. package/dist-es5/core/UnloadHookContainer.js +3 -3
  50. package/dist-es5/core/UnloadHookContainer.js.map +1 -1
  51. package/dist-es5/diagnostics/DiagnosticLogger.js +3 -3
  52. package/dist-es5/diagnostics/DiagnosticLogger.js.map +1 -1
  53. package/dist-es5/diagnostics/ThrottleMgr.js +1 -1
  54. package/dist-es5/enums/EnumHelperFuncs.js +1 -1
  55. package/dist-es5/enums/W3CTraceFlags.js +1 -1
  56. package/dist-es5/enums/ai/DependencyTypes.js +1 -1
  57. package/dist-es5/enums/ai/Enums.js +1 -1
  58. package/dist-es5/enums/ai/EventsDiscardedReason.js +1 -1
  59. package/dist-es5/enums/ai/FeatureOptInEnums.js +1 -1
  60. package/dist-es5/enums/ai/InitActiveStatusEnum.js +1 -1
  61. package/dist-es5/enums/ai/LoggingEnums.js +1 -1
  62. package/dist-es5/enums/ai/SendRequestReason.js +1 -1
  63. package/dist-es5/enums/ai/StatsType.js +1 -1
  64. package/dist-es5/enums/ai/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/enums/ai/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/enums/ai/TraceHeadersMode.js +1 -1
  67. package/dist-es5/enums/ai/UrlRedactionOptions.js +36 -0
  68. package/dist-es5/enums/ai/UrlRedactionOptions.js.map +1 -0
  69. package/dist-es5/enums/ext/Enums.js +78 -0
  70. package/dist-es5/enums/ext/Enums.js.map +1 -0
  71. package/dist-es5/enums/otel/OTelSamplingDecision.js +1 -1
  72. package/dist-es5/enums/otel/OTelSpanKind.js +1 -1
  73. package/dist-es5/enums/otel/OTelSpanStatus.js +1 -1
  74. package/dist-es5/enums/otel/eAttributeChangeOp.js +1 -1
  75. package/dist-es5/ext/AppInsightsExtCore.js +98 -0
  76. package/dist-es5/ext/AppInsightsExtCore.js.map +1 -0
  77. package/dist-es5/ext/ValueSanitizer.js +260 -0
  78. package/dist-es5/ext/ValueSanitizer.js.map +1 -0
  79. package/dist-es5/ext/extSpanUtils.js +312 -0
  80. package/dist-es5/ext/extSpanUtils.js.map +1 -0
  81. package/dist-es5/ext/extUtils.js +412 -0
  82. package/dist-es5/ext/extUtils.js.map +1 -0
  83. package/dist-es5/index.js +14 -1
  84. package/dist-es5/index.js.map +1 -1
  85. package/dist-es5/interfaces/IException.js +1 -1
  86. package/dist-es5/interfaces/IOTelHrTime.js +1 -1
  87. package/dist-es5/interfaces/ai/ConnectionString.js +1 -1
  88. package/dist-es5/interfaces/ai/IAppInsights.js +1 -1
  89. package/dist-es5/interfaces/ai/IAppInsightsCore.js +1 -1
  90. package/dist-es5/interfaces/ai/IChannelControls.js +1 -1
  91. package/dist-es5/interfaces/ai/IChannelControlsHost.js +1 -1
  92. package/dist-es5/interfaces/ai/IConfig.js +1 -1
  93. package/dist-es5/interfaces/ai/IConfiguration.js +1 -1
  94. package/dist-es5/interfaces/ai/ICookieMgr.js +1 -1
  95. package/dist-es5/interfaces/ai/ICorrelationConfig.js +1 -1
  96. package/dist-es5/interfaces/ai/IDbgExtension.js +1 -1
  97. package/dist-es5/interfaces/ai/IDependencyTelemetry.js +1 -1
  98. package/dist-es5/interfaces/ai/IDiagnosticLogger.js +1 -1
  99. package/dist-es5/interfaces/ai/IDistributedTraceContext.js +1 -1
  100. package/dist-es5/interfaces/ai/IEventTelemetry.js +1 -1
  101. package/dist-es5/interfaces/ai/IExceptionConfig.js +1 -1
  102. package/dist-es5/interfaces/ai/IExceptionTelemetry.js +1 -1
  103. package/dist-es5/interfaces/ai/IFeatureOptIn.js +1 -1
  104. package/dist-es5/interfaces/ai/IInstrumentHooks.js +1 -1
  105. package/dist-es5/interfaces/ai/IMetricTelemetry.js +1 -1
  106. package/dist-es5/interfaces/ai/INetworkStatsbeat.js +1 -1
  107. package/dist-es5/interfaces/ai/INotificationListener.js +1 -1
  108. package/dist-es5/interfaces/ai/INotificationManager.js +1 -1
  109. package/dist-es5/interfaces/ai/IPageViewPerformanceTelemetry.js +1 -1
  110. package/dist-es5/interfaces/ai/IPageViewTelemetry.js +1 -1
  111. package/dist-es5/interfaces/ai/IPartC.js +1 -1
  112. package/dist-es5/interfaces/ai/IPerfEvent.js +1 -1
  113. package/dist-es5/interfaces/ai/IPerfManager.js +1 -1
  114. package/dist-es5/interfaces/ai/IProcessTelemetryContext.js +1 -1
  115. package/dist-es5/interfaces/ai/IPropertiesPlugin.js +1 -1
  116. package/dist-es5/interfaces/ai/IRequestContext.js +1 -1
  117. package/dist-es5/interfaces/ai/IRequestTelemetry.js +1 -1
  118. package/dist-es5/interfaces/ai/ISenderPostManager.js +1 -1
  119. package/dist-es5/interfaces/ai/IStatsBeat.js +1 -1
  120. package/dist-es5/interfaces/ai/IStatsEventData.js +1 -1
  121. package/dist-es5/interfaces/ai/IStatsMgr.js +1 -1
  122. package/dist-es5/interfaces/ai/IStorageBuffer.js +1 -1
  123. package/dist-es5/interfaces/ai/ITelemetryContext.js +1 -1
  124. package/dist-es5/interfaces/ai/ITelemetryInitializers.js +1 -1
  125. package/dist-es5/interfaces/ai/ITelemetryItem.js +1 -1
  126. package/dist-es5/interfaces/ai/ITelemetryPlugin.js +1 -1
  127. package/dist-es5/interfaces/ai/ITelemetryPluginChain.js +1 -1
  128. package/dist-es5/interfaces/ai/ITelemetryUnloadState.js +1 -1
  129. package/dist-es5/interfaces/ai/ITelemetryUpdateState.js +1 -1
  130. package/dist-es5/interfaces/ai/IThrottleMgr.js +1 -1
  131. package/dist-es5/interfaces/ai/ITraceParent.js +1 -1
  132. package/dist-es5/interfaces/ai/ITraceProvider.js +1 -1
  133. package/dist-es5/interfaces/ai/ITraceTelemetry.js +1 -1
  134. package/dist-es5/interfaces/ai/IUnloadHook.js +1 -1
  135. package/dist-es5/interfaces/ai/IUnloadableComponent.js +1 -1
  136. package/dist-es5/interfaces/ai/IW3cTraceState.js +1 -1
  137. package/dist-es5/interfaces/ai/IXDomainRequest.js +1 -1
  138. package/dist-es5/interfaces/ai/IXHROverride.js +1 -1
  139. package/dist-es5/interfaces/ai/PartAExtensions.js +1 -1
  140. package/dist-es5/interfaces/ai/context/IApplication.js +1 -1
  141. package/dist-es5/interfaces/ai/context/IDevice.js +1 -1
  142. package/dist-es5/interfaces/ai/context/IInternal.js +1 -1
  143. package/dist-es5/interfaces/ai/context/ILocation.js +1 -1
  144. package/dist-es5/interfaces/ai/context/IOperatingSystem.js +1 -1
  145. package/dist-es5/interfaces/ai/context/ISample.js +1 -1
  146. package/dist-es5/interfaces/ai/context/ISession.js +1 -1
  147. package/dist-es5/interfaces/ai/context/ISessionManager.js +1 -1
  148. package/dist-es5/interfaces/ai/context/ITelemetryTrace.js +1 -1
  149. package/dist-es5/interfaces/ai/context/IUser.js +1 -1
  150. package/dist-es5/interfaces/ai/context/IWeb.js +1 -1
  151. package/dist-es5/interfaces/ai/contracts/AvailabilityData.js +1 -1
  152. package/dist-es5/interfaces/ai/contracts/ContextTagKeys.js +1 -1
  153. package/dist-es5/interfaces/ai/contracts/DataPointType.js +1 -1
  154. package/dist-es5/interfaces/ai/contracts/DependencyKind.js +1 -1
  155. package/dist-es5/interfaces/ai/contracts/DependencySourceType.js +1 -1
  156. package/dist-es5/interfaces/ai/contracts/IBase.js +1 -1
  157. package/dist-es5/interfaces/ai/contracts/IData.js +1 -1
  158. package/dist-es5/interfaces/ai/contracts/IDataPoint.js +1 -1
  159. package/dist-es5/interfaces/ai/contracts/IDomain.js +1 -1
  160. package/dist-es5/interfaces/ai/contracts/IEventData.js +1 -1
  161. package/dist-es5/interfaces/ai/contracts/IExceptionData.js +1 -1
  162. package/dist-es5/interfaces/ai/contracts/IExceptionDetails.js +1 -1
  163. package/dist-es5/interfaces/ai/contracts/IMessageData.js +1 -1
  164. package/dist-es5/interfaces/ai/contracts/IMetricData.js +1 -1
  165. package/dist-es5/interfaces/ai/contracts/IPageViewData.js +1 -1
  166. package/dist-es5/interfaces/ai/contracts/IPageViewPerfData.js +1 -1
  167. package/dist-es5/interfaces/ai/contracts/IRemoteDependencyData.js +1 -1
  168. package/dist-es5/interfaces/ai/contracts/IStackFrame.js +1 -1
  169. package/dist-es5/interfaces/ai/contracts/SeverityLevel.js +1 -1
  170. package/dist-es5/interfaces/ai/telemetry/IEnvelope.js +1 -1
  171. package/dist-es5/interfaces/ai/telemetry/ISerializable.js +1 -1
  172. package/dist-es5/interfaces/config/IConfigDefaults.js +1 -1
  173. package/dist-es5/interfaces/config/IDynamicConfigHandler.js +1 -1
  174. package/dist-es5/interfaces/config/IDynamicPropertyHandler.js +1 -1
  175. package/dist-es5/interfaces/config/IDynamicWatcher.js +1 -1
  176. package/dist-es5/interfaces/config/_IDynamicConfigHandlerState.js +1 -1
  177. package/dist-es5/interfaces/ext/DataModels.js +6 -0
  178. package/dist-es5/interfaces/ext/DataModels.js.map +1 -0
  179. package/dist-es5/interfaces/otel/IOTelApi.js +1 -1
  180. package/dist-es5/interfaces/otel/IOTelApiCtx.js +1 -1
  181. package/dist-es5/interfaces/otel/IOTelAttributes.js +1 -1
  182. package/dist-es5/interfaces/otel/attribute/IAttributeContainer.js +1 -1
  183. package/dist-es5/interfaces/otel/config/IOTelAttributeLimits.js +1 -1
  184. package/dist-es5/interfaces/otel/config/IOTelConfig.js +1 -1
  185. package/dist-es5/interfaces/otel/config/IOTelErrorHandlers.js +1 -1
  186. package/dist-es5/interfaces/otel/config/IOTelSpanLimits.js +1 -1
  187. package/dist-es5/interfaces/otel/config/IOTelTraceCfg.js +1 -1
  188. package/dist-es5/interfaces/otel/trace/IOTelSpan.js +1 -1
  189. package/dist-es5/interfaces/otel/trace/IOTelSpanContext.js +1 -1
  190. package/dist-es5/interfaces/otel/trace/IOTelSpanCtx.js +1 -1
  191. package/dist-es5/interfaces/otel/trace/IOTelSpanOptions.js +1 -1
  192. package/dist-es5/interfaces/otel/trace/IOTelSpanStatus.js +1 -1
  193. package/dist-es5/interfaces/otel/trace/IOTelTraceApi.js +1 -1
  194. package/dist-es5/interfaces/otel/trace/IOTelTraceState.js +1 -1
  195. package/dist-es5/interfaces/otel/trace/IOTelTracer.js +1 -1
  196. package/dist-es5/interfaces/otel/trace/IOTelTracerOptions.js +1 -1
  197. package/dist-es5/interfaces/otel/trace/IOTelTracerProvider.js +1 -1
  198. package/dist-es5/interfaces/otel/trace/IReadableSpan.js +1 -1
  199. package/dist-es5/internal/EventHelpers.js +5 -5
  200. package/dist-es5/internal/EventHelpers.js.map +1 -1
  201. package/dist-es5/internal/attributeHelpers.js +1 -1
  202. package/dist-es5/internal/commonUtils.js +1 -1
  203. package/dist-es5/internal/handleErrors.js +1 -1
  204. package/dist-es5/internal/noopHelpers.js +1 -1
  205. package/dist-es5/internal/timeHelpers.js +1 -1
  206. package/dist-es5/otel/api/OTelApi.js +1 -1
  207. package/dist-es5/otel/api/errors/OTelError.js +1 -1
  208. package/dist-es5/otel/api/errors/OTelInvalidAttributeError.js +1 -1
  209. package/dist-es5/otel/api/errors/OTelSpanError.js +1 -1
  210. package/dist-es5/otel/api/trace/span.js +4 -4
  211. package/dist-es5/otel/api/trace/span.js.map +1 -1
  212. package/dist-es5/otel/api/trace/spanContext.js +1 -1
  213. package/dist-es5/otel/api/trace/traceApi.js +1 -1
  214. package/dist-es5/otel/api/trace/traceProvider.js +3 -3
  215. package/dist-es5/otel/api/trace/traceProvider.js.map +1 -1
  216. package/dist-es5/otel/api/trace/traceState.js +1 -1
  217. package/dist-es5/otel/api/trace/tracer.js +1 -1
  218. package/dist-es5/otel/api/trace/tracerProvider.js +1 -1
  219. package/dist-es5/otel/api/trace/utils.js +1 -1
  220. package/dist-es5/otel/attribute/SemanticConventions.js +1 -1
  221. package/dist-es5/otel/attribute/attributeContainer.js +1 -1
  222. package/dist-es5/telemetry/ConnectionStringParser.js +1 -1
  223. package/dist-es5/telemetry/RequestResponseHeaders.js +1 -1
  224. package/dist-es5/telemetry/TelemetryItemCreator.js +1 -1
  225. package/dist-es5/telemetry/W3cTraceState.js +1 -1
  226. package/dist-es5/telemetry/ai/Common/Data.js +3 -2
  227. package/dist-es5/telemetry/ai/Common/Data.js.map +1 -1
  228. package/dist-es5/telemetry/ai/Common/DataPoint.js +1 -1
  229. package/dist-es5/telemetry/ai/Common/DataSanitizer.js +1 -1
  230. package/dist-es5/telemetry/ai/Common/Envelope.js +1 -1
  231. package/dist-es5/telemetry/ai/DataTypes.js +1 -1
  232. package/dist-es5/telemetry/ai/EnvelopeTypes.js +1 -1
  233. package/dist-es5/telemetry/ai/Event.js +1 -1
  234. package/dist-es5/telemetry/ai/Exception.js +1 -1
  235. package/dist-es5/telemetry/ai/Metric.js +1 -1
  236. package/dist-es5/telemetry/ai/PageView.js +1 -1
  237. package/dist-es5/telemetry/ai/PageViewPerformance.js +1 -1
  238. package/dist-es5/telemetry/ai/RemoteDependencyData.js +1 -1
  239. package/dist-es5/telemetry/ai/Trace.js +1 -1
  240. package/dist-es5/utils/CoreUtils.js +1 -1
  241. package/dist-es5/utils/DataCacheHelper.js +2 -2
  242. package/dist-es5/utils/DataCacheHelper.js.map +1 -1
  243. package/dist-es5/utils/DomHelperFuncs.js +1 -1
  244. package/dist-es5/utils/EnvUtils.js +16 -5
  245. package/dist-es5/utils/EnvUtils.js.map +1 -1
  246. package/dist-es5/utils/HelperFuncs.js +4 -4
  247. package/dist-es5/utils/HelperFuncs.js.map +1 -1
  248. package/dist-es5/utils/Offline.js +1 -1
  249. package/dist-es5/utils/RandomHelper.js +1 -1
  250. package/dist-es5/utils/StorageHelperFuncs.js +1 -1
  251. package/dist-es5/utils/TraceParent.js +5 -5
  252. package/dist-es5/utils/TraceParent.js.map +1 -1
  253. package/dist-es5/utils/UrlHelperFuncs.js +1 -1
  254. package/dist-es5/utils/Util.js +4 -4
  255. package/dist-es5/utils/Util.js.map +1 -1
  256. package/package.json +75 -78
  257. package/types/applicationinsights-core-js.d.ts +830 -11
  258. package/types/applicationinsights-core-js.namespaced.d.ts +829 -10
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights Core Javascript SDK, 3.4.0-nightlybeta3.2602-27
2
+ * Microsoft Application Insights Core Javascript SDK, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -431,6 +431,25 @@ export declare class AppInsightsCore<CfgType extends IConfiguration = IConfigura
431
431
  protected _updateHook?(updateCtx: IProcessTelemetryUpdateContext, updateState: ITelemetryUpdateState): void | boolean;
432
432
  }
433
433
 
434
+ /**
435
+ * @group Classes
436
+ * @group Entrypoint
437
+ */
438
+ export declare class AppInsightsExtCore<C extends IExtendedConfiguration = IExtendedConfiguration> extends AppInsightsCore<C> {
439
+ constructor();
440
+ /**
441
+ * Initialize the sdk.
442
+ * @param config - The configuration to initialize the SDK.
443
+ * @param extensions - An array of extensions that are to be used by the core.
444
+ */
445
+ initialize(config: C, extensions: IPlugin[], logger?: IDiagnosticLogger, notificationManager?: INotificationManager): void;
446
+ track(item: IExtendedTelemetryItem | ITelemetryItem): void;
447
+ /**
448
+ * Periodically check logger.queue for
449
+ */
450
+ pollInternalLogs(eventName?: string): ITimerHandler;
451
+ }
452
+
434
453
  export declare const ApplicationInsightsAvailabilityBaseType = "AvailabilityData";
435
454
 
436
455
  export declare const ApplicationInsightsAvailabilityName: string;
@@ -1008,6 +1027,24 @@ export declare const createEnumStyle: <E>(values: {
1008
1027
  [key in keyof E]: E[keyof E];
1009
1028
  }) => EnumValue<E>;
1010
1029
 
1030
+ /**
1031
+ * Create an extended common schema telemetry item from the provided span
1032
+ * @param core - The app insights core instance
1033
+ * @param span - The span to create the telemetry item from
1034
+ * @returns A new extended telemetry item or null if the span kind is not supported
1035
+ */
1036
+ export declare function createExtendedTelemetryItemFromSpan(core: IAppInsightsCore, span: IReadableSpan): IExtendedTelemetryItem | null;
1037
+
1038
+ /**
1039
+ * Create a new guid.
1040
+ * @param style - The style of guid to generated, defaults to Digits
1041
+ * Digits (Default) : 32 digits separated by hyphens: 00000000-0000-0000-0000-000000000000
1042
+ * Braces - 32 digits separated by hyphens, enclosed in braces: \{00000000-0000-0000-0000-000000000000\}
1043
+ * Parentheses - 32 digits separated by hyphens, enclosed in parentheses: (00000000-0000-0000-0000-000000000000)
1044
+ * Numeric - 32 digits: 00000000000000000000000000000000
1045
+ */
1046
+ export declare function createGuid(style?: GuidStyle): string;
1047
+
1011
1048
  /**
1012
1049
  * Return a non-recording span based on the provided spanContext using the otelApi instance as the
1013
1050
  * owning instance.
@@ -1580,6 +1617,22 @@ export declare const enum eDistributedTracingModes {
1580
1617
  W3C_TRACE = 18
1581
1618
  }
1582
1619
 
1620
+ /**
1621
+ * Enum for property types.
1622
+ */
1623
+ export declare const enum eEventPropertyType {
1624
+ Unspecified = 0,
1625
+ String = 1,
1626
+ Int32 = 2,
1627
+ UInt32 = 3,
1628
+ Int64 = 4,
1629
+ UInt64 = 5,
1630
+ Double = 6,
1631
+ Bool = 7,
1632
+ Guid = 8,
1633
+ DateTime = 9
1634
+ }
1635
+
1583
1636
  /**
1584
1637
  * The eEventsDiscardedReason enumeration contains a set of values that specify the reason for discarding an event.
1585
1638
  */
@@ -1614,6 +1667,29 @@ export declare const enum eEventsDiscardedReason {
1614
1667
  BeaconSendFailure = 6
1615
1668
  }
1616
1669
 
1670
+ export declare const enum _eExtendedInternalMessageId {
1671
+ AuthHandShakeError = 501,
1672
+ AuthRedirectFail = 502,
1673
+ BrowserCannotReadLocalStorage = 503,
1674
+ BrowserCannotWriteLocalStorage = 504,
1675
+ BrowserDoesNotSupportLocalStorage = 505,
1676
+ CannotParseBiBlobValue = 506,
1677
+ CannotParseDataAttribute = 507,
1678
+ CVPluginNotAvailable = 508,
1679
+ DroppedEvent = 509,
1680
+ ErrorParsingAISessionCookie = 510,
1681
+ ErrorProvidedChannels = 511,
1682
+ FailedToGetCookies = 512,
1683
+ FailedToInitializeCorrelationVector = 513,
1684
+ FailedToInitializeSDK = 514,
1685
+ InvalidContentBlob = 515,
1686
+ InvalidCorrelationValue = 516,
1687
+ SessionRenewalDateIsZero = 517,
1688
+ SendPostOnCompleteFailure = 518,
1689
+ PostResponseHandler = 519,
1690
+ SDKNotInitialized = 520
1691
+ }
1692
+
1617
1693
  export declare const enum _eInternalMessageId {
1618
1694
  BrowserDoesNotSupportLocalStorage = 0,
1619
1695
  BrowserCannotReadLocalStorage = 1,
@@ -1886,6 +1962,136 @@ export declare const enum eTraceHeadersMode {
1886
1962
  All = 3
1887
1963
  }
1888
1964
 
1965
+ /**
1966
+ * The TraceLevel contains a set of values that specify the trace level for the trace messages.
1967
+ */
1968
+ export declare const enum eTraceLevel {
1969
+ /**
1970
+ * None.
1971
+ */
1972
+ NONE = 0,
1973
+ /**
1974
+ * Error trace.
1975
+ */
1976
+ ERROR = 1,
1977
+ /**
1978
+ * Warning trace.
1979
+ */
1980
+ WARNING = 2,
1981
+ /**
1982
+ * Information trace.
1983
+ */
1984
+ INFORMATION = 3
1985
+ }
1986
+
1987
+ /**
1988
+ * Controls how the user can configure which parts of the URL should be redacted. Example, certain query parameters, username and password, etc.
1989
+ */
1990
+ export declare const enum eUrlRedactionOptions {
1991
+ /**
1992
+ * The default value, will redact the username and password as well as the default set of query parameters
1993
+ */
1994
+ true = 1,
1995
+ /**
1996
+ * Does not redact username and password or any query parameters, the URL will be left as is. Note: this is not recommended as it may lead
1997
+ * to sensitive data being sent in clear text.
1998
+ */
1999
+ false = 2,
2000
+ /**
2001
+ * This will append any additional queryParams that the user has provided through redactQueryParams config to the default set i.e to
2002
+ * @defaultValue ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"].
2003
+ */
2004
+ appendToDefault = 3,
2005
+ /**
2006
+ * This will replace the default set of query parameters to redact with the query parameters defined in redactQueryParams config, if provided by the user.
2007
+ */
2008
+ replaceDefault = 4,
2009
+ /**
2010
+ * This will redact username and password in the URL but will not redact any query parameters, even those in the default set.
2011
+ */
2012
+ usernamePasswordOnly = 5,
2013
+ /**
2014
+ * This will only redact the query parameter in the default set of query parameters to redact. It will not redact username and password.
2015
+ */
2016
+ queryParamsOnly = 6
2017
+ }
2018
+
2019
+ /**
2020
+ * The eValueKind contains a set of values that specify value kind of the property.
2021
+ * Either PII (Personal Identifiable Information) or customer content.
2022
+ */
2023
+ export declare const enum eValueKind {
2024
+ /**
2025
+ * No kind.
2026
+ */
2027
+ NotSet = 0,
2028
+ /**
2029
+ * An LDAP distinguished name. For example, CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM.
2030
+ */
2031
+ Pii_DistinguishedName = 1,
2032
+ /**
2033
+ * Generic information.
2034
+ */
2035
+ Pii_GenericData = 2,
2036
+ /**
2037
+ * An IPV4 Internet address. For example, 192.0.2.1.
2038
+ */
2039
+ Pii_IPV4Address = 3,
2040
+ /**
2041
+ * An IPV6 Internet address. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
2042
+ */
2043
+ Pii_IPv6Address = 4,
2044
+ /**
2045
+ * The Subject of an e-mail message.
2046
+ */
2047
+ Pii_MailSubject = 5,
2048
+ /**
2049
+ * A telephone number.
2050
+ */
2051
+ Pii_PhoneNumber = 6,
2052
+ /**
2053
+ * A query string.
2054
+ */
2055
+ Pii_QueryString = 7,
2056
+ /**
2057
+ * An SIP (Session Internet Protocol) address.
2058
+ */
2059
+ Pii_SipAddress = 8,
2060
+ /**
2061
+ * An e-mail address.
2062
+ */
2063
+ Pii_SmtpAddress = 9,
2064
+ /**
2065
+ * An user ID.
2066
+ */
2067
+ Pii_Identity = 10,
2068
+ /**
2069
+ * A URI (Uniform Resource Identifier).
2070
+ */
2071
+ Pii_Uri = 11,
2072
+ /**
2073
+ * The fully-qualified domain name.
2074
+ */
2075
+ Pii_Fqdn = 12,
2076
+ /**
2077
+ * Scrubs the last octet in a IPV4 Internet address.
2078
+ * For example: 10.121.227.147 becomes 10.121.227.*
2079
+ */
2080
+ Pii_IPV4AddressLegacy = 13,
2081
+ /**
2082
+ * Scrubs the last 4 Hextets (last 64-bits) of an IPv6 address
2083
+ */
2084
+ Pii_IPv6ScrubLastHextets = 14,
2085
+ /**
2086
+ * Drops the value altogether, rather than hashing
2087
+ */
2088
+ Pii_DropValue = 15,
2089
+ /**
2090
+ * Generic content.
2091
+ */
2092
+ CustomerContent_GenericContent = 32
2093
+ }
2094
+
1889
2095
  declare class Event_2 implements IEventData, ISerializable {
1890
2096
  /**
1891
2097
  * @deprecated Use the constant EventEnvelopeType instead.
@@ -1928,6 +2134,36 @@ export declare const EventDataType = "EventData";
1928
2134
 
1929
2135
  export declare const EventEnvelopeType: string;
1930
2136
 
2137
+ /**
2138
+ * The EventLatency contains a set of values that specify the latency with which an event is sent.
2139
+ */
2140
+ export declare const EventLatency: EnumValue<typeof EventLatencyValue>;
2141
+
2142
+ export declare type EventLatency = number | EventLatencyValue;
2143
+
2144
+ /**
2145
+ * The EventLatency contains a set of values that specify the latency with which an event is sent.
2146
+ */
2147
+ export declare const enum EventLatencyValue {
2148
+ /**
2149
+ * Normal latency.
2150
+ */
2151
+ Normal = 1,
2152
+ /**
2153
+ * Cost deferred latency. At the moment this latency is treated as Normal latency.
2154
+ */
2155
+ CostDeferred = 2,
2156
+ /**
2157
+ * Real time latency.
2158
+ */
2159
+ RealTime = 3,
2160
+ /**
2161
+ * Bypass normal batching/timing and send as soon as possible, this will still send asynchronously.
2162
+ * Added in v3.1.1
2163
+ */
2164
+ Immediate = 4
2165
+ }
2166
+
1931
2167
  /**
1932
2168
  * Removes an event handler for the specified event
1933
2169
  * @param Object - to remove the event from
@@ -1963,9 +2199,9 @@ export declare const EventPersistence: EnumValue<typeof EventPersistenceValue>;
1963
2199
  export declare type EventPersistence = number | EventPersistenceValue;
1964
2200
 
1965
2201
  /**
1966
- * The EventPersistence contains a set of values that specify the event's persistence.
2202
+ * The EventPersistenceValue contains a set of values that specify the event's persistence.
1967
2203
  */
1968
- declare const enum EventPersistenceValue {
2204
+ export declare const enum EventPersistenceValue {
1969
2205
  /**
1970
2206
  * Normal persistence.
1971
2207
  */
@@ -1976,6 +2212,13 @@ declare const enum EventPersistenceValue {
1976
2212
  Critical = 2
1977
2213
  }
1978
2214
 
2215
+ /**
2216
+ * Enum for property types.
2217
+ */
2218
+ export declare const EventPropertyType: EnumValue<typeof eEventPropertyType>;
2219
+
2220
+ export declare type EventPropertyType = number | eEventPropertyType;
2221
+
1979
2222
  /**
1980
2223
  * The EventsDiscardedReason enumeration contains a set of values that specify the reason for discarding an event.
1981
2224
  */
@@ -1983,6 +2226,34 @@ export declare const EventsDiscardedReason: EnumValue<typeof eEventsDiscardedRea
1983
2226
 
1984
2227
  export declare type EventsDiscardedReason = number | eEventsDiscardedReason;
1985
2228
 
2229
+ /**
2230
+ * Define a specific way to send an event synchronously
2231
+ */
2232
+ export declare const enum EventSendType {
2233
+ /**
2234
+ * Batch and send the event asynchronously, this is the same as either setting the event `sync` flag to false or not setting at all.
2235
+ */
2236
+ Batched = 0,
2237
+ /**
2238
+ * Attempt to send the event synchronously, this is the same as setting the event `sync` flag to true
2239
+ */
2240
+ Synchronous = 1,
2241
+ /**
2242
+ * Attempt to send the event synchronously with a preference for the sendBeacon() API.
2243
+ * As per the specification, the payload of the event (when converted to JSON) must not be larger than 64kb,
2244
+ * the sendHook is also not supported or used when sendBeacon.
2245
+ */
2246
+ SendBeacon = 2,
2247
+ /**
2248
+ * Attempt to send the event synchronously with a preference for the fetch() API with the keepalive flag,
2249
+ * the SDK checks to ensure that the fetch() implementation supports the 'keepalive' flag and if not it
2250
+ * will fallback to either sendBeacon() or a synchronous XHR request.
2251
+ * As per the specification, the payload of the event (when converted to JSON) must not be larger than 64kb.
2252
+ * Note: Not all browsers support the keepalive flag so for those environments the events may still fail
2253
+ */
2254
+ SyncFetch = 3
2255
+ }
2256
+
1986
2257
  /**
1987
2258
  * The TelemetryUpdateReason enumeration contains a set of bit-wise values that specify the reason for update request.
1988
2259
  */
@@ -2067,6 +2338,19 @@ export declare const EXP_ATTR_ENDUSER_PSEUDO_ID: string;
2067
2338
 
2068
2339
  export declare const EXP_ATTR_SYNTHETIC_TYPE = "synthetic.type";
2069
2340
 
2341
+ /**
2342
+ * Pass in the objects to merge as arguments.
2343
+ * @param obj1 - object to merge. Set this argument to 'true' for a deep extend.
2344
+ * @param obj2 - object to merge.
2345
+ * @param obj3 - object to merge.
2346
+ * @param obj4 - object to merge.
2347
+ * @param obj5 - object to merge.
2348
+ * @returns The extended object.
2349
+ */
2350
+ export declare function extend(obj?: any, obj2?: any, obj3?: any, obj4?: any, obj5?: any): any;
2351
+
2352
+ export declare type _ExtendedInternalMessageId = number | _eExtendedInternalMessageId | _eInternalMessageId;
2353
+
2070
2354
  /**
2071
2355
  * Defines extended attribute values which may contain nested attributes.
2072
2356
  *
@@ -2085,6 +2369,16 @@ export declare const Extensions: {
2085
2369
  SDKExt: string;
2086
2370
  };
2087
2371
 
2372
+ /**
2373
+ * Identifies the full version for the extended SDK
2374
+ */
2375
+ export declare const ExtFullVersionString: string;
2376
+
2377
+ /**
2378
+ * Identifies the version for the extended SDK
2379
+ */
2380
+ export declare const ExtVersion = "4.4.1";
2381
+
2088
2382
  export declare const enum FeatureOptInMode {
2089
2383
  /**
2090
2384
  * not set, completely depends on cdn cfg
@@ -2119,6 +2413,20 @@ export declare const enum FieldType {
2119
2413
  Hidden = 4
2120
2414
  }
2121
2415
 
2416
+ export declare type FieldValueSanitizerFunc = (details: IFieldSanitizerDetails) => IEventProperty | null;
2417
+
2418
+ export declare const enum FieldValueSanitizerType {
2419
+ NotSet = 0,
2420
+ String = 1,
2421
+ Number = 2,
2422
+ Boolean = 3,
2423
+ Object = 4,
2424
+ Array = 4096,
2425
+ EventProperty = 8192
2426
+ }
2427
+
2428
+ export declare type FieldValueSanitizerTypes = string | number | boolean | object | string[] | number[] | boolean[] | IEventProperty;
2429
+
2122
2430
  /**
2123
2431
  * Find all script tags in the provided document and return the information about them.
2124
2432
  * @param doc - The document to search for script tags
@@ -2190,6 +2498,12 @@ export declare function formatErrorMessageXhr(xhr: XMLHttpRequest, message?: str
2190
2498
  */
2191
2499
  export declare function formatTraceParent(value: ITraceParent): string;
2192
2500
 
2501
+ /**
2502
+ * Identifies the full version for the extended SDK (legacy constant)
2503
+ * @deprecated Use {@link ExtFullVersionString} instead
2504
+ */
2505
+ export declare const FullVersionString: string;
2506
+
2193
2507
  /**
2194
2508
  * generate W3C trace id
2195
2509
  */
@@ -2201,11 +2515,23 @@ export declare function generateW3CId(): string;
2201
2515
  */
2202
2516
  export declare function _getAllResponseHeaders(xhr: XMLHttpRequest, isOneDs?: boolean): {};
2203
2517
 
2518
+ export declare function getCommonSchemaMetaData(value: string | boolean | number | string[] | number[] | boolean[] | undefined, kind: number | undefined, type?: number | undefined): number;
2519
+
2204
2520
  /**
2205
2521
  * Returns the global console object
2206
2522
  */
2207
2523
  export declare function getConsole(): Console | null;
2208
2524
 
2525
+ /**
2526
+ * Helper to get and decode the cookie value using decodeURIComponent, this is for historical
2527
+ * backward compatibility where the document.cookie value was decoded before parsing.
2528
+ * @param cookieMgr - The cookie manager to use
2529
+ * @param name - The name of the cookie to get
2530
+ * @param decode - A flag to indicate whether the cookie value should be decoded
2531
+ * @returns The decoded cookie value (if available) otherwise an empty string.
2532
+ */
2533
+ export declare function getCookieValue(cookieMgr: ICookieMgr, name: string, decode?: boolean): string;
2534
+
2209
2535
  /**
2210
2536
  * Returns the crypto object if it is present otherwise null.
2211
2537
  * This helper is used to access the crypto object from the current
@@ -2236,6 +2562,12 @@ export declare function getExceptionName(object: any): string;
2236
2562
 
2237
2563
  export declare function getExtensionByName(extensions: IPlugin[], identifier: string): IPlugin | null;
2238
2564
 
2565
+ /**
2566
+ * Returns a bitwise value for the FieldValueSanitizerType enum representing the decoded type of the passed value
2567
+ * @param value - The value to determine the type
2568
+ */
2569
+ export declare function getFieldValueType(value: any): FieldValueSanitizerType;
2570
+
2239
2571
  /**
2240
2572
  * Get the current global performance manager that will be used with no performance manager is supplied.
2241
2573
  * @returns - The current default manager
@@ -2326,6 +2658,15 @@ export declare function getSetValue<T, K extends keyof T>(target: T, field: K, d
2326
2658
  */
2327
2659
  export declare function getSyntheticType(container: IAttributeContainer): OTelAttributeValue;
2328
2660
 
2661
+ /**
2662
+ * Gets the tenant id from the tenant token.
2663
+ * @param apiKey - The token from which the tenant id is to be extracted.
2664
+ * @returns The tenant id.
2665
+ */
2666
+ export declare function getTenantId(apiKey: string | undefined): string;
2667
+
2668
+ export declare let getTime: typeof perfNow;
2669
+
2329
2670
  /**
2330
2671
  * Get the URL from the attribute container
2331
2672
  * @param container - The attribute container to extract the URL from
@@ -2337,6 +2678,13 @@ export declare function getUserAgent(container: IAttributeContainer): OTelAttrib
2337
2678
 
2338
2679
  export { getWindow }
2339
2680
 
2681
+ export declare const enum GuidStyle {
2682
+ Numeric = "N",
2683
+ Digits = "D",
2684
+ Braces = "B",
2685
+ Parentheses = "P"
2686
+ }
2687
+
2340
2688
  /**
2341
2689
  * Handle / report an error.
2342
2690
  * When not provided the default is to generally throw an {@link OTelInvalidAttributeError}
@@ -3560,10 +3908,10 @@ export declare interface IConfiguration extends IOTelConfig {
3560
3908
  */
3561
3909
  expCfg?: IExceptionConfig;
3562
3910
  /**
3563
- * [Optional] A flag to enable or disable the use of the field redaction for urls.
3911
+ * [Optional] A flag to enable or disable redaction for query parameters and username/password.
3564
3912
  * @defaultValue true
3565
3913
  */
3566
- redactUrls?: boolean;
3914
+ redactUrls?: UrlRedactionOptions;
3567
3915
  /**
3568
3916
  * [Optional] Additional query parameters to redact beyond the default set.
3569
3917
  * Use this to specify custom parameters that contain sensitive information.
@@ -4661,6 +5009,29 @@ export declare interface IEventData extends IDomain {
4661
5009
  measurements: any;
4662
5010
  }
4663
5011
 
5012
+ /**
5013
+ * An interface used to create an event property value along with tagging it as PII, or customer content.
5014
+ * <b>Caution:</b> Customer content and PII are mutually exclusive. You can use only one of them at a time.
5015
+ * If you use both, then the property will be considered invalid, and therefore won't be sent.
5016
+ */
5017
+ export declare interface IEventProperty {
5018
+ /**
5019
+ * The value for the property.
5020
+ */
5021
+ value: string | number | boolean | string[] | number[] | boolean[];
5022
+ /**
5023
+ * [Optional] The value kind associated with property value. The constant enum ValueKind should be used to specify the
5024
+ * different kinds.
5025
+ */
5026
+ kind?: number;
5027
+ /**
5028
+ * [Optional] The data type for the property. Valid values accepted by onecollector are
5029
+ * "string", "bool", "double", "int64", "datetime", "guid".
5030
+ * The EventPropertyType constant enum should be used to specify the different property type values.
5031
+ */
5032
+ propertyType?: number;
5033
+ }
5034
+
4664
5035
  export declare interface IEventTelemetry extends IPartC {
4665
5036
  /**
4666
5037
  * @description An event name string
@@ -4672,6 +5043,46 @@ export declare interface IEventTelemetry extends IPartC {
4672
5043
  iKey?: string;
4673
5044
  }
4674
5045
 
5046
+ /**
5047
+ * An interface used for telemetry event timings.
5048
+ */
5049
+ export declare interface IEventTiming {
5050
+ /**
5051
+ * Time when 1DS Core calls track
5052
+ */
5053
+ trackStart?: number;
5054
+ /**
5055
+ * Array of times when each plugin configured in 1DS calls processTelemetry method
5056
+ */
5057
+ processTelemetryStart?: {
5058
+ [key: string]: number;
5059
+ };
5060
+ /**
5061
+ * Array of times when a specific channel tried to send the telemetry to configured endpoint
5062
+ */
5063
+ sendEventStart?: {
5064
+ [key: string]: number;
5065
+ };
5066
+ /**
5067
+ * Array of times when a specific channel received a response from endpoint or request timed out
5068
+ */
5069
+ sendEventCompleted?: {
5070
+ [key: string]: number;
5071
+ };
5072
+ /**
5073
+ * Array of times when a specific channel started serialization of the telemetry event
5074
+ */
5075
+ serializationStart?: {
5076
+ [key: string]: number;
5077
+ };
5078
+ /**
5079
+ * Array of times when a specific channel completed serialization of the telemetry event
5080
+ */
5081
+ serializationCompleted?: {
5082
+ [key: string]: number;
5083
+ };
5084
+ }
5085
+
4675
5086
  /**
4676
5087
  * Configuration for extra exceptions information sent with the exception telemetry.
4677
5088
  * @example
@@ -4836,6 +5247,83 @@ export declare interface IExceptionTelemetry extends IPartC {
4836
5247
  severityLevel?: SeverityLevel | number;
4837
5248
  }
4838
5249
 
5250
+ /**
5251
+ * The IExtendedConfiguration interface holds the configuration details passed to core during initialize.
5252
+ */
5253
+ export declare interface IExtendedConfiguration extends IConfiguration {
5254
+ /**
5255
+ * [Optional] The property storage override that should be used to store
5256
+ * internal SDK properties, otherwise stored as cookies. It is needed where cookies are not available.
5257
+ */
5258
+ propertyStorageOverride?: IPropertyStorageOverride;
5259
+ /**
5260
+ * [Optional] A boolean that indicated whether to disable the use of cookies by the 1DS Web SDK. The cookies added by the SDK are
5261
+ * MicrosoftApplicationsTelemetryDeviceId. If cookies are disabled, then session events are not sent unless propertyStorageOverride
5262
+ * is provided to store the values elsewhere.
5263
+ */
5264
+ disableCookiesUsage?: boolean;
5265
+ /**
5266
+ * [Optional] Name of the Anon cookie. The value will be set in the qsp header to collector requests. Collector will use this value to look for specific cookie to use for anid property.
5267
+ */
5268
+ anonCookieName?: string;
5269
+ /**
5270
+ * [Optional] Disables additional internal event timings that are added during processing of events, the timings are not sent as part telemetry items to the server
5271
+ */
5272
+ disableEventTimings?: boolean;
5273
+ /**
5274
+ * [Optional] Enables support for objects with compound keys which indirectly represent an object where the "key" of the object contains a "." as part of it's name.
5275
+ * @example
5276
+ * ```typescript
5277
+ * event: { "somedata.embeddedvalue": 123 }
5278
+ * ```
5279
+ */
5280
+ enableCompoundKey?: boolean;
5281
+ /**
5282
+ * Add "&w=0" parameter to support UA Parsing when web-workers don't have access to Document.
5283
+ * Default is false
5284
+ */
5285
+ enableWParam?: boolean;
5286
+ }
5287
+
5288
+ /**
5289
+ * An interface used to create an event, along with its name, properties, type, timestamp, and priority.
5290
+ */
5291
+ export declare interface IExtendedTelemetryItem extends ITelemetryItem {
5292
+ /**
5293
+ * Properties to be captured about the telemetry item.
5294
+ * Custom properties (alternatively referred to as Part C properties for a Common Schema event) can be
5295
+ * directly added under data.
5296
+ */
5297
+ data?: {
5298
+ [key: string]: any;
5299
+ };
5300
+ /**
5301
+ * Telemetry properties pertaining to domain about which data is being captured. Example, duration, referrerUri for browser page.
5302
+ * These are alternatively referred to as Part B properties for a Common Schema event.
5303
+ */
5304
+ baseData?: {
5305
+ [key: string]: any;
5306
+ };
5307
+ /**
5308
+ * An EventLatency value, that specifies the latency for the event.The EventLatency constant should be
5309
+ * used to specify the different latency values.
5310
+ */
5311
+ latency?: number | EventLatencyValue;
5312
+ /**
5313
+ * [Optional] An EventPersistence value, that specifies the persistence for the event. The EventPersistence constant
5314
+ * should be used to specify the different persistence values.
5315
+ */
5316
+ persistence?: number | EventPersistenceValue;
5317
+ /**
5318
+ * [Optional] A boolean that specifies whether the event should be sent as a sync request.
5319
+ */
5320
+ sync?: boolean | EventSendType;
5321
+ /**
5322
+ * [Optional] A timings object.
5323
+ */
5324
+ timings?: IEventTiming;
5325
+ }
5326
+
4839
5327
  export declare interface IFeatureOptIn {
4840
5328
  [feature: string]: IFeatureOptInDetails;
4841
5329
  }
@@ -4871,6 +5359,57 @@ export declare interface IFeatureOptInDetails {
4871
5359
  blockCdnCfg?: boolean;
4872
5360
  }
4873
5361
 
5362
+ /**
5363
+ * This interface defines the object that is passed to any provided FieldValueSanitizerFunc, it provides not only the value to be sanitized but also
5364
+ * some context about the value like it's location within the envelope (serialized object), the format is defined via the
5365
+ * [Common Schema 4.0](https://aka.ms/CommonSchema) specification.
5366
+ */
5367
+ export declare interface IFieldSanitizerDetails {
5368
+ /**
5369
+ * The path within the event where the value is stored
5370
+ */
5371
+ path: string;
5372
+ /**
5373
+ * The name of the field with the event path that will store the value
5374
+ */
5375
+ name: string;
5376
+ /**
5377
+ * Identifies the type of the property value
5378
+ */
5379
+ type: FieldValueSanitizerType;
5380
+ /**
5381
+ * The value for the property.
5382
+ */
5383
+ prop: IEventProperty;
5384
+ /**
5385
+ * A reference to the value sanitizer that created the details
5386
+ */
5387
+ sanitizer: IValueSanitizer;
5388
+ }
5389
+
5390
+ /**
5391
+ * This interface is used during the serialization of individual fields when converting the events into envelope (serialized object) which is sent to the services,
5392
+ * the format is defined via the [Common Schema 4.0](https://aka.ms/CommonSchema) specification. The path and field names used are based
5393
+ * on how the data is serialized to the service (CS 4.0 location) and not specifically the location on the event object you pass into the track methods (unless they are the same).
5394
+ */
5395
+ export declare interface IFieldValueSanitizerProvider {
5396
+ /**
5397
+ * Does this field value sanitizer handle this path / field combination
5398
+ * @param path - The field path
5399
+ * @param name - The name of the field
5400
+ */
5401
+ handleField(path: string, name: string): boolean;
5402
+ /**
5403
+ * Get the field sanitizer for this type of field based on the field type, value kind and/or event property type
5404
+ * @param path - The field path
5405
+ * @param name - The name of the field
5406
+ * @param theType - The type of field
5407
+ * @param theKind - The value kind of the field
5408
+ * @param propType - The property type of the field
5409
+ */
5410
+ getSanitizer(path: string, name: string, theType: FieldValueSanitizerType, theKind?: number, propType?: number): FieldValueSanitizerFunc | null | undefined;
5411
+ }
5412
+
4874
5413
  export declare interface IInstrumentCallDetails {
4875
5414
  name: string;
4876
5415
  inst: any;
@@ -6880,6 +7419,26 @@ export declare interface IPropertiesPlugin {
6880
7419
  readonly context: ITelemetryContext;
6881
7420
  }
6882
7421
 
7422
+ /**
7423
+ * The IPropertyStorageOverride interface provides a custom interface for storing internal SDK properties - otherwise they are
7424
+ * stored as cookies.
7425
+ * You need this interface when you intend to run auto collection for common properties, or when you log a session in
7426
+ * a non browser environment.
7427
+ */
7428
+ export declare interface IPropertyStorageOverride {
7429
+ /**
7430
+ * A function for passing key value pairs to be stored.
7431
+ * @param key - The key for the key value pair.
7432
+ * @param value - The value for the key value pair.
7433
+ */
7434
+ setProperty: (key: string, value: string) => void;
7435
+ /**
7436
+ * A function that gets a value for a given key.
7437
+ * @param key - The key for which the value must be fetched.
7438
+ */
7439
+ getProperty: (key: string) => string;
7440
+ }
7441
+
6883
7442
  /**
6884
7443
  * Provides an OpenTelemetry compatible Interface for the Open Telemetry Sdk-Trace-Base (1.8.0 and 2.0.0) ReadableSpan type.
6885
7444
  *
@@ -7068,6 +7627,8 @@ export declare interface ISample {
7068
7627
 
7069
7628
  export { isArray }
7070
7629
 
7630
+ export declare function isArrayValid(value: any[]): boolean;
7631
+
7071
7632
  /**
7072
7633
  * Helper function to identify if a passed argument is or implements the IAttributeContainer interface
7073
7634
  * @param value - The value to check
@@ -7118,12 +7679,22 @@ export declare function isBeaconsSupported(useCached?: boolean): boolean;
7118
7679
 
7119
7680
  export { isBoolean }
7120
7681
 
7682
+ /**
7683
+ * Helper to identify whether we are running in a chromium based browser environment
7684
+ */
7685
+ export declare function isChromium(): boolean;
7686
+
7121
7687
  export declare function isCrossOriginError(message: string | Event, url: string, lineNumber: number, columnNumber: number, error: Error | Event): boolean;
7122
7688
 
7123
7689
  export { isDate }
7124
7690
 
7125
7691
  export declare function isDistributedTraceContext(obj: any): obj is IDistributedTraceContext;
7126
7692
 
7693
+ /**
7694
+ * Checks if document object is available
7695
+ */
7696
+ export declare const isDocumentObjectAvailable: boolean;
7697
+
7127
7698
  /**
7128
7699
  * internal interface
7129
7700
  * Define functions when xhr/xdr/fetch requests are successfully returned. If they are not defined, oncomplete with be called instead
@@ -7320,6 +7891,13 @@ export declare function isFetchSupported(withKeepAlive?: boolean): boolean;
7320
7891
 
7321
7892
  export { isFunction }
7322
7893
 
7894
+ /**
7895
+ * Check to see if the value is \> 0
7896
+ * @param value - The value to check
7897
+ * @returns true if \> 0 otherwise false
7898
+ */
7899
+ export declare function isGreaterThanZero(value: number): boolean;
7900
+
7323
7901
  /**
7324
7902
  * Identifies whether the current environment appears to be IE
7325
7903
  */
@@ -7327,6 +7905,13 @@ export declare function isIE(): boolean;
7327
7905
 
7328
7906
  export declare function isInternalApplicationInsightsEndpoint(endpointUrl: string): boolean;
7329
7907
 
7908
+ /**
7909
+ * Checks if the value is a valid EventLatency.
7910
+ * @param value - The value that needs to be checked.
7911
+ * @returns True if the value is in AWTEventLatency, false otherwise.
7912
+ */
7913
+ export declare function isLatency(value: EventLatency | undefined): boolean;
7914
+
7330
7915
  export declare function isNotNullOrUndefined<T>(value: T): value is T;
7331
7916
 
7332
7917
  export { isNotTruthy }
@@ -7499,6 +8084,13 @@ export { isTruthy }
7499
8084
 
7500
8085
  export { isTypeof }
7501
8086
 
8087
+ /**
8088
+ * Checks if Uint8Array are available in the current environment. Safari and Firefox along with
8089
+ * ReactNative are known to not support Uint8Array properly.
8090
+ * @returns True if available, false otherwise.
8091
+ */
8092
+ export declare function isUint8ArrayAvailable(): boolean;
8093
+
7502
8094
  export { isUndefined }
7503
8095
 
7504
8096
  /**
@@ -7526,6 +8118,15 @@ export declare function isValidTraceId(value: string): boolean;
7526
8118
  */
7527
8119
  export declare function isValidTraceParent(value: ITraceParent): boolean;
7528
8120
 
8121
+ /**
8122
+ * Checks if value is assigned to the given param.
8123
+ * @param value - The token from which the tenant id is to be extracted.
8124
+ * @returns True/false denoting if value is assigned to the param.
8125
+ */
8126
+ export declare function isValueAssigned(value: any): boolean;
8127
+
8128
+ export declare function isValueKind(value: number | undefined): boolean;
8129
+
7529
8130
  /**
7530
8131
  * Identifies if the provided value looks like a distributed trace state instance
7531
8132
  * @param value - The value to check
@@ -7533,6 +8134,11 @@ export declare function isValidTraceParent(value: ITraceParent): boolean;
7533
8134
  */
7534
8135
  export declare function isW3cTraceState(value: any): value is IW3cTraceState;
7535
8136
 
8137
+ /**
8138
+ * Checks if window object is available
8139
+ */
8140
+ export declare const isWindowObjectAvailable: boolean;
8141
+
7536
8142
  /**
7537
8143
  * Checks if XMLHttpRequest is supported
7538
8144
  * @returns True if supported, otherwise false
@@ -7711,24 +8317,92 @@ declare interface ITelemetryProcessor {
7711
8317
 
7712
8318
  /**
7713
8319
  * Interface for telemetry trace context.
7714
- * @deprecated Use the core getTraceCtx method instead to get / set the current trace context, this is required to
7715
- * support distributed tracing and allows the core to manage the trace context.
8320
+ * @deprecated Use {@link ITraceHost.getTraceCtx | appInsights.getTraceCtx()} or {@link ITraceHost.getTraceCtx | appInsights.core.getTraceCtx()} instead to get / set the
8321
+ * current trace context. This returns an {@link IDistributedTraceContext} which supports distributed tracing and
8322
+ * allows the core to manage the trace context.
8323
+ *
8324
+ * To replace the entire trace context, use {@link ITraceHost.setTraceCtx | appInsights.core.setTraceCtx()}.
8325
+ *
8326
+ * @see {@link https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-core-js/interfaces/IDistributedTraceContext.html | IDistributedTraceContext Typedoc}
8327
+ * @see {@link https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-core-js/interfaces/ITraceHost.html#getTraceCtx | getTraceCtx Typedoc}
7716
8328
  */
7717
8329
  export declare interface ITelemetryTrace {
7718
8330
  /**
7719
- * Trace id
8331
+ * The trace ID for this telemetry context. A 32 lowercase hex character string.
8332
+ * @deprecated Use {@link IDistributedTraceContext.traceId} instead via `appInsights.getTraceCtx().traceId`.
8333
+ *
8334
+ * @example
8335
+ * ```typescript
8336
+ * // Old (deprecated)
8337
+ * let traceId = context.telemetryTrace.traceID;
8338
+ *
8339
+ * // New (recommended) - using the standard SKU (AISKU)
8340
+ * let traceCtx = appInsights.getTraceCtx();
8341
+ * let traceId = traceCtx.traceId;
8342
+ * traceCtx.traceId = "00000000000000000000000000000001";
8343
+ *
8344
+ * // Or when using the core directly
8345
+ * let traceCtx = appInsights.core.getTraceCtx();
8346
+ * ```
7720
8347
  */
7721
8348
  traceID?: string;
7722
8349
  /**
7723
- * Parent id
8350
+ * The parent span ID. A 16 lowercase hex character string.
8351
+ * @deprecated Use {@link IDistributedTraceContext.spanId} instead via `appInsights.getTraceCtx().spanId`.
8352
+ *
8353
+ * @example
8354
+ * ```typescript
8355
+ * // Old (deprecated)
8356
+ * let parentId = context.telemetryTrace.parentID;
8357
+ *
8358
+ * // New (recommended) - using the standard SKU (AISKU)
8359
+ * let traceCtx = appInsights.getTraceCtx();
8360
+ * let spanId = traceCtx.spanId;
8361
+ * traceCtx.spanId = "0000000000000001";
8362
+ *
8363
+ * // Or when using the core directly
8364
+ * let traceCtx = appInsights.core.getTraceCtx();
8365
+ * ```
7724
8366
  */
7725
8367
  parentID?: string;
7726
8368
  /**
7727
- * An integer representation of the W3C TraceContext trace-flags. https://www.w3.org/TR/trace-context/#trace-flags
8369
+ * An integer representation of the W3C TraceContext trace-flags.
8370
+ * @deprecated Use {@link IDistributedTraceContext.traceFlags} instead via `appInsights.getTraceCtx().traceFlags`.
8371
+ *
8372
+ * @example
8373
+ * ```typescript
8374
+ * // Old (deprecated)
8375
+ * let flags = context.telemetryTrace.traceFlags;
8376
+ *
8377
+ * // New (recommended) - using the standard SKU (AISKU)
8378
+ * let traceCtx = appInsights.getTraceCtx();
8379
+ * let flags = traceCtx.traceFlags;
8380
+ * traceCtx.traceFlags = 1; // sampled
8381
+ *
8382
+ * // Or when using the core directly
8383
+ * let traceCtx = appInsights.core.getTraceCtx();
8384
+ * ```
8385
+ *
8386
+ * @see {@link https://www.w3.org/TR/trace-context/#trace-flags | W3C TraceContext trace-flags}
7728
8387
  */
7729
8388
  traceFlags?: number;
7730
8389
  /**
7731
- * Name
8390
+ * The operation/page name for this trace context.
8391
+ * @deprecated Use {@link IDistributedTraceContext.pageName} instead via `appInsights.getTraceCtx().pageName`.
8392
+ *
8393
+ * @example
8394
+ * ```typescript
8395
+ * // Old (deprecated)
8396
+ * let name = context.telemetryTrace.name;
8397
+ *
8398
+ * // New (recommended) - using the standard SKU (AISKU)
8399
+ * let traceCtx = appInsights.getTraceCtx();
8400
+ * let pageName = traceCtx.pageName;
8401
+ * traceCtx.pageName = "my-page";
8402
+ *
8403
+ * // Or when using the core directly
8404
+ * let traceCtx = appInsights.core.getTraceCtx();
8405
+ * ```
7732
8406
  */
7733
8407
  name?: string;
7734
8408
  }
@@ -8199,6 +8873,56 @@ export declare interface IUserContext extends IUser {
8199
8873
  update(userId?: string): void;
8200
8874
  }
8201
8875
 
8876
+ /**
8877
+ * This interface is used during the serialization of events into envelope (serialized object) which is sent to the services, the format is defined via the
8878
+ * [Common Schema 4.0](https://aka.ms/CommonSchema) specification. The path and field names used are based on how the data is serialized
8879
+ * to the service (CS 4.0 location) and not specifically the location on the event object you pass into the track methods (unless they are the same).
8880
+ */
8881
+ export declare interface IValueSanitizer {
8882
+ /**
8883
+ * Add a value sanitizer as a fallback sanitizer if this sanitizer can't handle the path/name.
8884
+ */
8885
+ addSanitizer: (sanitizer: IValueSanitizer) => void;
8886
+ /**
8887
+ * Adds a field sanitizer to the evaluation list
8888
+ */
8889
+ addFieldSanitizer: (fieldSanitizer: IFieldValueSanitizerProvider) => void;
8890
+ /**
8891
+ * Removes the value sanitizer as a fallback sanitizer if this sanitizer can't handle the path/name if present.
8892
+ */
8893
+ rmSanitizer: (theSanitizer: IValueSanitizer) => void;
8894
+ /**
8895
+ * Removes the field sanitizer to the evaluation list if present
8896
+ */
8897
+ rmFieldSanitizer: (theFieldSanitizer: IFieldValueSanitizerProvider) => void;
8898
+ /**
8899
+ * Does this field value sanitizer handle this path / field combination
8900
+ * @param path - The field path
8901
+ * @param name - The name of the field
8902
+ */
8903
+ handleField: (path: string, name: string) => boolean;
8904
+ /**
8905
+ * Sanitizes the value. It checks the that the property name and value are valid. It also
8906
+ * checks/populates the correct type and pii of the property value.
8907
+ * @param path - The root path of the property
8908
+ * @param name - The property name.
8909
+ * @param value - The property value or an IEventProperty containing value, type ,pii and customer content.
8910
+ * @param stringifyObjects - If supplied tells the sanitizer that it should JSON stringify() objects
8911
+ * @returns IEventProperty containing valid name, value, pii and type or null if invalid.
8912
+ */
8913
+ value: (path: string, name: string, value: FieldValueSanitizerTypes, stringifyObjects?: boolean) => IEventProperty | null;
8914
+ /**
8915
+ * Sanitizes the Property. It checks the that the property name and value are valid. It also
8916
+ * checks/populates the correct type and pii of the property value.
8917
+ * @param path - The root path of the property
8918
+ * @param name - The property name.
8919
+ * @param property - The property value or an IEventProperty containing value, type ,pii and customer content.
8920
+ * @param stringifyObjects - If supplied tells the sanitizer that it should JSON stringify() objects
8921
+ * @returns IEventProperty containing valid name, value, pii and type or null if invalid.
8922
+ */
8923
+ property: (path: string, name: string, property: IEventProperty, stringifyObjects?: boolean) => IEventProperty | null;
8924
+ }
8925
+
8202
8926
  /**
8203
8927
  * Represents a mutable [W3C trace state list](https://www.w3.org/TR/trace-context/#tracestate-header), this is a
8204
8928
  * list of key/value pairs that are used to pass trace state information between different tracing systems. The
@@ -9186,6 +9910,16 @@ export declare const SampleRate = "sampleRate";
9186
9910
  */
9187
9911
  export declare function sanitizeAttributes(otelApi: IOTelApi, attributes: unknown): IOTelAttributes;
9188
9912
 
9913
+ /**
9914
+ * Sanitizes the Property. It checks the that the property name and value are valid. It also
9915
+ * checks/populates the correct type and pii of the property value.
9916
+ * @param name - property name - The property name.
9917
+ * @param property - The property value or an IEventProperty containing value,
9918
+ * type ,pii and customer content.
9919
+ * @returns IEventProperty containing valid name, value, pii and type or null if invalid.
9920
+ */
9921
+ export declare function sanitizeProperty(name: string, property: string | number | boolean | string[] | number[] | boolean[] | object | IEventProperty, stringifyObjects?: boolean): IEventProperty | null;
9922
+
9189
9923
  export declare interface scriptsInfo {
9190
9924
  url: string;
9191
9925
  crossOrigin?: string;
@@ -9366,6 +10100,8 @@ export declare function setGblPerfMgr(perfManager: IPerfManager): void;
9366
10100
  */
9367
10101
  export declare function setObjStringTag<T>(target: T, nameOrFunc: string | (() => string)): T;
9368
10102
 
10103
+ export declare function setProcessTelemetryTimings(event: ITelemetryItem, identifier: string): void;
10104
+
9369
10105
  /**
9370
10106
  * Introduce an intermediate prototype to the target object and that sets the toStringTag on that prototype,
9371
10107
  * this avoids directly modifying the target object and also allows multiple different "types" to be
@@ -9658,6 +10394,15 @@ export declare const TraceDataType = "MessageData";
9658
10394
 
9659
10395
  export declare const TraceEnvelopeType: string;
9660
10396
 
10397
+ export declare const TraceLevel: EnumValue<typeof eTraceLevel>;
10398
+
10399
+ export declare type TraceLevel = number | eTraceLevel;
10400
+
10401
+ /**
10402
+ * An enumeration that identifies the transport type that are requested to be used, if the requested
10403
+ * transport is not available ir supported the SDK may choose the first available transport or it
10404
+ * will log a warning to the diagnostic logger.
10405
+ */
9661
10406
  export declare const enum TransportType {
9662
10407
  /**
9663
10408
  * Use the default available api
@@ -9715,6 +10460,10 @@ export declare function urlParseHost(url: string, inclPort?: boolean): string;
9715
10460
 
9716
10461
  export declare function urlParseUrl(url: string): HTMLAnchorElement;
9717
10462
 
10463
+ export declare const UrlRedactionOptions: EnumValue<typeof eUrlRedactionOptions>;
10464
+
10465
+ export declare type UrlRedactionOptions = boolean | eUrlRedactionOptions;
10466
+
9718
10467
  /**
9719
10468
  * Execute the callback `fn` function with the passed span as the active span. The callback receives
9720
10469
  * an ISpanScope object as its first parameter and the `this` context (when no thisArg is provided).
@@ -9777,6 +10526,76 @@ export declare function utlSetSessionStorage(logger: IDiagnosticLogger, name: st
9777
10526
 
9778
10527
  export declare function utlSetStoragePrefix(storagePrefix: string): void;
9779
10528
 
10529
+ /**
10530
+ * The ValueKind contains a set of values that specify value kind of the property.
10531
+ * Either PII (Personal Identifiable Information) or customer content.
10532
+ */
10533
+ export declare const ValueKind: EnumValue<typeof eValueKind>;
10534
+
10535
+ export declare type ValueKind = number | eValueKind;
10536
+
10537
+ export declare class ValueSanitizer implements IValueSanitizer {
10538
+ static getFieldType: typeof getFieldValueType;
10539
+ /**
10540
+ * Clear the current value sanitizer cache.
10541
+ */
10542
+ clearCache: () => void;
10543
+ /**
10544
+ * Add a value sanitizer as a fallback sanitizer if this sanitizer can't handle the path/name.
10545
+ */
10546
+ addSanitizer: (sanitizer: IValueSanitizer) => void;
10547
+ /**
10548
+ * Adds a field sanitizer to the evaluation list
10549
+ */
10550
+ addFieldSanitizer: (fieldSanitizer: IFieldValueSanitizerProvider) => void;
10551
+ /**
10552
+ * Removes the value sanitizer as a fallback sanitizer if this sanitizer can't handle the path/name if present.
10553
+ */
10554
+ rmSanitizer: (theSanitizer: IValueSanitizer) => void;
10555
+ /**
10556
+ * Removes the field sanitizer to the evaluation list if present
10557
+ */
10558
+ rmFieldSanitizer: (theFieldSanitizer: IFieldValueSanitizerProvider) => void;
10559
+ /**
10560
+ * Does this field value sanitizer handle this path / field combination
10561
+ * @param path - The field path
10562
+ * @param name - The name of the field
10563
+ */
10564
+ handleField: (path: string, name: string) => boolean;
10565
+ /**
10566
+ * Sanitizes the value. It checks the that the property name and value are valid. It also
10567
+ * checks/populates the correct type and pii of the property value.
10568
+ * @param path - The root path of the property
10569
+ * @param name - The property name.
10570
+ * @param value - The property value or an IEventProperty containing value, type ,pii and customer content.
10571
+ * @param stringifyObjects - If supplied tells the sanitizer that it should JSON stringify() objects
10572
+ * @returns IEventProperty containing valid name, value, pii and type or null if invalid.
10573
+ */
10574
+ value: (path: string, name: string, value: FieldValueSanitizerTypes, stringifyObjects?: boolean) => IEventProperty | null;
10575
+ /**
10576
+ * Sanitizes the Property. It checks the that the property name and value are valid. It also
10577
+ * checks/populates the correct type and pii of the property value.
10578
+ * @param path - The root path of the property
10579
+ * @param name - The property name.
10580
+ * @param property - The property value or an IEventProperty containing value, type ,pii and customer content.
10581
+ * @param stringifyObjects - If supplied tells the sanitizer that it should JSON stringify() objects
10582
+ * @returns IEventProperty containing valid name, value, pii and type or null if invalid.
10583
+ */
10584
+ property: (path: string, name: string, property: IEventProperty, stringifyObjects?: boolean) => IEventProperty | null;
10585
+ /**
10586
+ * Returns whether this ValueSanitizer is empty
10587
+ * @returns `true` if it contains no chained sanitizers or field sanitizers, otherwise `false`
10588
+ */
10589
+ isEmpty?: () => boolean;
10590
+ constructor(fieldSanitizerProvider?: IFieldValueSanitizerProvider);
10591
+ }
10592
+
10593
+ /**
10594
+ * Identifies the version for the extended SDK (legacy constant)
10595
+ * @deprecated Use {@link ExtVersion} instead
10596
+ */
10597
+ export declare const Version = "4.4.1";
10598
+
9780
10599
  /**
9781
10600
  * This is a helper method which will call warnToConsole on the passed logger with the provided message.
9782
10601
  * @param logger - The Diagnostic Logger instance to use.