@microsoft/applicationinsights-core-js 3.4.0-nightlybeta3.2505-36 → 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-36
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) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2505_36", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2505-36";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2507_23", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2507-23";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -56,6 +56,7 @@ var NAME = "name";
56
56
  var CALL = "call";
57
57
  var TO_STRING = "toString";
58
58
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
59
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
59
60
  var ObjClass$1 = ( /*#__PURE__*/_pureAssign(Object));
60
61
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass$1, PROTOTYPE));
61
62
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -166,6 +167,9 @@ function isTruthy(value) {
166
167
  function _returnNothing() {
167
168
  return;
168
169
  }
170
+ function _returnEmptyArray() {
171
+ return [];
172
+ }
169
173
  function _returnFalse() {
170
174
  return false;
171
175
  }
@@ -256,7 +260,26 @@ function _unwrapProp(propName) {
256
260
  return thisArg[propName];
257
261
  };
258
262
  }
263
+ function _objPropertyIsEnum(obj, propKey) {
264
+ var desc;
265
+ var fn = ObjClass$1.getOwnPropertyDescriptor;
266
+ if (!isStrictNullOrUndefined(obj) && fn) {
267
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
268
+ }
269
+ if (!desc) {
270
+ desc = safe(function () {
271
+ for (var key in obj) {
272
+ if (key === propKey) {
273
+ return { enumerable: true };
274
+ }
275
+ }
276
+ }).v;
277
+ }
278
+ return (desc && desc.enumerable) || false;
279
+ }
280
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
259
281
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
282
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
260
283
  var propMap = {
261
284
  e: "enumerable",
262
285
  c: "configurable",
@@ -302,6 +325,18 @@ function objDefineAccessors(target, prop, getProp, setProp, configurable, enumer
302
325
  function objDefine(target, key, propDesc) {
303
326
  return objDefineProp(target, key, _createProp(propDesc));
304
327
  }
328
+ function objDefineProps(target, propDescMap) {
329
+ var props = {};
330
+ objForEachKey(propDescMap, function (key, value) {
331
+ props[key] = _createProp(value);
332
+ });
333
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
334
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
335
+ props[sym] = _createProp(propDescMap[sym]);
336
+ }
337
+ });
338
+ return objDefineProperties(target, props);
339
+ }
305
340
  /*#__NO_SIDE_EFFECTS__*/
306
341
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
307
342
  var theMap = {};
@@ -584,6 +619,22 @@ function createCachedValue(value) {
584
619
  toJSON: function () { return value; }
585
620
  }, "v", { value: value });
586
621
  }
622
+ var createDeferredCachedValue = getDeferred;
623
+ /*#__NO_SIDE_EFFECTS__*/
624
+ function getDeferred(cb, argArray) {
625
+ var theValue = {
626
+ toJSON: function () { return theValue.v; }
627
+ };
628
+ return objDefineProp(theValue, "v", {
629
+ get: function () {
630
+ var result = fnApply(cb, null, argArray);
631
+ cb = NULL_VALUE;
632
+ objDefineProp(theValue, "v", { value: result });
633
+ return result;
634
+ },
635
+ configurable: true
636
+ });
637
+ }
587
638
  var WINDOW = "window";
588
639
  var _cachedGlobal;
589
640
  function _getGlobalInstFn(getFn, theArgs) {
@@ -1000,6 +1051,7 @@ function _doExtend(target, theArgs) {
1000
1051
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
1001
1052
  return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
1002
1053
  }
1054
+ var strSplit = ( /*#__PURE__*/_unwrapFunction("split", StrProto));
1003
1055
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
1004
1056
  var _perf;
1005
1057
  /*#__NO_SIDE_EFFECTS__*/
@@ -1148,27 +1200,27 @@ function createTimeout(callback, timeout) {
1148
1200
  var createEnumStyle = createEnum;
1149
1201
  var createValueMap = createTypeMap;
1150
1202
 
1151
- var EventsDiscardedReason = createEnumStyle({
1203
+ var EventsDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1152
1204
  Unknown: 0 ,
1153
1205
  NonRetryableStatus: 1 ,
1154
1206
  InvalidEvent: 2 ,
1155
1207
  SizeLimitExceeded: 3 ,
1156
1208
  KillSwitch: 4 ,
1157
1209
  QueueFull: 5
1158
- });
1159
- var BatchDiscardedReason = createEnumStyle({
1210
+ }));
1211
+ var BatchDiscardedReason = ( /* @__PURE__ */createEnumStyle({
1160
1212
  Unknown: 0 ,
1161
1213
  NonRetryableStatus: 1 ,
1162
1214
  CleanStorage: 2 ,
1163
1215
  MaxInStorageTimeExceeded: 3
1164
- });
1216
+ }));
1165
1217
 
1166
- var ActiveStatus = createEnumStyle({
1218
+ var ActiveStatus = ( /* @__PURE__ */createEnumStyle({
1167
1219
  NONE: 0 ,
1168
1220
  PENDING: 3 ,
1169
1221
  INACTIVE: 1 ,
1170
1222
  ACTIVE: 2
1171
- });
1223
+ }));
1172
1224
 
1173
1225
  var _DYN_TO_LOWER_CASE = "toLowerCase";
1174
1226
  var _DYN_LENGTH = "length";
@@ -1184,7 +1236,11 @@ var _DYN_INITIALIZE = "initialize";
1184
1236
  var _DYN_IDENTIFIER = "identifier";
1185
1237
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1186
1238
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1239
+ var _DYN_TRACE_ID = "traceId";
1240
+ var _DYN_SPAN_ID = "spanId";
1241
+ var _DYN_TRACE_FLAGS = "traceFlags";
1187
1242
  var _DYN_IS_INITIALIZED = "isInitialized";
1243
+ var _DYN_TRACE_HDR_MODE = "traceHdrMode";
1188
1244
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1189
1245
  var _DYN_GET_PLUGIN = "getPlugin";
1190
1246
  var _DYN_NAME = "name";
@@ -1209,10 +1265,11 @@ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1209
1265
  var _DYN_USER_AGENT = "userAgent";
1210
1266
  var _DYN_SPLIT = "split";
1211
1267
  var _DYN_REPLACE = "replace";
1268
+ var _DYN_SUBSTRING = "substring";
1269
+ var _DYN_INDEX_OF = "indexOf";
1212
1270
  var _DYN_TYPE = "type";
1213
1271
  var _DYN_EVT_NAME = "evtName";
1214
1272
  var _DYN_STATUS = "status";
1215
- var _DYN_INDEX_OF = "indexOf";
1216
1273
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1217
1274
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1218
1275
  var _DYN_DATA = "data";
@@ -1222,7 +1279,8 @@ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1222
1279
  var _DYN_HEADERS = "headers";
1223
1280
  var _DYN_URL_STRING = "urlString";
1224
1281
  var _DYN_TIMEOUT = "timeout";
1225
- var _DYN_TRACE_FLAGS = "traceFlags";
1282
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1283
+ var _DYN_TRACE_STATE = "traceState";
1226
1284
  var _DYN_GET_ATTRIBUTE = "getAttribute";
1227
1285
 
1228
1286
  var aggregationErrorType;
@@ -1956,6 +2014,8 @@ var STR_GET_PERF_MGR = "getPerfMgr";
1956
2014
  var STR_DOMAIN = "domain";
1957
2015
  var STR_PATH = "path";
1958
2016
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
2017
+ var STR_REDACTED = "REDACTED";
2018
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1959
2019
 
1960
2020
  var strGetPrototypeOf = "getPrototypeOf";
1961
2021
  var rCamelCase = /-([a-z])/g;
@@ -2233,7 +2293,7 @@ function convertAllHeadersToMap(headersString) {
2233
2293
  var idx = headerEntry[_DYN_INDEX_OF ](": ");
2234
2294
  if (idx !== -1) {
2235
2295
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2236
- var value = strTrim(headerEntry.substring(idx + 1));
2296
+ var value = strTrim(headerEntry[_DYN_SUBSTRING ](idx + 1));
2237
2297
  headers[header] = value;
2238
2298
  }
2239
2299
  else {
@@ -2429,34 +2489,58 @@ function isXhrSupported() {
2429
2489
  return isSupported;
2430
2490
  }
2431
2491
  function _getNamedValue(values, name) {
2492
+ var items = [];
2432
2493
  if (values) {
2433
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2434
- var value = values[i];
2494
+ arrForEach(values, function (value) {
2435
2495
  if (value[_DYN_NAME ]) {
2436
2496
  if (value[_DYN_NAME ] === name) {
2437
- return value;
2497
+ items[_DYN_PUSH ](value);
2438
2498
  }
2439
2499
  }
2440
- }
2500
+ });
2441
2501
  }
2442
- return {};
2502
+ return items;
2443
2503
  }
2444
2504
  function findMetaTag(name) {
2505
+ var tags = findMetaTags(name);
2506
+ if (tags[_DYN_LENGTH ] > 0) {
2507
+ return tags[0];
2508
+ }
2509
+ return null;
2510
+ }
2511
+ function findMetaTags(name) {
2512
+ var tags = [];
2445
2513
  var doc = getDocument();
2446
2514
  if (doc && name) {
2447
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2515
+ arrForEach(_getNamedValue(doc.querySelectorAll("meta"), name), function (item) {
2516
+ tags[_DYN_PUSH ](item.content);
2517
+ });
2448
2518
  }
2449
- return null;
2519
+ return tags;
2450
2520
  }
2451
2521
  function findNamedServerTiming(name) {
2452
2522
  var value;
2453
- var perf = getPerformance();
2454
- if (perf) {
2455
- var navPerf = perf.getEntriesByType("navigation") || [];
2456
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2523
+ var serverTimings = findNamedServerTimings(name);
2524
+ if (serverTimings[_DYN_LENGTH ] > 0) {
2525
+ value = serverTimings[0];
2457
2526
  }
2458
2527
  return value;
2459
2528
  }
2529
+ function findNamedServerTimings(name) {
2530
+ var values = [];
2531
+ var perf = getPerformance();
2532
+ if (perf && perf.getEntriesByType) {
2533
+ arrForEach(perf.getEntriesByType("navigation") || [], function (navPerf) {
2534
+ arrForEach(_getNamedValue(navPerf.serverTiming, name), function (value) {
2535
+ var desc = value.description;
2536
+ if (!isNullOrUndefined(desc)) {
2537
+ values[_DYN_PUSH ](desc);
2538
+ }
2539
+ });
2540
+ });
2541
+ }
2542
+ return values;
2543
+ }
2460
2544
  function dispatchEvent(target, evnt) {
2461
2545
  if (target && target.dispatchEvent && evnt) {
2462
2546
  target.dispatchEvent(evnt);
@@ -2491,6 +2575,110 @@ function sendCustomEvent(evtName, cfg, customDetails) {
2491
2575
  }
2492
2576
  return false;
2493
2577
  }
2578
+ function redactUserInfo(url) {
2579
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
2580
+ }
2581
+ function redactQueryParameters(url, config) {
2582
+ var sensitiveParams;
2583
+ var questionMarkIndex = strIndexOf(url, "?");
2584
+ if (questionMarkIndex === -1) {
2585
+ return url;
2586
+ }
2587
+ if (config && config.redactQueryParams) {
2588
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
2589
+ }
2590
+ else {
2591
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
2592
+ }
2593
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
2594
+ var queryString = strSubstring(url, questionMarkIndex + 1);
2595
+ var fragment = STR_EMPTY$1;
2596
+ var hashIndex = strIndexOf(queryString, "#");
2597
+ if (hashIndex !== -1) {
2598
+ fragment = strSubstring(queryString, hashIndex);
2599
+ queryString = strSubstring(queryString, 0, hashIndex);
2600
+ }
2601
+ var hasPotentialSensitiveParam = false;
2602
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH ]; i++) {
2603
+ var paramCheck = sensitiveParams[i] + "=";
2604
+ if (strIndexOf(queryString, paramCheck) !== -1) {
2605
+ hasPotentialSensitiveParam = true;
2606
+ break;
2607
+ }
2608
+ }
2609
+ if (!hasPotentialSensitiveParam) {
2610
+ return url;
2611
+ }
2612
+ var resultParts = [];
2613
+ var anyParamRedacted = false;
2614
+ if (queryString && queryString[_DYN_LENGTH ]) {
2615
+ var pairs = queryString[_DYN_SPLIT ]("&");
2616
+ for (var i = 0; i < pairs[_DYN_LENGTH ]; i++) {
2617
+ var pair = pairs[i];
2618
+ if (!pair) {
2619
+ continue;
2620
+ }
2621
+ var equalsIndex = strIndexOf(pair, "=");
2622
+ if (equalsIndex === -1) {
2623
+ resultParts[_DYN_PUSH ](pair);
2624
+ }
2625
+ else {
2626
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
2627
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
2628
+ if (paramValue === STR_EMPTY$1) {
2629
+ resultParts[_DYN_PUSH ](pair);
2630
+ }
2631
+ else {
2632
+ var shouldRedact = false;
2633
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH ]; j++) {
2634
+ if (paramName === sensitiveParams[j]) {
2635
+ shouldRedact = true;
2636
+ anyParamRedacted = true;
2637
+ break;
2638
+ }
2639
+ }
2640
+ if (shouldRedact) {
2641
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
2642
+ }
2643
+ else {
2644
+ resultParts[_DYN_PUSH ](pair);
2645
+ }
2646
+ }
2647
+ }
2648
+ }
2649
+ }
2650
+ if (!anyParamRedacted) {
2651
+ return url;
2652
+ }
2653
+ return baseUrl + resultParts.join("&") + fragment;
2654
+ }
2655
+ function fieldRedaction(input, config) {
2656
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
2657
+ return input;
2658
+ }
2659
+ var isRedactionDisabled = config && config.redactUrls === false;
2660
+ if (isRedactionDisabled) {
2661
+ return input;
2662
+ }
2663
+ var hasCredentials = strIndexOf(input, "@") !== -1;
2664
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
2665
+ if (!hasCredentials && !hasQueryParams) {
2666
+ return input;
2667
+ }
2668
+ try {
2669
+ var result = input;
2670
+ if (hasCredentials) {
2671
+ result = redactUserInfo(input);
2672
+ }
2673
+ if (hasQueryParams) {
2674
+ result = redactQueryParameters(result, config);
2675
+ }
2676
+ return result;
2677
+ }
2678
+ catch (e) {
2679
+ return input;
2680
+ }
2681
+ }
2494
2682
 
2495
2683
  var UInt32Mask = 0x100000000;
2496
2684
  var MaxUInt32 = 0xffffffff;
@@ -2576,7 +2764,7 @@ function newId(maxLength) {
2576
2764
  return result;
2577
2765
  }
2578
2766
 
2579
- var version = '3.4.0-nightlybeta3.2505-36';
2767
+ var version = '3.4.0-nightlybeta3.2507-23';
2580
2768
  var instanceName = "." + newId(6);
2581
2769
  var _dataUid = 0;
2582
2770
  function _canAcceptData(target) {
@@ -3227,29 +3415,559 @@ function _createDynamicHandler(logger, target, inPlace) {
3227
3415
  _makeDynamicObject(theState, newTarget, "config", "Creating");
3228
3416
  return cfgHandler;
3229
3417
  }
3230
- function _logInvalidAccess(logger, message) {
3231
- if (logger) {
3232
- logger[_DYN_WARN_TO_CONSOLE ](message);
3233
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3418
+ function _logInvalidAccess(logger, message) {
3419
+ if (logger) {
3420
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3421
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3422
+ }
3423
+ else {
3424
+ throwInvalidAccess(message);
3425
+ }
3426
+ }
3427
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3428
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3429
+ if (defaultConfig) {
3430
+ dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3431
+ }
3432
+ return dynamicHandler;
3433
+ }
3434
+ function onConfigChange(config, configHandler, logger) {
3435
+ var handler = config[CFG_HANDLER_LINK] || config;
3436
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3437
+ return handler[_DYN_WATCH ](configHandler);
3438
+ }
3439
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3440
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3441
+ }
3442
+
3443
+ var Undefined = strShimUndefined;
3444
+ function newGuid() {
3445
+ var uuid = generateW3CId();
3446
+ return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
3447
+ }
3448
+ function generateW3CId() {
3449
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3450
+ var oct = STR_EMPTY$1, tmp;
3451
+ for (var a = 0; a < 4; a++) {
3452
+ tmp = random32();
3453
+ oct +=
3454
+ hexValues[tmp & 0xF] +
3455
+ hexValues[tmp >> 4 & 0xF] +
3456
+ hexValues[tmp >> 8 & 0xF] +
3457
+ hexValues[tmp >> 12 & 0xF] +
3458
+ hexValues[tmp >> 16 & 0xF] +
3459
+ hexValues[tmp >> 20 & 0xF] +
3460
+ hexValues[tmp >> 24 & 0xF] +
3461
+ hexValues[tmp >> 28 & 0xF];
3462
+ }
3463
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3464
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
3465
+ }
3466
+
3467
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
3468
+ var DEFAULT_VERSION = "00";
3469
+ var INVALID_VERSION = "ff";
3470
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
3471
+ var INVALID_SPAN_ID = "0000000000000000";
3472
+ var SAMPLED_FLAG = 0x01;
3473
+ function _isValid(value, len, invalidValue) {
3474
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
3475
+ return !!value.match(/^[\da-f]*$/i);
3476
+ }
3477
+ return false;
3478
+ }
3479
+ function _formatValue(value, len, defValue) {
3480
+ if (_isValid(value, len)) {
3481
+ return value;
3482
+ }
3483
+ return defValue;
3484
+ }
3485
+ function _formatFlags(value) {
3486
+ if (isNaN(value) || value < 0 || value > 255) {
3487
+ value = 0x01;
3488
+ }
3489
+ var result = value.toString(16);
3490
+ while (result[_DYN_LENGTH ] < 2) {
3491
+ result = "0" + result;
3492
+ }
3493
+ return result;
3494
+ }
3495
+ function createTraceParent(traceId, spanId, flags, version) {
3496
+ return {
3497
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
3498
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
3499
+ spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
3500
+ traceFlags: (!isNullOrUndefined(flags) && flags >= 0 && flags <= 0xFF ? flags : 1 )
3501
+ };
3502
+ }
3503
+ function parseTraceParent(value, selectIdx) {
3504
+ if (!value) {
3505
+ return null;
3506
+ }
3507
+ if (isArray(value)) {
3508
+ value = value[0] || STR_EMPTY$1;
3509
+ }
3510
+ if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
3511
+ return null;
3512
+ }
3513
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
3514
+ var values = value[_DYN_SPLIT ](",");
3515
+ value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
3516
+ }
3517
+ TRACE_PARENT_REGEX.lastIndex = 0;
3518
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
3519
+ if (!match ||
3520
+ match[1] === INVALID_VERSION ||
3521
+ match[2] === INVALID_TRACE_ID ||
3522
+ match[3] === INVALID_SPAN_ID) {
3523
+ return null;
3524
+ }
3525
+ return {
3526
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3527
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3528
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3529
+ traceFlags: parseInt(match[4], 16)
3530
+ };
3531
+ }
3532
+ function isValidTraceId(value) {
3533
+ return _isValid(value, 32, INVALID_TRACE_ID);
3534
+ }
3535
+ function isValidSpanId(value) {
3536
+ return _isValid(value, 16, INVALID_SPAN_ID);
3537
+ }
3538
+ function isValidTraceParent(value) {
3539
+ if (!value ||
3540
+ !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
3541
+ !_isValid(value[_DYN_TRACE_ID ], 32, INVALID_TRACE_ID) ||
3542
+ !_isValid(value[_DYN_SPAN_ID ], 16, INVALID_SPAN_ID) ||
3543
+ !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
3544
+ return false;
3545
+ }
3546
+ return true;
3547
+ }
3548
+ function isSampledFlag(value) {
3549
+ if (isValidTraceParent(value)) {
3550
+ return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
3551
+ }
3552
+ return false;
3553
+ }
3554
+ function formatTraceParent(value) {
3555
+ if (value) {
3556
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
3557
+ if (!_isValid(flags, 2)) {
3558
+ flags = "01";
3559
+ }
3560
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
3561
+ if (version !== "00" && version !== "ff") {
3562
+ version = DEFAULT_VERSION;
3563
+ }
3564
+ 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());
3565
+ }
3566
+ return STR_EMPTY$1;
3567
+ }
3568
+ function findW3cTraceParent(selectIdx) {
3569
+ var name = "traceparent";
3570
+ var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
3571
+ if (!traceParent) {
3572
+ traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
3573
+ }
3574
+ return traceParent;
3575
+ }
3576
+ function findAllScripts(doc) {
3577
+ var scripts = doc.getElementsByTagName("script");
3578
+ var result = [];
3579
+ arrForEach(scripts, function (script) {
3580
+ var src = script[_DYN_GET_ATTRIBUTE ]("src");
3581
+ if (src) {
3582
+ var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
3583
+ var async = script.hasAttribute("async") === true;
3584
+ var defer = script.hasAttribute("defer") === true;
3585
+ var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
3586
+ var info = { url: src };
3587
+ if (crossOrigin) {
3588
+ info.crossOrigin = crossOrigin;
3589
+ }
3590
+ if (async) {
3591
+ info.async = async;
3592
+ }
3593
+ if (defer) {
3594
+ info.defer = defer;
3595
+ }
3596
+ if (referrerPolicy) {
3597
+ info.referrerPolicy = referrerPolicy;
3598
+ }
3599
+ result[_DYN_PUSH ](info);
3600
+ }
3601
+ });
3602
+ return result;
3603
+ }
3604
+
3605
+ var MAX_TRACE_STATE_MEMBERS = 32;
3606
+ var MAX_TRACE_STATE_LEN = 512;
3607
+ var LCALPHA = "[a-z]";
3608
+ var LCALPHA_DIGIT = "[a-z\\d]";
3609
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
3610
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
3611
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
3612
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
3613
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
3614
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
3615
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
3616
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
3617
+ function _parseListMember(value) {
3618
+ if (value) {
3619
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
3620
+ var match = TRACESTATE_KVP_REGEX.exec(value);
3621
+ if (match && match[_DYN_LENGTH ] >= 7 && match[1] && match[6]) {
3622
+ var type = match[3] ? 1 : 0 ;
3623
+ var multiTenant = null;
3624
+ if (type === 1 ) {
3625
+ multiTenant = {
3626
+ tenantId: match[4],
3627
+ systemId: match[5]
3628
+ };
3629
+ }
3630
+ var parts = {
3631
+ type: type,
3632
+ key: match[2],
3633
+ multiTenant: multiTenant,
3634
+ value: match[6]
3635
+ };
3636
+ return parts;
3637
+ }
3638
+ }
3639
+ return null;
3640
+ }
3641
+ function _parseTraceStateList(value) {
3642
+ var items = [];
3643
+ if (value) {
3644
+ var addedKeys_1 = [];
3645
+ arrForEach(strSplit(value, ","), function (member) {
3646
+ var parts = _parseListMember(member);
3647
+ if (parts) {
3648
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
3649
+ items[_DYN_PUSH ](parts);
3650
+ addedKeys_1[_DYN_PUSH ](parts.key);
3651
+ if (items[_DYN_LENGTH ] >= MAX_TRACE_STATE_MEMBERS) {
3652
+ return -1;
3653
+ }
3654
+ }
3655
+ }
3656
+ });
3657
+ }
3658
+ return items;
3659
+ }
3660
+ function _indexOf(items, key) {
3661
+ for (var lp = 0; lp < items[_DYN_LENGTH ]; lp++) {
3662
+ if (items[lp].key === key) {
3663
+ return lp;
3664
+ }
3665
+ }
3666
+ return -1;
3667
+ }
3668
+ function _keys(items, parent) {
3669
+ var keys = [];
3670
+ var delKeys = [];
3671
+ arrForEach(items, function (member) {
3672
+ if (member[_DYN_VALUE ] != null) {
3673
+ keys[_DYN_PUSH ](member.key);
3674
+ }
3675
+ else {
3676
+ delKeys[_DYN_PUSH ](member.key);
3677
+ }
3678
+ });
3679
+ if (parent) {
3680
+ arrForEach(parent.keys, function (key) {
3681
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
3682
+ keys[_DYN_PUSH ](key);
3683
+ }
3684
+ });
3685
+ }
3686
+ return keys;
3687
+ }
3688
+ function _isEmpty(items, parent) {
3689
+ var delKeys;
3690
+ var isEmpty = true;
3691
+ if (items && items[_DYN_LENGTH ] > 0) {
3692
+ arrForEach(items, function (member) {
3693
+ if (member[_DYN_VALUE ] != null) {
3694
+ isEmpty = false;
3695
+ }
3696
+ else {
3697
+ if (!delKeys) {
3698
+ delKeys = [];
3699
+ }
3700
+ delKeys[_DYN_PUSH ](member.key);
3701
+ }
3702
+ });
3703
+ }
3704
+ if (isEmpty && parent) {
3705
+ isEmpty = parent.isEmpty;
3706
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH ] > 0) {
3707
+ isEmpty = true;
3708
+ arrForEach(parent.keys, function (key) {
3709
+ if (arrIndexOf(delKeys, key) === -1) {
3710
+ isEmpty = false;
3711
+ return -1;
3712
+ }
3713
+ });
3714
+ }
3715
+ }
3716
+ return isEmpty;
3717
+ }
3718
+ function isW3cTraceState(value) {
3719
+ return !!(value && isArray(value.keys) && isFunction(value.get) && isFunction(value.set) && isFunction(value.del) && isFunction(value.hdrs));
3720
+ }
3721
+ function createW3cTraceState(value, parent) {
3722
+ var cachedItems = createDeferredCachedValue(function () { return safe(_parseTraceStateList, [value || STR_EMPTY$1]).v || []; });
3723
+ function _get(key) {
3724
+ var value;
3725
+ var theItems = cachedItems.v;
3726
+ var idx = _indexOf(theItems, key);
3727
+ if (idx !== -1) {
3728
+ var itmValue = theItems[idx][_DYN_VALUE ];
3729
+ if (itmValue != null) {
3730
+ value = itmValue;
3731
+ }
3732
+ }
3733
+ else if (parent) {
3734
+ value = parent.get(key);
3735
+ }
3736
+ return value;
3737
+ }
3738
+ function _setMember(member) {
3739
+ if (member) {
3740
+ var theItems = cachedItems.v;
3741
+ var idx = _indexOf(theItems, member.key);
3742
+ if (idx !== -1) {
3743
+ theItems[_DYN_SPLICE ](idx, 1);
3744
+ }
3745
+ theItems.unshift(member);
3746
+ cachedItems = createCachedValue(theItems);
3747
+ return 0;
3748
+ }
3749
+ return -1;
3750
+ }
3751
+ function _set(key, value) {
3752
+ var member;
3753
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
3754
+ member = _parseListMember(key + "=" + value);
3755
+ }
3756
+ return _setMember(member);
3757
+ }
3758
+ function _del(key) {
3759
+ _setMember({
3760
+ type: 2 ,
3761
+ key: key
3762
+ });
3763
+ }
3764
+ function _headers(maxHeaders, maxKeys, maxLen) {
3765
+ var results = [];
3766
+ var result = STR_EMPTY$1;
3767
+ var numKeys = 0;
3768
+ var len = 0;
3769
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
3770
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
3771
+ var theItems = cachedItems.v;
3772
+ arrForEach(_keys(theItems, parent), function (key) {
3773
+ var value = _get(key);
3774
+ if (!isNullOrUndefined(value) && isString(value)) {
3775
+ numKeys++;
3776
+ var val = key + "=" + value;
3777
+ var valLen = val[_DYN_LENGTH ];
3778
+ if (len + 1 + valLen >= maxLen) {
3779
+ results[_DYN_PUSH ](result);
3780
+ if (maxHeaders && results[_DYN_LENGTH ] <= maxHeaders) {
3781
+ return -1;
3782
+ }
3783
+ result = STR_EMPTY$1;
3784
+ len = 0;
3785
+ }
3786
+ if (result[_DYN_LENGTH ] > 0) {
3787
+ result += ",";
3788
+ len++;
3789
+ }
3790
+ result += val;
3791
+ len += valLen;
3792
+ if (numKeys >= maxKeys) {
3793
+ return -1;
3794
+ }
3795
+ }
3796
+ });
3797
+ if (result) {
3798
+ results[_DYN_PUSH ](result);
3799
+ }
3800
+ return results;
3801
+ }
3802
+ var traceStateList = {
3803
+ keys: [],
3804
+ isEmpty: false,
3805
+ get: _get,
3806
+ set: _set,
3807
+ del: _del,
3808
+ hdrs: _headers,
3809
+ child: function () { return createW3cTraceState(null, traceStateList); }
3810
+ };
3811
+ function _toString() {
3812
+ var headers = traceStateList.hdrs(1);
3813
+ return headers[_DYN_LENGTH ] > 0 ? headers[0] : STR_EMPTY$1;
3814
+ }
3815
+ objDefineProps(traceStateList, {
3816
+ "keys": {
3817
+ g: function () { return _keys(cachedItems.v, parent); }
3818
+ },
3819
+ "isEmpty": {
3820
+ g: function () { return _isEmpty(cachedItems.v, parent); }
3821
+ },
3822
+ "toString": {
3823
+ v: _toString,
3824
+ e: false
3825
+ },
3826
+ "_p": {
3827
+ v: parent,
3828
+ e: false
3829
+ }
3830
+ });
3831
+ objDefine(traceStateList, getKnownSymbol(11 ), { g: _toString });
3832
+ return traceStateList;
3833
+ }
3834
+ function snapshotW3cTraceState(traceState) {
3835
+ var snapshot = createW3cTraceState(null, null);
3836
+ if (traceState) {
3837
+ var theKeys = traceState.keys;
3838
+ for (var i = theKeys[_DYN_LENGTH ] - 1; i >= 0; i--) {
3839
+ var key = theKeys[i];
3840
+ var value = traceState.get(key);
3841
+ if (!isNullOrUndefined(value) && isString(value)) {
3842
+ snapshot.set(key, value);
3843
+ }
3844
+ }
3845
+ }
3846
+ return snapshot;
3847
+ }
3848
+ function findW3cTraceState() {
3849
+ var name = "tracestate";
3850
+ var traceState = null;
3851
+ var metaTags = findMetaTags(name);
3852
+ if (metaTags[_DYN_LENGTH ] > 0) {
3853
+ traceState = createW3cTraceState(metaTags.join(","));
3234
3854
  }
3235
- else {
3236
- throwInvalidAccess(message);
3855
+ if (!traceState) {
3856
+ var serverTimings = findNamedServerTimings(name);
3857
+ if (serverTimings[_DYN_LENGTH ] > 0) {
3858
+ traceState = createW3cTraceState(serverTimings.join(","));
3859
+ }
3237
3860
  }
3861
+ return traceState;
3238
3862
  }
3239
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3240
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3241
- if (defaultConfig) {
3242
- dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
3863
+
3864
+ var _otelTraceState;
3865
+ function _initOTelTraceStateSymbol() {
3866
+ if (!_otelTraceState) {
3867
+ _otelTraceState = createCachedValue(symbolFor("otTraceState"));
3868
+ }
3869
+ return _otelTraceState;
3870
+ }
3871
+ function _createOTelTraceState(traceState) {
3872
+ if (!_otelTraceState) {
3873
+ _otelTraceState = _initOTelTraceStateSymbol();
3874
+ }
3875
+ var otTraceState = {
3876
+ set: function (key, value) {
3877
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3878
+ newState.set(key, value);
3879
+ return _createOTelTraceState(newState);
3880
+ },
3881
+ unset: function (key) {
3882
+ var newState = createW3cTraceState(STR_EMPTY$1, traceState);
3883
+ newState.del(key);
3884
+ return _createOTelTraceState(newState);
3885
+ },
3886
+ get: function (key) {
3887
+ return traceState.get(key);
3888
+ },
3889
+ serialize: function () {
3890
+ var headers = traceState.hdrs(1);
3891
+ if (headers[_DYN_LENGTH ] > 0) {
3892
+ return headers[0];
3893
+ }
3894
+ return STR_EMPTY$1;
3895
+ }
3896
+ };
3897
+ objDefine(otTraceState, _otelTraceState.v, { g: function () { return traceState; } });
3898
+ return otTraceState;
3899
+ }
3900
+ function isOTelTraceState(value) {
3901
+ if (!_otelTraceState) {
3902
+ _otelTraceState = _initOTelTraceStateSymbol();
3243
3903
  }
3244
- return dynamicHandler;
3904
+ if (value && value[_otelTraceState.v]) {
3905
+ return true;
3906
+ }
3907
+ return value && isFunction(value.serialize) && isFunction(value.unset) && isFunction(value.get) && isFunction(value.set);
3245
3908
  }
3246
- function onConfigChange(config, configHandler, logger) {
3247
- var handler = config[CFG_HANDLER_LINK] || config;
3248
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3249
- return handler[_DYN_WATCH ](configHandler);
3909
+ function createOTelTraceState(value) {
3910
+ var traceState = null;
3911
+ if (isOTelTraceState(value)) {
3912
+ var parentTraceState = void 0;
3913
+ if (_otelTraceState) {
3914
+ parentTraceState = value[_otelTraceState.v];
3915
+ }
3916
+ if (parentTraceState) {
3917
+ traceState = createW3cTraceState(STR_EMPTY$1, parentTraceState);
3918
+ }
3919
+ else {
3920
+ traceState = createW3cTraceState(value.serialize());
3921
+ }
3250
3922
  }
3251
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3252
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3923
+ else if (isW3cTraceState(value)) {
3924
+ traceState = value;
3925
+ }
3926
+ else {
3927
+ traceState = createW3cTraceState(isString(value) ? value : STR_EMPTY$1);
3928
+ }
3929
+ return _createOTelTraceState(traceState);
3930
+ }
3931
+
3932
+ function createOTelSpanContext(traceContext) {
3933
+ var traceId = isValidTraceId(traceContext[_DYN_TRACE_ID ]) ? traceContext[_DYN_TRACE_ID ] : INVALID_TRACE_ID;
3934
+ var spanId = isValidSpanId(traceContext[_DYN_SPAN_ID ]) ? traceContext[_DYN_SPAN_ID ] : INVALID_SPAN_ID;
3935
+ var isRemote = traceContext.isRemote;
3936
+ var traceFlags = (!isNullOrUndefined(traceContext[_DYN_TRACE_FLAGS ]) ? traceContext[_DYN_TRACE_FLAGS ] : 1 );
3937
+ var otTraceState = null;
3938
+ var traceContextObj = {
3939
+ traceId: traceId,
3940
+ spanId: spanId,
3941
+ traceFlags: traceFlags
3942
+ };
3943
+ return objDefineProps(traceContextObj, {
3944
+ traceId: {
3945
+ g: function () { return traceId; },
3946
+ s: function (value) { return traceId = isValidTraceId(value) ? value : INVALID_TRACE_ID; }
3947
+ },
3948
+ spanId: {
3949
+ g: function () { return spanId; },
3950
+ s: function (value) { return spanId = isValidSpanId(value) ? value : INVALID_SPAN_ID; }
3951
+ },
3952
+ isRemote: {
3953
+ g: function () { return isRemote; }
3954
+ },
3955
+ traceFlags: {
3956
+ g: function () { return traceFlags; },
3957
+ s: function (value) { return traceFlags = value; }
3958
+ },
3959
+ traceState: {
3960
+ g: function () {
3961
+ if (!otTraceState) {
3962
+ otTraceState = createOTelTraceState(traceContext[_DYN_TRACE_STATE ]);
3963
+ }
3964
+ return otTraceState;
3965
+ },
3966
+ s: function (value) {
3967
+ otTraceState = value;
3968
+ }
3969
+ }
3970
+ });
3253
3971
  }
3254
3972
 
3255
3973
  function runTargetUnload(target, isAsync) {
@@ -4144,167 +4862,6 @@ function getGblPerfMgr() {
4144
4862
  return _defaultPerfManager;
4145
4863
  }
4146
4864
 
4147
- var Undefined = strShimUndefined;
4148
- function newGuid() {
4149
- var uuid = generateW3CId();
4150
- return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
4151
- }
4152
- function generateW3CId() {
4153
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
4154
- var oct = STR_EMPTY$1, tmp;
4155
- for (var a = 0; a < 4; a++) {
4156
- tmp = random32();
4157
- oct +=
4158
- hexValues[tmp & 0xF] +
4159
- hexValues[tmp >> 4 & 0xF] +
4160
- hexValues[tmp >> 8 & 0xF] +
4161
- hexValues[tmp >> 12 & 0xF] +
4162
- hexValues[tmp >> 16 & 0xF] +
4163
- hexValues[tmp >> 20 & 0xF] +
4164
- hexValues[tmp >> 24 & 0xF] +
4165
- hexValues[tmp >> 28 & 0xF];
4166
- }
4167
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
4168
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
4169
- }
4170
-
4171
- var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
4172
- var DEFAULT_VERSION = "00";
4173
- var INVALID_VERSION = "ff";
4174
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
4175
- var INVALID_SPAN_ID = "0000000000000000";
4176
- var SAMPLED_FLAG = 0x01;
4177
- function _isValid(value, len, invalidValue) {
4178
- if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
4179
- return !!value.match(/^[\da-f]*$/i);
4180
- }
4181
- return false;
4182
- }
4183
- function _formatValue(value, len, defValue) {
4184
- if (_isValid(value, len)) {
4185
- return value;
4186
- }
4187
- return defValue;
4188
- }
4189
- function _formatFlags(value) {
4190
- if (isNaN(value) || value < 0 || value > 255) {
4191
- value = 0x01;
4192
- }
4193
- var result = value.toString(16);
4194
- while (result[_DYN_LENGTH ] < 2) {
4195
- result = "0" + result;
4196
- }
4197
- return result;
4198
- }
4199
- function createTraceParent(traceId, spanId, flags, version) {
4200
- return {
4201
- version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
4202
- traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
4203
- spanId: isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),
4204
- traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
4205
- };
4206
- }
4207
- function parseTraceParent(value, selectIdx) {
4208
- if (!value) {
4209
- return null;
4210
- }
4211
- if (isArray(value)) {
4212
- value = value[0] || "";
4213
- }
4214
- if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4215
- return null;
4216
- }
4217
- if (value[_DYN_INDEX_OF ](",") !== -1) {
4218
- var values = value[_DYN_SPLIT ](",");
4219
- value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4220
- }
4221
- var match = TRACE_PARENT_REGEX.exec(strTrim(value));
4222
- if (!match ||
4223
- match[1] === INVALID_VERSION ||
4224
- match[2] === INVALID_TRACE_ID ||
4225
- match[3] === INVALID_SPAN_ID) {
4226
- return null;
4227
- }
4228
- return {
4229
- version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4230
- traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4231
- spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4232
- traceFlags: parseInt(match[4], 16)
4233
- };
4234
- }
4235
- function isValidTraceId(value) {
4236
- return _isValid(value, 32, INVALID_TRACE_ID);
4237
- }
4238
- function isValidSpanId(value) {
4239
- return _isValid(value, 16, INVALID_SPAN_ID);
4240
- }
4241
- function isValidTraceParent(value) {
4242
- if (!value ||
4243
- !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
4244
- !_isValid(value.traceId, 32, INVALID_TRACE_ID) ||
4245
- !_isValid(value.spanId, 16, INVALID_SPAN_ID) ||
4246
- !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
4247
- return false;
4248
- }
4249
- return true;
4250
- }
4251
- function isSampledFlag(value) {
4252
- if (isValidTraceParent(value)) {
4253
- return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
4254
- }
4255
- return false;
4256
- }
4257
- function formatTraceParent(value) {
4258
- if (value) {
4259
- var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
4260
- if (!_isValid(flags, 2)) {
4261
- flags = "01";
4262
- }
4263
- var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
4264
- if (version !== "00" && version !== "ff") {
4265
- version = DEFAULT_VERSION;
4266
- }
4267
- 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());
4268
- }
4269
- return "";
4270
- }
4271
- function findW3cTraceParent(selectIdx) {
4272
- var name = "traceparent";
4273
- var traceParent = parseTraceParent(findMetaTag(name), selectIdx);
4274
- if (!traceParent) {
4275
- traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);
4276
- }
4277
- return traceParent;
4278
- }
4279
- function findAllScripts(doc) {
4280
- var scripts = doc.getElementsByTagName("script");
4281
- var result = [];
4282
- arrForEach(scripts, function (script) {
4283
- var src = script[_DYN_GET_ATTRIBUTE ]("src");
4284
- if (src) {
4285
- var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
4286
- var async = script.hasAttribute("async") === true;
4287
- var defer = script.hasAttribute("defer") === true;
4288
- var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
4289
- var info = { url: src };
4290
- if (crossOrigin) {
4291
- info.crossOrigin = crossOrigin;
4292
- }
4293
- if (async) {
4294
- info.async = async;
4295
- }
4296
- if (defer) {
4297
- info.defer = defer;
4298
- }
4299
- if (referrerPolicy) {
4300
- info.referrerPolicy = referrerPolicy;
4301
- }
4302
- result[_DYN_PUSH ](info);
4303
- }
4304
- });
4305
- return result;
4306
- }
4307
-
4308
4865
  var pluginStateData = createElmNodeData("plugin");
4309
4866
  function _getPluginState(plugin) {
4310
4867
  return pluginStateData.get(plugin, "state", {}, true);
@@ -4378,42 +4935,147 @@ function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {
4378
4935
  }
4379
4936
  return _doUnload();
4380
4937
  }
4381
- function createDistributedTraceContext(parentCtx) {
4382
- var trace = {};
4383
- return {
4384
- getName: function () {
4385
- return trace[_DYN_NAME ];
4938
+ function isDistributedTraceContext(obj) {
4939
+ return obj &&
4940
+ isFunction(obj.getName) &&
4941
+ isFunction(obj.getTraceId) &&
4942
+ isFunction(obj.getSpanId) &&
4943
+ isFunction(obj.getTraceFlags) &&
4944
+ isFunction(obj.setName) &&
4945
+ isFunction(obj.setTraceId) &&
4946
+ isFunction(obj.setSpanId) &&
4947
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
4948
+ }
4949
+ function createDistributedTraceContext(parent) {
4950
+ var _a;
4951
+ var parentCtx = null;
4952
+ var spanContext = null;
4953
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID ])) ? parent[_DYN_TRACE_ID ] : generateW3CId();
4954
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID ])) ? parent[_DYN_SPAN_ID ] : STR_EMPTY$1;
4955
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE;
4956
+ var isRemote = parent ? parent.isRemote : false;
4957
+ var pageName = STR_EMPTY$1;
4958
+ var traceState = null;
4959
+ if (parent) {
4960
+ if (isDistributedTraceContext(parent)) {
4961
+ parentCtx = parent;
4962
+ pageName = parentCtx.getName();
4963
+ }
4964
+ else {
4965
+ spanContext = parent;
4966
+ }
4967
+ }
4968
+ if (!pageName) {
4969
+ pageName = "_unknown_";
4970
+ var location_1 = getLocation();
4971
+ if (location_1 && location_1.pathname) {
4972
+ pageName = location_1.pathname + (location_1.hash || "");
4973
+ }
4974
+ }
4975
+ function _getName() {
4976
+ return pageName;
4977
+ }
4978
+ function _setPageNameFn(updateParent) {
4979
+ return function (newValue) {
4980
+ if (updateParent) {
4981
+ parentCtx && parentCtx.setName(newValue);
4982
+ }
4983
+ pageName = newValue;
4984
+ };
4985
+ }
4986
+ function _getTraceId() {
4987
+ return traceId;
4988
+ }
4989
+ function _setTraceIdFn(updateParent) {
4990
+ return function (newValue) {
4991
+ if (updateParent) {
4992
+ parentCtx && parentCtx.setTraceId(newValue);
4993
+ }
4994
+ if (isValidTraceId(newValue)) {
4995
+ traceId = newValue;
4996
+ }
4997
+ };
4998
+ }
4999
+ function _getSpanId() {
5000
+ return spanId;
5001
+ }
5002
+ function _setSpanIdFn(updateParent) {
5003
+ return function (newValue) {
5004
+ if (updateParent) {
5005
+ parentCtx && parentCtx.setSpanId(newValue);
5006
+ }
5007
+ if (isValidSpanId(newValue)) {
5008
+ spanId = newValue;
5009
+ }
5010
+ };
5011
+ }
5012
+ function _getTraceFlags() {
5013
+ return traceFlags;
5014
+ }
5015
+ function _setTraceFlagsFn(updateParent) {
5016
+ return function (newTraceFlags) {
5017
+ if (updateParent) {
5018
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
5019
+ }
5020
+ traceFlags = newTraceFlags;
5021
+ };
5022
+ }
5023
+ function _getTraceState() {
5024
+ if (!traceState) {
5025
+ if (spanContext && spanContext[_DYN_TRACE_STATE ]) {
5026
+ traceState = createW3cTraceState(spanContext[_DYN_TRACE_STATE ].serialize() || STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5027
+ }
5028
+ else {
5029
+ traceState = createW3cTraceState(STR_EMPTY$1, parentCtx ? parentCtx[_DYN_TRACE_STATE ] : undefined);
5030
+ }
5031
+ }
5032
+ return traceState;
5033
+ }
5034
+ var traceCtx = (_a = {
5035
+ getName: _getName,
5036
+ setName: _setPageNameFn(true),
5037
+ getTraceId: _getTraceId,
5038
+ setTraceId: _setTraceIdFn(true),
5039
+ getSpanId: _getSpanId,
5040
+ setSpanId: _setSpanIdFn(true),
5041
+ getTraceFlags: _getTraceFlags
4386
5042
  },
4387
- setName: function (newValue) {
4388
- parentCtx && parentCtx.setName(newValue);
4389
- trace[_DYN_NAME ] = newValue;
5043
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
5044
+ _a.traceId = traceId,
5045
+ _a.spanId = spanId,
5046
+ _a.traceFlags = traceFlags,
5047
+ _a.traceState = traceState,
5048
+ _a.isRemote = isRemote,
5049
+ _a.pageName = pageName,
5050
+ _a);
5051
+ return objDefineProps(traceCtx, {
5052
+ pageName: {
5053
+ g: _getName,
5054
+ s: _setPageNameFn(false)
4390
5055
  },
4391
- getTraceId: function () {
4392
- return trace.traceId;
5056
+ traceId: {
5057
+ g: _getTraceId,
5058
+ s: _setTraceIdFn(false)
4393
5059
  },
4394
- setTraceId: function (newValue) {
4395
- parentCtx && parentCtx.setTraceId(newValue);
4396
- if (isValidTraceId(newValue)) {
4397
- trace.traceId = newValue;
4398
- }
5060
+ spanId: {
5061
+ g: _getSpanId,
5062
+ s: _setSpanIdFn(false)
4399
5063
  },
4400
- getSpanId: function () {
4401
- return trace.spanId;
5064
+ traceFlags: {
5065
+ g: _getTraceFlags,
5066
+ s: _setTraceFlagsFn(false)
4402
5067
  },
4403
- setSpanId: function (newValue) {
4404
- parentCtx && parentCtx.setSpanId(newValue);
4405
- if (isValidSpanId(newValue)) {
4406
- trace.spanId = newValue;
4407
- }
5068
+ isRemote: {
5069
+ v: isRemote,
5070
+ w: false
4408
5071
  },
4409
- getTraceFlags: function () {
4410
- return trace[_DYN_TRACE_FLAGS ];
5072
+ traceState: {
5073
+ g: _getTraceState
4411
5074
  },
4412
- setTraceFlags: function (newTraceFlags) {
4413
- parentCtx && parentCtx.setTraceFlags(newTraceFlags);
4414
- trace[_DYN_TRACE_FLAGS ] = newTraceFlags;
5075
+ parentCtx: {
5076
+ g: function () { return parentCtx; }
4415
5077
  }
4416
- };
5078
+ });
4417
5079
  }
4418
5080
 
4419
5081
  var strTelemetryPluginChain = "TelemetryPluginChain";
@@ -4499,27 +5161,26 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
4499
5161
  }
4500
5162
  function _getExtCfg(identifier, createIfMissing) {
4501
5163
  var idCfg = null;
4502
- var cfg = dynamicHandler.cfg;
5164
+ var extCfg = _getCfg(dynamicHandler.cfg, "extensionConfig", createIfMissing);
5165
+ if (extCfg) {
5166
+ idCfg = _getCfg(extCfg, identifier, createIfMissing);
5167
+ }
5168
+ return idCfg;
5169
+ }
5170
+ function _getCfg(cfg, identifier, createIfMissing) {
5171
+ var idCfg = null;
4503
5172
  if (cfg && identifier) {
4504
- var extCfg = cfg[STR_EXTENSION_CONFIG ];
4505
- if (!extCfg && createIfMissing) {
4506
- extCfg = {};
4507
- }
4508
- cfg[STR_EXTENSION_CONFIG] = extCfg;
4509
- extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
4510
- if (extCfg) {
4511
- idCfg = extCfg[identifier];
4512
- if (!idCfg && createIfMissing) {
4513
- idCfg = {};
4514
- }
4515
- extCfg[identifier] = idCfg;
4516
- idCfg = dynamicHandler.ref(extCfg, identifier);
5173
+ idCfg = cfg[identifier];
5174
+ if (!idCfg && createIfMissing) {
5175
+ idCfg = {};
4517
5176
  }
5177
+ cfg[identifier] = idCfg;
5178
+ idCfg = dynamicHandler.ref(cfg, identifier);
4518
5179
  }
4519
5180
  return idCfg;
4520
5181
  }
4521
- function _resolveExtCfg(identifier, defaultValues) {
4522
- var newConfig = _getExtCfg(identifier, true);
5182
+ function _resolveExtCfg(identifier, defaultValues, rootOnly) {
5183
+ var newConfig = rootOnly ? _getCfg(dynamicHandler.cfg, identifier, true) : _getExtCfg(identifier, true);
4523
5184
  if (defaultValues) {
4524
5185
  objForEachKey(defaultValues, function (field, defaultValue) {
4525
5186
  if (isNullOrUndefined(newConfig[field])) {
@@ -5069,6 +5730,7 @@ var defaultConfig = objDeepFreeze((_a = {
5069
5730
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
5070
5731
  _a.loggingLevelConsole = 0 ,
5071
5732
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5733
+ _a.traceHdrMode = 3 ,
5072
5734
  _a));
5073
5735
  function _createPerfManager(core, notificationMgr) {
5074
5736
  return new PerfManager(notificationMgr);
@@ -5188,6 +5850,21 @@ function _createUnloadHook(unloadHook) {
5188
5850
  }
5189
5851
  }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
5190
5852
  }
5853
+ function _getParentTraceCtx(mode) {
5854
+ var spanContext = null;
5855
+ var parentTrace = (mode & 1 ) ? findW3cTraceParent() : null;
5856
+ var parentTraceState = (mode & 2 ) ? findW3cTraceState() : null;
5857
+ if (parentTrace || parentTraceState) {
5858
+ spanContext = createOTelSpanContext({
5859
+ traceId: parentTrace ? parentTrace[_DYN_TRACE_ID ] : null,
5860
+ spanId: parentTrace ? parentTrace[_DYN_SPAN_ID ] : null,
5861
+ traceFlags: parentTrace ? parentTrace[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE,
5862
+ isRemote: true,
5863
+ traceState: parentTraceState ? createOTelTraceState(parentTraceState) : null
5864
+ });
5865
+ }
5866
+ return spanContext;
5867
+ }
5191
5868
  var AppInsightsCore = /** @class */ (function () {
5192
5869
  function AppInsightsCore() {
5193
5870
  var _configHandler;
@@ -5204,6 +5881,8 @@ var AppInsightsCore = /** @class */ (function () {
5204
5881
  var _channels;
5205
5882
  var _isUnloading;
5206
5883
  var _telemetryInitializerPlugin;
5884
+ var _serverOTelCtx;
5885
+ var _serverTraceHdrMode;
5207
5886
  var _internalLogsEventName;
5208
5887
  var _evtNamespace;
5209
5888
  var _unloadHandlers;
@@ -5250,6 +5929,10 @@ var AppInsightsCore = /** @class */ (function () {
5250
5929
  objForEachKey(extCfg, function (key) {
5251
5930
  details.ref(extCfg, key);
5252
5931
  });
5932
+ if (rootCfg[_DYN_TRACE_HDR_MODE ] !== _serverTraceHdrMode) {
5933
+ _serverOTelCtx = _getParentTraceCtx(rootCfg[_DYN_TRACE_HDR_MODE ]);
5934
+ _serverTraceHdrMode = rootCfg[_DYN_TRACE_HDR_MODE ];
5935
+ }
5253
5936
  }));
5254
5937
  _notificationManager = notificationManager;
5255
5938
  _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
@@ -5617,8 +6300,8 @@ var AppInsightsCore = /** @class */ (function () {
5617
6300
  };
5618
6301
  _self.flush = _flushChannels;
5619
6302
  _self.getTraceCtx = function (createNew) {
5620
- if (!_traceCtx) {
5621
- _traceCtx = createDistributedTraceContext();
6303
+ if ((!_traceCtx && createNew !== false) || createNew === true) {
6304
+ _traceCtx = createDistributedTraceContext(_serverOTelCtx);
5622
6305
  }
5623
6306
  return _traceCtx;
5624
6307
  };
@@ -5713,6 +6396,8 @@ var AppInsightsCore = /** @class */ (function () {
5713
6396
  cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH ]);
5714
6397
  arrAppend(cfgExtensions, _extensions);
5715
6398
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
6399
+ _serverOTelCtx = null;
6400
+ _serverTraceHdrMode = 0 ;
5716
6401
  _eventQueue = [];
5717
6402
  runTargetUnload(_notificationManager, false);
5718
6403
  _notificationManager = null;
@@ -6818,12 +7503,12 @@ function removePageShowEventListener(listener, evtNamespace) {
6818
7503
  removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
6819
7504
  }
6820
7505
 
6821
- var LoggingSeverity = createEnumStyle({
7506
+ var LoggingSeverity = ( /* @__PURE__ */createEnumStyle({
6822
7507
  DISABLED: 0 ,
6823
7508
  CRITICAL: 1 ,
6824
7509
  WARNING: 2 ,
6825
7510
  DEBUG: 3
6826
- });
7511
+ }));
6827
7512
 
6828
7513
  var aiInstrumentHooks = "_aiHooks";
6829
7514
  var cbNames = [
@@ -7053,6 +7738,7 @@ exports.convertAllHeadersToMap = convertAllHeadersToMap;
7053
7738
  exports.createClassFromInterface = createClassFromInterface;
7054
7739
  exports.createCookieMgr = createCookieMgr;
7055
7740
  exports.createCustomDomEvent = createCustomDomEvent;
7741
+ exports.createDistributedTraceContext = createDistributedTraceContext;
7056
7742
  exports.createDynamicConfig = createDynamicConfig;
7057
7743
  exports.createEnumStyle = createEnumStyle;
7058
7744
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
@@ -7061,6 +7747,7 @@ exports.createUniqueNamespace = createUniqueNamespace;
7061
7747
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
7062
7748
  exports.createUnloadHookContainer = createUnloadHookContainer;
7063
7749
  exports.createValueMap = createValueMap;
7750
+ exports.createW3cTraceState = createW3cTraceState;
7064
7751
  exports.dateNow = utcNow;
7065
7752
  exports.deepFreeze = objDeepFreeze;
7066
7753
  exports.detachEvent = detachEvent;
@@ -7070,10 +7757,12 @@ exports.doUnloadAll = doUnloadAll;
7070
7757
  exports.dumpObj = dumpObj;
7071
7758
  exports.eventOff = eventOff;
7072
7759
  exports.eventOn = eventOn;
7760
+ exports.fieldRedaction = fieldRedaction;
7073
7761
  exports.findAllScripts = findAllScripts;
7074
7762
  exports.findMetaTag = findMetaTag;
7075
7763
  exports.findNamedServerTiming = findNamedServerTiming;
7076
7764
  exports.findW3cTraceParent = findW3cTraceParent;
7765
+ exports.findW3cTraceState = findW3cTraceState;
7077
7766
  exports.forceDynamicConversion = forceDynamicConversion;
7078
7767
  exports.formatErrorMessageXdr = formatErrorMessageXdr;
7079
7768
  exports.formatErrorMessageXhr = formatErrorMessageXhr;
@@ -7132,6 +7821,7 @@ exports.isUndefined = isUndefined;
7132
7821
  exports.isValidSpanId = isValidSpanId;
7133
7822
  exports.isValidTraceId = isValidTraceId;
7134
7823
  exports.isValidTraceParent = isValidTraceParent;
7824
+ exports.isW3cTraceState = isW3cTraceState;
7135
7825
  exports.isXhrSupported = isXhrSupported;
7136
7826
  exports.mergeEvtNamespace = mergeEvtNamespace;
7137
7827
  exports.mwcRandom32 = mwcRandom32;
@@ -7170,6 +7860,7 @@ exports.sendCustomEvent = sendCustomEvent;
7170
7860
  exports.setEnableEnvMocks = setEnableEnvMocks;
7171
7861
  exports.setGblPerfMgr = setGblPerfMgr;
7172
7862
  exports.setValue = setValue;
7863
+ exports.snapshotW3cTraceState = snapshotW3cTraceState;
7173
7864
  exports.sortPlugins = sortPlugins;
7174
7865
  exports.strContains = strContains;
7175
7866
  exports.strEndsWith = strEndsWith;