@multiplayer-app/session-recorder-browser 0.0.8 → 0.0.10

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.
@@ -26457,7 +26457,7 @@ const MULTIPLAYER_BASE_API_URL = 'https://api.multiplayer.app';
26457
26457
  const SESSION_RESPONSE = 'multiplayer-debug-session-response';
26458
26458
  const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
26459
26459
  const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
26460
- const PACKAGE_VERSION_EXPORT = "0.0.8" || 0;
26460
+ const PACKAGE_VERSION_EXPORT = "0.0.10" || 0;
26461
26461
  // Regex patterns for OpenTelemetry ignore URLs
26462
26462
  const OTEL_IGNORE_URLS = [
26463
26463
  // Traces endpoint
@@ -26491,7 +26491,7 @@ __webpack_require__.r(__webpack_exports__);
26491
26491
  /* harmony export */ BASE_CONFIG: () => (/* binding */ BASE_CONFIG),
26492
26492
  /* harmony export */ DEFAULT_MASKING_CONFIG: () => (/* binding */ DEFAULT_MASKING_CONFIG)
26493
26493
  /* harmony export */ });
26494
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
26494
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
26495
26495
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types */ "./src/types/index.ts");
26496
26496
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/config/constants.ts");
26497
26497
 
@@ -26602,7 +26602,7 @@ __webpack_require__.r(__webpack_exports__);
26602
26602
  /* harmony export */ });
26603
26603
  /* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaults */ "./src/config/defaults.ts");
26604
26604
  /* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validators */ "./src/config/validators.ts");
26605
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
26605
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
26606
26606
 
26607
26607
 
26608
26608
 
@@ -26760,7 +26760,7 @@ __webpack_require__.r(__webpack_exports__);
26760
26760
  /* harmony export */ setupListeners: () => (/* binding */ setupListeners)
26761
26761
  /* harmony export */ });
26762
26762
  /* harmony import */ var _services_messaging_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./services/messaging.service */ "./src/services/messaging.service.ts");
26763
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
26763
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
26764
26764
 
26765
26765
 
26766
26766
  function setupListeners(sessionRecorder) {
@@ -26819,7 +26819,7 @@ __webpack_require__.r(__webpack_exports__);
26819
26819
  /* harmony export */ processHttpPayload: () => (/* binding */ processHttpPayload),
26820
26820
  /* harmony export */ shouldProcessTrace: () => (/* binding */ shouldProcessTrace)
26821
26821
  /* harmony export */ });
26822
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
26822
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
26823
26823
 
26824
26824
 
26825
26825
  const { schemify } = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionRecorderSdk;
@@ -26842,6 +26842,12 @@ function processBody(payload, config, span) {
26842
26842
  return {};
26843
26843
  }
26844
26844
  let { requestBody, responseBody } = payload;
26845
+ if (requestBody !== undefined && requestBody !== null) {
26846
+ requestBody = JSON.parse(JSON.stringify(requestBody));
26847
+ }
26848
+ if (responseBody !== undefined && responseBody !== null) {
26849
+ responseBody = JSON.parse(JSON.stringify(responseBody));
26850
+ }
26845
26851
  // Apply schemify for document traces
26846
26852
  if (traceId.startsWith(_multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)) {
26847
26853
  if (schemifyDocSpanPayload) {
@@ -27018,7 +27024,7 @@ __webpack_require__.r(__webpack_exports__);
27018
27024
  /* harmony import */ var _opentelemetry_semantic_conventions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @opentelemetry/semantic-conventions */ "../../node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js");
27019
27025
  /* harmony import */ var _opentelemetry_instrumentation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @opentelemetry/instrumentation */ "../../node_modules/@opentelemetry/instrumentation/build/esm/autoLoader.js");
27020
27026
  /* harmony import */ var _opentelemetry_auto_instrumentations_web__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/auto-instrumentations-web */ "../../node_modules/@opentelemetry/auto-instrumentations-web/build/esm/index.js");
27021
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
27027
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
27022
27028
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
27023
27029
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./src/otel/helpers.ts");
27024
27030
 
@@ -27503,7 +27509,7 @@ __webpack_require__.r(__webpack_exports__);
27503
27509
  /* harmony export */ });
27504
27510
  /* harmony import */ var _rrweb_packer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @rrweb/packer */ "../../node_modules/@rrweb/packer/dist/packer.js");
27505
27511
  /* harmony import */ var rrweb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rrweb */ "../../node_modules/rrweb/dist/rrweb.js");
27506
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
27512
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
27507
27513
  /* harmony import */ var _rrweb_rrweb_plugin_console_record__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rrweb/rrweb-plugin-console-record */ "../../node_modules/@rrweb/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.js");
27508
27514
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
27509
27515
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
@@ -27922,7 +27928,7 @@ __webpack_require__.r(__webpack_exports__);
27922
27928
  /* harmony import */ var _services_messaging_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./services/messaging.service */ "./src/services/messaging.service.ts");
27923
27929
  /* harmony import */ var _services_api_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./services/api.service */ "./src/services/api.service.ts");
27924
27930
  /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./index.scss */ "./src/index.scss");
27925
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
27931
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
27926
27932
  /* harmony import */ var _sessionWidget_buttonStateConfigs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./sessionWidget/buttonStateConfigs */ "./src/sessionWidget/buttonStateConfigs.ts");
27927
27933
 
27928
27934
 
@@ -30361,295 +30367,637 @@ const isFile = (x) => {
30361
30367
 
30362
30368
  /***/ }),
30363
30369
 
30364
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30365
- /*!*******************************************************************************************************************!*\
30366
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30367
- \*******************************************************************************************************************/
30370
+ /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
30371
+ /*!***************************************************************************!*\
30372
+ !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
30373
+ \***************************************************************************/
30368
30374
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30369
30375
 
30370
30376
  "use strict";
30371
30377
  __webpack_require__.r(__webpack_exports__);
30372
30378
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30373
- /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30379
+ /* harmony export */ validateKey: () => (/* binding */ validateKey),
30380
+ /* harmony export */ validateValue: () => (/* binding */ validateValue)
30374
30381
  /* harmony export */ });
30375
- /* harmony import */ var _opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/otlp-exporter-base */ "../../node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js");
30376
- /* harmony import */ var _opentelemetry_otlp_exporter_base_browser_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/otlp-exporter-base/browser-http */ "../../node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js");
30377
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30378
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
30379
- var __extends = (undefined && undefined.__extends) || (function () {
30380
- var extendStatics = function (d, b) {
30381
- extendStatics = Object.setPrototypeOf ||
30382
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30383
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30384
- return extendStatics(d, b);
30385
- };
30386
- return function (d, b) {
30387
- if (typeof b !== "function" && b !== null)
30388
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30389
- extendStatics(d, b);
30390
- function __() { this.constructor = d; }
30391
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30392
- };
30393
- })();
30394
- var __assign = (undefined && undefined.__assign) || function () {
30395
- __assign = Object.assign || function(t) {
30396
- for (var s, i = 1, n = arguments.length; i < n; i++) {
30397
- s = arguments[i];
30398
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
30399
- t[p] = s[p];
30400
- }
30401
- return t;
30402
- };
30403
- return __assign.apply(this, arguments);
30404
- };
30382
+ /*
30383
+ * Copyright The OpenTelemetry Authors
30384
+ *
30385
+ * Licensed under the Apache License, Version 2.0 (the "License");
30386
+ * you may not use this file except in compliance with the License.
30387
+ * You may obtain a copy of the License at
30388
+ *
30389
+ * https://www.apache.org/licenses/LICENSE-2.0
30390
+ *
30391
+ * Unless required by applicable law or agreed to in writing, software
30392
+ * distributed under the License is distributed on an "AS IS" BASIS,
30393
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30394
+ * See the License for the specific language governing permissions and
30395
+ * limitations under the License.
30396
+ */
30397
+ var VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';
30398
+ var VALID_KEY = "[a-z]" + VALID_KEY_CHAR_RANGE + "{0,255}";
30399
+ var VALID_VENDOR_KEY = "[a-z0-9]" + VALID_KEY_CHAR_RANGE + "{0,240}@[a-z]" + VALID_KEY_CHAR_RANGE + "{0,13}";
30400
+ var VALID_KEY_REGEX = new RegExp("^(?:" + VALID_KEY + "|" + VALID_VENDOR_KEY + ")$");
30401
+ var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
30402
+ var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
30403
+ /**
30404
+ * Key is opaque string up to 256 characters printable. It MUST begin with a
30405
+ * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,
30406
+ * underscores _, dashes -, asterisks *, and forward slashes /.
30407
+ * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the
30408
+ * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.
30409
+ * see https://www.w3.org/TR/trace-context/#key
30410
+ */
30411
+ function validateKey(key) {
30412
+ return VALID_KEY_REGEX.test(key);
30413
+ }
30414
+ /**
30415
+ * Value is opaque string up to 256 characters printable ASCII RFC0020
30416
+ * characters (i.e., the range 0x20 to 0x7E) except comma , and =.
30417
+ */
30418
+ function validateValue(value) {
30419
+ return (VALID_VALUE_BASE_REGEX.test(value) &&
30420
+ !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));
30421
+ }
30422
+ //# sourceMappingURL=validators.js.map
30405
30423
 
30424
+ /***/ }),
30406
30425
 
30426
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js":
30427
+ /*!************************************************************************!*\
30428
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js ***!
30429
+ \************************************************************************/
30430
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30407
30431
 
30432
+ "use strict";
30433
+ __webpack_require__.r(__webpack_exports__);
30434
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30435
+ /* harmony export */ TraceState: () => (/* binding */ TraceState)
30436
+ /* harmony export */ });
30437
+ /* harmony import */ var _internal_validators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/validators */ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js");
30438
+ /*
30439
+ * Copyright The OpenTelemetry Authors
30440
+ *
30441
+ * Licensed under the Apache License, Version 2.0 (the "License");
30442
+ * you may not use this file except in compliance with the License.
30443
+ * You may obtain a copy of the License at
30444
+ *
30445
+ * https://www.apache.org/licenses/LICENSE-2.0
30446
+ *
30447
+ * Unless required by applicable law or agreed to in writing, software
30448
+ * distributed under the License is distributed on an "AS IS" BASIS,
30449
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30450
+ * See the License for the specific language governing permissions and
30451
+ * limitations under the License.
30452
+ */
30408
30453
 
30454
+ var MAX_TRACE_STATE_ITEMS = 32;
30455
+ var MAX_TRACE_STATE_LEN = 512;
30456
+ var LIST_MEMBERS_SEPARATOR = ',';
30457
+ var LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
30409
30458
  /**
30410
- * Trace Exporters for Web with postMessage fallback
30459
+ * TraceState must be a class and not a simple object type because of the spec
30460
+ * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).
30461
+ *
30462
+ * Here is the list of allowed mutations:
30463
+ * - New key-value pair should be added into the beginning of the list
30464
+ * - The value of any key can be updated. Modified keys MUST be moved to the
30465
+ * beginning of the list.
30411
30466
  */
30412
- var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
30413
- __extends(SessionRecorderHttpTraceExporterBrowser, _super);
30414
- function SessionRecorderHttpTraceExporterBrowser(config) {
30415
- if (config === void 0) { config = {}; }
30416
- var _this = this;
30417
- var _config = __assign(__assign({}, config), { url: config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, headers: __assign(__assign({}, (config.headers || {})), config.apiKey
30418
- ? { Authorization: config.apiKey }
30419
- : {}) });
30420
- _this = _super.call(this, (0,_opentelemetry_otlp_exporter_base_browser_http__WEBPACK_IMPORTED_MODULE_2__.createLegacyOtlpBrowserExportDelegate)(_config, _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__.SessionRecorderJsonTraceSerializer, 'v1/traces', { 'Content-Type': 'application/json' })) || this;
30421
- _this.usePostMessage = false;
30422
- _this.config = config;
30423
- _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
30424
- _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
30425
- return _this;
30467
+ var TraceState = /** @class */ (function () {
30468
+ function TraceState(rawTraceState) {
30469
+ this._internalState = new Map();
30470
+ if (rawTraceState)
30471
+ this._parse(rawTraceState);
30426
30472
  }
30427
- SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
30428
- var _this = this;
30429
- if (this.usePostMessage) {
30430
- this.exportViaPostMessage(spans, resultCallback);
30431
- return;
30473
+ TraceState.prototype.set = function (key, value) {
30474
+ // TODO: Benchmark the different approaches(map vs list) and
30475
+ // use the faster one.
30476
+ var traceState = this._clone();
30477
+ if (traceState._internalState.has(key)) {
30478
+ traceState._internalState.delete(key);
30432
30479
  }
30433
- _super.prototype.export.call(this, spans, function (result) {
30434
- if (result.code === 0) {
30435
- resultCallback(result);
30436
- }
30437
- else if (_this.config.usePostMessageFallback) {
30438
- _this.usePostMessage = true;
30439
- _this.exportViaPostMessage(spans, resultCallback);
30440
- }
30441
- else {
30442
- resultCallback(result);
30443
- }
30444
- });
30480
+ traceState._internalState.set(key, value);
30481
+ return traceState;
30445
30482
  };
30446
- SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
30483
+ TraceState.prototype.unset = function (key) {
30484
+ var traceState = this._clone();
30485
+ traceState._internalState.delete(key);
30486
+ return traceState;
30487
+ };
30488
+ TraceState.prototype.get = function (key) {
30489
+ return this._internalState.get(key);
30490
+ };
30491
+ TraceState.prototype.serialize = function () {
30447
30492
  var _this = this;
30448
- if (typeof window === 'undefined') {
30449
- resultCallback({ code: 1 });
30493
+ return this._keys()
30494
+ .reduce(function (agg, key) {
30495
+ agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + _this.get(key));
30496
+ return agg;
30497
+ }, [])
30498
+ .join(LIST_MEMBERS_SEPARATOR);
30499
+ };
30500
+ TraceState.prototype._parse = function (rawTraceState) {
30501
+ if (rawTraceState.length > MAX_TRACE_STATE_LEN)
30450
30502
  return;
30451
- }
30452
- try {
30453
- window.postMessage({
30454
- action: 'traces',
30455
- type: this.postMessageType,
30456
- payload: spans.map(function (span) { return _this._serializeSpan(span); }),
30457
- }, this.postMessageTargetOrigin);
30458
- resultCallback({ code: 0 });
30459
- }
30460
- catch (e) {
30461
- resultCallback({ code: 1 });
30503
+ this._internalState = rawTraceState
30504
+ .split(LIST_MEMBERS_SEPARATOR)
30505
+ .reverse() // Store in reverse so new keys (.set(...)) will be placed at the beginning
30506
+ .reduce(function (agg, part) {
30507
+ var listMember = part.trim(); // Optional Whitespace (OWS) handling
30508
+ var i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
30509
+ if (i !== -1) {
30510
+ var key = listMember.slice(0, i);
30511
+ var value = listMember.slice(i + 1, part.length);
30512
+ if ((0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateKey)(key) && (0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateValue)(value)) {
30513
+ agg.set(key, value);
30514
+ }
30515
+ else {
30516
+ // TODO: Consider to add warning log
30517
+ }
30518
+ }
30519
+ return agg;
30520
+ }, new Map());
30521
+ // Because of the reverse() requirement, trunc must be done after map is created
30522
+ if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
30523
+ this._internalState = new Map(Array.from(this._internalState.entries())
30524
+ .reverse() // Use reverse same as original tracestate parse chain
30525
+ .slice(0, MAX_TRACE_STATE_ITEMS));
30462
30526
  }
30463
30527
  };
30464
- SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
30465
- return {
30466
- _spanContext: span.spanContext(),
30467
- name: span.name,
30468
- kind: span.kind,
30469
- links: span.links,
30470
- ended: span.ended,
30471
- events: span.events,
30472
- status: span.status,
30473
- endTime: span.endTime,
30474
- startTime: span.startTime,
30475
- duration: span.duration,
30476
- attributes: span.attributes,
30477
- parentSpanId: span.parentSpanId,
30478
- instrumentationLibrary: span.instrumentationLibrary,
30479
- droppedAttributesCount: span.droppedAttributesCount,
30480
- droppedEventsCount: span.droppedEventsCount,
30481
- droppedLinksCount: span.droppedLinksCount,
30482
- resource: {
30483
- attributes: span.resource.attributes,
30484
- asyncAttributesPending: span.resource.asyncAttributesPending,
30485
- },
30486
- };
30528
+ TraceState.prototype._keys = function () {
30529
+ return Array.from(this._internalState.keys()).reverse();
30487
30530
  };
30488
- SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
30489
- return config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
30531
+ TraceState.prototype._clone = function () {
30532
+ var traceState = new TraceState();
30533
+ traceState._internalState = new Map(this._internalState);
30534
+ return traceState;
30490
30535
  };
30491
- return SessionRecorderHttpTraceExporterBrowser;
30492
- }(_opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__.OTLPExporterBase));
30536
+ return TraceState;
30537
+ }());
30493
30538
 
30494
- //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
30539
+ //# sourceMappingURL=TraceState.js.map
30495
30540
 
30496
30541
  /***/ }),
30497
30542
 
30498
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js":
30499
- /*!******************************************************************************************************!*\
30500
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js ***!
30501
- \******************************************************************************************************/
30543
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
30544
+ /*!***************************************************************************************!*\
30545
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
30546
+ \***************************************************************************************/
30502
30547
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30503
30548
 
30504
30549
  "use strict";
30505
30550
  __webpack_require__.r(__webpack_exports__);
30506
30551
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30507
- /* harmony export */ SessionRecorderIdGenerator: () => (/* binding */ SessionRecorderIdGenerator)
30552
+ /* harmony export */ TRACE_PARENT_HEADER: () => (/* binding */ TRACE_PARENT_HEADER),
30553
+ /* harmony export */ TRACE_STATE_HEADER: () => (/* binding */ TRACE_STATE_HEADER),
30554
+ /* harmony export */ W3CTraceContextPropagator: () => (/* binding */ W3CTraceContextPropagator),
30555
+ /* harmony export */ parseTraceParent: () => (/* binding */ parseTraceParent)
30508
30556
  /* harmony export */ });
30509
- /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js");
30510
- /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/browser/RandomIdGenerator.js");
30511
- /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./type */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js");
30512
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30513
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
30514
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30515
- var __extends = (undefined && undefined.__extends) || (function () {
30516
- var extendStatics = function (d, b) {
30517
- extendStatics = Object.setPrototypeOf ||
30518
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30519
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30520
- return extendStatics(d, b);
30521
- };
30522
- return function (d, b) {
30523
- if (typeof b !== "function" && b !== null)
30524
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30525
- extendStatics(d, b);
30526
- function __() { this.constructor = d; }
30527
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30528
- };
30529
- })();
30530
-
30531
-
30557
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
30558
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30559
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js");
30560
+ /* harmony import */ var _suppress_tracing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./suppress-tracing */ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js");
30561
+ /* harmony import */ var _TraceState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TraceState */ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js");
30562
+ /*
30563
+ * Copyright The OpenTelemetry Authors
30564
+ *
30565
+ * Licensed under the Apache License, Version 2.0 (the "License");
30566
+ * you may not use this file except in compliance with the License.
30567
+ * You may obtain a copy of the License at
30568
+ *
30569
+ * https://www.apache.org/licenses/LICENSE-2.0
30570
+ *
30571
+ * Unless required by applicable law or agreed to in writing, software
30572
+ * distributed under the License is distributed on an "AS IS" BASIS,
30573
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30574
+ * See the License for the specific language governing permissions and
30575
+ * limitations under the License.
30576
+ */
30532
30577
 
30533
30578
 
30534
30579
 
30535
- var SessionRecorderIdGenerator = /** @class */ (function (_super) {
30536
- __extends(SessionRecorderIdGenerator, _super);
30537
- function SessionRecorderIdGenerator(_a) {
30538
- var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
30539
- var _this = _super.call(this) || this;
30540
- _this.docSpanSampler = new _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
30541
- _this.generateLongId = (0,_sdk__WEBPACK_IMPORTED_MODULE_3__.getIdGenerator)(16);
30542
- _this.sessionShortId = '';
30543
- _this.sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN;
30544
- _this.generateTraceId = function () {
30545
- var traceId = _this.generateLongId();
30546
- if (_this.sessionShortId) {
30547
- var sessionTypePrefix = '';
30548
- switch (_this.sessionType) {
30549
- case _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.CONTINUOUS:
30550
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
30551
- break;
30552
- default:
30553
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DEBUG_PREFIX;
30554
- }
30555
- var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
30556
- var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
30557
- return sessionTraceId;
30558
- }
30559
- else if (_this._isDocTrace(traceId)) {
30560
- return "".concat(_constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DOC_PREFIX).concat(traceId.slice(_constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DOC_PREFIX.length, traceId.length));
30561
- }
30562
- return traceId;
30563
- };
30564
- return _this;
30580
+ var TRACE_PARENT_HEADER = 'traceparent';
30581
+ var TRACE_STATE_HEADER = 'tracestate';
30582
+ var VERSION = '00';
30583
+ var VERSION_PART = '(?!ff)[\\da-f]{2}';
30584
+ var TRACE_ID_PART = '(?![0]{32})[\\da-f]{32}';
30585
+ var PARENT_ID_PART = '(?![0]{16})[\\da-f]{16}';
30586
+ var FLAGS_PART = '[\\da-f]{2}';
30587
+ var TRACE_PARENT_REGEX = new RegExp("^\\s?(" + VERSION_PART + ")-(" + TRACE_ID_PART + ")-(" + PARENT_ID_PART + ")-(" + FLAGS_PART + ")(-.*)?\\s?$");
30588
+ /**
30589
+ * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}
30590
+ * @param traceParent - A meta property that comes from server.
30591
+ * It should be dynamically generated server side to have the server's request trace Id,
30592
+ * a parent span Id that was set on the server's request span,
30593
+ * and the trace flags to indicate the server's sampling decision
30594
+ * (01 = sampled, 00 = not sampled).
30595
+ * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'
30596
+ * For more information see {@link https://www.w3.org/TR/trace-context/}
30597
+ */
30598
+ function parseTraceParent(traceParent) {
30599
+ var match = TRACE_PARENT_REGEX.exec(traceParent);
30600
+ if (!match)
30601
+ return null;
30602
+ // According to the specification the implementation should be compatible
30603
+ // with future versions. If there are more parts, we only reject it if it's using version 00
30604
+ // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent
30605
+ if (match[1] === '00' && match[5])
30606
+ return null;
30607
+ return {
30608
+ traceId: match[2],
30609
+ spanId: match[3],
30610
+ traceFlags: parseInt(match[4], 16),
30611
+ };
30612
+ }
30613
+ /**
30614
+ * Propagates {@link SpanContext} through Trace Context format propagation.
30615
+ *
30616
+ * Based on the Trace Context specification:
30617
+ * https://www.w3.org/TR/trace-context/
30618
+ */
30619
+ var W3CTraceContextPropagator = /** @class */ (function () {
30620
+ function W3CTraceContextPropagator() {
30565
30621
  }
30566
- SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
30567
- if (sessionType === void 0) { sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN; }
30568
- this.sessionShortId = sessionShortId;
30569
- this.sessionType = sessionType;
30622
+ W3CTraceContextPropagator.prototype.inject = function (context, carrier, setter) {
30623
+ var spanContext = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.getSpanContext(context);
30624
+ if (!spanContext ||
30625
+ (0,_suppress_tracing__WEBPACK_IMPORTED_MODULE_1__.isTracingSuppressed)(context) ||
30626
+ !(0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isSpanContextValid)(spanContext))
30627
+ return;
30628
+ var traceParent = VERSION + "-" + spanContext.traceId + "-" + spanContext.spanId + "-0" + Number(spanContext.traceFlags || _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.TraceFlags.NONE).toString(16);
30629
+ setter.set(carrier, TRACE_PARENT_HEADER, traceParent);
30630
+ if (spanContext.traceState) {
30631
+ setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());
30632
+ }
30570
30633
  };
30571
- SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
30572
- return this.docSpanSampler.shouldSample(undefined, traceId).decision === _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__.SamplingDecision.RECORD_AND_SAMPLED;
30634
+ W3CTraceContextPropagator.prototype.extract = function (context, carrier, getter) {
30635
+ var traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);
30636
+ if (!traceParentHeader)
30637
+ return context;
30638
+ var traceParent = Array.isArray(traceParentHeader)
30639
+ ? traceParentHeader[0]
30640
+ : traceParentHeader;
30641
+ if (typeof traceParent !== 'string')
30642
+ return context;
30643
+ var spanContext = parseTraceParent(traceParent);
30644
+ if (!spanContext)
30645
+ return context;
30646
+ spanContext.isRemote = true;
30647
+ var traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);
30648
+ if (traceStateHeader) {
30649
+ // If more than one `tracestate` header is found, we merge them into a
30650
+ // single header.
30651
+ var state = Array.isArray(traceStateHeader)
30652
+ ? traceStateHeader.join(',')
30653
+ : traceStateHeader;
30654
+ spanContext.traceState = new _TraceState__WEBPACK_IMPORTED_MODULE_4__.TraceState(typeof state === 'string' ? state : undefined);
30655
+ }
30656
+ return _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.setSpanContext(context, spanContext);
30573
30657
  };
30574
- return SessionRecorderIdGenerator;
30575
- }(_opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__.RandomIdGenerator));
30658
+ W3CTraceContextPropagator.prototype.fields = function () {
30659
+ return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];
30660
+ };
30661
+ return W3CTraceContextPropagator;
30662
+ }());
30576
30663
 
30577
- //# sourceMappingURL=SessionRecorderIdGenerator.js.map
30664
+ //# sourceMappingURL=W3CTraceContextPropagator.js.map
30578
30665
 
30579
30666
  /***/ }),
30580
30667
 
30581
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js":
30582
- /*!**************************************************************************************************************!*\
30583
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js ***!
30584
- \**************************************************************************************************************/
30668
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
30669
+ /*!******************************************************************************!*\
30670
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
30671
+ \******************************************************************************/
30585
30672
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30586
30673
 
30587
30674
  "use strict";
30588
30675
  __webpack_require__.r(__webpack_exports__);
30589
30676
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30590
- /* harmony export */ SessionRecorderJsonTraceSerializer: () => (/* binding */ SessionRecorderJsonTraceSerializer)
30677
+ /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
30678
+ /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
30679
+ /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
30591
30680
  /* harmony export */ });
30592
- /* harmony import */ var _opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/otlp-transformer */ "../../node_modules/@opentelemetry/otlp-transformer/build/esm/trace/index.js");
30593
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
30594
-
30681
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context/context.js");
30682
+ /*
30683
+ * Copyright The OpenTelemetry Authors
30684
+ *
30685
+ * Licensed under the Apache License, Version 2.0 (the "License");
30686
+ * you may not use this file except in compliance with the License.
30687
+ * You may obtain a copy of the License at
30688
+ *
30689
+ * https://www.apache.org/licenses/LICENSE-2.0
30690
+ *
30691
+ * Unless required by applicable law or agreed to in writing, software
30692
+ * distributed under the License is distributed on an "AS IS" BASIS,
30693
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30694
+ * See the License for the specific language governing permissions and
30695
+ * limitations under the License.
30696
+ */
30595
30697
 
30596
- var SessionRecorderJsonTraceSerializer = {
30597
- serializeRequest: function (arg) {
30598
- var filteredArg = arg.filter(function (span) {
30599
- var traceId = span.spanContext().traceId;
30600
- if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
30601
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30602
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
30603
- return true;
30604
- }
30605
- return false;
30606
- });
30607
- var request = (0,_opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__.createExportTraceServiceRequest)(filteredArg, {
30608
- useHex: true,
30609
- useLongBits: false,
30610
- });
30611
- var encoder = new TextEncoder();
30612
- return encoder.encode(JSON.stringify(request));
30613
- },
30614
- deserializeResponse: function (arg) {
30615
- var decoder = new TextDecoder();
30616
- return JSON.parse(decoder.decode(arg));
30617
- },
30618
- };
30619
- //# sourceMappingURL=SessionRecorderJsonTraceSerializer.js.map
30698
+ var SUPPRESS_TRACING_KEY = (0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.createContextKey)('OpenTelemetry SDK Context Key SUPPRESS_TRACING');
30699
+ function suppressTracing(context) {
30700
+ return context.setValue(SUPPRESS_TRACING_KEY, true);
30701
+ }
30702
+ function unsuppressTracing(context) {
30703
+ return context.deleteValue(SUPPRESS_TRACING_KEY);
30704
+ }
30705
+ function isTracingSuppressed(context) {
30706
+ return context.getValue(SUPPRESS_TRACING_KEY) === true;
30707
+ }
30708
+ //# sourceMappingURL=suppress-tracing.js.map
30620
30709
 
30621
30710
  /***/ }),
30622
30711
 
30623
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js":
30624
- /*!*******************************************************************************************************************!*\
30625
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js ***!
30626
- \*******************************************************************************************************************/
30712
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30713
+ /*!**************************************************************************************!*\
30714
+ !*** ../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30715
+ \**************************************************************************************/
30627
30716
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30628
30717
 
30629
30718
  "use strict";
30630
30719
  __webpack_require__.r(__webpack_exports__);
30631
30720
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30632
- /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* binding */ SessionRecorderTraceIdRatioBasedSampler)
30721
+ /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30633
30722
  /* harmony export */ });
30634
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30635
- /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js");
30636
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
30637
-
30638
-
30639
-
30640
- var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30641
- function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
30642
- if (_ratio === void 0) { _ratio = 0; }
30643
- this._ratio = _ratio;
30644
- this._ratio = this._normalize(_ratio);
30645
- this._upperBound = Math.floor(this._ratio * 0xffffffff);
30646
- }
30647
- SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
30648
- if (this._ratio > 0
30649
- && traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)) {
30650
- return {
30651
- decision: _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.RECORD_AND_SAMPLED,
30652
- };
30723
+ /* harmony import */ var _opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/otlp-exporter-base */ "../../node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js");
30724
+ /* harmony import */ var _opentelemetry_otlp_exporter_base_browser_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/otlp-exporter-base/browser-http */ "../../node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/create-legacy-browser-delegate.js");
30725
+ /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30726
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30727
+ var __extends = (undefined && undefined.__extends) || (function () {
30728
+ var extendStatics = function (d, b) {
30729
+ extendStatics = Object.setPrototypeOf ||
30730
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30731
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30732
+ return extendStatics(d, b);
30733
+ };
30734
+ return function (d, b) {
30735
+ if (typeof b !== "function" && b !== null)
30736
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30737
+ extendStatics(d, b);
30738
+ function __() { this.constructor = d; }
30739
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30740
+ };
30741
+ })();
30742
+ var __assign = (undefined && undefined.__assign) || function () {
30743
+ __assign = Object.assign || function(t) {
30744
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
30745
+ s = arguments[i];
30746
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
30747
+ t[p] = s[p];
30748
+ }
30749
+ return t;
30750
+ };
30751
+ return __assign.apply(this, arguments);
30752
+ };
30753
+
30754
+
30755
+
30756
+
30757
+ /**
30758
+ * Trace Exporters for Web with postMessage fallback
30759
+ */
30760
+ var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
30761
+ __extends(SessionRecorderHttpTraceExporterBrowser, _super);
30762
+ function SessionRecorderHttpTraceExporterBrowser(config) {
30763
+ if (config === void 0) { config = {}; }
30764
+ var _this = this;
30765
+ var _config = __assign(__assign({}, config), { url: config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL, headers: __assign(__assign({}, (config.headers || {})), config.apiKey
30766
+ ? { Authorization: config.apiKey }
30767
+ : {}) });
30768
+ _this = _super.call(this, (0,_opentelemetry_otlp_exporter_base_browser_http__WEBPACK_IMPORTED_MODULE_2__.createLegacyOtlpBrowserExportDelegate)(_config, _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__.SessionRecorderJsonTraceSerializer, 'v1/traces', { 'Content-Type': 'application/json' })) || this;
30769
+ _this.usePostMessage = false;
30770
+ _this.config = config;
30771
+ _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
30772
+ _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
30773
+ return _this;
30774
+ }
30775
+ SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
30776
+ var _this = this;
30777
+ if (this.usePostMessage) {
30778
+ this.exportViaPostMessage(spans, resultCallback);
30779
+ return;
30780
+ }
30781
+ _super.prototype.export.call(this, spans, function (result) {
30782
+ if (result.code === 0) {
30783
+ resultCallback(result);
30784
+ }
30785
+ else if (_this.config.usePostMessageFallback) {
30786
+ _this.usePostMessage = true;
30787
+ _this.exportViaPostMessage(spans, resultCallback);
30788
+ }
30789
+ else {
30790
+ resultCallback(result);
30791
+ }
30792
+ });
30793
+ };
30794
+ SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
30795
+ var _this = this;
30796
+ if (typeof window === 'undefined') {
30797
+ resultCallback({ code: 1 });
30798
+ return;
30799
+ }
30800
+ try {
30801
+ window.postMessage({
30802
+ action: 'traces',
30803
+ type: this.postMessageType,
30804
+ payload: spans.map(function (span) { return _this._serializeSpan(span); }),
30805
+ }, this.postMessageTargetOrigin);
30806
+ resultCallback({ code: 0 });
30807
+ }
30808
+ catch (e) {
30809
+ resultCallback({ code: 1 });
30810
+ }
30811
+ };
30812
+ SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
30813
+ return {
30814
+ _spanContext: span.spanContext(),
30815
+ name: span.name,
30816
+ kind: span.kind,
30817
+ links: span.links,
30818
+ ended: span.ended,
30819
+ events: span.events,
30820
+ status: span.status,
30821
+ endTime: span.endTime,
30822
+ startTime: span.startTime,
30823
+ duration: span.duration,
30824
+ attributes: span.attributes,
30825
+ parentSpanId: span.parentSpanId,
30826
+ instrumentationLibrary: span.instrumentationLibrary,
30827
+ droppedAttributesCount: span.droppedAttributesCount,
30828
+ droppedEventsCount: span.droppedEventsCount,
30829
+ droppedLinksCount: span.droppedLinksCount,
30830
+ resource: {
30831
+ attributes: span.resource.attributes,
30832
+ asyncAttributesPending: span.resource.asyncAttributesPending,
30833
+ },
30834
+ };
30835
+ };
30836
+ SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
30837
+ return config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
30838
+ };
30839
+ return SessionRecorderHttpTraceExporterBrowser;
30840
+ }(_opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__.OTLPExporterBase));
30841
+
30842
+ //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
30843
+
30844
+ /***/ }),
30845
+
30846
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js":
30847
+ /*!*************************************************************************!*\
30848
+ !*** ../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js ***!
30849
+ \*************************************************************************/
30850
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30851
+
30852
+ "use strict";
30853
+ __webpack_require__.r(__webpack_exports__);
30854
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30855
+ /* harmony export */ SessionRecorderIdGenerator: () => (/* binding */ SessionRecorderIdGenerator)
30856
+ /* harmony export */ });
30857
+ /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js");
30858
+ /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/browser/RandomIdGenerator.js");
30859
+ /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./type */ "../session-recorder-common/dist/esm/type/index.js");
30860
+ /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30861
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30862
+ /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "../session-recorder-common/dist/esm/sdk/index.js");
30863
+ var __extends = (undefined && undefined.__extends) || (function () {
30864
+ var extendStatics = function (d, b) {
30865
+ extendStatics = Object.setPrototypeOf ||
30866
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30867
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30868
+ return extendStatics(d, b);
30869
+ };
30870
+ return function (d, b) {
30871
+ if (typeof b !== "function" && b !== null)
30872
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30873
+ extendStatics(d, b);
30874
+ function __() { this.constructor = d; }
30875
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30876
+ };
30877
+ })();
30878
+
30879
+
30880
+
30881
+
30882
+
30883
+ var SessionRecorderIdGenerator = /** @class */ (function (_super) {
30884
+ __extends(SessionRecorderIdGenerator, _super);
30885
+ function SessionRecorderIdGenerator(_a) {
30886
+ var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
30887
+ var _this = _super.call(this) || this;
30888
+ _this.docSpanSampler = new _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
30889
+ _this.generateLongId = (0,_sdk__WEBPACK_IMPORTED_MODULE_3__.getIdGenerator)(16);
30890
+ _this.sessionShortId = '';
30891
+ _this.sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN;
30892
+ _this.generateTraceId = function () {
30893
+ var traceId = _this.generateLongId();
30894
+ if (_this.sessionShortId) {
30895
+ var sessionTypePrefix = '';
30896
+ switch (_this.sessionType) {
30897
+ case _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.CONTINUOUS:
30898
+ sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
30899
+ break;
30900
+ default:
30901
+ sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DEBUG_PREFIX;
30902
+ }
30903
+ var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
30904
+ var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
30905
+ return sessionTraceId;
30906
+ }
30907
+ else if (_this._isDocTrace(traceId)) {
30908
+ return "".concat(_constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DOC_PREFIX).concat(traceId.slice(_constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DOC_PREFIX.length, traceId.length));
30909
+ }
30910
+ return traceId;
30911
+ };
30912
+ return _this;
30913
+ }
30914
+ SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
30915
+ if (sessionType === void 0) { sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN; }
30916
+ this.sessionShortId = sessionShortId;
30917
+ this.sessionType = sessionType;
30918
+ };
30919
+ SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
30920
+ return this.docSpanSampler.shouldSample(undefined, traceId).decision === _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__.SamplingDecision.RECORD_AND_SAMPLED;
30921
+ };
30922
+ return SessionRecorderIdGenerator;
30923
+ }(_opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__.RandomIdGenerator));
30924
+
30925
+ //# sourceMappingURL=SessionRecorderIdGenerator.js.map
30926
+
30927
+ /***/ }),
30928
+
30929
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js":
30930
+ /*!*********************************************************************************!*\
30931
+ !*** ../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js ***!
30932
+ \*********************************************************************************/
30933
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30934
+
30935
+ "use strict";
30936
+ __webpack_require__.r(__webpack_exports__);
30937
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30938
+ /* harmony export */ SessionRecorderJsonTraceSerializer: () => (/* binding */ SessionRecorderJsonTraceSerializer)
30939
+ /* harmony export */ });
30940
+ /* harmony import */ var _opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/otlp-transformer */ "../../node_modules/@opentelemetry/otlp-transformer/build/esm/trace/index.js");
30941
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30942
+
30943
+
30944
+ var SessionRecorderJsonTraceSerializer = {
30945
+ serializeRequest: function (arg) {
30946
+ var filteredArg = arg.filter(function (span) {
30947
+ var traceId = span.spanContext().traceId;
30948
+ if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
30949
+ || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30950
+ || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
30951
+ return true;
30952
+ }
30953
+ return false;
30954
+ });
30955
+ var request = (0,_opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__.createExportTraceServiceRequest)(filteredArg, {
30956
+ useHex: true,
30957
+ useLongBits: false,
30958
+ });
30959
+ var encoder = new TextEncoder();
30960
+ return encoder.encode(JSON.stringify(request));
30961
+ },
30962
+ deserializeResponse: function (arg) {
30963
+ var decoder = new TextDecoder();
30964
+ return JSON.parse(decoder.decode(arg));
30965
+ },
30966
+ };
30967
+ //# sourceMappingURL=SessionRecorderJsonTraceSerializer.js.map
30968
+
30969
+ /***/ }),
30970
+
30971
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js":
30972
+ /*!**************************************************************************************!*\
30973
+ !*** ../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js ***!
30974
+ \**************************************************************************************/
30975
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30976
+
30977
+ "use strict";
30978
+ __webpack_require__.r(__webpack_exports__);
30979
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30980
+ /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* binding */ SessionRecorderTraceIdRatioBasedSampler)
30981
+ /* harmony export */ });
30982
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30983
+ /* harmony import */ var _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/sdk-trace-base */ "../../node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js");
30984
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30985
+
30986
+
30987
+
30988
+ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30989
+ function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
30990
+ if (_ratio === void 0) { _ratio = 0; }
30991
+ this._ratio = _ratio;
30992
+ this._ratio = this._normalize(_ratio);
30993
+ this._upperBound = Math.floor(this._ratio * 0xffffffff);
30994
+ }
30995
+ SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
30996
+ if (this._ratio > 0
30997
+ && traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)) {
30998
+ return {
30999
+ decision: _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.RECORD_AND_SAMPLED,
31000
+ };
30653
31001
  }
30654
31002
  var decision = _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.NOT_RECORD;
30655
31003
  if ((0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isValidTraceId)(traceId)
@@ -30682,10 +31030,10 @@ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30682
31030
 
30683
31031
  /***/ }),
30684
31032
 
30685
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js":
30686
- /*!******************************************************************************************!*\
30687
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js ***!
30688
- \******************************************************************************************/
31033
+ /***/ "../session-recorder-common/dist/esm/constants.base.js":
31034
+ /*!*************************************************************!*\
31035
+ !*** ../session-recorder-common/dist/esm/constants.base.js ***!
31036
+ \*************************************************************/
30689
31037
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30690
31038
 
30691
31039
  "use strict";
@@ -30758,10 +31106,10 @@ var MASK_PLACEHOLDER = '***MASKED***';
30758
31106
 
30759
31107
  /***/ }),
30760
31108
 
30761
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js":
30762
- /*!*********************************************************************************************!*\
30763
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js ***!
30764
- \*********************************************************************************************/
31109
+ /***/ "../session-recorder-common/dist/esm/constants.browser.js":
31110
+ /*!****************************************************************!*\
31111
+ !*** ../session-recorder-common/dist/esm/constants.browser.js ***!
31112
+ \****************************************************************/
30765
31113
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30766
31114
 
30767
31115
  "use strict";
@@ -30799,16 +31147,16 @@ __webpack_require__.r(__webpack_exports__);
30799
31147
  /* harmony export */ MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH),
30800
31148
  /* harmony export */ MULTIPLAYER_TRACE_DOC_PREFIX: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30801
31149
  /* harmony export */ });
30802
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
31150
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30803
31151
 
30804
31152
  //# sourceMappingURL=constants.browser.js.map
30805
31153
 
30806
31154
  /***/ }),
30807
31155
 
30808
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js":
30809
- /*!*****************************************************************************************!*\
30810
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js ***!
30811
- \*****************************************************************************************/
31156
+ /***/ "../session-recorder-common/dist/esm/index-browser.js":
31157
+ /*!************************************************************!*\
31158
+ !*** ../session-recorder-common/dist/esm/index-browser.js ***!
31159
+ \************************************************************/
30812
31160
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30813
31161
 
30814
31162
  "use strict";
@@ -30852,13 +31200,13 @@ __webpack_require__.r(__webpack_exports__);
30852
31200
  /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* reexport safe */ _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderTraceIdRatioBasedSampler),
30853
31201
  /* harmony export */ SessionType: () => (/* reexport safe */ _type__WEBPACK_IMPORTED_MODULE_6__.SessionType)
30854
31202
  /* harmony export */ });
30855
- /* harmony import */ var _constants_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.browser */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js");
30856
- /* harmony import */ var _SessionRecorderHttpTraceExporterBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderHttpTraceExporterBrowser */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js");
30857
- /* harmony import */ var _SessionRecorderIdGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SessionRecorderIdGenerator */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js");
30858
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30859
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30860
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30861
- /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./type */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js");
31203
+ /* harmony import */ var _constants_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.browser */ "../session-recorder-common/dist/esm/constants.browser.js");
31204
+ /* harmony import */ var _SessionRecorderHttpTraceExporterBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderHttpTraceExporterBrowser */ "../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js");
31205
+ /* harmony import */ var _SessionRecorderIdGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SessionRecorderIdGenerator */ "../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js");
31206
+ /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
31207
+ /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
31208
+ /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "../session-recorder-common/dist/esm/sdk/index.js");
31209
+ /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./type */ "../session-recorder-common/dist/esm/type/index.js");
30862
31210
 
30863
31211
 
30864
31212
 
@@ -30871,10 +31219,10 @@ __webpack_require__.r(__webpack_exports__);
30871
31219
 
30872
31220
  /***/ }),
30873
31221
 
30874
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js":
30875
- /*!*************************************************************************************************!*\
30876
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js ***!
30877
- \*************************************************************************************************/
31222
+ /***/ "../session-recorder-common/dist/esm/sdk/capture-exception.js":
31223
+ /*!********************************************************************!*\
31224
+ !*** ../session-recorder-common/dist/esm/sdk/capture-exception.js ***!
31225
+ \********************************************************************/
30878
31226
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30879
31227
 
30880
31228
  "use strict";
@@ -30907,10 +31255,10 @@ var captureException = function (error) {
30907
31255
 
30908
31256
  /***/ }),
30909
31257
 
30910
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js":
30911
- /*!********************************************************************************************!*\
30912
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js ***!
30913
- \********************************************************************************************/
31258
+ /***/ "../session-recorder-common/dist/esm/sdk/id-generator.js":
31259
+ /*!***************************************************************!*\
31260
+ !*** ../session-recorder-common/dist/esm/sdk/id-generator.js ***!
31261
+ \***************************************************************/
30914
31262
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30915
31263
 
30916
31264
  "use strict";
@@ -30935,10 +31283,10 @@ var getIdGenerator = function (bytes) {
30935
31283
 
30936
31284
  /***/ }),
30937
31285
 
30938
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js":
30939
- /*!*************************************************************************************!*\
30940
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js ***!
30941
- \*************************************************************************************/
31286
+ /***/ "../session-recorder-common/dist/esm/sdk/index.js":
31287
+ /*!********************************************************!*\
31288
+ !*** ../session-recorder-common/dist/esm/sdk/index.js ***!
31289
+ \********************************************************/
30942
31290
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30943
31291
 
30944
31292
  "use strict";
@@ -30963,13 +31311,13 @@ __webpack_require__.r(__webpack_exports__);
30963
31311
  /* harmony export */ setRpcRequestMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcRequestMessage),
30964
31312
  /* harmony export */ setRpcResponseMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcResponseMessage)
30965
31313
  /* harmony export */ });
30966
- /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mask */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js");
30967
- /* harmony import */ var _schemify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./schemify */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js");
30968
- /* harmony import */ var _is_gzip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./is-gzip */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js");
30969
- /* harmony import */ var _id_generator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./id-generator */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js");
30970
- /* harmony import */ var _capture_exception__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./capture-exception */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js");
30971
- /* harmony import */ var _set_attribute__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./set-attribute */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js");
30972
- /* harmony import */ var _save_continuous_deb_session__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./save-continuous-deb-session */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js");
31314
+ /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mask */ "../session-recorder-common/dist/esm/sdk/mask.js");
31315
+ /* harmony import */ var _schemify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./schemify */ "../session-recorder-common/dist/esm/sdk/schemify.js");
31316
+ /* harmony import */ var _is_gzip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./is-gzip */ "../session-recorder-common/dist/esm/sdk/is-gzip.js");
31317
+ /* harmony import */ var _id_generator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./id-generator */ "../session-recorder-common/dist/esm/sdk/id-generator.js");
31318
+ /* harmony import */ var _capture_exception__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./capture-exception */ "../session-recorder-common/dist/esm/sdk/capture-exception.js");
31319
+ /* harmony import */ var _set_attribute__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./set-attribute */ "../session-recorder-common/dist/esm/sdk/set-attribute.js");
31320
+ /* harmony import */ var _save_continuous_deb_session__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./save-continuous-deb-session */ "../session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js");
30973
31321
 
30974
31322
 
30975
31323
 
@@ -30981,10 +31329,10 @@ __webpack_require__.r(__webpack_exports__);
30981
31329
 
30982
31330
  /***/ }),
30983
31331
 
30984
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js":
30985
- /*!***************************************************************************************!*\
30986
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js ***!
30987
- \***************************************************************************************/
31332
+ /***/ "../session-recorder-common/dist/esm/sdk/is-gzip.js":
31333
+ /*!**********************************************************!*\
31334
+ !*** ../session-recorder-common/dist/esm/sdk/is-gzip.js ***!
31335
+ \**********************************************************/
30988
31336
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30989
31337
 
30990
31338
  "use strict";
@@ -31002,10 +31350,10 @@ var isGzip = function (buf) {
31002
31350
 
31003
31351
  /***/ }),
31004
31352
 
31005
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js":
31006
- /*!************************************************************************************!*\
31007
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js ***!
31008
- \************************************************************************************/
31353
+ /***/ "../session-recorder-common/dist/esm/sdk/mask.js":
31354
+ /*!*******************************************************!*\
31355
+ !*** ../session-recorder-common/dist/esm/sdk/mask.js ***!
31356
+ \*******************************************************/
31009
31357
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31010
31358
 
31011
31359
  "use strict";
@@ -31015,7 +31363,7 @@ __webpack_require__.r(__webpack_exports__);
31015
31363
  /* harmony export */ sensitiveFields: () => (/* binding */ sensitiveFields),
31016
31364
  /* harmony export */ sensitiveHeaders: () => (/* binding */ sensitiveHeaders)
31017
31365
  /* harmony export */ });
31018
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
31366
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31019
31367
 
31020
31368
  var MAX_DEPTH = 8;
31021
31369
  var sensitiveFields = [
@@ -31167,10 +31515,10 @@ var maskSelected = function (value, keysToMask) {
31167
31515
 
31168
31516
  /***/ }),
31169
31517
 
31170
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js":
31171
- /*!***********************************************************************************************************!*\
31172
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js ***!
31173
- \***********************************************************************************************************/
31518
+ /***/ "../session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js":
31519
+ /*!******************************************************************************!*\
31520
+ !*** ../session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js ***!
31521
+ \******************************************************************************/
31174
31522
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31175
31523
 
31176
31524
  "use strict";
@@ -31180,7 +31528,7 @@ __webpack_require__.r(__webpack_exports__);
31180
31528
  /* harmony export */ });
31181
31529
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31182
31530
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31183
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
31531
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31184
31532
 
31185
31533
 
31186
31534
  /**
@@ -31205,10 +31553,10 @@ var saveContinuousSession = function (reason) {
31205
31553
 
31206
31554
  /***/ }),
31207
31555
 
31208
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js":
31209
- /*!****************************************************************************************!*\
31210
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js ***!
31211
- \****************************************************************************************/
31556
+ /***/ "../session-recorder-common/dist/esm/sdk/schemify.js":
31557
+ /*!***********************************************************!*\
31558
+ !*** ../session-recorder-common/dist/esm/sdk/schemify.js ***!
31559
+ \***********************************************************/
31212
31560
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31213
31561
 
31214
31562
  "use strict";
@@ -31272,10 +31620,10 @@ var defaultSchemifyOptions = {
31272
31620
 
31273
31621
  /***/ }),
31274
31622
 
31275
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js":
31276
- /*!*********************************************************************************************!*\
31277
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31278
- \*********************************************************************************************/
31623
+ /***/ "../session-recorder-common/dist/esm/sdk/set-attribute.js":
31624
+ /*!****************************************************************!*\
31625
+ !*** ../session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31626
+ \****************************************************************/
31279
31627
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31280
31628
 
31281
31629
  "use strict";
@@ -31294,8 +31642,8 @@ __webpack_require__.r(__webpack_exports__);
31294
31642
  /* harmony export */ });
31295
31643
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31296
31644
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31297
- /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js");
31298
- /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js");
31645
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31646
+ /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask */ "../session-recorder-common/dist/esm/sdk/mask.js");
31299
31647
 
31300
31648
 
31301
31649
 
@@ -31440,401 +31788,59 @@ var setGrpcRequestMessage = function (body, options) {
31440
31788
  span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE, body);
31441
31789
  };
31442
31790
  /**
31443
- * @description Set grpc response message to current span attributes
31444
- * @param body
31445
- * @param {{ mask: boolean }} options
31446
- * @returns {void}
31447
- */
31448
- var setGrpcResponseMessage = function (body, options) {
31449
- if (options === void 0) { options = { mask: true }; }
31450
- var span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.trace.getSpan(_opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.context.active());
31451
- if (!span)
31452
- return;
31453
- if (options === null || options === void 0 ? void 0 : options.mask) {
31454
- body = (0,_mask__WEBPACK_IMPORTED_MODULE_1__["default"])(_mask__WEBPACK_IMPORTED_MODULE_1__.sensitiveFields)(body, span);
31455
- }
31456
- span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, body);
31457
- };
31458
- //# sourceMappingURL=set-attribute.js.map
31459
-
31460
- /***/ }),
31461
-
31462
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js":
31463
- /*!**************************************************************************************!*\
31464
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js ***!
31465
- \**************************************************************************************/
31466
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31467
-
31468
- "use strict";
31469
- __webpack_require__.r(__webpack_exports__);
31470
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31471
- /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31472
- /* harmony export */ });
31473
- /* harmony import */ var _session_type_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./session-type.enum */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js");
31474
-
31475
- //# sourceMappingURL=index.js.map
31476
-
31477
- /***/ }),
31478
-
31479
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js":
31480
- /*!**************************************************************************************************!*\
31481
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js ***!
31482
- \**************************************************************************************************/
31483
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31484
-
31485
- "use strict";
31486
- __webpack_require__.r(__webpack_exports__);
31487
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31488
- /* harmony export */ SessionType: () => (/* binding */ SessionType)
31489
- /* harmony export */ });
31490
- var SessionType;
31491
- (function (SessionType) {
31492
- SessionType["CONTINUOUS"] = "CONTINUOUS";
31493
- SessionType["PLAIN"] = "MANUAL";
31494
- })(SessionType || (SessionType = {}));
31495
- //# sourceMappingURL=session-type.enum.js.map
31496
-
31497
- /***/ }),
31498
-
31499
- /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
31500
- /*!***************************************************************************!*\
31501
- !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
31502
- \***************************************************************************/
31503
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31504
-
31505
- "use strict";
31506
- __webpack_require__.r(__webpack_exports__);
31507
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31508
- /* harmony export */ validateKey: () => (/* binding */ validateKey),
31509
- /* harmony export */ validateValue: () => (/* binding */ validateValue)
31510
- /* harmony export */ });
31511
- /*
31512
- * Copyright The OpenTelemetry Authors
31513
- *
31514
- * Licensed under the Apache License, Version 2.0 (the "License");
31515
- * you may not use this file except in compliance with the License.
31516
- * You may obtain a copy of the License at
31517
- *
31518
- * https://www.apache.org/licenses/LICENSE-2.0
31519
- *
31520
- * Unless required by applicable law or agreed to in writing, software
31521
- * distributed under the License is distributed on an "AS IS" BASIS,
31522
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31523
- * See the License for the specific language governing permissions and
31524
- * limitations under the License.
31525
- */
31526
- var VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';
31527
- var VALID_KEY = "[a-z]" + VALID_KEY_CHAR_RANGE + "{0,255}";
31528
- var VALID_VENDOR_KEY = "[a-z0-9]" + VALID_KEY_CHAR_RANGE + "{0,240}@[a-z]" + VALID_KEY_CHAR_RANGE + "{0,13}";
31529
- var VALID_KEY_REGEX = new RegExp("^(?:" + VALID_KEY + "|" + VALID_VENDOR_KEY + ")$");
31530
- var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
31531
- var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
31532
- /**
31533
- * Key is opaque string up to 256 characters printable. It MUST begin with a
31534
- * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,
31535
- * underscores _, dashes -, asterisks *, and forward slashes /.
31536
- * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the
31537
- * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.
31538
- * see https://www.w3.org/TR/trace-context/#key
31539
- */
31540
- function validateKey(key) {
31541
- return VALID_KEY_REGEX.test(key);
31542
- }
31543
- /**
31544
- * Value is opaque string up to 256 characters printable ASCII RFC0020
31545
- * characters (i.e., the range 0x20 to 0x7E) except comma , and =.
31546
- */
31547
- function validateValue(value) {
31548
- return (VALID_VALUE_BASE_REGEX.test(value) &&
31549
- !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));
31550
- }
31551
- //# sourceMappingURL=validators.js.map
31552
-
31553
- /***/ }),
31554
-
31555
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js":
31556
- /*!************************************************************************!*\
31557
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js ***!
31558
- \************************************************************************/
31559
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31560
-
31561
- "use strict";
31562
- __webpack_require__.r(__webpack_exports__);
31563
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31564
- /* harmony export */ TraceState: () => (/* binding */ TraceState)
31565
- /* harmony export */ });
31566
- /* harmony import */ var _internal_validators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/validators */ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js");
31567
- /*
31568
- * Copyright The OpenTelemetry Authors
31569
- *
31570
- * Licensed under the Apache License, Version 2.0 (the "License");
31571
- * you may not use this file except in compliance with the License.
31572
- * You may obtain a copy of the License at
31573
- *
31574
- * https://www.apache.org/licenses/LICENSE-2.0
31575
- *
31576
- * Unless required by applicable law or agreed to in writing, software
31577
- * distributed under the License is distributed on an "AS IS" BASIS,
31578
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31579
- * See the License for the specific language governing permissions and
31580
- * limitations under the License.
31581
- */
31582
-
31583
- var MAX_TRACE_STATE_ITEMS = 32;
31584
- var MAX_TRACE_STATE_LEN = 512;
31585
- var LIST_MEMBERS_SEPARATOR = ',';
31586
- var LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
31587
- /**
31588
- * TraceState must be a class and not a simple object type because of the spec
31589
- * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).
31590
- *
31591
- * Here is the list of allowed mutations:
31592
- * - New key-value pair should be added into the beginning of the list
31593
- * - The value of any key can be updated. Modified keys MUST be moved to the
31594
- * beginning of the list.
31791
+ * @description Set grpc response message to current span attributes
31792
+ * @param body
31793
+ * @param {{ mask: boolean }} options
31794
+ * @returns {void}
31595
31795
  */
31596
- var TraceState = /** @class */ (function () {
31597
- function TraceState(rawTraceState) {
31598
- this._internalState = new Map();
31599
- if (rawTraceState)
31600
- this._parse(rawTraceState);
31796
+ var setGrpcResponseMessage = function (body, options) {
31797
+ if (options === void 0) { options = { mask: true }; }
31798
+ var span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.trace.getSpan(_opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.context.active());
31799
+ if (!span)
31800
+ return;
31801
+ if (options === null || options === void 0 ? void 0 : options.mask) {
31802
+ body = (0,_mask__WEBPACK_IMPORTED_MODULE_1__["default"])(_mask__WEBPACK_IMPORTED_MODULE_1__.sensitiveFields)(body, span);
31601
31803
  }
31602
- TraceState.prototype.set = function (key, value) {
31603
- // TODO: Benchmark the different approaches(map vs list) and
31604
- // use the faster one.
31605
- var traceState = this._clone();
31606
- if (traceState._internalState.has(key)) {
31607
- traceState._internalState.delete(key);
31608
- }
31609
- traceState._internalState.set(key, value);
31610
- return traceState;
31611
- };
31612
- TraceState.prototype.unset = function (key) {
31613
- var traceState = this._clone();
31614
- traceState._internalState.delete(key);
31615
- return traceState;
31616
- };
31617
- TraceState.prototype.get = function (key) {
31618
- return this._internalState.get(key);
31619
- };
31620
- TraceState.prototype.serialize = function () {
31621
- var _this = this;
31622
- return this._keys()
31623
- .reduce(function (agg, key) {
31624
- agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + _this.get(key));
31625
- return agg;
31626
- }, [])
31627
- .join(LIST_MEMBERS_SEPARATOR);
31628
- };
31629
- TraceState.prototype._parse = function (rawTraceState) {
31630
- if (rawTraceState.length > MAX_TRACE_STATE_LEN)
31631
- return;
31632
- this._internalState = rawTraceState
31633
- .split(LIST_MEMBERS_SEPARATOR)
31634
- .reverse() // Store in reverse so new keys (.set(...)) will be placed at the beginning
31635
- .reduce(function (agg, part) {
31636
- var listMember = part.trim(); // Optional Whitespace (OWS) handling
31637
- var i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
31638
- if (i !== -1) {
31639
- var key = listMember.slice(0, i);
31640
- var value = listMember.slice(i + 1, part.length);
31641
- if ((0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateKey)(key) && (0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateValue)(value)) {
31642
- agg.set(key, value);
31643
- }
31644
- else {
31645
- // TODO: Consider to add warning log
31646
- }
31647
- }
31648
- return agg;
31649
- }, new Map());
31650
- // Because of the reverse() requirement, trunc must be done after map is created
31651
- if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
31652
- this._internalState = new Map(Array.from(this._internalState.entries())
31653
- .reverse() // Use reverse same as original tracestate parse chain
31654
- .slice(0, MAX_TRACE_STATE_ITEMS));
31655
- }
31656
- };
31657
- TraceState.prototype._keys = function () {
31658
- return Array.from(this._internalState.keys()).reverse();
31659
- };
31660
- TraceState.prototype._clone = function () {
31661
- var traceState = new TraceState();
31662
- traceState._internalState = new Map(this._internalState);
31663
- return traceState;
31664
- };
31665
- return TraceState;
31666
- }());
31667
-
31668
- //# sourceMappingURL=TraceState.js.map
31804
+ span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, body);
31805
+ };
31806
+ //# sourceMappingURL=set-attribute.js.map
31669
31807
 
31670
31808
  /***/ }),
31671
31809
 
31672
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
31673
- /*!***************************************************************************************!*\
31674
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
31675
- \***************************************************************************************/
31810
+ /***/ "../session-recorder-common/dist/esm/type/index.js":
31811
+ /*!*********************************************************!*\
31812
+ !*** ../session-recorder-common/dist/esm/type/index.js ***!
31813
+ \*********************************************************/
31676
31814
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31677
31815
 
31678
31816
  "use strict";
31679
31817
  __webpack_require__.r(__webpack_exports__);
31680
31818
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31681
- /* harmony export */ TRACE_PARENT_HEADER: () => (/* binding */ TRACE_PARENT_HEADER),
31682
- /* harmony export */ TRACE_STATE_HEADER: () => (/* binding */ TRACE_STATE_HEADER),
31683
- /* harmony export */ W3CTraceContextPropagator: () => (/* binding */ W3CTraceContextPropagator),
31684
- /* harmony export */ parseTraceParent: () => (/* binding */ parseTraceParent)
31819
+ /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31685
31820
  /* harmony export */ });
31686
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31687
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
31688
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js");
31689
- /* harmony import */ var _suppress_tracing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./suppress-tracing */ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js");
31690
- /* harmony import */ var _TraceState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TraceState */ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js");
31691
- /*
31692
- * Copyright The OpenTelemetry Authors
31693
- *
31694
- * Licensed under the Apache License, Version 2.0 (the "License");
31695
- * you may not use this file except in compliance with the License.
31696
- * You may obtain a copy of the License at
31697
- *
31698
- * https://www.apache.org/licenses/LICENSE-2.0
31699
- *
31700
- * Unless required by applicable law or agreed to in writing, software
31701
- * distributed under the License is distributed on an "AS IS" BASIS,
31702
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31703
- * See the License for the specific language governing permissions and
31704
- * limitations under the License.
31705
- */
31706
-
31707
-
31708
-
31709
- var TRACE_PARENT_HEADER = 'traceparent';
31710
- var TRACE_STATE_HEADER = 'tracestate';
31711
- var VERSION = '00';
31712
- var VERSION_PART = '(?!ff)[\\da-f]{2}';
31713
- var TRACE_ID_PART = '(?![0]{32})[\\da-f]{32}';
31714
- var PARENT_ID_PART = '(?![0]{16})[\\da-f]{16}';
31715
- var FLAGS_PART = '[\\da-f]{2}';
31716
- var TRACE_PARENT_REGEX = new RegExp("^\\s?(" + VERSION_PART + ")-(" + TRACE_ID_PART + ")-(" + PARENT_ID_PART + ")-(" + FLAGS_PART + ")(-.*)?\\s?$");
31717
- /**
31718
- * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}
31719
- * @param traceParent - A meta property that comes from server.
31720
- * It should be dynamically generated server side to have the server's request trace Id,
31721
- * a parent span Id that was set on the server's request span,
31722
- * and the trace flags to indicate the server's sampling decision
31723
- * (01 = sampled, 00 = not sampled).
31724
- * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'
31725
- * For more information see {@link https://www.w3.org/TR/trace-context/}
31726
- */
31727
- function parseTraceParent(traceParent) {
31728
- var match = TRACE_PARENT_REGEX.exec(traceParent);
31729
- if (!match)
31730
- return null;
31731
- // According to the specification the implementation should be compatible
31732
- // with future versions. If there are more parts, we only reject it if it's using version 00
31733
- // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent
31734
- if (match[1] === '00' && match[5])
31735
- return null;
31736
- return {
31737
- traceId: match[2],
31738
- spanId: match[3],
31739
- traceFlags: parseInt(match[4], 16),
31740
- };
31741
- }
31742
- /**
31743
- * Propagates {@link SpanContext} through Trace Context format propagation.
31744
- *
31745
- * Based on the Trace Context specification:
31746
- * https://www.w3.org/TR/trace-context/
31747
- */
31748
- var W3CTraceContextPropagator = /** @class */ (function () {
31749
- function W3CTraceContextPropagator() {
31750
- }
31751
- W3CTraceContextPropagator.prototype.inject = function (context, carrier, setter) {
31752
- var spanContext = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.getSpanContext(context);
31753
- if (!spanContext ||
31754
- (0,_suppress_tracing__WEBPACK_IMPORTED_MODULE_1__.isTracingSuppressed)(context) ||
31755
- !(0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isSpanContextValid)(spanContext))
31756
- return;
31757
- var traceParent = VERSION + "-" + spanContext.traceId + "-" + spanContext.spanId + "-0" + Number(spanContext.traceFlags || _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.TraceFlags.NONE).toString(16);
31758
- setter.set(carrier, TRACE_PARENT_HEADER, traceParent);
31759
- if (spanContext.traceState) {
31760
- setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());
31761
- }
31762
- };
31763
- W3CTraceContextPropagator.prototype.extract = function (context, carrier, getter) {
31764
- var traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);
31765
- if (!traceParentHeader)
31766
- return context;
31767
- var traceParent = Array.isArray(traceParentHeader)
31768
- ? traceParentHeader[0]
31769
- : traceParentHeader;
31770
- if (typeof traceParent !== 'string')
31771
- return context;
31772
- var spanContext = parseTraceParent(traceParent);
31773
- if (!spanContext)
31774
- return context;
31775
- spanContext.isRemote = true;
31776
- var traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);
31777
- if (traceStateHeader) {
31778
- // If more than one `tracestate` header is found, we merge them into a
31779
- // single header.
31780
- var state = Array.isArray(traceStateHeader)
31781
- ? traceStateHeader.join(',')
31782
- : traceStateHeader;
31783
- spanContext.traceState = new _TraceState__WEBPACK_IMPORTED_MODULE_4__.TraceState(typeof state === 'string' ? state : undefined);
31784
- }
31785
- return _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.setSpanContext(context, spanContext);
31786
- };
31787
- W3CTraceContextPropagator.prototype.fields = function () {
31788
- return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];
31789
- };
31790
- return W3CTraceContextPropagator;
31791
- }());
31821
+ /* harmony import */ var _session_type_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./session-type.enum */ "../session-recorder-common/dist/esm/type/session-type.enum.js");
31792
31822
 
31793
- //# sourceMappingURL=W3CTraceContextPropagator.js.map
31823
+ //# sourceMappingURL=index.js.map
31794
31824
 
31795
31825
  /***/ }),
31796
31826
 
31797
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
31798
- /*!******************************************************************************!*\
31799
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
31800
- \******************************************************************************/
31827
+ /***/ "../session-recorder-common/dist/esm/type/session-type.enum.js":
31828
+ /*!*********************************************************************!*\
31829
+ !*** ../session-recorder-common/dist/esm/type/session-type.enum.js ***!
31830
+ \*********************************************************************/
31801
31831
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31802
31832
 
31803
31833
  "use strict";
31804
31834
  __webpack_require__.r(__webpack_exports__);
31805
31835
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31806
- /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
31807
- /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
31808
- /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
31836
+ /* harmony export */ SessionType: () => (/* binding */ SessionType)
31809
31837
  /* harmony export */ });
31810
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context/context.js");
31811
- /*
31812
- * Copyright The OpenTelemetry Authors
31813
- *
31814
- * Licensed under the Apache License, Version 2.0 (the "License");
31815
- * you may not use this file except in compliance with the License.
31816
- * You may obtain a copy of the License at
31817
- *
31818
- * https://www.apache.org/licenses/LICENSE-2.0
31819
- *
31820
- * Unless required by applicable law or agreed to in writing, software
31821
- * distributed under the License is distributed on an "AS IS" BASIS,
31822
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31823
- * See the License for the specific language governing permissions and
31824
- * limitations under the License.
31825
- */
31826
-
31827
- var SUPPRESS_TRACING_KEY = (0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.createContextKey)('OpenTelemetry SDK Context Key SUPPRESS_TRACING');
31828
- function suppressTracing(context) {
31829
- return context.setValue(SUPPRESS_TRACING_KEY, true);
31830
- }
31831
- function unsuppressTracing(context) {
31832
- return context.deleteValue(SUPPRESS_TRACING_KEY);
31833
- }
31834
- function isTracingSuppressed(context) {
31835
- return context.getValue(SUPPRESS_TRACING_KEY) === true;
31836
- }
31837
- //# sourceMappingURL=suppress-tracing.js.map
31838
+ var SessionType;
31839
+ (function (SessionType) {
31840
+ SessionType["CONTINUOUS"] = "CONTINUOUS";
31841
+ SessionType["PLAIN"] = "MANUAL";
31842
+ })(SessionType || (SessionType = {}));
31843
+ //# sourceMappingURL=session-type.enum.js.map
31838
31844
 
31839
31845
  /***/ }),
31840
31846
 
@@ -50229,7 +50235,7 @@ __webpack_require__.r(__webpack_exports__);
50229
50235
  /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./src/listeners.ts");
50230
50236
  /* harmony import */ var _eventBus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eventBus */ "./src/eventBus.ts");
50231
50237
  /* harmony import */ var _sessionRecorder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sessionRecorder */ "./src/sessionRecorder.ts");
50232
- /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js");
50238
+ /* harmony import */ var _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @multiplayer-app/session-recorder-common */ "../session-recorder-common/dist/esm/index-browser.js");
50233
50239
 
50234
50240
 
50235
50241