@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,5 +1,5 @@
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
  'use strict';
@@ -31,6 +31,7 @@ var NAME = "name";
31
31
  var CALL = "call";
32
32
  var TO_STRING = "toString";
33
33
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
34
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
34
35
  var ObjClass$1 = ( /*#__PURE__*/_pureAssign(Object));
35
36
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass$1, PROTOTYPE));
36
37
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -141,6 +142,9 @@ function isTruthy(value) {
141
142
  function _returnNothing() {
142
143
  return;
143
144
  }
145
+ function _returnEmptyArray() {
146
+ return [];
147
+ }
144
148
  function _returnFalse() {
145
149
  return false;
146
150
  }
@@ -231,7 +235,26 @@ function _unwrapProp(propName) {
231
235
  return thisArg[propName];
232
236
  };
233
237
  }
238
+ function _objPropertyIsEnum(obj, propKey) {
239
+ var desc;
240
+ var fn = ObjClass$1.getOwnPropertyDescriptor;
241
+ if (!isStrictNullOrUndefined(obj) && fn) {
242
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
243
+ }
244
+ if (!desc) {
245
+ desc = safe(function () {
246
+ for (var key in obj) {
247
+ if (key === propKey) {
248
+ return { enumerable: true };
249
+ }
250
+ }
251
+ }).v;
252
+ }
253
+ return (desc && desc.enumerable) || false;
254
+ }
255
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
234
256
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
257
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
235
258
  var propMap = {
236
259
  e: "enumerable",
237
260
  c: "configurable",
@@ -277,6 +300,18 @@ function objDefineAccessors(target, prop, getProp, setProp, configurable, enumer
277
300
  function objDefine(target, key, propDesc) {
278
301
  return objDefineProp(target, key, _createProp(propDesc));
279
302
  }
303
+ function objDefineProps(target, propDescMap) {
304
+ var props = {};
305
+ objForEachKey(propDescMap, function (key, value) {
306
+ props[key] = _createProp(value);
307
+ });
308
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
309
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
310
+ props[sym] = _createProp(propDescMap[sym]);
311
+ }
312
+ });
313
+ return objDefineProperties(target, props);
314
+ }
280
315
  /*#__NO_SIDE_EFFECTS__*/
281
316
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
282
317
  var theMap = {};
@@ -559,6 +594,22 @@ function createCachedValue(value) {
559
594
  toJSON: function () { return value; }
560
595
  }, "v", { value: value });
561
596
  }
597
+ var createDeferredCachedValue = getDeferred;
598
+ /*#__NO_SIDE_EFFECTS__*/
599
+ function getDeferred(cb, argArray) {
600
+ var theValue = {
601
+ toJSON: function () { return theValue.v; }
602
+ };
603
+ return objDefineProp(theValue, "v", {
604
+ get: function () {
605
+ var result = fnApply(cb, null, argArray);
606
+ cb = NULL_VALUE;
607
+ objDefineProp(theValue, "v", { value: result });
608
+ return result;
609
+ },
610
+ configurable: true
611
+ });
612
+ }
562
613
  var WINDOW = "window";
563
614
  var _cachedGlobal;
564
615
  function _getGlobalInstFn(getFn, theArgs) {
@@ -975,6 +1026,7 @@ function _doExtend(target, theArgs) {
975
1026
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
976
1027
  return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
977
1028
  }
1029
+ var strSplit = ( /*#__PURE__*/_unwrapFunction("split", StrProto));
978
1030
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
979
1031
  var _perf;
980
1032
  /*#__NO_SIDE_EFFECTS__*/
@@ -1123,27 +1175,27 @@ function createTimeout(callback, timeout) {
1123
1175
  var createEnumStyle = createEnum;
1124
1176
  var createValueMap = createTypeMap;
1125
1177
 
1126
- var EventsDiscardedReason = createEnumStyle({
1178
+ var EventsDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1127
1179
  Unknown: 0 ,
1128
1180
  NonRetryableStatus: 1 ,
1129
1181
  InvalidEvent: 2 ,
1130
1182
  SizeLimitExceeded: 3 ,
1131
1183
  KillSwitch: 4 ,
1132
1184
  QueueFull: 5
1133
- });
1134
- var BatchDiscardedReason = createEnumStyle({
1185
+ }));
1186
+ var BatchDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1135
1187
  Unknown: 0 ,
1136
1188
  NonRetryableStatus: 1 ,
1137
1189
  CleanStorage: 2 ,
1138
1190
  MaxInStorageTimeExceeded: 3
1139
- });
1191
+ }));
1140
1192
 
1141
- var ActiveStatus = createEnumStyle({
1193
+ var ActiveStatus = ( /* @__PURE__ */createEnumStyle({
1142
1194
  NONE: 0 ,
1143
1195
  PENDING: 3 ,
1144
1196
  INACTIVE: 1 ,
1145
1197
  ACTIVE: 2
1146
- });
1198
+ }));
1147
1199
 
1148
1200
  var _DYN_TO_LOWER_CASE = "toLowerCase";
1149
1201
  var _DYN_LENGTH = "length";
@@ -1159,7 +1211,11 @@ var _DYN_INITIALIZE = "initialize";
1159
1211
  var _DYN_IDENTIFIER = "identifier";
1160
1212
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1161
1213
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1214
+ var _DYN_TRACE_ID = "traceId";
1215
+ var _DYN_SPAN_ID = "spanId";
1216
+ var _DYN_TRACE_FLAGS = "traceFlags";
1162
1217
  var _DYN_IS_INITIALIZED = "isInitialized";
1218
+ var _DYN_TRACE_HDR_MODE = "traceHdrMode";
1163
1219
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1164
1220
  var _DYN_GET_PLUGIN = "getPlugin";
1165
1221
  var _DYN_NAME = "name";
@@ -1184,10 +1240,11 @@ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1184
1240
  var _DYN_USER_AGENT = "userAgent";
1185
1241
  var _DYN_SPLIT = "split";
1186
1242
  var _DYN_REPLACE = "replace";
1243
+ var _DYN_SUBSTRING = "substring";
1244
+ var _DYN_INDEX_OF = "indexOf";
1187
1245
  var _DYN_TYPE = "type";
1188
1246
  var _DYN_EVT_NAME = "evtName";
1189
1247
  var _DYN_STATUS = "status";
1190
- var _DYN_INDEX_OF = "indexOf";
1191
1248
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1192
1249
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1193
1250
  var _DYN_DATA = "data";
@@ -1197,7 +1254,8 @@ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1197
1254
  var _DYN_HEADERS = "headers";
1198
1255
  var _DYN_URL_STRING = "urlString";
1199
1256
  var _DYN_TIMEOUT = "timeout";
1200
- var _DYN_TRACE_FLAGS = "traceFlags";
1257
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1258
+ var _DYN_TRACE_STATE = "traceState";
1201
1259
  var _DYN_GET_ATTRIBUTE = "getAttribute";
1202
1260
 
1203
1261
  var aggregationErrorType;
@@ -1931,6 +1989,8 @@ var STR_GET_PERF_MGR = "getPerfMgr";
1931
1989
  var STR_DOMAIN = "domain";
1932
1990
  var STR_PATH = "path";
1933
1991
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1992
+ var STR_REDACTED = "REDACTED";
1993
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1934
1994
 
1935
1995
  var strGetPrototypeOf = "getPrototypeOf";
1936
1996
  var rCamelCase = /-([a-z])/g;
@@ -2208,7 +2268,7 @@ function convertAllHeadersToMap(headersString) {
2208
2268
  var idx = headerEntry[_DYN_INDEX_OF ](": ");
2209
2269
  if (idx !== -1) {
2210
2270
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2211
- var value = strTrim(headerEntry.substring(idx + 1));
2271
+ var value = strTrim(headerEntry[_DYN_SUBSTRING ](idx + 1));
2212
2272
  headers[header] = value;
2213
2273
  }
2214
2274
  else {
@@ -2404,34 +2464,58 @@ function isXhrSupported() {
2404
2464
  return isSupported;
2405
2465
  }
2406
2466
  function _getNamedValue(values, name) {
2467
+ var items = [];
2407
2468
  if (values) {
2408
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2409
- var value = values[i];
2469
+ arrForEach(values, function (value) {
2410
2470
  if (value[_DYN_NAME ]) {
2411
2471
  if (value[_DYN_NAME ] === name) {
2412
- return value;
2472
+ items[_DYN_PUSH ](value);
2413
2473
  }
2414
2474
  }
2415
- }
2475
+ });
2416
2476
  }
2417
- return {};
2477
+ return items;
2418
2478
  }
2419
2479
  function findMetaTag(name) {
2480
+ var tags = findMetaTags(name);
2481
+ if (tags[_DYN_LENGTH ] > 0) {
2482
+ return tags[0];
2483
+ }
2484
+ return null;
2485
+ }
2486
+ function findMetaTags(name) {
2487
+ var tags = [];
2420
2488
  var doc = getDocument();
2421
2489
  if (doc && name) {
2422
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2490
+ arrForEach(_getNamedValue(doc.querySelectorAll("meta"), name), function (item) {
2491
+ tags[_DYN_PUSH ](item.content);
2492
+ });
2423
2493
  }
2424
- return null;
2494
+ return tags;
2425
2495
  }
2426
2496
  function findNamedServerTiming(name) {
2427
2497
  var value;
2428
- var perf = getPerformance();
2429
- if (perf) {
2430
- var navPerf = perf.getEntriesByType("navigation") || [];
2431
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2498
+ var serverTimings = findNamedServerTimings(name);
2499
+ if (serverTimings[_DYN_LENGTH ] > 0) {
2500
+ value = serverTimings[0];
2432
2501
  }
2433
2502
  return value;
2434
2503
  }
2504
+ function findNamedServerTimings(name) {
2505
+ var values = [];
2506
+ var perf = getPerformance();
2507
+ if (perf && perf.getEntriesByType) {
2508
+ arrForEach(perf.getEntriesByType("navigation") || [], function (navPerf) {
2509
+ arrForEach(_getNamedValue(navPerf.serverTiming, name), function (value) {
2510
+ var desc = value.description;
2511
+ if (!isNullOrUndefined(desc)) {
2512
+ values[_DYN_PUSH ](desc);
2513
+ }
2514
+ });
2515
+ });
2516
+ }
2517
+ return values;
2518
+ }
2435
2519
  function dispatchEvent(target, evnt) {
2436
2520
  if (target && target.dispatchEvent && evnt) {
2437
2521
  target.dispatchEvent(evnt);
@@ -2466,6 +2550,110 @@ function sendCustomEvent(evtName, cfg, customDetails) {
2466
2550
  }
2467
2551
  return false;
2468
2552
  }
2553
+ function redactUserInfo(url) {
2554
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
2555
+ }
2556
+ function redactQueryParameters(url, config) {
2557
+ var sensitiveParams;
2558
+ var questionMarkIndex = strIndexOf(url, "?");
2559
+ if (questionMarkIndex === -1) {
2560
+ return url;
2561
+ }
2562
+ if (config && config.redactQueryParams) {
2563
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
2564
+ }
2565
+ else {
2566
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
2567
+ }
2568
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
2569
+ var queryString = strSubstring(url, questionMarkIndex + 1);
2570
+ var fragment = STR_EMPTY$1;
2571
+ var hashIndex = strIndexOf(queryString, "#");
2572
+ if (hashIndex !== -1) {
2573
+ fragment = strSubstring(queryString, hashIndex);
2574
+ queryString = strSubstring(queryString, 0, hashIndex);
2575
+ }
2576
+ var hasPotentialSensitiveParam = false;
2577
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH ]; i++) {
2578
+ var paramCheck = sensitiveParams[i] + "=";
2579
+ if (strIndexOf(queryString, paramCheck) !== -1) {
2580
+ hasPotentialSensitiveParam = true;
2581
+ break;
2582
+ }
2583
+ }
2584
+ if (!hasPotentialSensitiveParam) {
2585
+ return url;
2586
+ }
2587
+ var resultParts = [];
2588
+ var anyParamRedacted = false;
2589
+ if (queryString && queryString[_DYN_LENGTH ]) {
2590
+ var pairs = queryString[_DYN_SPLIT ]("&");
2591
+ for (var i = 0; i < pairs[_DYN_LENGTH ]; i++) {
2592
+ var pair = pairs[i];
2593
+ if (!pair) {
2594
+ continue;
2595
+ }
2596
+ var equalsIndex = strIndexOf(pair, "=");
2597
+ if (equalsIndex === -1) {
2598
+ resultParts[_DYN_PUSH ](pair);
2599
+ }
2600
+ else {
2601
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
2602
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
2603
+ if (paramValue === STR_EMPTY$1) {
2604
+ resultParts[_DYN_PUSH ](pair);
2605
+ }
2606
+ else {
2607
+ var shouldRedact = false;
2608
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH ]; j++) {
2609
+ if (paramName === sensitiveParams[j]) {
2610
+ shouldRedact = true;
2611
+ anyParamRedacted = true;
2612
+ break;
2613
+ }
2614
+ }
2615
+ if (shouldRedact) {
2616
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
2617
+ }
2618
+ else {
2619
+ resultParts[_DYN_PUSH ](pair);
2620
+ }
2621
+ }
2622
+ }
2623
+ }
2624
+ }
2625
+ if (!anyParamRedacted) {
2626
+ return url;
2627
+ }
2628
+ return baseUrl + resultParts.join("&") + fragment;
2629
+ }
2630
+ function fieldRedaction(input, config) {
2631
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
2632
+ return input;
2633
+ }
2634
+ var isRedactionDisabled = config && config.redactUrls === false;
2635
+ if (isRedactionDisabled) {
2636
+ return input;
2637
+ }
2638
+ var hasCredentials = strIndexOf(input, "@") !== -1;
2639
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
2640
+ if (!hasCredentials && !hasQueryParams) {
2641
+ return input;
2642
+ }
2643
+ try {
2644
+ var result = input;
2645
+ if (hasCredentials) {
2646
+ result = redactUserInfo(input);
2647
+ }
2648
+ if (hasQueryParams) {
2649
+ result = redactQueryParameters(result, config);
2650
+ }
2651
+ return result;
2652
+ }
2653
+ catch (e) {
2654
+ return input;
2655
+ }
2656
+ }
2469
2657
 
2470
2658
  var UInt32Mask = 0x100000000;
2471
2659
  var MaxUInt32 = 0xffffffff;
@@ -2551,7 +2739,7 @@ function newId(maxLength) {
2551
2739
  return result;
2552
2740
  }
2553
2741
 
2554
- var version = '3.4.0-nightlybeta3.2505-35';
2742
+ var version = '3.4.0-nightlybeta3.2507-23';
2555
2743
  var instanceName = "." + newId(6);
2556
2744
  var _dataUid = 0;
2557
2745
  function _canAcceptData(target) {
@@ -3202,29 +3390,559 @@ function _createDynamicHandler(logger, target, inPlace) {
3202
3390
  _makeDynamicObject(theState, newTarget, "config", "Creating");
3203
3391
  return cfgHandler;
3204
3392
  }
3205
- function _logInvalidAccess(logger, message) {
3206
- if (logger) {
3207
- logger[_DYN_WARN_TO_CONSOLE ](message);
3208
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3393
+ function _logInvalidAccess(logger, message) {
3394
+ if (logger) {
3395
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3396
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3397
+ }
3398
+ else {
3399
+ throwInvalidAccess(message);
3400
+ }
3401
+ }
3402
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3403
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3404
+ if (defaultConfig) {
3405
+ dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3406
+ }
3407
+ return dynamicHandler;
3408
+ }
3409
+ function onConfigChange(config, configHandler, logger) {
3410
+ var handler = config[CFG_HANDLER_LINK] || config;
3411
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3412
+ return handler[_DYN_WATCH ](configHandler);
3413
+ }
3414
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3415
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3416
+ }
3417
+
3418
+ var Undefined = strShimUndefined;
3419
+ function newGuid() {
3420
+ var uuid = generateW3CId();
3421
+ return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
3422
+ }
3423
+ function generateW3CId() {
3424
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3425
+ var oct = STR_EMPTY$1, tmp;
3426
+ for (var a = 0; a < 4; a++) {
3427
+ tmp = random32();
3428
+ oct +=
3429
+ hexValues[tmp & 0xF] +
3430
+ hexValues[tmp >> 4 & 0xF] +
3431
+ hexValues[tmp >> 8 & 0xF] +
3432
+ hexValues[tmp >> 12 & 0xF] +
3433
+ hexValues[tmp >> 16 & 0xF] +
3434
+ hexValues[tmp >> 20 & 0xF] +
3435
+ hexValues[tmp >> 24 & 0xF] +
3436
+ hexValues[tmp >> 28 & 0xF];
3437
+ }
3438
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3439
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
3440
+ }
3441
+
3442
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
3443
+ var DEFAULT_VERSION = "00";
3444
+ var INVALID_VERSION = "ff";
3445
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
3446
+ var INVALID_SPAN_ID = "0000000000000000";
3447
+ var SAMPLED_FLAG = 0x01;
3448
+ function _isValid(value, len, invalidValue) {
3449
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
3450
+ return !!value.match(/^[\da-f]*$/i);
3451
+ }
3452
+ return false;
3453
+ }
3454
+ function _formatValue(value, len, defValue) {
3455
+ if (_isValid(value, len)) {
3456
+ return value;
3457
+ }
3458
+ return defValue;
3459
+ }
3460
+ function _formatFlags(value) {
3461
+ if (isNaN(value) || value < 0 || value > 255) {
3462
+ value = 0x01;
3463
+ }
3464
+ var result = value.toString(16);
3465
+ while (result[_DYN_LENGTH ] < 2) {
3466
+ result = "0" + result;
3467
+ }
3468
+ return result;
3469
+ }
3470
+ function createTraceParent(traceId, spanId, flags, version) {
3471
+ return {
3472
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
3473
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
3474
+ spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
3475
+ traceFlags: (!isNullOrUndefined(flags) && flags >= 0 && flags <= 0xFF ? flags : 1 )
3476
+ };
3477
+ }
3478
+ function parseTraceParent(value, selectIdx) {
3479
+ if (!value) {
3480
+ return null;
3481
+ }
3482
+ if (isArray(value)) {
3483
+ value = value[0] || STR_EMPTY$1;
3484
+ }
3485
+ if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
3486
+ return null;
3487
+ }
3488
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
3489
+ var values = value[_DYN_SPLIT ](",");
3490
+ value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
3491
+ }
3492
+ TRACE_PARENT_REGEX.lastIndex = 0;
3493
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
3494
+ if (!match ||
3495
+ match[1] === INVALID_VERSION ||
3496
+ match[2] === INVALID_TRACE_ID ||
3497
+ match[3] === INVALID_SPAN_ID) {
3498
+ return null;
3499
+ }
3500
+ return {
3501
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3502
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3503
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3504
+ traceFlags: parseInt(match[4], 16)
3505
+ };
3506
+ }
3507
+ function isValidTraceId(value) {
3508
+ return _isValid(value, 32, INVALID_TRACE_ID);
3509
+ }
3510
+ function isValidSpanId(value) {
3511
+ return _isValid(value, 16, INVALID_SPAN_ID);
3512
+ }
3513
+ function isValidTraceParent(value) {
3514
+ if (!value ||
3515
+ !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
3516
+ !_isValid(value[_DYN_TRACE_ID ], 32, INVALID_TRACE_ID) ||
3517
+ !_isValid(value[_DYN_SPAN_ID ], 16, INVALID_SPAN_ID) ||
3518
+ !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
3519
+ return false;
3520
+ }
3521
+ return true;
3522
+ }
3523
+ function isSampledFlag(value) {
3524
+ if (isValidTraceParent(value)) {
3525
+ return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
3526
+ }
3527
+ return false;
3528
+ }
3529
+ function formatTraceParent(value) {
3530
+ if (value) {
3531
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
3532
+ if (!_isValid(flags, 2)) {
3533
+ flags = "01";
3534
+ }
3535
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
3536
+ if (version !== "00" && version !== "ff") {
3537
+ version = DEFAULT_VERSION;
3538
+ }
3539
+ 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());
3540
+ }
3541
+ return STR_EMPTY$1;
3542
+ }
3543
+ function findW3cTraceParent(selectIdx) {
3544
+ var name = "traceparent";
3545
+ var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
3546
+ if (!traceParent) {
3547
+ traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
3548
+ }
3549
+ return traceParent;
3550
+ }
3551
+ function findAllScripts(doc) {
3552
+ var scripts = doc.getElementsByTagName("script");
3553
+ var result = [];
3554
+ arrForEach(scripts, function (script) {
3555
+ var src = script[_DYN_GET_ATTRIBUTE ]("src");
3556
+ if (src) {
3557
+ var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
3558
+ var async = script.hasAttribute("async") === true;
3559
+ var defer = script.hasAttribute("defer") === true;
3560
+ var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
3561
+ var info = { url: src };
3562
+ if (crossOrigin) {
3563
+ info.crossOrigin = crossOrigin;
3564
+ }
3565
+ if (async) {
3566
+ info.async = async;
3567
+ }
3568
+ if (defer) {
3569
+ info.defer = defer;
3570
+ }
3571
+ if (referrerPolicy) {
3572
+ info.referrerPolicy = referrerPolicy;
3573
+ }
3574
+ result[_DYN_PUSH ](info);
3575
+ }
3576
+ });
3577
+ return result;
3578
+ }
3579
+
3580
+ var MAX_TRACE_STATE_MEMBERS = 32;
3581
+ var MAX_TRACE_STATE_LEN = 512;
3582
+ var LCALPHA = "[a-z]";
3583
+ var LCALPHA_DIGIT = "[a-z\\d]";
3584
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
3585
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
3586
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
3587
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
3588
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
3589
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
3590
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
3591
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
3592
+ function _parseListMember(value) {
3593
+ if (value) {
3594
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
3595
+ var match = TRACESTATE_KVP_REGEX.exec(value);
3596
+ if (match && match[_DYN_LENGTH ] >= 7 && match[1] && match[6]) {
3597
+ var type = match[3] ? 1 : 0 ;
3598
+ var multiTenant = null;
3599
+ if (type === 1 ) {
3600
+ multiTenant = {
3601
+ tenantId: match[4],
3602
+ systemId: match[5]
3603
+ };
3604
+ }
3605
+ var parts = {
3606
+ type: type,
3607
+ key: match[2],
3608
+ multiTenant: multiTenant,
3609
+ value: match[6]
3610
+ };
3611
+ return parts;
3612
+ }
3613
+ }
3614
+ return null;
3615
+ }
3616
+ function _parseTraceStateList(value) {
3617
+ var items = [];
3618
+ if (value) {
3619
+ var addedKeys_1 = [];
3620
+ arrForEach(strSplit(value, ","), function (member) {
3621
+ var parts = _parseListMember(member);
3622
+ if (parts) {
3623
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
3624
+ items[_DYN_PUSH ](parts);
3625
+ addedKeys_1[_DYN_PUSH ](parts.key);
3626
+ if (items[_DYN_LENGTH ] >= MAX_TRACE_STATE_MEMBERS) {
3627
+ return -1;
3628
+ }
3629
+ }
3630
+ }
3631
+ });
3632
+ }
3633
+ return items;
3634
+ }
3635
+ function _indexOf(items, key) {
3636
+ for (var lp = 0; lp < items[_DYN_LENGTH ]; lp++) {
3637
+ if (items[lp].key === key) {
3638
+ return lp;
3639
+ }
3640
+ }
3641
+ return -1;
3642
+ }
3643
+ function _keys(items, parent) {
3644
+ var keys = [];
3645
+ var delKeys = [];
3646
+ arrForEach(items, function (member) {
3647
+ if (member[_DYN_VALUE ] != null) {
3648
+ keys[_DYN_PUSH ](member.key);
3649
+ }
3650
+ else {
3651
+ delKeys[_DYN_PUSH ](member.key);
3652
+ }
3653
+ });
3654
+ if (parent) {
3655
+ arrForEach(parent.keys, function (key) {
3656
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
3657
+ keys[_DYN_PUSH ](key);
3658
+ }
3659
+ });
3660
+ }
3661
+ return keys;
3662
+ }
3663
+ function _isEmpty(items, parent) {
3664
+ var delKeys;
3665
+ var isEmpty = true;
3666
+ if (items && items[_DYN_LENGTH ] > 0) {
3667
+ arrForEach(items, function (member) {
3668
+ if (member[_DYN_VALUE ] != null) {
3669
+ isEmpty = false;
3670
+ }
3671
+ else {
3672
+ if (!delKeys) {
3673
+ delKeys = [];
3674
+ }
3675
+ delKeys[_DYN_PUSH ](member.key);
3676
+ }
3677
+ });
3678
+ }
3679
+ if (isEmpty && parent) {
3680
+ isEmpty = parent.isEmpty;
3681
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH ] > 0) {
3682
+ isEmpty = true;
3683
+ arrForEach(parent.keys, function (key) {
3684
+ if (arrIndexOf(delKeys, key) === -1) {
3685
+ isEmpty = false;
3686
+ return -1;
3687
+ }
3688
+ });
3689
+ }
3690
+ }
3691
+ return isEmpty;
3692
+ }
3693
+ function isW3cTraceState(value) {
3694
+ return !!(value && isArray(value.keys) && isFunction(value.get) && isFunction(value.set) && isFunction(value.del) && isFunction(value.hdrs));
3695
+ }
3696
+ function createW3cTraceState(value, parent) {
3697
+ var cachedItems = createDeferredCachedValue(function () { return safe(_parseTraceStateList, [value || STR_EMPTY$1]).v || []; });
3698
+ function _get(key) {
3699
+ var value;
3700
+ var theItems = cachedItems.v;
3701
+ var idx = _indexOf(theItems, key);
3702
+ if (idx !== -1) {
3703
+ var itmValue = theItems[idx][_DYN_VALUE ];
3704
+ if (itmValue != null) {
3705
+ value = itmValue;
3706
+ }
3707
+ }
3708
+ else if (parent) {
3709
+ value = parent.get(key);
3710
+ }
3711
+ return value;
3712
+ }
3713
+ function _setMember(member) {
3714
+ if (member) {
3715
+ var theItems = cachedItems.v;
3716
+ var idx = _indexOf(theItems, member.key);
3717
+ if (idx !== -1) {
3718
+ theItems[_DYN_SPLICE ](idx, 1);
3719
+ }
3720
+ theItems.unshift(member);
3721
+ cachedItems = createCachedValue(theItems);
3722
+ return 0;
3723
+ }
3724
+ return -1;
3725
+ }
3726
+ function _set(key, value) {
3727
+ var member;
3728
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
3729
+ member = _parseListMember(key + "=" + value);
3730
+ }
3731
+ return _setMember(member);
3732
+ }
3733
+ function _del(key) {
3734
+ _setMember({
3735
+ type: 2 ,
3736
+ key: key
3737
+ });
3738
+ }
3739
+ function _headers(maxHeaders, maxKeys, maxLen) {
3740
+ var results = [];
3741
+ var result = STR_EMPTY$1;
3742
+ var numKeys = 0;
3743
+ var len = 0;
3744
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
3745
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
3746
+ var theItems = cachedItems.v;
3747
+ arrForEach(_keys(theItems, parent), function (key) {
3748
+ var value = _get(key);
3749
+ if (!isNullOrUndefined(value) && isString(value)) {
3750
+ numKeys++;
3751
+ var val = key + "=" + value;
3752
+ var valLen = val[_DYN_LENGTH ];
3753
+ if (len + 1 + valLen >= maxLen) {
3754
+ results[_DYN_PUSH ](result);
3755
+ if (maxHeaders && results[_DYN_LENGTH ] <= maxHeaders) {
3756
+ return -1;
3757
+ }
3758
+ result = STR_EMPTY$1;
3759
+ len = 0;
3760
+ }
3761
+ if (result[_DYN_LENGTH ] > 0) {
3762
+ result += ",";
3763
+ len++;
3764
+ }
3765
+ result += val;
3766
+ len += valLen;
3767
+ if (numKeys >= maxKeys) {
3768
+ return -1;
3769
+ }
3770
+ }
3771
+ });
3772
+ if (result) {
3773
+ results[_DYN_PUSH ](result);
3774
+ }
3775
+ return results;
3776
+ }
3777
+ var traceStateList = {
3778
+ keys: [],
3779
+ isEmpty: false,
3780
+ get: _get,
3781
+ set: _set,
3782
+ del: _del,
3783
+ hdrs: _headers,
3784
+ child: function () { return createW3cTraceState(null, traceStateList); }
3785
+ };
3786
+ function _toString() {
3787
+ var headers = traceStateList.hdrs(1);
3788
+ return headers[_DYN_LENGTH ] > 0 ? headers[0] : STR_EMPTY$1;
3789
+ }
3790
+ objDefineProps(traceStateList, {
3791
+ "keys": {
3792
+ g: function () { return _keys(cachedItems.v, parent); }
3793
+ },
3794
+ "isEmpty": {
3795
+ g: function () { return _isEmpty(cachedItems.v, parent); }
3796
+ },
3797
+ "toString": {
3798
+ v: _toString,
3799
+ e: false
3800
+ },
3801
+ "_p": {
3802
+ v: parent,
3803
+ e: false
3804
+ }
3805
+ });
3806
+ objDefine(traceStateList, getKnownSymbol(11 ), { g: _toString });
3807
+ return traceStateList;
3808
+ }
3809
+ function snapshotW3cTraceState(traceState) {
3810
+ var snapshot = createW3cTraceState(null, null);
3811
+ if (traceState) {
3812
+ var theKeys = traceState.keys;
3813
+ for (var i = theKeys[_DYN_LENGTH ] - 1; i >= 0; i--) {
3814
+ var key = theKeys[i];
3815
+ var value = traceState.get(key);
3816
+ if (!isNullOrUndefined(value) && isString(value)) {
3817
+ snapshot.set(key, value);
3818
+ }
3819
+ }
3820
+ }
3821
+ return snapshot;
3822
+ }
3823
+ function findW3cTraceState() {
3824
+ var name = "tracestate";
3825
+ var traceState = null;
3826
+ var metaTags = findMetaTags(name);
3827
+ if (metaTags[_DYN_LENGTH ] > 0) {
3828
+ traceState = createW3cTraceState(metaTags.join(","));
3209
3829
  }
3210
- else {
3211
- throwInvalidAccess(message);
3830
+ if (!traceState) {
3831
+ var serverTimings = findNamedServerTimings(name);
3832
+ if (serverTimings[_DYN_LENGTH ] > 0) {
3833
+ traceState = createW3cTraceState(serverTimings.join(","));
3834
+ }
3212
3835
  }
3836
+ return traceState;
3213
3837
  }
3214
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3215
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3216
- if (defaultConfig) {
3217
- dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3838
+
3839
+ var _otelTraceState;
3840
+ function _initOTelTraceStateSymbol() {
3841
+ if (!_otelTraceState) {
3842
+ _otelTraceState = createCachedValue(symbolFor("otTraceState"));
3843
+ }
3844
+ return _otelTraceState;
3845
+ }
3846
+ function _createOTelTraceState(traceState) {
3847
+ if (!_otelTraceState) {
3848
+ _otelTraceState = _initOTelTraceStateSymbol();
3849
+ }
3850
+ var otTraceState = {
3851
+ set: function (key, value) {
3852
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3853
+ newState.set(key, value);
3854
+ return _createOTelTraceState(newState);
3855
+ },
3856
+ unset: function (key) {
3857
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3858
+ newState.del(key);
3859
+ return _createOTelTraceState(newState);
3860
+ },
3861
+ get: function (key) {
3862
+ return traceState.get(key);
3863
+ },
3864
+ serialize: function () {
3865
+ var headers = traceState.hdrs(1);
3866
+ if (headers[_DYN_LENGTH ] > 0) {
3867
+ return headers[0];
3868
+ }
3869
+ return STR_EMPTY$1;
3870
+ }
3871
+ };
3872
+ objDefine(otTraceState, _otelTraceState.v, { g: function () { return traceState; } });
3873
+ return otTraceState;
3874
+ }
3875
+ function isOTelTraceState(value) {
3876
+ if (!_otelTraceState) {
3877
+ _otelTraceState = _initOTelTraceStateSymbol();
3218
3878
  }
3219
- return dynamicHandler;
3879
+ if (value && value[_otelTraceState.v]) {
3880
+ return true;
3881
+ }
3882
+ return value && isFunction(value.serialize) && isFunction(value.unset) && isFunction(value.get) && isFunction(value.set);
3220
3883
  }
3221
- function onConfigChange(config, configHandler, logger) {
3222
- var handler = config[CFG_HANDLER_LINK] || config;
3223
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3224
- return handler[_DYN_WATCH ](configHandler);
3884
+ function createOTelTraceState(value) {
3885
+ var traceState = null;
3886
+ if (isOTelTraceState(value)) {
3887
+ var parentTraceState = void 0;
3888
+ if (_otelTraceState) {
3889
+ parentTraceState = value[_otelTraceState.v];
3890
+ }
3891
+ if (parentTraceState) {
3892
+ traceState = createW3cTraceState(STR_EMPTY$1, parentTraceState);
3893
+ }
3894
+ else {
3895
+ traceState = createW3cTraceState(value.serialize());
3896
+ }
3225
3897
  }
3226
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3227
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3898
+ else if (isW3cTraceState(value)) {
3899
+ traceState = value;
3900
+ }
3901
+ else {
3902
+ traceState = createW3cTraceState(isString(value) ? value : STR_EMPTY$1);
3903
+ }
3904
+ return _createOTelTraceState(traceState);
3905
+ }
3906
+
3907
+ function createOTelSpanContext(traceContext) {
3908
+ var traceId = isValidTraceId(traceContext[_DYN_TRACE_ID ]) ? traceContext[_DYN_TRACE_ID ] : INVALID_TRACE_ID;
3909
+ var spanId = isValidSpanId(traceContext[_DYN_SPAN_ID ]) ? traceContext[_DYN_SPAN_ID ] : INVALID_SPAN_ID;
3910
+ var isRemote = traceContext.isRemote;
3911
+ var traceFlags = (!isNullOrUndefined(traceContext[_DYN_TRACE_FLAGS ]) ? traceContext[_DYN_TRACE_FLAGS ] : 1 );
3912
+ var otTraceState = null;
3913
+ var traceContextObj = {
3914
+ traceId: traceId,
3915
+ spanId: spanId,
3916
+ traceFlags: traceFlags
3917
+ };
3918
+ return objDefineProps(traceContextObj, {
3919
+ traceId: {
3920
+ g: function () { return traceId; },
3921
+ s: function (value) { return traceId = isValidTraceId(value) ? value : INVALID_TRACE_ID; }
3922
+ },
3923
+ spanId: {
3924
+ g: function () { return spanId; },
3925
+ s: function (value) { return spanId = isValidSpanId(value) ? value : INVALID_SPAN_ID; }
3926
+ },
3927
+ isRemote: {
3928
+ g: function () { return isRemote; }
3929
+ },
3930
+ traceFlags: {
3931
+ g: function () { return traceFlags; },
3932
+ s: function (value) { return traceFlags = value; }
3933
+ },
3934
+ traceState: {
3935
+ g: function () {
3936
+ if (!otTraceState) {
3937
+ otTraceState = createOTelTraceState(traceContext[_DYN_TRACE_STATE ]);
3938
+ }
3939
+ return otTraceState;
3940
+ },
3941
+ s: function (value) {
3942
+ otTraceState = value;
3943
+ }
3944
+ }
3945
+ });
3228
3946
  }
3229
3947
 
3230
3948
  function runTargetUnload(target, isAsync) {
@@ -4119,167 +4837,6 @@ function getGblPerfMgr() {
4119
4837
  return _defaultPerfManager;
4120
4838
  }
4121
4839
 
4122
- var Undefined = strShimUndefined;
4123
- function newGuid() {
4124
- var uuid = generateW3CId();
4125
- return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
4126
- }
4127
- function generateW3CId() {
4128
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
4129
- var oct = STR_EMPTY$1, tmp;
4130
- for (var a = 0; a < 4; a++) {
4131
- tmp = random32();
4132
- oct +=
4133
- hexValues[tmp & 0xF] +
4134
- hexValues[tmp >> 4 & 0xF] +
4135
- hexValues[tmp >> 8 & 0xF] +
4136
- hexValues[tmp >> 12 & 0xF] +
4137
- hexValues[tmp >> 16 & 0xF] +
4138
- hexValues[tmp >> 20 & 0xF] +
4139
- hexValues[tmp >> 24 & 0xF] +
4140
- hexValues[tmp >> 28 & 0xF];
4141
- }
4142
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
4143
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
4144
- }
4145
-
4146
- var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
4147
- var DEFAULT_VERSION = "00";
4148
- var INVALID_VERSION = "ff";
4149
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
4150
- var INVALID_SPAN_ID = "0000000000000000";
4151
- var SAMPLED_FLAG = 0x01;
4152
- function _isValid(value, len, invalidValue) {
4153
- if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
4154
- return !!value.match(/^[\da-f]*$/i);
4155
- }
4156
- return false;
4157
- }
4158
- function _formatValue(value, len, defValue) {
4159
- if (_isValid(value, len)) {
4160
- return value;
4161
- }
4162
- return defValue;
4163
- }
4164
- function _formatFlags(value) {
4165
- if (isNaN(value) || value < 0 || value > 255) {
4166
- value = 0x01;
4167
- }
4168
- var result = value.toString(16);
4169
- while (result[_DYN_LENGTH ] < 2) {
4170
- result = "0" + result;
4171
- }
4172
- return result;
4173
- }
4174
- function createTraceParent(traceId, spanId, flags, version) {
4175
- return {
4176
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
4177
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
4178
- spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
4179
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
4180
- };
4181
- }
4182
- function parseTraceParent(value, selectIdx) {
4183
- if (!value) {
4184
- return null;
4185
- }
4186
- if (isArray(value)) {
4187
- value = value[0] || "";
4188
- }
4189
- if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4190
- return null;
4191
- }
4192
- if (value[_DYN_INDEX_OF ](",") !== -1) {
4193
- var values = value[_DYN_SPLIT ](",");
4194
- value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4195
- }
4196
- var match = TRACE_PARENT_REGEX.exec(strTrim(value));
4197
- if (!match ||
4198
- match[1] === INVALID_VERSION ||
4199
- match[2] === INVALID_TRACE_ID ||
4200
- match[3] === INVALID_SPAN_ID) {
4201
- return null;
4202
- }
4203
- return {
4204
- version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4205
- traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4206
- spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4207
- traceFlags: parseInt(match[4], 16)
4208
- };
4209
- }
4210
- function isValidTraceId(value) {
4211
- return _isValid(value, 32, INVALID_TRACE_ID);
4212
- }
4213
- function isValidSpanId(value) {
4214
- return _isValid(value, 16, INVALID_SPAN_ID);
4215
- }
4216
- function isValidTraceParent(value) {
4217
- if (!value ||
4218
- !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
4219
- !_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
4220
- !_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
4221
- !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
4222
- return false;
4223
- }
4224
- return true;
4225
- }
4226
- function isSampledFlag(value) {
4227
- if (isValidTraceParent(value)) {
4228
- return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
4229
- }
4230
- return false;
4231
- }
4232
- function formatTraceParent(value) {
4233
- if (value) {
4234
- var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
4235
- if (!_isValid(flags, 2)) {
4236
- flags = "01";
4237
- }
4238
- var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
4239
- if (version !== "00" && version !== "ff") {
4240
- version = DEFAULT_VERSION;
4241
- }
4242
- 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());
4243
- }
4244
- return "";
4245
- }
4246
- function findW3cTraceParent(selectIdx) {
4247
- var name = "traceparent";
4248
- var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
4249
- if (!traceParent) {
4250
- traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
4251
- }
4252
- return traceParent;
4253
- }
4254
- function findAllScripts(doc) {
4255
- var scripts = doc.getElementsByTagName("script");
4256
- var result = [];
4257
- arrForEach(scripts, function (script) {
4258
- var src = script[_DYN_GET_ATTRIBUTE ]("src");
4259
- if (src) {
4260
- var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
4261
- var async = script.hasAttribute("async") === true;
4262
- var defer = script.hasAttribute("defer") === true;
4263
- var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
4264
- var info = { url: src };
4265
- if (crossOrigin) {
4266
- info.crossOrigin = crossOrigin;
4267
- }
4268
- if (async) {
4269
- info.async = async;
4270
- }
4271
- if (defer) {
4272
- info.defer = defer;
4273
- }
4274
- if (referrerPolicy) {
4275
- info.referrerPolicy = referrerPolicy;
4276
- }
4277
- result[_DYN_PUSH ](info);
4278
- }
4279
- });
4280
- return result;
4281
- }
4282
-
4283
4840
  var pluginStateData = createElmNodeData("plugin");
4284
4841
  function _getPluginState(plugin) {
4285
4842
  return pluginStateData.get(plugin, "state", {}, true);
@@ -4353,42 +4910,147 @@ function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {
4353
4910
  }
4354
4911
  return _doUnload();
4355
4912
  }
4356
- function createDistributedTraceContext(parentCtx) {
4357
- var trace = {};
4358
- return {
4359
- getName: function () {
4360
- return trace[_DYN_NAME ];
4913
+ function isDistributedTraceContext(obj) {
4914
+ return obj &&
4915
+ isFunction(obj.getName) &&
4916
+ isFunction(obj.getTraceId) &&
4917
+ isFunction(obj.getSpanId) &&
4918
+ isFunction(obj.getTraceFlags) &&
4919
+ isFunction(obj.setName) &&
4920
+ isFunction(obj.setTraceId) &&
4921
+ isFunction(obj.setSpanId) &&
4922
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
4923
+ }
4924
+ function createDistributedTraceContext(parent) {
4925
+ var _a;
4926
+ var parentCtx = null;
4927
+ var spanContext = null;
4928
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID ])) ? parent[_DYN_TRACE_ID ] : generateW3CId();
4929
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID ])) ? parent[_DYN_SPAN_ID ] : STR_EMPTY$1;
4930
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE;
4931
+ var isRemote = parent ? parent.isRemote : false;
4932
+ var pageName = STR_EMPTY$1;
4933
+ var traceState = null;
4934
+ if (parent) {
4935
+ if (isDistributedTraceContext(parent)) {
4936
+ parentCtx = parent;
4937
+ pageName = parentCtx.getName();
4938
+ }
4939
+ else {
4940
+ spanContext = parent;
4941
+ }
4942
+ }
4943
+ if (!pageName) {
4944
+ pageName = "_unknown_";
4945
+ var location_1 = getLocation();
4946
+ if (location_1 && location_1.pathname) {
4947
+ pageName = location_1.pathname + (location_1.hash || "");
4948
+ }
4949
+ }
4950
+ function _getName() {
4951
+ return pageName;
4952
+ }
4953
+ function _setPageNameFn(updateParent) {
4954
+ return function (newValue) {
4955
+ if (updateParent) {
4956
+ parentCtx && parentCtx.setName(newValue);
4957
+ }
4958
+ pageName = newValue;
4959
+ };
4960
+ }
4961
+ function _getTraceId() {
4962
+ return traceId;
4963
+ }
4964
+ function _setTraceIdFn(updateParent) {
4965
+ return function (newValue) {
4966
+ if (updateParent) {
4967
+ parentCtx && parentCtx.setTraceId(newValue);
4968
+ }
4969
+ if (isValidTraceId(newValue)) {
4970
+ traceId = newValue;
4971
+ }
4972
+ };
4973
+ }
4974
+ function _getSpanId() {
4975
+ return spanId;
4976
+ }
4977
+ function _setSpanIdFn(updateParent) {
4978
+ return function (newValue) {
4979
+ if (updateParent) {
4980
+ parentCtx && parentCtx.setSpanId(newValue);
4981
+ }
4982
+ if (isValidSpanId(newValue)) {
4983
+ spanId = newValue;
4984
+ }
4985
+ };
4986
+ }
4987
+ function _getTraceFlags() {
4988
+ return traceFlags;
4989
+ }
4990
+ function _setTraceFlagsFn(updateParent) {
4991
+ return function (newTraceFlags) {
4992
+ if (updateParent) {
4993
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
4994
+ }
4995
+ traceFlags = newTraceFlags;
4996
+ };
4997
+ }
4998
+ function _getTraceState() {
4999
+ if (!traceState) {
5000
+ if (spanContext && spanContext[_DYN_TRACE_STATE ]) {
5001
+ traceState = createW3cTraceState(spanContext[_DYN_TRACE_STATE ].serialize() || STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5002
+ }
5003
+ else {
5004
+ traceState = createW3cTraceState(STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5005
+ }
5006
+ }
5007
+ return traceState;
5008
+ }
5009
+ var traceCtx = (_a = {
5010
+ getName: _getName,
5011
+ setName: _setPageNameFn(true),
5012
+ getTraceId: _getTraceId,
5013
+ setTraceId: _setTraceIdFn(true),
5014
+ getSpanId: _getSpanId,
5015
+ setSpanId: _setSpanIdFn(true),
5016
+ getTraceFlags: _getTraceFlags
4361
5017
  },
4362
- setName: function (newValue) {
4363
- parentCtx && parentCtx.setName(newValue);
4364
- trace[_DYN_NAME ] = newValue;
5018
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
5019
+ _a.traceId = traceId,
5020
+ _a.spanId = spanId,
5021
+ _a.traceFlags = traceFlags,
5022
+ _a.traceState = traceState,
5023
+ _a.isRemote = isRemote,
5024
+ _a.pageName = pageName,
5025
+ _a);
5026
+ return objDefineProps(traceCtx, {
5027
+ pageName: {
5028
+ g: _getName,
5029
+ s: _setPageNameFn(false)
4365
5030
  },
4366
- getTraceId: function () {
4367
- return trace.traceId;
5031
+ traceId: {
5032
+ g: _getTraceId,
5033
+ s: _setTraceIdFn(false)
4368
5034
  },
4369
- setTraceId: function (newValue) {
4370
- parentCtx && parentCtx.setTraceId(newValue);
4371
- if (isValidTraceId(newValue)) {
4372
- trace.traceId = newValue;
4373
- }
5035
+ spanId: {
5036
+ g: _getSpanId,
5037
+ s: _setSpanIdFn(false)
4374
5038
  },
4375
- getSpanId: function () {
4376
- return trace.spanId;
5039
+ traceFlags: {
5040
+ g: _getTraceFlags,
5041
+ s: _setTraceFlagsFn(false)
4377
5042
  },
4378
- setSpanId: function (newValue) {
4379
- parentCtx && parentCtx.setSpanId(newValue);
4380
- if (isValidSpanId(newValue)) {
4381
- trace.spanId = newValue;
4382
- }
5043
+ isRemote: {
5044
+ v: isRemote,
5045
+ w: false
4383
5046
  },
4384
- getTraceFlags: function () {
4385
- return trace[_DYN_TRACE_FLAGS ];
5047
+ traceState: {
5048
+ g: _getTraceState
4386
5049
  },
4387
- setTraceFlags: function (newTraceFlags) {
4388
- parentCtx && parentCtx.setTraceFlags(newTraceFlags);
4389
- trace[_DYN_TRACE_FLAGS ] = newTraceFlags;
5050
+ parentCtx: {
5051
+ g: function () { return parentCtx; }
4390
5052
  }
4391
- };
5053
+ });
4392
5054
  }
4393
5055
 
4394
5056
  var strTelemetryPluginChain = "TelemetryPluginChain";
@@ -4474,27 +5136,26 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
4474
5136
  }
4475
5137
  function _getExtCfg(identifier, createIfMissing) {
4476
5138
  var idCfg = null;
4477
- var cfg = dynamicHandler.cfg;
5139
+ var extCfg = _getCfg(dynamicHandler.cfg, "extensionConfig", createIfMissing);
5140
+ if (extCfg) {
5141
+ idCfg = _getCfg(extCfg, identifier, createIfMissing);
5142
+ }
5143
+ return idCfg;
5144
+ }
5145
+ function _getCfg(cfg, identifier, createIfMissing) {
5146
+ var idCfg = null;
4478
5147
  if (cfg && identifier) {
4479
- var extCfg = cfg[STR_EXTENSION_CONFIG ];
4480
- if (!extCfg && createIfMissing) {
4481
- extCfg = {};
4482
- }
4483
- cfg[STR_EXTENSION_CONFIG] = extCfg;
4484
- extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
4485
- if (extCfg) {
4486
- idCfg = extCfg[identifier];
4487
- if (!idCfg && createIfMissing) {
4488
- idCfg = {};
4489
- }
4490
- extCfg[identifier] = idCfg;
4491
- idCfg = dynamicHandler.ref(extCfg, identifier);
5148
+ idCfg = cfg[identifier];
5149
+ if (!idCfg && createIfMissing) {
5150
+ idCfg = {};
4492
5151
  }
5152
+ cfg[identifier] = idCfg;
5153
+ idCfg = dynamicHandler.ref(cfg, identifier);
4493
5154
  }
4494
5155
  return idCfg;
4495
5156
  }
4496
- function _resolveExtCfg(identifier, defaultValues) {
4497
- var newConfig = _getExtCfg(identifier, true);
5157
+ function _resolveExtCfg(identifier, defaultValues, rootOnly) {
5158
+ var newConfig = rootOnly ? _getCfg(dynamicHandler.cfg, identifier, true) : _getExtCfg(identifier, true);
4498
5159
  if (defaultValues) {
4499
5160
  objForEachKey(defaultValues, function (field, defaultValue) {
4500
5161
  if (isNullOrUndefined(newConfig[field])) {
@@ -5044,6 +5705,7 @@ var defaultConfig = objDeepFreeze((_a = {
5044
5705
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
5045
5706
  _a.loggingLevelConsole = 0 ,
5046
5707
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5708
+ _a.traceHdrMode = 3 ,
5047
5709
  _a));
5048
5710
  function _createPerfManager(core, notificationMgr) {
5049
5711
  return new PerfManager(notificationMgr);
@@ -5163,6 +5825,21 @@ function _createUnloadHook(unloadHook) {
5163
5825
  }
5164
5826
  }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
5165
5827
  }
5828
+ function _getParentTraceCtx(mode) {
5829
+ var spanContext = null;
5830
+ var parentTrace = (mode & 1 ) ? findW3cTraceParent() : null;
5831
+ var parentTraceState = (mode & 2 ) ? findW3cTraceState() : null;
5832
+ if (parentTrace || parentTraceState) {
5833
+ spanContext = createOTelSpanContext({
5834
+ traceId: parentTrace ? parentTrace[_DYN_TRACE_ID ] : null,
5835
+ spanId: parentTrace ? parentTrace[_DYN_SPAN_ID ] : null,
5836
+ traceFlags: parentTrace ? parentTrace[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE,
5837
+ isRemote: true,
5838
+ traceState: parentTraceState ? createOTelTraceState(parentTraceState) : null
5839
+ });
5840
+ }
5841
+ return spanContext;
5842
+ }
5166
5843
  var AppInsightsCore = /** @class */ (function () {
5167
5844
  function AppInsightsCore() {
5168
5845
  var _configHandler;
@@ -5179,6 +5856,8 @@ var AppInsightsCore = /** @class */ (function () {
5179
5856
  var _channels;
5180
5857
  var _isUnloading;
5181
5858
  var _telemetryInitializerPlugin;
5859
+ var _serverOTelCtx;
5860
+ var _serverTraceHdrMode;
5182
5861
  var _internalLogsEventName;
5183
5862
  var _evtNamespace;
5184
5863
  var _unloadHandlers;
@@ -5225,6 +5904,10 @@ var AppInsightsCore = /** @class */ (function () {
5225
5904
  objForEachKey(extCfg, function (key) {
5226
5905
  details.ref(extCfg, key);
5227
5906
  });
5907
+ if (rootCfg[_DYN_TRACE_HDR_MODE ] !== _serverTraceHdrMode) {
5908
+ _serverOTelCtx = _getParentTraceCtx(rootCfg[_DYN_TRACE_HDR_MODE ]);
5909
+ _serverTraceHdrMode = rootCfg[_DYN_TRACE_HDR_MODE ];
5910
+ }
5228
5911
  }));
5229
5912
  _notificationManager = notificationManager;
5230
5913
  _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
@@ -5592,8 +6275,8 @@ var AppInsightsCore = /** @class */ (function () {
5592
6275
  };
5593
6276
  _self.flush = _flushChannels;
5594
6277
  _self.getTraceCtx = function (createNew) {
5595
- if (!_traceCtx) {
5596
- _traceCtx = createDistributedTraceContext();
6278
+ if ((!_traceCtx && createNew !== false) || createNew === true) {
6279
+ _traceCtx = createDistributedTraceContext(_serverOTelCtx);
5597
6280
  }
5598
6281
  return _traceCtx;
5599
6282
  };
@@ -5688,6 +6371,8 @@ var AppInsightsCore = /** @class */ (function () {
5688
6371
  cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH ]);
5689
6372
  arrAppend(cfgExtensions, _extensions);
5690
6373
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
6374
+ _serverOTelCtx = null;
6375
+ _serverTraceHdrMode = 0 ;
5691
6376
  _eventQueue = [];
5692
6377
  runTargetUnload(_notificationManager, false);
5693
6378
  _notificationManager = null;
@@ -6793,12 +7478,12 @@ function removePageShowEventListener(listener, evtNamespace) {
6793
7478
  removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
6794
7479
  }
6795
7480
 
6796
- var LoggingSeverity = createEnumStyle({
7481
+ var LoggingSeverity = ( /* @__PURE__ */createEnumStyle({
6797
7482
  DISABLED: 0 ,
6798
7483
  CRITICAL: 1 ,
6799
7484
  WARNING: 2 ,
6800
7485
  DEBUG: 3
6801
- });
7486
+ }));
6802
7487
 
6803
7488
  var aiInstrumentHooks = "_aiHooks";
6804
7489
  var cbNames = [
@@ -7028,6 +7713,7 @@ exports.convertAllHeadersToMap = convertAllHeadersToMap;
7028
7713
  exports.createClassFromInterface = createClassFromInterface;
7029
7714
  exports.createCookieMgr = createCookieMgr;
7030
7715
  exports.createCustomDomEvent = createCustomDomEvent;
7716
+ exports.createDistributedTraceContext = createDistributedTraceContext;
7031
7717
  exports.createDynamicConfig = createDynamicConfig;
7032
7718
  exports.createEnumStyle = createEnumStyle;
7033
7719
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
@@ -7036,6 +7722,7 @@ exports.createUniqueNamespace = createUniqueNamespace;
7036
7722
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
7037
7723
  exports.createUnloadHookContainer = createUnloadHookContainer;
7038
7724
  exports.createValueMap = createValueMap;
7725
+ exports.createW3cTraceState = createW3cTraceState;
7039
7726
  exports.dateNow = utcNow;
7040
7727
  exports.deepFreeze = objDeepFreeze;
7041
7728
  exports.detachEvent = detachEvent;
@@ -7045,10 +7732,12 @@ exports.doUnloadAll = doUnloadAll;
7045
7732
  exports.dumpObj = dumpObj;
7046
7733
  exports.eventOff = eventOff;
7047
7734
  exports.eventOn = eventOn;
7735
+ exports.fieldRedaction = fieldRedaction;
7048
7736
  exports.findAllScripts = findAllScripts;
7049
7737
  exports.findMetaTag = findMetaTag;
7050
7738
  exports.findNamedServerTiming = findNamedServerTiming;
7051
7739
  exports.findW3cTraceParent = findW3cTraceParent;
7740
+ exports.findW3cTraceState = findW3cTraceState;
7052
7741
  exports.forceDynamicConversion = forceDynamicConversion;
7053
7742
  exports.formatErrorMessageXdr = formatErrorMessageXdr;
7054
7743
  exports.formatErrorMessageXhr = formatErrorMessageXhr;
@@ -7107,6 +7796,7 @@ exports.isUndefined = isUndefined;
7107
7796
  exports.isValidSpanId = isValidSpanId;
7108
7797
  exports.isValidTraceId = isValidTraceId;
7109
7798
  exports.isValidTraceParent = isValidTraceParent;
7799
+ exports.isW3cTraceState = isW3cTraceState;
7110
7800
  exports.isXhrSupported = isXhrSupported;
7111
7801
  exports.mergeEvtNamespace = mergeEvtNamespace;
7112
7802
  exports.mwcRandom32 = mwcRandom32;
@@ -7145,6 +7835,7 @@ exports.sendCustomEvent = sendCustomEvent;
7145
7835
  exports.setEnableEnvMocks = setEnableEnvMocks;
7146
7836
  exports.setGblPerfMgr = setGblPerfMgr;
7147
7837
  exports.setValue = setValue;
7838
+ exports.snapshotW3cTraceState = snapshotW3cTraceState;
7148
7839
  exports.sortPlugins = sortPlugins;
7149
7840
  exports.strContains = strContains;
7150
7841
  exports.strEndsWith = strEndsWith;