@microsoft/applicationinsights-core-js 3.4.0-nightlybeta3.2505-35 → 3.4.0-nightlybeta3.2507-23

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 (131) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +939 -248
  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 +941 -250
  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 +941 -250
  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/applicationinsights-core-js.js +939 -248
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +1 -1
  21. package/dist-es5/Config/DynamicProperty.js +1 -1
  22. package/dist-es5/Config/DynamicState.js +1 -1
  23. package/dist-es5/Config/DynamicSupport.js +1 -1
  24. package/dist-es5/Config/IConfigDefaults.js +1 -1
  25. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  26. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  28. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  29. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +33 -4
  31. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  32. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  33. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  34. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  35. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  36. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  37. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +2 -2
  38. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  39. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  41. package/dist-es5/JavaScriptSDK/EnvUtils.js +174 -15
  42. package/dist-es5/JavaScriptSDK/EnvUtils.js.map +1 -1
  43. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js +3 -3
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js.map +1 -1
  46. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  47. package/dist-es5/JavaScriptSDK/InternalConstants.js +3 -1
  48. package/dist-es5/JavaScriptSDK/InternalConstants.js.map +1 -1
  49. package/dist-es5/JavaScriptSDK/NotificationManager.js +1 -1
  50. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  51. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +17 -20
  52. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  53. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  54. package/dist-es5/JavaScriptSDK/ResponseHelpers.js +1 -1
  55. package/dist-es5/JavaScriptSDK/SenderPostManager.js +1 -1
  56. package/dist-es5/JavaScriptSDK/StatsBeat.js +1 -1
  57. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +168 -35
  58. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  59. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  60. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  61. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  62. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +11 -10
  63. package/dist-es5/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  64. package/dist-es5/JavaScriptSDK/W3cTraceState.js +346 -0
  65. package/dist-es5/JavaScriptSDK/W3cTraceState.js.map +1 -0
  66. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +5 -5
  68. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js.map +1 -1
  69. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Enums/InitActiveStatusEnum.js +3 -3
  71. package/dist-es5/JavaScriptSDK.Enums/InitActiveStatusEnum.js.map +1 -1
  72. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +3 -3
  73. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js.map +1 -1
  74. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Enums/StatsType.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Enums/TraceHeadersMode.js +8 -0
  79. package/dist-es5/JavaScriptSDK.Enums/TraceHeadersMode.js.map +1 -0
  80. package/dist-es5/JavaScriptSDK.Enums/W3CTraceFlags.js +8 -0
  81. package/dist-es5/JavaScriptSDK.Enums/W3CTraceFlags.js.map +1 -0
  82. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +12 -3
  86. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js.map +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  91. package/dist-es5/JavaScriptSDK.Interfaces/IExceptionConfig.js +1 -1
  92. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  93. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  94. package/dist-es5/JavaScriptSDK.Interfaces/INetworkStatsbeat.js +1 -1
  95. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  96. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  97. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  98. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  99. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  100. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js +1 -1
  101. package/dist-es5/JavaScriptSDK.Interfaces/IStatsBeat.js +1 -1
  102. package/dist-es5/JavaScriptSDK.Interfaces/IStatsEventData.js +1 -1
  103. package/dist-es5/JavaScriptSDK.Interfaces/IStatsMgr.js +1 -1
  104. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  105. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  106. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  107. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  108. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  109. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  110. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  111. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  112. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  113. package/dist-es5/JavaScriptSDK.Interfaces/IW3cTraceState.js +8 -0
  114. package/dist-es5/JavaScriptSDK.Interfaces/IW3cTraceState.js.map +1 -0
  115. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js +1 -1
  116. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  117. package/dist-es5/OpenTelemetry/interfaces/trace/IOTelSpanContext.js +6 -0
  118. package/dist-es5/OpenTelemetry/interfaces/trace/IOTelSpanContext.js.map +1 -0
  119. package/dist-es5/OpenTelemetry/interfaces/trace/IOTelTraceState.js +8 -0
  120. package/dist-es5/OpenTelemetry/interfaces/trace/IOTelTraceState.js.map +1 -0
  121. package/dist-es5/OpenTelemetry/trace/spanContext.js +59 -0
  122. package/dist-es5/OpenTelemetry/trace/spanContext.js.map +1 -0
  123. package/dist-es5/OpenTelemetry/trace/traceState.js +97 -0
  124. package/dist-es5/OpenTelemetry/trace/traceState.js.map +1 -0
  125. package/dist-es5/__DynamicConstants.js +15 -9
  126. package/dist-es5/__DynamicConstants.js.map +1 -1
  127. package/dist-es5/applicationinsights-core-js.js +4 -3
  128. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  129. package/package.json +1 -1
  130. package/types/applicationinsights-core-js.d.ts +434 -14
  131. package/types/applicationinsights-core-js.namespaced.d.ts +434 -14
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2505-35
2
+ * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2507-23
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2505_35", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2505-35";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2507_23", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2507-23";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -52,6 +52,7 @@ var NAME = "name";
52
52
  var CALL = "call";
53
53
  var TO_STRING = "toString";
54
54
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
55
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
55
56
  var ObjClass$1 = ( /*#__PURE__*/_pureAssign(Object));
56
57
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass$1, PROTOTYPE));
57
58
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -162,6 +163,9 @@ function isTruthy(value) {
162
163
  function _returnNothing() {
163
164
  return;
164
165
  }
166
+ function _returnEmptyArray() {
167
+ return [];
168
+ }
165
169
  function _returnFalse() {
166
170
  return false;
167
171
  }
@@ -252,7 +256,26 @@ function _unwrapProp(propName) {
252
256
  return thisArg[propName];
253
257
  };
254
258
  }
259
+ function _objPropertyIsEnum(obj, propKey) {
260
+ var desc;
261
+ var fn = ObjClass$1.getOwnPropertyDescriptor;
262
+ if (!isStrictNullOrUndefined(obj) && fn) {
263
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
264
+ }
265
+ if (!desc) {
266
+ desc = safe(function () {
267
+ for (var key in obj) {
268
+ if (key === propKey) {
269
+ return { enumerable: true };
270
+ }
271
+ }
272
+ }).v;
273
+ }
274
+ return (desc && desc.enumerable) || false;
275
+ }
276
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
255
277
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
278
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
256
279
  var propMap = {
257
280
  e: "enumerable",
258
281
  c: "configurable",
@@ -298,6 +321,18 @@ function objDefineAccessors(target, prop, getProp, setProp, configurable, enumer
298
321
  function objDefine(target, key, propDesc) {
299
322
  return objDefineProp(target, key, _createProp(propDesc));
300
323
  }
324
+ function objDefineProps(target, propDescMap) {
325
+ var props = {};
326
+ objForEachKey(propDescMap, function (key, value) {
327
+ props[key] = _createProp(value);
328
+ });
329
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
330
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
331
+ props[sym] = _createProp(propDescMap[sym]);
332
+ }
333
+ });
334
+ return objDefineProperties(target, props);
335
+ }
301
336
  /*#__NO_SIDE_EFFECTS__*/
302
337
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
303
338
  var theMap = {};
@@ -580,6 +615,22 @@ function createCachedValue(value) {
580
615
  toJSON: function () { return value; }
581
616
  }, "v", { value: value });
582
617
  }
618
+ var createDeferredCachedValue = getDeferred;
619
+ /*#__NO_SIDE_EFFECTS__*/
620
+ function getDeferred(cb, argArray) {
621
+ var theValue = {
622
+ toJSON: function () { return theValue.v; }
623
+ };
624
+ return objDefineProp(theValue, "v", {
625
+ get: function () {
626
+ var result = fnApply(cb, null, argArray);
627
+ cb = NULL_VALUE;
628
+ objDefineProp(theValue, "v", { value: result });
629
+ return result;
630
+ },
631
+ configurable: true
632
+ });
633
+ }
583
634
  var WINDOW = "window";
584
635
  var _cachedGlobal;
585
636
  function _getGlobalInstFn(getFn, theArgs) {
@@ -996,6 +1047,7 @@ function _doExtend(target, theArgs) {
996
1047
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
997
1048
  return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
998
1049
  }
1050
+ var strSplit = ( /*#__PURE__*/_unwrapFunction("split", StrProto));
999
1051
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
1000
1052
  var _perf;
1001
1053
  /*#__NO_SIDE_EFFECTS__*/
@@ -1144,27 +1196,27 @@ function createTimeout(callback, timeout) {
1144
1196
  var createEnumStyle = createEnum;
1145
1197
  var createValueMap = createTypeMap;
1146
1198
 
1147
- var EventsDiscardedReason = createEnumStyle({
1199
+ var EventsDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1148
1200
  Unknown: 0 ,
1149
1201
  NonRetryableStatus: 1 ,
1150
1202
  InvalidEvent: 2 ,
1151
1203
  SizeLimitExceeded: 3 ,
1152
1204
  KillSwitch: 4 ,
1153
1205
  QueueFull: 5
1154
- });
1155
- var BatchDiscardedReason = createEnumStyle({
1206
+ }));
1207
+ var BatchDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1156
1208
  Unknown: 0 ,
1157
1209
  NonRetryableStatus: 1 ,
1158
1210
  CleanStorage: 2 ,
1159
1211
  MaxInStorageTimeExceeded: 3
1160
- });
1212
+ }));
1161
1213
 
1162
- var ActiveStatus = createEnumStyle({
1214
+ var ActiveStatus = ( /* @__PURE__ */createEnumStyle({
1163
1215
  NONE: 0 ,
1164
1216
  PENDING: 3 ,
1165
1217
  INACTIVE: 1 ,
1166
1218
  ACTIVE: 2
1167
- });
1219
+ }));
1168
1220
 
1169
1221
  var _DYN_TO_LOWER_CASE = "toLowerCase";
1170
1222
  var _DYN_LENGTH = "length";
@@ -1180,7 +1232,11 @@ var _DYN_INITIALIZE = "initialize";
1180
1232
  var _DYN_IDENTIFIER = "identifier";
1181
1233
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1182
1234
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1235
+ var _DYN_TRACE_ID = "traceId";
1236
+ var _DYN_SPAN_ID = "spanId";
1237
+ var _DYN_TRACE_FLAGS = "traceFlags";
1183
1238
  var _DYN_IS_INITIALIZED = "isInitialized";
1239
+ var _DYN_TRACE_HDR_MODE = "traceHdrMode";
1184
1240
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1185
1241
  var _DYN_GET_PLUGIN = "getPlugin";
1186
1242
  var _DYN_NAME = "name";
@@ -1205,10 +1261,11 @@ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1205
1261
  var _DYN_USER_AGENT = "userAgent";
1206
1262
  var _DYN_SPLIT = "split";
1207
1263
  var _DYN_REPLACE = "replace";
1264
+ var _DYN_SUBSTRING = "substring";
1265
+ var _DYN_INDEX_OF = "indexOf";
1208
1266
  var _DYN_TYPE = "type";
1209
1267
  var _DYN_EVT_NAME = "evtName";
1210
1268
  var _DYN_STATUS = "status";
1211
- var _DYN_INDEX_OF = "indexOf";
1212
1269
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1213
1270
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1214
1271
  var _DYN_DATA = "data";
@@ -1218,7 +1275,8 @@ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1218
1275
  var _DYN_HEADERS = "headers";
1219
1276
  var _DYN_URL_STRING = "urlString";
1220
1277
  var _DYN_TIMEOUT = "timeout";
1221
- var _DYN_TRACE_FLAGS = "traceFlags";
1278
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1279
+ var _DYN_TRACE_STATE = "traceState";
1222
1280
  var _DYN_GET_ATTRIBUTE = "getAttribute";
1223
1281
 
1224
1282
  var aggregationErrorType;
@@ -1952,6 +2010,8 @@ var STR_GET_PERF_MGR = "getPerfMgr";
1952
2010
  var STR_DOMAIN = "domain";
1953
2011
  var STR_PATH = "path";
1954
2012
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
2013
+ var STR_REDACTED = "REDACTED";
2014
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1955
2015
 
1956
2016
  var strGetPrototypeOf = "getPrototypeOf";
1957
2017
  var rCamelCase = /-([a-z])/g;
@@ -2229,7 +2289,7 @@ function convertAllHeadersToMap(headersString) {
2229
2289
  var idx = headerEntry[_DYN_INDEX_OF ](": ");
2230
2290
  if (idx !== -1) {
2231
2291
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2232
- var value = strTrim(headerEntry.substring(idx + 1));
2292
+ var value = strTrim(headerEntry[_DYN_SUBSTRING ](idx + 1));
2233
2293
  headers[header] = value;
2234
2294
  }
2235
2295
  else {
@@ -2425,34 +2485,58 @@ function isXhrSupported() {
2425
2485
  return isSupported;
2426
2486
  }
2427
2487
  function _getNamedValue(values, name) {
2488
+ var items = [];
2428
2489
  if (values) {
2429
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2430
- var value = values[i];
2490
+ arrForEach(values, function (value) {
2431
2491
  if (value[_DYN_NAME ]) {
2432
2492
  if (value[_DYN_NAME ] === name) {
2433
- return value;
2493
+ items[_DYN_PUSH ](value);
2434
2494
  }
2435
2495
  }
2436
- }
2496
+ });
2437
2497
  }
2438
- return {};
2498
+ return items;
2439
2499
  }
2440
2500
  function findMetaTag(name) {
2501
+ var tags = findMetaTags(name);
2502
+ if (tags[_DYN_LENGTH ] > 0) {
2503
+ return tags[0];
2504
+ }
2505
+ return null;
2506
+ }
2507
+ function findMetaTags(name) {
2508
+ var tags = [];
2441
2509
  var doc = getDocument();
2442
2510
  if (doc && name) {
2443
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2511
+ arrForEach(_getNamedValue(doc.querySelectorAll("meta"), name), function (item) {
2512
+ tags[_DYN_PUSH ](item.content);
2513
+ });
2444
2514
  }
2445
- return null;
2515
+ return tags;
2446
2516
  }
2447
2517
  function findNamedServerTiming(name) {
2448
2518
  var value;
2449
- var perf = getPerformance();
2450
- if (perf) {
2451
- var navPerf = perf.getEntriesByType("navigation") || [];
2452
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2519
+ var serverTimings = findNamedServerTimings(name);
2520
+ if (serverTimings[_DYN_LENGTH ] > 0) {
2521
+ value = serverTimings[0];
2453
2522
  }
2454
2523
  return value;
2455
2524
  }
2525
+ function findNamedServerTimings(name) {
2526
+ var values = [];
2527
+ var perf = getPerformance();
2528
+ if (perf && perf.getEntriesByType) {
2529
+ arrForEach(perf.getEntriesByType("navigation") || [], function (navPerf) {
2530
+ arrForEach(_getNamedValue(navPerf.serverTiming, name), function (value) {
2531
+ var desc = value.description;
2532
+ if (!isNullOrUndefined(desc)) {
2533
+ values[_DYN_PUSH ](desc);
2534
+ }
2535
+ });
2536
+ });
2537
+ }
2538
+ return values;
2539
+ }
2456
2540
  function dispatchEvent(target, evnt) {
2457
2541
  if (target && target.dispatchEvent && evnt) {
2458
2542
  target.dispatchEvent(evnt);
@@ -2487,6 +2571,110 @@ function sendCustomEvent(evtName, cfg, customDetails) {
2487
2571
  }
2488
2572
  return false;
2489
2573
  }
2574
+ function redactUserInfo(url) {
2575
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
2576
+ }
2577
+ function redactQueryParameters(url, config) {
2578
+ var sensitiveParams;
2579
+ var questionMarkIndex = strIndexOf(url, "?");
2580
+ if (questionMarkIndex === -1) {
2581
+ return url;
2582
+ }
2583
+ if (config && config.redactQueryParams) {
2584
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
2585
+ }
2586
+ else {
2587
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
2588
+ }
2589
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
2590
+ var queryString = strSubstring(url, questionMarkIndex + 1);
2591
+ var fragment = STR_EMPTY$1;
2592
+ var hashIndex = strIndexOf(queryString, "#");
2593
+ if (hashIndex !== -1) {
2594
+ fragment = strSubstring(queryString, hashIndex);
2595
+ queryString = strSubstring(queryString, 0, hashIndex);
2596
+ }
2597
+ var hasPotentialSensitiveParam = false;
2598
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH ]; i++) {
2599
+ var paramCheck = sensitiveParams[i] + "=";
2600
+ if (strIndexOf(queryString, paramCheck) !== -1) {
2601
+ hasPotentialSensitiveParam = true;
2602
+ break;
2603
+ }
2604
+ }
2605
+ if (!hasPotentialSensitiveParam) {
2606
+ return url;
2607
+ }
2608
+ var resultParts = [];
2609
+ var anyParamRedacted = false;
2610
+ if (queryString && queryString[_DYN_LENGTH ]) {
2611
+ var pairs = queryString[_DYN_SPLIT ]("&");
2612
+ for (var i = 0; i < pairs[_DYN_LENGTH ]; i++) {
2613
+ var pair = pairs[i];
2614
+ if (!pair) {
2615
+ continue;
2616
+ }
2617
+ var equalsIndex = strIndexOf(pair, "=");
2618
+ if (equalsIndex === -1) {
2619
+ resultParts[_DYN_PUSH ](pair);
2620
+ }
2621
+ else {
2622
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
2623
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
2624
+ if (paramValue === STR_EMPTY$1) {
2625
+ resultParts[_DYN_PUSH ](pair);
2626
+ }
2627
+ else {
2628
+ var shouldRedact = false;
2629
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH ]; j++) {
2630
+ if (paramName === sensitiveParams[j]) {
2631
+ shouldRedact = true;
2632
+ anyParamRedacted = true;
2633
+ break;
2634
+ }
2635
+ }
2636
+ if (shouldRedact) {
2637
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
2638
+ }
2639
+ else {
2640
+ resultParts[_DYN_PUSH ](pair);
2641
+ }
2642
+ }
2643
+ }
2644
+ }
2645
+ }
2646
+ if (!anyParamRedacted) {
2647
+ return url;
2648
+ }
2649
+ return baseUrl + resultParts.join("&") + fragment;
2650
+ }
2651
+ function fieldRedaction(input, config) {
2652
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
2653
+ return input;
2654
+ }
2655
+ var isRedactionDisabled = config && config.redactUrls === false;
2656
+ if (isRedactionDisabled) {
2657
+ return input;
2658
+ }
2659
+ var hasCredentials = strIndexOf(input, "@") !== -1;
2660
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
2661
+ if (!hasCredentials && !hasQueryParams) {
2662
+ return input;
2663
+ }
2664
+ try {
2665
+ var result = input;
2666
+ if (hasCredentials) {
2667
+ result = redactUserInfo(input);
2668
+ }
2669
+ if (hasQueryParams) {
2670
+ result = redactQueryParameters(result, config);
2671
+ }
2672
+ return result;
2673
+ }
2674
+ catch (e) {
2675
+ return input;
2676
+ }
2677
+ }
2490
2678
 
2491
2679
  var UInt32Mask = 0x100000000;
2492
2680
  var MaxUInt32 = 0xffffffff;
@@ -2572,7 +2760,7 @@ function newId(maxLength) {
2572
2760
  return result;
2573
2761
  }
2574
2762
 
2575
- var version = '3.4.0-nightlybeta3.2505-35';
2763
+ var version = '3.4.0-nightlybeta3.2507-23';
2576
2764
  var instanceName = "." + newId(6);
2577
2765
  var _dataUid = 0;
2578
2766
  function _canAcceptData(target) {
@@ -3223,29 +3411,559 @@ function _createDynamicHandler(logger, target, inPlace) {
3223
3411
  _makeDynamicObject(theState, newTarget, "config", "Creating");
3224
3412
  return cfgHandler;
3225
3413
  }
3226
- function _logInvalidAccess(logger, message) {
3227
- if (logger) {
3228
- logger[_DYN_WARN_TO_CONSOLE ](message);
3229
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3414
+ function _logInvalidAccess(logger, message) {
3415
+ if (logger) {
3416
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3417
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3418
+ }
3419
+ else {
3420
+ throwInvalidAccess(message);
3421
+ }
3422
+ }
3423
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3424
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3425
+ if (defaultConfig) {
3426
+ dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3427
+ }
3428
+ return dynamicHandler;
3429
+ }
3430
+ function onConfigChange(config, configHandler, logger) {
3431
+ var handler = config[CFG_HANDLER_LINK] || config;
3432
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3433
+ return handler[_DYN_WATCH ](configHandler);
3434
+ }
3435
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3436
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3437
+ }
3438
+
3439
+ var Undefined = strShimUndefined;
3440
+ function newGuid() {
3441
+ var uuid = generateW3CId();
3442
+ return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
3443
+ }
3444
+ function generateW3CId() {
3445
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3446
+ var oct = STR_EMPTY$1, tmp;
3447
+ for (var a = 0; a < 4; a++) {
3448
+ tmp = random32();
3449
+ oct +=
3450
+ hexValues[tmp & 0xF] +
3451
+ hexValues[tmp >> 4 & 0xF] +
3452
+ hexValues[tmp >> 8 & 0xF] +
3453
+ hexValues[tmp >> 12 & 0xF] +
3454
+ hexValues[tmp >> 16 & 0xF] +
3455
+ hexValues[tmp >> 20 & 0xF] +
3456
+ hexValues[tmp >> 24 & 0xF] +
3457
+ hexValues[tmp >> 28 & 0xF];
3458
+ }
3459
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3460
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
3461
+ }
3462
+
3463
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
3464
+ var DEFAULT_VERSION = "00";
3465
+ var INVALID_VERSION = "ff";
3466
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
3467
+ var INVALID_SPAN_ID = "0000000000000000";
3468
+ var SAMPLED_FLAG = 0x01;
3469
+ function _isValid(value, len, invalidValue) {
3470
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
3471
+ return !!value.match(/^[\da-f]*$/i);
3472
+ }
3473
+ return false;
3474
+ }
3475
+ function _formatValue(value, len, defValue) {
3476
+ if (_isValid(value, len)) {
3477
+ return value;
3478
+ }
3479
+ return defValue;
3480
+ }
3481
+ function _formatFlags(value) {
3482
+ if (isNaN(value) || value < 0 || value > 255) {
3483
+ value = 0x01;
3484
+ }
3485
+ var result = value.toString(16);
3486
+ while (result[_DYN_LENGTH ] < 2) {
3487
+ result = "0" + result;
3488
+ }
3489
+ return result;
3490
+ }
3491
+ function createTraceParent(traceId, spanId, flags, version) {
3492
+ return {
3493
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
3494
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
3495
+ spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
3496
+ traceFlags: (!isNullOrUndefined(flags) && flags >= 0 && flags <= 0xFF ? flags : 1 )
3497
+ };
3498
+ }
3499
+ function parseTraceParent(value, selectIdx) {
3500
+ if (!value) {
3501
+ return null;
3502
+ }
3503
+ if (isArray(value)) {
3504
+ value = value[0] || STR_EMPTY$1;
3505
+ }
3506
+ if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
3507
+ return null;
3508
+ }
3509
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
3510
+ var values = value[_DYN_SPLIT ](",");
3511
+ value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
3512
+ }
3513
+ TRACE_PARENT_REGEX.lastIndex = 0;
3514
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
3515
+ if (!match ||
3516
+ match[1] === INVALID_VERSION ||
3517
+ match[2] === INVALID_TRACE_ID ||
3518
+ match[3] === INVALID_SPAN_ID) {
3519
+ return null;
3520
+ }
3521
+ return {
3522
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3523
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3524
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3525
+ traceFlags: parseInt(match[4], 16)
3526
+ };
3527
+ }
3528
+ function isValidTraceId(value) {
3529
+ return _isValid(value, 32, INVALID_TRACE_ID);
3530
+ }
3531
+ function isValidSpanId(value) {
3532
+ return _isValid(value, 16, INVALID_SPAN_ID);
3533
+ }
3534
+ function isValidTraceParent(value) {
3535
+ if (!value ||
3536
+ !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
3537
+ !_isValid(value[_DYN_TRACE_ID ], 32, INVALID_TRACE_ID) ||
3538
+ !_isValid(value[_DYN_SPAN_ID ], 16, INVALID_SPAN_ID) ||
3539
+ !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
3540
+ return false;
3541
+ }
3542
+ return true;
3543
+ }
3544
+ function isSampledFlag(value) {
3545
+ if (isValidTraceParent(value)) {
3546
+ return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
3547
+ }
3548
+ return false;
3549
+ }
3550
+ function formatTraceParent(value) {
3551
+ if (value) {
3552
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
3553
+ if (!_isValid(flags, 2)) {
3554
+ flags = "01";
3555
+ }
3556
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
3557
+ if (version !== "00" && version !== "ff") {
3558
+ version = DEFAULT_VERSION;
3559
+ }
3560
+ return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
3561
+ }
3562
+ return STR_EMPTY$1;
3563
+ }
3564
+ function findW3cTraceParent(selectIdx) {
3565
+ var name = "traceparent";
3566
+ var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
3567
+ if (!traceParent) {
3568
+ traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
3569
+ }
3570
+ return traceParent;
3571
+ }
3572
+ function findAllScripts(doc) {
3573
+ var scripts = doc.getElementsByTagName("script");
3574
+ var result = [];
3575
+ arrForEach(scripts, function (script) {
3576
+ var src = script[_DYN_GET_ATTRIBUTE ]("src");
3577
+ if (src) {
3578
+ var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
3579
+ var async = script.hasAttribute("async") === true;
3580
+ var defer = script.hasAttribute("defer") === true;
3581
+ var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
3582
+ var info = { url: src };
3583
+ if (crossOrigin) {
3584
+ info.crossOrigin = crossOrigin;
3585
+ }
3586
+ if (async) {
3587
+ info.async = async;
3588
+ }
3589
+ if (defer) {
3590
+ info.defer = defer;
3591
+ }
3592
+ if (referrerPolicy) {
3593
+ info.referrerPolicy = referrerPolicy;
3594
+ }
3595
+ result[_DYN_PUSH ](info);
3596
+ }
3597
+ });
3598
+ return result;
3599
+ }
3600
+
3601
+ var MAX_TRACE_STATE_MEMBERS = 32;
3602
+ var MAX_TRACE_STATE_LEN = 512;
3603
+ var LCALPHA = "[a-z]";
3604
+ var LCALPHA_DIGIT = "[a-z\\d]";
3605
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
3606
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
3607
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
3608
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
3609
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
3610
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
3611
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
3612
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
3613
+ function _parseListMember(value) {
3614
+ if (value) {
3615
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
3616
+ var match = TRACESTATE_KVP_REGEX.exec(value);
3617
+ if (match && match[_DYN_LENGTH ] >= 7 && match[1] && match[6]) {
3618
+ var type = match[3] ? 1 : 0 ;
3619
+ var multiTenant = null;
3620
+ if (type === 1 ) {
3621
+ multiTenant = {
3622
+ tenantId: match[4],
3623
+ systemId: match[5]
3624
+ };
3625
+ }
3626
+ var parts = {
3627
+ type: type,
3628
+ key: match[2],
3629
+ multiTenant: multiTenant,
3630
+ value: match[6]
3631
+ };
3632
+ return parts;
3633
+ }
3634
+ }
3635
+ return null;
3636
+ }
3637
+ function _parseTraceStateList(value) {
3638
+ var items = [];
3639
+ if (value) {
3640
+ var addedKeys_1 = [];
3641
+ arrForEach(strSplit(value, ","), function (member) {
3642
+ var parts = _parseListMember(member);
3643
+ if (parts) {
3644
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
3645
+ items[_DYN_PUSH ](parts);
3646
+ addedKeys_1[_DYN_PUSH ](parts.key);
3647
+ if (items[_DYN_LENGTH ] >= MAX_TRACE_STATE_MEMBERS) {
3648
+ return -1;
3649
+ }
3650
+ }
3651
+ }
3652
+ });
3653
+ }
3654
+ return items;
3655
+ }
3656
+ function _indexOf(items, key) {
3657
+ for (var lp = 0; lp < items[_DYN_LENGTH ]; lp++) {
3658
+ if (items[lp].key === key) {
3659
+ return lp;
3660
+ }
3661
+ }
3662
+ return -1;
3663
+ }
3664
+ function _keys(items, parent) {
3665
+ var keys = [];
3666
+ var delKeys = [];
3667
+ arrForEach(items, function (member) {
3668
+ if (member[_DYN_VALUE ] != null) {
3669
+ keys[_DYN_PUSH ](member.key);
3670
+ }
3671
+ else {
3672
+ delKeys[_DYN_PUSH ](member.key);
3673
+ }
3674
+ });
3675
+ if (parent) {
3676
+ arrForEach(parent.keys, function (key) {
3677
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
3678
+ keys[_DYN_PUSH ](key);
3679
+ }
3680
+ });
3681
+ }
3682
+ return keys;
3683
+ }
3684
+ function _isEmpty(items, parent) {
3685
+ var delKeys;
3686
+ var isEmpty = true;
3687
+ if (items && items[_DYN_LENGTH ] > 0) {
3688
+ arrForEach(items, function (member) {
3689
+ if (member[_DYN_VALUE ] != null) {
3690
+ isEmpty = false;
3691
+ }
3692
+ else {
3693
+ if (!delKeys) {
3694
+ delKeys = [];
3695
+ }
3696
+ delKeys[_DYN_PUSH ](member.key);
3697
+ }
3698
+ });
3699
+ }
3700
+ if (isEmpty && parent) {
3701
+ isEmpty = parent.isEmpty;
3702
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH ] > 0) {
3703
+ isEmpty = true;
3704
+ arrForEach(parent.keys, function (key) {
3705
+ if (arrIndexOf(delKeys, key) === -1) {
3706
+ isEmpty = false;
3707
+ return -1;
3708
+ }
3709
+ });
3710
+ }
3711
+ }
3712
+ return isEmpty;
3713
+ }
3714
+ function isW3cTraceState(value) {
3715
+ return !!(value && isArray(value.keys) && isFunction(value.get) && isFunction(value.set) && isFunction(value.del) && isFunction(value.hdrs));
3716
+ }
3717
+ function createW3cTraceState(value, parent) {
3718
+ var cachedItems = createDeferredCachedValue(function () { return safe(_parseTraceStateList, [value || STR_EMPTY$1]).v || []; });
3719
+ function _get(key) {
3720
+ var value;
3721
+ var theItems = cachedItems.v;
3722
+ var idx = _indexOf(theItems, key);
3723
+ if (idx !== -1) {
3724
+ var itmValue = theItems[idx][_DYN_VALUE ];
3725
+ if (itmValue != null) {
3726
+ value = itmValue;
3727
+ }
3728
+ }
3729
+ else if (parent) {
3730
+ value = parent.get(key);
3731
+ }
3732
+ return value;
3733
+ }
3734
+ function _setMember(member) {
3735
+ if (member) {
3736
+ var theItems = cachedItems.v;
3737
+ var idx = _indexOf(theItems, member.key);
3738
+ if (idx !== -1) {
3739
+ theItems[_DYN_SPLICE ](idx, 1);
3740
+ }
3741
+ theItems.unshift(member);
3742
+ cachedItems = createCachedValue(theItems);
3743
+ return 0;
3744
+ }
3745
+ return -1;
3746
+ }
3747
+ function _set(key, value) {
3748
+ var member;
3749
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
3750
+ member = _parseListMember(key + "=" + value);
3751
+ }
3752
+ return _setMember(member);
3753
+ }
3754
+ function _del(key) {
3755
+ _setMember({
3756
+ type: 2 ,
3757
+ key: key
3758
+ });
3759
+ }
3760
+ function _headers(maxHeaders, maxKeys, maxLen) {
3761
+ var results = [];
3762
+ var result = STR_EMPTY$1;
3763
+ var numKeys = 0;
3764
+ var len = 0;
3765
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
3766
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
3767
+ var theItems = cachedItems.v;
3768
+ arrForEach(_keys(theItems, parent), function (key) {
3769
+ var value = _get(key);
3770
+ if (!isNullOrUndefined(value) && isString(value)) {
3771
+ numKeys++;
3772
+ var val = key + "=" + value;
3773
+ var valLen = val[_DYN_LENGTH ];
3774
+ if (len + 1 + valLen >= maxLen) {
3775
+ results[_DYN_PUSH ](result);
3776
+ if (maxHeaders && results[_DYN_LENGTH ] <= maxHeaders) {
3777
+ return -1;
3778
+ }
3779
+ result = STR_EMPTY$1;
3780
+ len = 0;
3781
+ }
3782
+ if (result[_DYN_LENGTH ] > 0) {
3783
+ result += ",";
3784
+ len++;
3785
+ }
3786
+ result += val;
3787
+ len += valLen;
3788
+ if (numKeys >= maxKeys) {
3789
+ return -1;
3790
+ }
3791
+ }
3792
+ });
3793
+ if (result) {
3794
+ results[_DYN_PUSH ](result);
3795
+ }
3796
+ return results;
3797
+ }
3798
+ var traceStateList = {
3799
+ keys: [],
3800
+ isEmpty: false,
3801
+ get: _get,
3802
+ set: _set,
3803
+ del: _del,
3804
+ hdrs: _headers,
3805
+ child: function () { return createW3cTraceState(null, traceStateList); }
3806
+ };
3807
+ function _toString() {
3808
+ var headers = traceStateList.hdrs(1);
3809
+ return headers[_DYN_LENGTH ] > 0 ? headers[0] : STR_EMPTY$1;
3810
+ }
3811
+ objDefineProps(traceStateList, {
3812
+ "keys": {
3813
+ g: function () { return _keys(cachedItems.v, parent); }
3814
+ },
3815
+ "isEmpty": {
3816
+ g: function () { return _isEmpty(cachedItems.v, parent); }
3817
+ },
3818
+ "toString": {
3819
+ v: _toString,
3820
+ e: false
3821
+ },
3822
+ "_p": {
3823
+ v: parent,
3824
+ e: false
3825
+ }
3826
+ });
3827
+ objDefine(traceStateList, getKnownSymbol(11 ), { g: _toString });
3828
+ return traceStateList;
3829
+ }
3830
+ function snapshotW3cTraceState(traceState) {
3831
+ var snapshot = createW3cTraceState(null, null);
3832
+ if (traceState) {
3833
+ var theKeys = traceState.keys;
3834
+ for (var i = theKeys[_DYN_LENGTH ] - 1; i >= 0; i--) {
3835
+ var key = theKeys[i];
3836
+ var value = traceState.get(key);
3837
+ if (!isNullOrUndefined(value) && isString(value)) {
3838
+ snapshot.set(key, value);
3839
+ }
3840
+ }
3841
+ }
3842
+ return snapshot;
3843
+ }
3844
+ function findW3cTraceState() {
3845
+ var name = "tracestate";
3846
+ var traceState = null;
3847
+ var metaTags = findMetaTags(name);
3848
+ if (metaTags[_DYN_LENGTH ] > 0) {
3849
+ traceState = createW3cTraceState(metaTags.join(","));
3230
3850
  }
3231
- else {
3232
- throwInvalidAccess(message);
3851
+ if (!traceState) {
3852
+ var serverTimings = findNamedServerTimings(name);
3853
+ if (serverTimings[_DYN_LENGTH ] > 0) {
3854
+ traceState = createW3cTraceState(serverTimings.join(","));
3855
+ }
3233
3856
  }
3857
+ return traceState;
3234
3858
  }
3235
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3236
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3237
- if (defaultConfig) {
3238
- dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3859
+
3860
+ var _otelTraceState;
3861
+ function _initOTelTraceStateSymbol() {
3862
+ if (!_otelTraceState) {
3863
+ _otelTraceState = createCachedValue(symbolFor("otTraceState"));
3864
+ }
3865
+ return _otelTraceState;
3866
+ }
3867
+ function _createOTelTraceState(traceState) {
3868
+ if (!_otelTraceState) {
3869
+ _otelTraceState = _initOTelTraceStateSymbol();
3870
+ }
3871
+ var otTraceState = {
3872
+ set: function (key, value) {
3873
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3874
+ newState.set(key, value);
3875
+ return _createOTelTraceState(newState);
3876
+ },
3877
+ unset: function (key) {
3878
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3879
+ newState.del(key);
3880
+ return _createOTelTraceState(newState);
3881
+ },
3882
+ get: function (key) {
3883
+ return traceState.get(key);
3884
+ },
3885
+ serialize: function () {
3886
+ var headers = traceState.hdrs(1);
3887
+ if (headers[_DYN_LENGTH ] > 0) {
3888
+ return headers[0];
3889
+ }
3890
+ return STR_EMPTY$1;
3891
+ }
3892
+ };
3893
+ objDefine(otTraceState, _otelTraceState.v, { g: function () { return traceState; } });
3894
+ return otTraceState;
3895
+ }
3896
+ function isOTelTraceState(value) {
3897
+ if (!_otelTraceState) {
3898
+ _otelTraceState = _initOTelTraceStateSymbol();
3239
3899
  }
3240
- return dynamicHandler;
3900
+ if (value && value[_otelTraceState.v]) {
3901
+ return true;
3902
+ }
3903
+ return value && isFunction(value.serialize) && isFunction(value.unset) && isFunction(value.get) && isFunction(value.set);
3241
3904
  }
3242
- function onConfigChange(config, configHandler, logger) {
3243
- var handler = config[CFG_HANDLER_LINK] || config;
3244
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3245
- return handler[_DYN_WATCH ](configHandler);
3905
+ function createOTelTraceState(value) {
3906
+ var traceState = null;
3907
+ if (isOTelTraceState(value)) {
3908
+ var parentTraceState = void 0;
3909
+ if (_otelTraceState) {
3910
+ parentTraceState = value[_otelTraceState.v];
3911
+ }
3912
+ if (parentTraceState) {
3913
+ traceState = createW3cTraceState(STR_EMPTY$1, parentTraceState);
3914
+ }
3915
+ else {
3916
+ traceState = createW3cTraceState(value.serialize());
3917
+ }
3246
3918
  }
3247
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3248
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3919
+ else if (isW3cTraceState(value)) {
3920
+ traceState = value;
3921
+ }
3922
+ else {
3923
+ traceState = createW3cTraceState(isString(value) ? value : STR_EMPTY$1);
3924
+ }
3925
+ return _createOTelTraceState(traceState);
3926
+ }
3927
+
3928
+ function createOTelSpanContext(traceContext) {
3929
+ var traceId = isValidTraceId(traceContext[_DYN_TRACE_ID ]) ? traceContext[_DYN_TRACE_ID ] : INVALID_TRACE_ID;
3930
+ var spanId = isValidSpanId(traceContext[_DYN_SPAN_ID ]) ? traceContext[_DYN_SPAN_ID ] : INVALID_SPAN_ID;
3931
+ var isRemote = traceContext.isRemote;
3932
+ var traceFlags = (!isNullOrUndefined(traceContext[_DYN_TRACE_FLAGS ]) ? traceContext[_DYN_TRACE_FLAGS ] : 1 );
3933
+ var otTraceState = null;
3934
+ var traceContextObj = {
3935
+ traceId: traceId,
3936
+ spanId: spanId,
3937
+ traceFlags: traceFlags
3938
+ };
3939
+ return objDefineProps(traceContextObj, {
3940
+ traceId: {
3941
+ g: function () { return traceId; },
3942
+ s: function (value) { return traceId = isValidTraceId(value) ? value : INVALID_TRACE_ID; }
3943
+ },
3944
+ spanId: {
3945
+ g: function () { return spanId; },
3946
+ s: function (value) { return spanId = isValidSpanId(value) ? value : INVALID_SPAN_ID; }
3947
+ },
3948
+ isRemote: {
3949
+ g: function () { return isRemote; }
3950
+ },
3951
+ traceFlags: {
3952
+ g: function () { return traceFlags; },
3953
+ s: function (value) { return traceFlags = value; }
3954
+ },
3955
+ traceState: {
3956
+ g: function () {
3957
+ if (!otTraceState) {
3958
+ otTraceState = createOTelTraceState(traceContext[_DYN_TRACE_STATE ]);
3959
+ }
3960
+ return otTraceState;
3961
+ },
3962
+ s: function (value) {
3963
+ otTraceState = value;
3964
+ }
3965
+ }
3966
+ });
3249
3967
  }
3250
3968
 
3251
3969
  function runTargetUnload(target, isAsync) {
@@ -4140,167 +4858,6 @@ function getGblPerfMgr() {
4140
4858
  return _defaultPerfManager;
4141
4859
  }
4142
4860
 
4143
- var Undefined = strShimUndefined;
4144
- function newGuid() {
4145
- var uuid = generateW3CId();
4146
- return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
4147
- }
4148
- function generateW3CId() {
4149
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
4150
- var oct = STR_EMPTY$1, tmp;
4151
- for (var a = 0; a < 4; a++) {
4152
- tmp = random32();
4153
- oct +=
4154
- hexValues[tmp & 0xF] +
4155
- hexValues[tmp >> 4 & 0xF] +
4156
- hexValues[tmp >> 8 & 0xF] +
4157
- hexValues[tmp >> 12 & 0xF] +
4158
- hexValues[tmp >> 16 & 0xF] +
4159
- hexValues[tmp >> 20 & 0xF] +
4160
- hexValues[tmp >> 24 & 0xF] +
4161
- hexValues[tmp >> 28 & 0xF];
4162
- }
4163
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
4164
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
4165
- }
4166
-
4167
- var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
4168
- var DEFAULT_VERSION = "00";
4169
- var INVALID_VERSION = "ff";
4170
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
4171
- var INVALID_SPAN_ID = "0000000000000000";
4172
- var SAMPLED_FLAG = 0x01;
4173
- function _isValid(value, len, invalidValue) {
4174
- if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
4175
- return !!value.match(/^[\da-f]*$/i);
4176
- }
4177
- return false;
4178
- }
4179
- function _formatValue(value, len, defValue) {
4180
- if (_isValid(value, len)) {
4181
- return value;
4182
- }
4183
- return defValue;
4184
- }
4185
- function _formatFlags(value) {
4186
- if (isNaN(value) || value < 0 || value > 255) {
4187
- value = 0x01;
4188
- }
4189
- var result = value.toString(16);
4190
- while (result[_DYN_LENGTH ] < 2) {
4191
- result = "0" + result;
4192
- }
4193
- return result;
4194
- }
4195
- function createTraceParent(traceId, spanId, flags, version) {
4196
- return {
4197
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
4198
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
4199
- spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
4200
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
4201
- };
4202
- }
4203
- function parseTraceParent(value, selectIdx) {
4204
- if (!value) {
4205
- return null;
4206
- }
4207
- if (isArray(value)) {
4208
- value = value[0] || "";
4209
- }
4210
- if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4211
- return null;
4212
- }
4213
- if (value[_DYN_INDEX_OF ](",") !== -1) {
4214
- var values = value[_DYN_SPLIT ](",");
4215
- value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4216
- }
4217
- var match = TRACE_PARENT_REGEX.exec(strTrim(value));
4218
- if (!match ||
4219
- match[1] === INVALID_VERSION ||
4220
- match[2] === INVALID_TRACE_ID ||
4221
- match[3] === INVALID_SPAN_ID) {
4222
- return null;
4223
- }
4224
- return {
4225
- version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4226
- traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4227
- spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4228
- traceFlags: parseInt(match[4], 16)
4229
- };
4230
- }
4231
- function isValidTraceId(value) {
4232
- return _isValid(value, 32, INVALID_TRACE_ID);
4233
- }
4234
- function isValidSpanId(value) {
4235
- return _isValid(value, 16, INVALID_SPAN_ID);
4236
- }
4237
- function isValidTraceParent(value) {
4238
- if (!value ||
4239
- !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
4240
- !_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
4241
- !_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
4242
- !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
4243
- return false;
4244
- }
4245
- return true;
4246
- }
4247
- function isSampledFlag(value) {
4248
- if (isValidTraceParent(value)) {
4249
- return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
4250
- }
4251
- return false;
4252
- }
4253
- function formatTraceParent(value) {
4254
- if (value) {
4255
- var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
4256
- if (!_isValid(flags, 2)) {
4257
- flags = "01";
4258
- }
4259
- var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
4260
- if (version !== "00" && version !== "ff") {
4261
- version = DEFAULT_VERSION;
4262
- }
4263
- return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
4264
- }
4265
- return "";
4266
- }
4267
- function findW3cTraceParent(selectIdx) {
4268
- var name = "traceparent";
4269
- var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
4270
- if (!traceParent) {
4271
- traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
4272
- }
4273
- return traceParent;
4274
- }
4275
- function findAllScripts(doc) {
4276
- var scripts = doc.getElementsByTagName("script");
4277
- var result = [];
4278
- arrForEach(scripts, function (script) {
4279
- var src = script[_DYN_GET_ATTRIBUTE ]("src");
4280
- if (src) {
4281
- var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
4282
- var async = script.hasAttribute("async") === true;
4283
- var defer = script.hasAttribute("defer") === true;
4284
- var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
4285
- var info = { url: src };
4286
- if (crossOrigin) {
4287
- info.crossOrigin = crossOrigin;
4288
- }
4289
- if (async) {
4290
- info.async = async;
4291
- }
4292
- if (defer) {
4293
- info.defer = defer;
4294
- }
4295
- if (referrerPolicy) {
4296
- info.referrerPolicy = referrerPolicy;
4297
- }
4298
- result[_DYN_PUSH ](info);
4299
- }
4300
- });
4301
- return result;
4302
- }
4303
-
4304
4861
  var pluginStateData = createElmNodeData("plugin");
4305
4862
  function _getPluginState(plugin) {
4306
4863
  return pluginStateData.get(plugin, "state", {}, true);
@@ -4374,42 +4931,147 @@ function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {
4374
4931
  }
4375
4932
  return _doUnload();
4376
4933
  }
4377
- function createDistributedTraceContext(parentCtx) {
4378
- var trace = {};
4379
- return {
4380
- getName: function () {
4381
- return trace[_DYN_NAME ];
4934
+ function isDistributedTraceContext(obj) {
4935
+ return obj &&
4936
+ isFunction(obj.getName) &&
4937
+ isFunction(obj.getTraceId) &&
4938
+ isFunction(obj.getSpanId) &&
4939
+ isFunction(obj.getTraceFlags) &&
4940
+ isFunction(obj.setName) &&
4941
+ isFunction(obj.setTraceId) &&
4942
+ isFunction(obj.setSpanId) &&
4943
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
4944
+ }
4945
+ function createDistributedTraceContext(parent) {
4946
+ var _a;
4947
+ var parentCtx = null;
4948
+ var spanContext = null;
4949
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID ])) ? parent[_DYN_TRACE_ID ] : generateW3CId();
4950
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID ])) ? parent[_DYN_SPAN_ID ] : STR_EMPTY$1;
4951
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE;
4952
+ var isRemote = parent ? parent.isRemote : false;
4953
+ var pageName = STR_EMPTY$1;
4954
+ var traceState = null;
4955
+ if (parent) {
4956
+ if (isDistributedTraceContext(parent)) {
4957
+ parentCtx = parent;
4958
+ pageName = parentCtx.getName();
4959
+ }
4960
+ else {
4961
+ spanContext = parent;
4962
+ }
4963
+ }
4964
+ if (!pageName) {
4965
+ pageName = "_unknown_";
4966
+ var location_1 = getLocation();
4967
+ if (location_1 && location_1.pathname) {
4968
+ pageName = location_1.pathname + (location_1.hash || "");
4969
+ }
4970
+ }
4971
+ function _getName() {
4972
+ return pageName;
4973
+ }
4974
+ function _setPageNameFn(updateParent) {
4975
+ return function (newValue) {
4976
+ if (updateParent) {
4977
+ parentCtx && parentCtx.setName(newValue);
4978
+ }
4979
+ pageName = newValue;
4980
+ };
4981
+ }
4982
+ function _getTraceId() {
4983
+ return traceId;
4984
+ }
4985
+ function _setTraceIdFn(updateParent) {
4986
+ return function (newValue) {
4987
+ if (updateParent) {
4988
+ parentCtx && parentCtx.setTraceId(newValue);
4989
+ }
4990
+ if (isValidTraceId(newValue)) {
4991
+ traceId = newValue;
4992
+ }
4993
+ };
4994
+ }
4995
+ function _getSpanId() {
4996
+ return spanId;
4997
+ }
4998
+ function _setSpanIdFn(updateParent) {
4999
+ return function (newValue) {
5000
+ if (updateParent) {
5001
+ parentCtx && parentCtx.setSpanId(newValue);
5002
+ }
5003
+ if (isValidSpanId(newValue)) {
5004
+ spanId = newValue;
5005
+ }
5006
+ };
5007
+ }
5008
+ function _getTraceFlags() {
5009
+ return traceFlags;
5010
+ }
5011
+ function _setTraceFlagsFn(updateParent) {
5012
+ return function (newTraceFlags) {
5013
+ if (updateParent) {
5014
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
5015
+ }
5016
+ traceFlags = newTraceFlags;
5017
+ };
5018
+ }
5019
+ function _getTraceState() {
5020
+ if (!traceState) {
5021
+ if (spanContext && spanContext[_DYN_TRACE_STATE ]) {
5022
+ traceState = createW3cTraceState(spanContext[_DYN_TRACE_STATE ].serialize() || STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5023
+ }
5024
+ else {
5025
+ traceState = createW3cTraceState(STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5026
+ }
5027
+ }
5028
+ return traceState;
5029
+ }
5030
+ var traceCtx = (_a = {
5031
+ getName: _getName,
5032
+ setName: _setPageNameFn(true),
5033
+ getTraceId: _getTraceId,
5034
+ setTraceId: _setTraceIdFn(true),
5035
+ getSpanId: _getSpanId,
5036
+ setSpanId: _setSpanIdFn(true),
5037
+ getTraceFlags: _getTraceFlags
4382
5038
  },
4383
- setName: function (newValue) {
4384
- parentCtx && parentCtx.setName(newValue);
4385
- trace[_DYN_NAME ] = newValue;
5039
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
5040
+ _a.traceId = traceId,
5041
+ _a.spanId = spanId,
5042
+ _a.traceFlags = traceFlags,
5043
+ _a.traceState = traceState,
5044
+ _a.isRemote = isRemote,
5045
+ _a.pageName = pageName,
5046
+ _a);
5047
+ return objDefineProps(traceCtx, {
5048
+ pageName: {
5049
+ g: _getName,
5050
+ s: _setPageNameFn(false)
4386
5051
  },
4387
- getTraceId: function () {
4388
- return trace.traceId;
5052
+ traceId: {
5053
+ g: _getTraceId,
5054
+ s: _setTraceIdFn(false)
4389
5055
  },
4390
- setTraceId: function (newValue) {
4391
- parentCtx && parentCtx.setTraceId(newValue);
4392
- if (isValidTraceId(newValue)) {
4393
- trace.traceId = newValue;
4394
- }
5056
+ spanId: {
5057
+ g: _getSpanId,
5058
+ s: _setSpanIdFn(false)
4395
5059
  },
4396
- getSpanId: function () {
4397
- return trace.spanId;
5060
+ traceFlags: {
5061
+ g: _getTraceFlags,
5062
+ s: _setTraceFlagsFn(false)
4398
5063
  },
4399
- setSpanId: function (newValue) {
4400
- parentCtx && parentCtx.setSpanId(newValue);
4401
- if (isValidSpanId(newValue)) {
4402
- trace.spanId = newValue;
4403
- }
5064
+ isRemote: {
5065
+ v: isRemote,
5066
+ w: false
4404
5067
  },
4405
- getTraceFlags: function () {
4406
- return trace[_DYN_TRACE_FLAGS ];
5068
+ traceState: {
5069
+ g: _getTraceState
4407
5070
  },
4408
- setTraceFlags: function (newTraceFlags) {
4409
- parentCtx && parentCtx.setTraceFlags(newTraceFlags);
4410
- trace[_DYN_TRACE_FLAGS ] = newTraceFlags;
5071
+ parentCtx: {
5072
+ g: function () { return parentCtx; }
4411
5073
  }
4412
- };
5074
+ });
4413
5075
  }
4414
5076
 
4415
5077
  var strTelemetryPluginChain = "TelemetryPluginChain";
@@ -4495,27 +5157,26 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
4495
5157
  }
4496
5158
  function _getExtCfg(identifier, createIfMissing) {
4497
5159
  var idCfg = null;
4498
- var cfg = dynamicHandler.cfg;
5160
+ var extCfg = _getCfg(dynamicHandler.cfg, "extensionConfig", createIfMissing);
5161
+ if (extCfg) {
5162
+ idCfg = _getCfg(extCfg, identifier, createIfMissing);
5163
+ }
5164
+ return idCfg;
5165
+ }
5166
+ function _getCfg(cfg, identifier, createIfMissing) {
5167
+ var idCfg = null;
4499
5168
  if (cfg && identifier) {
4500
- var extCfg = cfg[STR_EXTENSION_CONFIG ];
4501
- if (!extCfg && createIfMissing) {
4502
- extCfg = {};
4503
- }
4504
- cfg[STR_EXTENSION_CONFIG] = extCfg;
4505
- extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
4506
- if (extCfg) {
4507
- idCfg = extCfg[identifier];
4508
- if (!idCfg && createIfMissing) {
4509
- idCfg = {};
4510
- }
4511
- extCfg[identifier] = idCfg;
4512
- idCfg = dynamicHandler.ref(extCfg, identifier);
5169
+ idCfg = cfg[identifier];
5170
+ if (!idCfg && createIfMissing) {
5171
+ idCfg = {};
4513
5172
  }
5173
+ cfg[identifier] = idCfg;
5174
+ idCfg = dynamicHandler.ref(cfg, identifier);
4514
5175
  }
4515
5176
  return idCfg;
4516
5177
  }
4517
- function _resolveExtCfg(identifier, defaultValues) {
4518
- var newConfig = _getExtCfg(identifier, true);
5178
+ function _resolveExtCfg(identifier, defaultValues, rootOnly) {
5179
+ var newConfig = rootOnly ? _getCfg(dynamicHandler.cfg, identifier, true) : _getExtCfg(identifier, true);
4519
5180
  if (defaultValues) {
4520
5181
  objForEachKey(defaultValues, function (field, defaultValue) {
4521
5182
  if (isNullOrUndefined(newConfig[field])) {
@@ -5065,6 +5726,7 @@ var defaultConfig = objDeepFreeze((_a = {
5065
5726
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
5066
5727
  _a.loggingLevelConsole = 0 ,
5067
5728
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5729
+ _a.traceHdrMode = 3 ,
5068
5730
  _a));
5069
5731
  function _createPerfManager(core, notificationMgr) {
5070
5732
  return new PerfManager(notificationMgr);
@@ -5184,6 +5846,21 @@ function _createUnloadHook(unloadHook) {
5184
5846
  }
5185
5847
  }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
5186
5848
  }
5849
+ function _getParentTraceCtx(mode) {
5850
+ var spanContext = null;
5851
+ var parentTrace = (mode & 1 ) ? findW3cTraceParent() : null;
5852
+ var parentTraceState = (mode & 2 ) ? findW3cTraceState() : null;
5853
+ if (parentTrace || parentTraceState) {
5854
+ spanContext = createOTelSpanContext({
5855
+ traceId: parentTrace ? parentTrace[_DYN_TRACE_ID ] : null,
5856
+ spanId: parentTrace ? parentTrace[_DYN_SPAN_ID ] : null,
5857
+ traceFlags: parentTrace ? parentTrace[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE,
5858
+ isRemote: true,
5859
+ traceState: parentTraceState ? createOTelTraceState(parentTraceState) : null
5860
+ });
5861
+ }
5862
+ return spanContext;
5863
+ }
5187
5864
  var AppInsightsCore = /** @class */ (function () {
5188
5865
  function AppInsightsCore() {
5189
5866
  var _configHandler;
@@ -5200,6 +5877,8 @@ var AppInsightsCore = /** @class */ (function () {
5200
5877
  var _channels;
5201
5878
  var _isUnloading;
5202
5879
  var _telemetryInitializerPlugin;
5880
+ var _serverOTelCtx;
5881
+ var _serverTraceHdrMode;
5203
5882
  var _internalLogsEventName;
5204
5883
  var _evtNamespace;
5205
5884
  var _unloadHandlers;
@@ -5246,6 +5925,10 @@ var AppInsightsCore = /** @class */ (function () {
5246
5925
  objForEachKey(extCfg, function (key) {
5247
5926
  details.ref(extCfg, key);
5248
5927
  });
5928
+ if (rootCfg[_DYN_TRACE_HDR_MODE ] !== _serverTraceHdrMode) {
5929
+ _serverOTelCtx = _getParentTraceCtx(rootCfg[_DYN_TRACE_HDR_MODE ]);
5930
+ _serverTraceHdrMode = rootCfg[_DYN_TRACE_HDR_MODE ];
5931
+ }
5249
5932
  }));
5250
5933
  _notificationManager = notificationManager;
5251
5934
  _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
@@ -5613,8 +6296,8 @@ var AppInsightsCore = /** @class */ (function () {
5613
6296
  };
5614
6297
  _self.flush = _flushChannels;
5615
6298
  _self.getTraceCtx = function (createNew) {
5616
- if (!_traceCtx) {
5617
- _traceCtx = createDistributedTraceContext();
6299
+ if ((!_traceCtx && createNew !== false) || createNew === true) {
6300
+ _traceCtx = createDistributedTraceContext(_serverOTelCtx);
5618
6301
  }
5619
6302
  return _traceCtx;
5620
6303
  };
@@ -5709,6 +6392,8 @@ var AppInsightsCore = /** @class */ (function () {
5709
6392
  cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH ]);
5710
6393
  arrAppend(cfgExtensions, _extensions);
5711
6394
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
6395
+ _serverOTelCtx = null;
6396
+ _serverTraceHdrMode = 0 ;
5712
6397
  _eventQueue = [];
5713
6398
  runTargetUnload(_notificationManager, false);
5714
6399
  _notificationManager = null;
@@ -6814,12 +7499,12 @@ function removePageShowEventListener(listener, evtNamespace) {
6814
7499
  removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
6815
7500
  }
6816
7501
 
6817
- var LoggingSeverity = createEnumStyle({
7502
+ var LoggingSeverity = ( /* @__PURE__ */createEnumStyle({
6818
7503
  DISABLED: 0 ,
6819
7504
  CRITICAL: 1 ,
6820
7505
  WARNING: 2 ,
6821
7506
  DEBUG: 3
6822
- });
7507
+ }));
6823
7508
 
6824
7509
  var aiInstrumentHooks = "_aiHooks";
6825
7510
  var cbNames = [
@@ -7049,6 +7734,7 @@ exports.convertAllHeadersToMap = convertAllHeadersToMap;
7049
7734
  exports.createClassFromInterface = createClassFromInterface;
7050
7735
  exports.createCookieMgr = createCookieMgr;
7051
7736
  exports.createCustomDomEvent = createCustomDomEvent;
7737
+ exports.createDistributedTraceContext = createDistributedTraceContext;
7052
7738
  exports.createDynamicConfig = createDynamicConfig;
7053
7739
  exports.createEnumStyle = createEnumStyle;
7054
7740
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
@@ -7057,6 +7743,7 @@ exports.createUniqueNamespace = createUniqueNamespace;
7057
7743
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
7058
7744
  exports.createUnloadHookContainer = createUnloadHookContainer;
7059
7745
  exports.createValueMap = createValueMap;
7746
+ exports.createW3cTraceState = createW3cTraceState;
7060
7747
  exports.dateNow = utcNow;
7061
7748
  exports.deepFreeze = objDeepFreeze;
7062
7749
  exports.detachEvent = detachEvent;
@@ -7066,10 +7753,12 @@ exports.doUnloadAll = doUnloadAll;
7066
7753
  exports.dumpObj = dumpObj;
7067
7754
  exports.eventOff = eventOff;
7068
7755
  exports.eventOn = eventOn;
7756
+ exports.fieldRedaction = fieldRedaction;
7069
7757
  exports.findAllScripts = findAllScripts;
7070
7758
  exports.findMetaTag = findMetaTag;
7071
7759
  exports.findNamedServerTiming = findNamedServerTiming;
7072
7760
  exports.findW3cTraceParent = findW3cTraceParent;
7761
+ exports.findW3cTraceState = findW3cTraceState;
7073
7762
  exports.forceDynamicConversion = forceDynamicConversion;
7074
7763
  exports.formatErrorMessageXdr = formatErrorMessageXdr;
7075
7764
  exports.formatErrorMessageXhr = formatErrorMessageXhr;
@@ -7128,6 +7817,7 @@ exports.isUndefined = isUndefined;
7128
7817
  exports.isValidSpanId = isValidSpanId;
7129
7818
  exports.isValidTraceId = isValidTraceId;
7130
7819
  exports.isValidTraceParent = isValidTraceParent;
7820
+ exports.isW3cTraceState = isW3cTraceState;
7131
7821
  exports.isXhrSupported = isXhrSupported;
7132
7822
  exports.mergeEvtNamespace = mergeEvtNamespace;
7133
7823
  exports.mwcRandom32 = mwcRandom32;
@@ -7166,6 +7856,7 @@ exports.sendCustomEvent = sendCustomEvent;
7166
7856
  exports.setEnableEnvMocks = setEnableEnvMocks;
7167
7857
  exports.setGblPerfMgr = setGblPerfMgr;
7168
7858
  exports.setValue = setValue;
7859
+ exports.snapshotW3cTraceState = snapshotW3cTraceState;
7169
7860
  exports.sortPlugins = sortPlugins;
7170
7861
  exports.strContains = strContains;
7171
7862
  exports.strEndsWith = strEndsWith;