@multiplayer-app/session-recorder-browser 0.0.9 → 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.9" || 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;
@@ -27024,7 +27024,7 @@ __webpack_require__.r(__webpack_exports__);
27024
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");
27025
27025
  /* harmony import */ var _opentelemetry_instrumentation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @opentelemetry/instrumentation */ "../../node_modules/@opentelemetry/instrumentation/build/esm/autoLoader.js");
27026
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");
27027
- /* 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");
27028
27028
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
27029
27029
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./src/otel/helpers.ts");
27030
27030
 
@@ -27509,7 +27509,7 @@ __webpack_require__.r(__webpack_exports__);
27509
27509
  /* harmony export */ });
27510
27510
  /* harmony import */ var _rrweb_packer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @rrweb/packer */ "../../node_modules/@rrweb/packer/dist/packer.js");
27511
27511
  /* harmony import */ var rrweb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rrweb */ "../../node_modules/rrweb/dist/rrweb.js");
27512
- /* 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");
27513
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");
27514
27514
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
27515
27515
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
@@ -27928,7 +27928,7 @@ __webpack_require__.r(__webpack_exports__);
27928
27928
  /* harmony import */ var _services_messaging_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./services/messaging.service */ "./src/services/messaging.service.ts");
27929
27929
  /* harmony import */ var _services_api_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./services/api.service */ "./src/services/api.service.ts");
27930
27930
  /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./index.scss */ "./src/index.scss");
27931
- /* 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");
27932
27932
  /* harmony import */ var _sessionWidget_buttonStateConfigs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./sessionWidget/buttonStateConfigs */ "./src/sessionWidget/buttonStateConfigs.ts");
27933
27933
 
27934
27934
 
@@ -30367,295 +30367,637 @@ const isFile = (x) => {
30367
30367
 
30368
30368
  /***/ }),
30369
30369
 
30370
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30371
- /*!*******************************************************************************************************************!*\
30372
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30373
- \*******************************************************************************************************************/
30370
+ /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
30371
+ /*!***************************************************************************!*\
30372
+ !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
30373
+ \***************************************************************************/
30374
30374
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30375
30375
 
30376
30376
  "use strict";
30377
30377
  __webpack_require__.r(__webpack_exports__);
30378
30378
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30379
- /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30379
+ /* harmony export */ validateKey: () => (/* binding */ validateKey),
30380
+ /* harmony export */ validateValue: () => (/* binding */ validateValue)
30380
30381
  /* harmony export */ });
30381
- /* 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");
30382
- /* 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");
30383
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30384
- /* 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");
30385
- var __extends = (undefined && undefined.__extends) || (function () {
30386
- var extendStatics = function (d, b) {
30387
- extendStatics = Object.setPrototypeOf ||
30388
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30389
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30390
- return extendStatics(d, b);
30391
- };
30392
- return function (d, b) {
30393
- if (typeof b !== "function" && b !== null)
30394
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30395
- extendStatics(d, b);
30396
- function __() { this.constructor = d; }
30397
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30398
- };
30399
- })();
30400
- var __assign = (undefined && undefined.__assign) || function () {
30401
- __assign = Object.assign || function(t) {
30402
- for (var s, i = 1, n = arguments.length; i < n; i++) {
30403
- s = arguments[i];
30404
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
30405
- t[p] = s[p];
30406
- }
30407
- return t;
30408
- };
30409
- return __assign.apply(this, arguments);
30410
- };
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
30411
30423
 
30424
+ /***/ }),
30412
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__) => {
30413
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
+ */
30414
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 = '=';
30415
30458
  /**
30416
- * 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.
30417
30466
  */
30418
- var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
30419
- __extends(SessionRecorderHttpTraceExporterBrowser, _super);
30420
- function SessionRecorderHttpTraceExporterBrowser(config) {
30421
- if (config === void 0) { config = {}; }
30422
- var _this = this;
30423
- 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
30424
- ? { Authorization: config.apiKey }
30425
- : {}) });
30426
- _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;
30427
- _this.usePostMessage = false;
30428
- _this.config = config;
30429
- _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
30430
- _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
30431
- return _this;
30467
+ var TraceState = /** @class */ (function () {
30468
+ function TraceState(rawTraceState) {
30469
+ this._internalState = new Map();
30470
+ if (rawTraceState)
30471
+ this._parse(rawTraceState);
30432
30472
  }
30433
- SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
30434
- var _this = this;
30435
- if (this.usePostMessage) {
30436
- this.exportViaPostMessage(spans, resultCallback);
30437
- 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);
30438
30479
  }
30439
- _super.prototype.export.call(this, spans, function (result) {
30440
- if (result.code === 0) {
30441
- resultCallback(result);
30442
- }
30443
- else if (_this.config.usePostMessageFallback) {
30444
- _this.usePostMessage = true;
30445
- _this.exportViaPostMessage(spans, resultCallback);
30446
- }
30447
- else {
30448
- resultCallback(result);
30449
- }
30450
- });
30480
+ traceState._internalState.set(key, value);
30481
+ return traceState;
30451
30482
  };
30452
- 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 () {
30453
30492
  var _this = this;
30454
- if (typeof window === 'undefined') {
30455
- 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)
30456
30502
  return;
30457
- }
30458
- try {
30459
- window.postMessage({
30460
- action: 'traces',
30461
- type: this.postMessageType,
30462
- payload: spans.map(function (span) { return _this._serializeSpan(span); }),
30463
- }, this.postMessageTargetOrigin);
30464
- resultCallback({ code: 0 });
30465
- }
30466
- catch (e) {
30467
- 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));
30468
30526
  }
30469
30527
  };
30470
- SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
30471
- return {
30472
- _spanContext: span.spanContext(),
30473
- name: span.name,
30474
- kind: span.kind,
30475
- links: span.links,
30476
- ended: span.ended,
30477
- events: span.events,
30478
- status: span.status,
30479
- endTime: span.endTime,
30480
- startTime: span.startTime,
30481
- duration: span.duration,
30482
- attributes: span.attributes,
30483
- parentSpanId: span.parentSpanId,
30484
- instrumentationLibrary: span.instrumentationLibrary,
30485
- droppedAttributesCount: span.droppedAttributesCount,
30486
- droppedEventsCount: span.droppedEventsCount,
30487
- droppedLinksCount: span.droppedLinksCount,
30488
- resource: {
30489
- attributes: span.resource.attributes,
30490
- asyncAttributesPending: span.resource.asyncAttributesPending,
30491
- },
30492
- };
30528
+ TraceState.prototype._keys = function () {
30529
+ return Array.from(this._internalState.keys()).reverse();
30493
30530
  };
30494
- SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
30495
- 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;
30496
30535
  };
30497
- return SessionRecorderHttpTraceExporterBrowser;
30498
- }(_opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__.OTLPExporterBase));
30536
+ return TraceState;
30537
+ }());
30499
30538
 
30500
- //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
30539
+ //# sourceMappingURL=TraceState.js.map
30501
30540
 
30502
30541
  /***/ }),
30503
30542
 
30504
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js":
30505
- /*!******************************************************************************************************!*\
30506
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js ***!
30507
- \******************************************************************************************************/
30508
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30543
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
30544
+ /*!***************************************************************************************!*\
30545
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
30546
+ \***************************************************************************************/
30547
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30509
30548
 
30510
30549
  "use strict";
30511
30550
  __webpack_require__.r(__webpack_exports__);
30512
30551
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30513
- /* 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)
30514
30556
  /* harmony export */ });
30515
- /* 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");
30516
- /* 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");
30517
- /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./type */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js");
30518
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30519
- /* 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");
30520
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30521
- var __extends = (undefined && undefined.__extends) || (function () {
30522
- var extendStatics = function (d, b) {
30523
- extendStatics = Object.setPrototypeOf ||
30524
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30525
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30526
- return extendStatics(d, b);
30527
- };
30528
- return function (d, b) {
30529
- if (typeof b !== "function" && b !== null)
30530
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30531
- extendStatics(d, b);
30532
- function __() { this.constructor = d; }
30533
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30534
- };
30535
- })();
30536
-
30537
-
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
+ */
30538
30577
 
30539
30578
 
30540
30579
 
30541
- var SessionRecorderIdGenerator = /** @class */ (function (_super) {
30542
- __extends(SessionRecorderIdGenerator, _super);
30543
- function SessionRecorderIdGenerator(_a) {
30544
- var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
30545
- var _this = _super.call(this) || this;
30546
- _this.docSpanSampler = new _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
30547
- _this.generateLongId = (0,_sdk__WEBPACK_IMPORTED_MODULE_3__.getIdGenerator)(16);
30548
- _this.sessionShortId = '';
30549
- _this.sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN;
30550
- _this.generateTraceId = function () {
30551
- var traceId = _this.generateLongId();
30552
- if (_this.sessionShortId) {
30553
- var sessionTypePrefix = '';
30554
- switch (_this.sessionType) {
30555
- case _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.CONTINUOUS:
30556
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
30557
- break;
30558
- default:
30559
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DEBUG_PREFIX;
30560
- }
30561
- var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
30562
- var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
30563
- return sessionTraceId;
30564
- }
30565
- else if (_this._isDocTrace(traceId)) {
30566
- 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));
30567
- }
30568
- return traceId;
30569
- };
30570
- 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() {
30571
30621
  }
30572
- SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
30573
- if (sessionType === void 0) { sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN; }
30574
- this.sessionShortId = sessionShortId;
30575
- 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
+ }
30576
30633
  };
30577
- SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
30578
- 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);
30579
30657
  };
30580
- return SessionRecorderIdGenerator;
30581
- }(_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
+ }());
30582
30663
 
30583
- //# sourceMappingURL=SessionRecorderIdGenerator.js.map
30664
+ //# sourceMappingURL=W3CTraceContextPropagator.js.map
30584
30665
 
30585
30666
  /***/ }),
30586
30667
 
30587
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js":
30588
- /*!**************************************************************************************************************!*\
30589
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js ***!
30590
- \**************************************************************************************************************/
30668
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
30669
+ /*!******************************************************************************!*\
30670
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
30671
+ \******************************************************************************/
30591
30672
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30592
30673
 
30593
30674
  "use strict";
30594
30675
  __webpack_require__.r(__webpack_exports__);
30595
30676
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30596
- /* harmony export */ SessionRecorderJsonTraceSerializer: () => (/* binding */ SessionRecorderJsonTraceSerializer)
30677
+ /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
30678
+ /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
30679
+ /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
30597
30680
  /* harmony export */ });
30598
- /* 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");
30599
- /* 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");
30600
-
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
+ */
30601
30697
 
30602
- var SessionRecorderJsonTraceSerializer = {
30603
- serializeRequest: function (arg) {
30604
- var filteredArg = arg.filter(function (span) {
30605
- var traceId = span.spanContext().traceId;
30606
- if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
30607
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30608
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
30609
- return true;
30610
- }
30611
- return false;
30612
- });
30613
- var request = (0,_opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__.createExportTraceServiceRequest)(filteredArg, {
30614
- useHex: true,
30615
- useLongBits: false,
30616
- });
30617
- var encoder = new TextEncoder();
30618
- return encoder.encode(JSON.stringify(request));
30619
- },
30620
- deserializeResponse: function (arg) {
30621
- var decoder = new TextDecoder();
30622
- return JSON.parse(decoder.decode(arg));
30623
- },
30624
- };
30625
- //# 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
30626
30709
 
30627
30710
  /***/ }),
30628
30711
 
30629
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js":
30630
- /*!*******************************************************************************************************************!*\
30631
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js ***!
30632
- \*******************************************************************************************************************/
30712
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30713
+ /*!**************************************************************************************!*\
30714
+ !*** ../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30715
+ \**************************************************************************************/
30633
30716
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30634
30717
 
30635
30718
  "use strict";
30636
30719
  __webpack_require__.r(__webpack_exports__);
30637
30720
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30638
- /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* binding */ SessionRecorderTraceIdRatioBasedSampler)
30721
+ /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30639
30722
  /* harmony export */ });
30640
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30641
- /* 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");
30642
- /* 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");
30643
-
30644
-
30645
-
30646
- var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30647
- function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
30648
- if (_ratio === void 0) { _ratio = 0; }
30649
- this._ratio = _ratio;
30650
- this._ratio = this._normalize(_ratio);
30651
- this._upperBound = Math.floor(this._ratio * 0xffffffff);
30652
- }
30653
- SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
30654
- if (this._ratio > 0
30655
- && traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)) {
30656
- return {
30657
- decision: _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.RECORD_AND_SAMPLED,
30658
- };
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
+ };
30659
31001
  }
30660
31002
  var decision = _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.NOT_RECORD;
30661
31003
  if ((0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isValidTraceId)(traceId)
@@ -30688,10 +31030,10 @@ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30688
31030
 
30689
31031
  /***/ }),
30690
31032
 
30691
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js":
30692
- /*!******************************************************************************************!*\
30693
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js ***!
30694
- \******************************************************************************************/
31033
+ /***/ "../session-recorder-common/dist/esm/constants.base.js":
31034
+ /*!*************************************************************!*\
31035
+ !*** ../session-recorder-common/dist/esm/constants.base.js ***!
31036
+ \*************************************************************/
30695
31037
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30696
31038
 
30697
31039
  "use strict";
@@ -30764,10 +31106,10 @@ var MASK_PLACEHOLDER = '***MASKED***';
30764
31106
 
30765
31107
  /***/ }),
30766
31108
 
30767
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js":
30768
- /*!*********************************************************************************************!*\
30769
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js ***!
30770
- \*********************************************************************************************/
31109
+ /***/ "../session-recorder-common/dist/esm/constants.browser.js":
31110
+ /*!****************************************************************!*\
31111
+ !*** ../session-recorder-common/dist/esm/constants.browser.js ***!
31112
+ \****************************************************************/
30771
31113
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30772
31114
 
30773
31115
  "use strict";
@@ -30805,16 +31147,16 @@ __webpack_require__.r(__webpack_exports__);
30805
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),
30806
31148
  /* harmony export */ MULTIPLAYER_TRACE_DOC_PREFIX: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30807
31149
  /* harmony export */ });
30808
- /* 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");
30809
31151
 
30810
31152
  //# sourceMappingURL=constants.browser.js.map
30811
31153
 
30812
31154
  /***/ }),
30813
31155
 
30814
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js":
30815
- /*!*****************************************************************************************!*\
30816
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js ***!
30817
- \*****************************************************************************************/
31156
+ /***/ "../session-recorder-common/dist/esm/index-browser.js":
31157
+ /*!************************************************************!*\
31158
+ !*** ../session-recorder-common/dist/esm/index-browser.js ***!
31159
+ \************************************************************/
30818
31160
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30819
31161
 
30820
31162
  "use strict";
@@ -30858,13 +31200,13 @@ __webpack_require__.r(__webpack_exports__);
30858
31200
  /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* reexport safe */ _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderTraceIdRatioBasedSampler),
30859
31201
  /* harmony export */ SessionType: () => (/* reexport safe */ _type__WEBPACK_IMPORTED_MODULE_6__.SessionType)
30860
31202
  /* harmony export */ });
30861
- /* 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");
30862
- /* harmony import */ var _SessionRecorderHttpTraceExporterBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderHttpTraceExporterBrowser */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js");
30863
- /* harmony import */ var _SessionRecorderIdGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SessionRecorderIdGenerator */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js");
30864
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30865
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30866
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30867
- /* 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");
30868
31210
 
30869
31211
 
30870
31212
 
@@ -30877,10 +31219,10 @@ __webpack_require__.r(__webpack_exports__);
30877
31219
 
30878
31220
  /***/ }),
30879
31221
 
30880
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js":
30881
- /*!*************************************************************************************************!*\
30882
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js ***!
30883
- \*************************************************************************************************/
31222
+ /***/ "../session-recorder-common/dist/esm/sdk/capture-exception.js":
31223
+ /*!********************************************************************!*\
31224
+ !*** ../session-recorder-common/dist/esm/sdk/capture-exception.js ***!
31225
+ \********************************************************************/
30884
31226
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30885
31227
 
30886
31228
  "use strict";
@@ -30913,10 +31255,10 @@ var captureException = function (error) {
30913
31255
 
30914
31256
  /***/ }),
30915
31257
 
30916
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js":
30917
- /*!********************************************************************************************!*\
30918
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js ***!
30919
- \********************************************************************************************/
31258
+ /***/ "../session-recorder-common/dist/esm/sdk/id-generator.js":
31259
+ /*!***************************************************************!*\
31260
+ !*** ../session-recorder-common/dist/esm/sdk/id-generator.js ***!
31261
+ \***************************************************************/
30920
31262
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30921
31263
 
30922
31264
  "use strict";
@@ -30941,10 +31283,10 @@ var getIdGenerator = function (bytes) {
30941
31283
 
30942
31284
  /***/ }),
30943
31285
 
30944
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js":
30945
- /*!*************************************************************************************!*\
30946
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js ***!
30947
- \*************************************************************************************/
31286
+ /***/ "../session-recorder-common/dist/esm/sdk/index.js":
31287
+ /*!********************************************************!*\
31288
+ !*** ../session-recorder-common/dist/esm/sdk/index.js ***!
31289
+ \********************************************************/
30948
31290
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30949
31291
 
30950
31292
  "use strict";
@@ -30969,13 +31311,13 @@ __webpack_require__.r(__webpack_exports__);
30969
31311
  /* harmony export */ setRpcRequestMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcRequestMessage),
30970
31312
  /* harmony export */ setRpcResponseMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcResponseMessage)
30971
31313
  /* harmony export */ });
30972
- /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mask */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js");
30973
- /* harmony import */ var _schemify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./schemify */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js");
30974
- /* 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");
30975
- /* 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");
30976
- /* 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");
30977
- /* 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");
30978
- /* 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");
30979
31321
 
30980
31322
 
30981
31323
 
@@ -30987,10 +31329,10 @@ __webpack_require__.r(__webpack_exports__);
30987
31329
 
30988
31330
  /***/ }),
30989
31331
 
30990
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js":
30991
- /*!***************************************************************************************!*\
30992
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js ***!
30993
- \***************************************************************************************/
31332
+ /***/ "../session-recorder-common/dist/esm/sdk/is-gzip.js":
31333
+ /*!**********************************************************!*\
31334
+ !*** ../session-recorder-common/dist/esm/sdk/is-gzip.js ***!
31335
+ \**********************************************************/
30994
31336
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30995
31337
 
30996
31338
  "use strict";
@@ -31008,10 +31350,10 @@ var isGzip = function (buf) {
31008
31350
 
31009
31351
  /***/ }),
31010
31352
 
31011
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js":
31012
- /*!************************************************************************************!*\
31013
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js ***!
31014
- \************************************************************************************/
31353
+ /***/ "../session-recorder-common/dist/esm/sdk/mask.js":
31354
+ /*!*******************************************************!*\
31355
+ !*** ../session-recorder-common/dist/esm/sdk/mask.js ***!
31356
+ \*******************************************************/
31015
31357
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31016
31358
 
31017
31359
  "use strict";
@@ -31021,7 +31363,7 @@ __webpack_require__.r(__webpack_exports__);
31021
31363
  /* harmony export */ sensitiveFields: () => (/* binding */ sensitiveFields),
31022
31364
  /* harmony export */ sensitiveHeaders: () => (/* binding */ sensitiveHeaders)
31023
31365
  /* harmony export */ });
31024
- /* 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");
31025
31367
 
31026
31368
  var MAX_DEPTH = 8;
31027
31369
  var sensitiveFields = [
@@ -31173,10 +31515,10 @@ var maskSelected = function (value, keysToMask) {
31173
31515
 
31174
31516
  /***/ }),
31175
31517
 
31176
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js":
31177
- /*!***********************************************************************************************************!*\
31178
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js ***!
31179
- \***********************************************************************************************************/
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
+ \******************************************************************************/
31180
31522
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31181
31523
 
31182
31524
  "use strict";
@@ -31186,7 +31528,7 @@ __webpack_require__.r(__webpack_exports__);
31186
31528
  /* harmony export */ });
31187
31529
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31188
31530
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31189
- /* 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");
31190
31532
 
31191
31533
 
31192
31534
  /**
@@ -31211,10 +31553,10 @@ var saveContinuousSession = function (reason) {
31211
31553
 
31212
31554
  /***/ }),
31213
31555
 
31214
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js":
31215
- /*!****************************************************************************************!*\
31216
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js ***!
31217
- \****************************************************************************************/
31556
+ /***/ "../session-recorder-common/dist/esm/sdk/schemify.js":
31557
+ /*!***********************************************************!*\
31558
+ !*** ../session-recorder-common/dist/esm/sdk/schemify.js ***!
31559
+ \***********************************************************/
31218
31560
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31219
31561
 
31220
31562
  "use strict";
@@ -31278,10 +31620,10 @@ var defaultSchemifyOptions = {
31278
31620
 
31279
31621
  /***/ }),
31280
31622
 
31281
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js":
31282
- /*!*********************************************************************************************!*\
31283
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31284
- \*********************************************************************************************/
31623
+ /***/ "../session-recorder-common/dist/esm/sdk/set-attribute.js":
31624
+ /*!****************************************************************!*\
31625
+ !*** ../session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31626
+ \****************************************************************/
31285
31627
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31286
31628
 
31287
31629
  "use strict";
@@ -31300,8 +31642,8 @@ __webpack_require__.r(__webpack_exports__);
31300
31642
  /* harmony export */ });
31301
31643
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31302
31644
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31303
- /* 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");
31304
- /* 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");
31305
31647
 
31306
31648
 
31307
31649
 
@@ -31446,401 +31788,59 @@ var setGrpcRequestMessage = function (body, options) {
31446
31788
  span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE, body);
31447
31789
  };
31448
31790
  /**
31449
- * @description Set grpc response message to current span attributes
31450
- * @param body
31451
- * @param {{ mask: boolean }} options
31452
- * @returns {void}
31453
- */
31454
- var setGrpcResponseMessage = function (body, options) {
31455
- if (options === void 0) { options = { mask: true }; }
31456
- var span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.trace.getSpan(_opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.context.active());
31457
- if (!span)
31458
- return;
31459
- if (options === null || options === void 0 ? void 0 : options.mask) {
31460
- body = (0,_mask__WEBPACK_IMPORTED_MODULE_1__["default"])(_mask__WEBPACK_IMPORTED_MODULE_1__.sensitiveFields)(body, span);
31461
- }
31462
- span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, body);
31463
- };
31464
- //# sourceMappingURL=set-attribute.js.map
31465
-
31466
- /***/ }),
31467
-
31468
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js":
31469
- /*!**************************************************************************************!*\
31470
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js ***!
31471
- \**************************************************************************************/
31472
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31473
-
31474
- "use strict";
31475
- __webpack_require__.r(__webpack_exports__);
31476
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31477
- /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31478
- /* harmony export */ });
31479
- /* 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");
31480
-
31481
- //# sourceMappingURL=index.js.map
31482
-
31483
- /***/ }),
31484
-
31485
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js":
31486
- /*!**************************************************************************************************!*\
31487
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js ***!
31488
- \**************************************************************************************************/
31489
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31490
-
31491
- "use strict";
31492
- __webpack_require__.r(__webpack_exports__);
31493
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31494
- /* harmony export */ SessionType: () => (/* binding */ SessionType)
31495
- /* harmony export */ });
31496
- var SessionType;
31497
- (function (SessionType) {
31498
- SessionType["CONTINUOUS"] = "CONTINUOUS";
31499
- SessionType["PLAIN"] = "MANUAL";
31500
- })(SessionType || (SessionType = {}));
31501
- //# sourceMappingURL=session-type.enum.js.map
31502
-
31503
- /***/ }),
31504
-
31505
- /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
31506
- /*!***************************************************************************!*\
31507
- !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
31508
- \***************************************************************************/
31509
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31510
-
31511
- "use strict";
31512
- __webpack_require__.r(__webpack_exports__);
31513
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31514
- /* harmony export */ validateKey: () => (/* binding */ validateKey),
31515
- /* harmony export */ validateValue: () => (/* binding */ validateValue)
31516
- /* harmony export */ });
31517
- /*
31518
- * Copyright The OpenTelemetry Authors
31519
- *
31520
- * Licensed under the Apache License, Version 2.0 (the "License");
31521
- * you may not use this file except in compliance with the License.
31522
- * You may obtain a copy of the License at
31523
- *
31524
- * https://www.apache.org/licenses/LICENSE-2.0
31525
- *
31526
- * Unless required by applicable law or agreed to in writing, software
31527
- * distributed under the License is distributed on an "AS IS" BASIS,
31528
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31529
- * See the License for the specific language governing permissions and
31530
- * limitations under the License.
31531
- */
31532
- var VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';
31533
- var VALID_KEY = "[a-z]" + VALID_KEY_CHAR_RANGE + "{0,255}";
31534
- var VALID_VENDOR_KEY = "[a-z0-9]" + VALID_KEY_CHAR_RANGE + "{0,240}@[a-z]" + VALID_KEY_CHAR_RANGE + "{0,13}";
31535
- var VALID_KEY_REGEX = new RegExp("^(?:" + VALID_KEY + "|" + VALID_VENDOR_KEY + ")$");
31536
- var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
31537
- var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
31538
- /**
31539
- * Key is opaque string up to 256 characters printable. It MUST begin with a
31540
- * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,
31541
- * underscores _, dashes -, asterisks *, and forward slashes /.
31542
- * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the
31543
- * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.
31544
- * see https://www.w3.org/TR/trace-context/#key
31545
- */
31546
- function validateKey(key) {
31547
- return VALID_KEY_REGEX.test(key);
31548
- }
31549
- /**
31550
- * Value is opaque string up to 256 characters printable ASCII RFC0020
31551
- * characters (i.e., the range 0x20 to 0x7E) except comma , and =.
31552
- */
31553
- function validateValue(value) {
31554
- return (VALID_VALUE_BASE_REGEX.test(value) &&
31555
- !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));
31556
- }
31557
- //# sourceMappingURL=validators.js.map
31558
-
31559
- /***/ }),
31560
-
31561
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js":
31562
- /*!************************************************************************!*\
31563
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js ***!
31564
- \************************************************************************/
31565
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31566
-
31567
- "use strict";
31568
- __webpack_require__.r(__webpack_exports__);
31569
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31570
- /* harmony export */ TraceState: () => (/* binding */ TraceState)
31571
- /* harmony export */ });
31572
- /* harmony import */ var _internal_validators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/validators */ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js");
31573
- /*
31574
- * Copyright The OpenTelemetry Authors
31575
- *
31576
- * Licensed under the Apache License, Version 2.0 (the "License");
31577
- * you may not use this file except in compliance with the License.
31578
- * You may obtain a copy of the License at
31579
- *
31580
- * https://www.apache.org/licenses/LICENSE-2.0
31581
- *
31582
- * Unless required by applicable law or agreed to in writing, software
31583
- * distributed under the License is distributed on an "AS IS" BASIS,
31584
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31585
- * See the License for the specific language governing permissions and
31586
- * limitations under the License.
31587
- */
31588
-
31589
- var MAX_TRACE_STATE_ITEMS = 32;
31590
- var MAX_TRACE_STATE_LEN = 512;
31591
- var LIST_MEMBERS_SEPARATOR = ',';
31592
- var LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
31593
- /**
31594
- * TraceState must be a class and not a simple object type because of the spec
31595
- * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).
31596
- *
31597
- * Here is the list of allowed mutations:
31598
- * - New key-value pair should be added into the beginning of the list
31599
- * - The value of any key can be updated. Modified keys MUST be moved to the
31600
- * 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}
31601
31795
  */
31602
- var TraceState = /** @class */ (function () {
31603
- function TraceState(rawTraceState) {
31604
- this._internalState = new Map();
31605
- if (rawTraceState)
31606
- 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);
31607
31803
  }
31608
- TraceState.prototype.set = function (key, value) {
31609
- // TODO: Benchmark the different approaches(map vs list) and
31610
- // use the faster one.
31611
- var traceState = this._clone();
31612
- if (traceState._internalState.has(key)) {
31613
- traceState._internalState.delete(key);
31614
- }
31615
- traceState._internalState.set(key, value);
31616
- return traceState;
31617
- };
31618
- TraceState.prototype.unset = function (key) {
31619
- var traceState = this._clone();
31620
- traceState._internalState.delete(key);
31621
- return traceState;
31622
- };
31623
- TraceState.prototype.get = function (key) {
31624
- return this._internalState.get(key);
31625
- };
31626
- TraceState.prototype.serialize = function () {
31627
- var _this = this;
31628
- return this._keys()
31629
- .reduce(function (agg, key) {
31630
- agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + _this.get(key));
31631
- return agg;
31632
- }, [])
31633
- .join(LIST_MEMBERS_SEPARATOR);
31634
- };
31635
- TraceState.prototype._parse = function (rawTraceState) {
31636
- if (rawTraceState.length > MAX_TRACE_STATE_LEN)
31637
- return;
31638
- this._internalState = rawTraceState
31639
- .split(LIST_MEMBERS_SEPARATOR)
31640
- .reverse() // Store in reverse so new keys (.set(...)) will be placed at the beginning
31641
- .reduce(function (agg, part) {
31642
- var listMember = part.trim(); // Optional Whitespace (OWS) handling
31643
- var i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
31644
- if (i !== -1) {
31645
- var key = listMember.slice(0, i);
31646
- var value = listMember.slice(i + 1, part.length);
31647
- if ((0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateKey)(key) && (0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateValue)(value)) {
31648
- agg.set(key, value);
31649
- }
31650
- else {
31651
- // TODO: Consider to add warning log
31652
- }
31653
- }
31654
- return agg;
31655
- }, new Map());
31656
- // Because of the reverse() requirement, trunc must be done after map is created
31657
- if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
31658
- this._internalState = new Map(Array.from(this._internalState.entries())
31659
- .reverse() // Use reverse same as original tracestate parse chain
31660
- .slice(0, MAX_TRACE_STATE_ITEMS));
31661
- }
31662
- };
31663
- TraceState.prototype._keys = function () {
31664
- return Array.from(this._internalState.keys()).reverse();
31665
- };
31666
- TraceState.prototype._clone = function () {
31667
- var traceState = new TraceState();
31668
- traceState._internalState = new Map(this._internalState);
31669
- return traceState;
31670
- };
31671
- return TraceState;
31672
- }());
31673
-
31674
- //# 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
31675
31807
 
31676
31808
  /***/ }),
31677
31809
 
31678
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
31679
- /*!***************************************************************************************!*\
31680
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
31681
- \***************************************************************************************/
31810
+ /***/ "../session-recorder-common/dist/esm/type/index.js":
31811
+ /*!*********************************************************!*\
31812
+ !*** ../session-recorder-common/dist/esm/type/index.js ***!
31813
+ \*********************************************************/
31682
31814
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31683
31815
 
31684
31816
  "use strict";
31685
31817
  __webpack_require__.r(__webpack_exports__);
31686
31818
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31687
- /* harmony export */ TRACE_PARENT_HEADER: () => (/* binding */ TRACE_PARENT_HEADER),
31688
- /* harmony export */ TRACE_STATE_HEADER: () => (/* binding */ TRACE_STATE_HEADER),
31689
- /* harmony export */ W3CTraceContextPropagator: () => (/* binding */ W3CTraceContextPropagator),
31690
- /* harmony export */ parseTraceParent: () => (/* binding */ parseTraceParent)
31819
+ /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31691
31820
  /* harmony export */ });
31692
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31693
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
31694
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js");
31695
- /* harmony import */ var _suppress_tracing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./suppress-tracing */ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js");
31696
- /* harmony import */ var _TraceState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TraceState */ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js");
31697
- /*
31698
- * Copyright The OpenTelemetry Authors
31699
- *
31700
- * Licensed under the Apache License, Version 2.0 (the "License");
31701
- * you may not use this file except in compliance with the License.
31702
- * You may obtain a copy of the License at
31703
- *
31704
- * https://www.apache.org/licenses/LICENSE-2.0
31705
- *
31706
- * Unless required by applicable law or agreed to in writing, software
31707
- * distributed under the License is distributed on an "AS IS" BASIS,
31708
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31709
- * See the License for the specific language governing permissions and
31710
- * limitations under the License.
31711
- */
31712
-
31713
-
31714
-
31715
- var TRACE_PARENT_HEADER = 'traceparent';
31716
- var TRACE_STATE_HEADER = 'tracestate';
31717
- var VERSION = '00';
31718
- var VERSION_PART = '(?!ff)[\\da-f]{2}';
31719
- var TRACE_ID_PART = '(?![0]{32})[\\da-f]{32}';
31720
- var PARENT_ID_PART = '(?![0]{16})[\\da-f]{16}';
31721
- var FLAGS_PART = '[\\da-f]{2}';
31722
- var TRACE_PARENT_REGEX = new RegExp("^\\s?(" + VERSION_PART + ")-(" + TRACE_ID_PART + ")-(" + PARENT_ID_PART + ")-(" + FLAGS_PART + ")(-.*)?\\s?$");
31723
- /**
31724
- * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}
31725
- * @param traceParent - A meta property that comes from server.
31726
- * It should be dynamically generated server side to have the server's request trace Id,
31727
- * a parent span Id that was set on the server's request span,
31728
- * and the trace flags to indicate the server's sampling decision
31729
- * (01 = sampled, 00 = not sampled).
31730
- * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'
31731
- * For more information see {@link https://www.w3.org/TR/trace-context/}
31732
- */
31733
- function parseTraceParent(traceParent) {
31734
- var match = TRACE_PARENT_REGEX.exec(traceParent);
31735
- if (!match)
31736
- return null;
31737
- // According to the specification the implementation should be compatible
31738
- // with future versions. If there are more parts, we only reject it if it's using version 00
31739
- // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent
31740
- if (match[1] === '00' && match[5])
31741
- return null;
31742
- return {
31743
- traceId: match[2],
31744
- spanId: match[3],
31745
- traceFlags: parseInt(match[4], 16),
31746
- };
31747
- }
31748
- /**
31749
- * Propagates {@link SpanContext} through Trace Context format propagation.
31750
- *
31751
- * Based on the Trace Context specification:
31752
- * https://www.w3.org/TR/trace-context/
31753
- */
31754
- var W3CTraceContextPropagator = /** @class */ (function () {
31755
- function W3CTraceContextPropagator() {
31756
- }
31757
- W3CTraceContextPropagator.prototype.inject = function (context, carrier, setter) {
31758
- var spanContext = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.getSpanContext(context);
31759
- if (!spanContext ||
31760
- (0,_suppress_tracing__WEBPACK_IMPORTED_MODULE_1__.isTracingSuppressed)(context) ||
31761
- !(0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isSpanContextValid)(spanContext))
31762
- return;
31763
- var traceParent = VERSION + "-" + spanContext.traceId + "-" + spanContext.spanId + "-0" + Number(spanContext.traceFlags || _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.TraceFlags.NONE).toString(16);
31764
- setter.set(carrier, TRACE_PARENT_HEADER, traceParent);
31765
- if (spanContext.traceState) {
31766
- setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());
31767
- }
31768
- };
31769
- W3CTraceContextPropagator.prototype.extract = function (context, carrier, getter) {
31770
- var traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);
31771
- if (!traceParentHeader)
31772
- return context;
31773
- var traceParent = Array.isArray(traceParentHeader)
31774
- ? traceParentHeader[0]
31775
- : traceParentHeader;
31776
- if (typeof traceParent !== 'string')
31777
- return context;
31778
- var spanContext = parseTraceParent(traceParent);
31779
- if (!spanContext)
31780
- return context;
31781
- spanContext.isRemote = true;
31782
- var traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);
31783
- if (traceStateHeader) {
31784
- // If more than one `tracestate` header is found, we merge them into a
31785
- // single header.
31786
- var state = Array.isArray(traceStateHeader)
31787
- ? traceStateHeader.join(',')
31788
- : traceStateHeader;
31789
- spanContext.traceState = new _TraceState__WEBPACK_IMPORTED_MODULE_4__.TraceState(typeof state === 'string' ? state : undefined);
31790
- }
31791
- return _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.setSpanContext(context, spanContext);
31792
- };
31793
- W3CTraceContextPropagator.prototype.fields = function () {
31794
- return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];
31795
- };
31796
- return W3CTraceContextPropagator;
31797
- }());
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");
31798
31822
 
31799
- //# sourceMappingURL=W3CTraceContextPropagator.js.map
31823
+ //# sourceMappingURL=index.js.map
31800
31824
 
31801
31825
  /***/ }),
31802
31826
 
31803
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
31804
- /*!******************************************************************************!*\
31805
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
31806
- \******************************************************************************/
31827
+ /***/ "../session-recorder-common/dist/esm/type/session-type.enum.js":
31828
+ /*!*********************************************************************!*\
31829
+ !*** ../session-recorder-common/dist/esm/type/session-type.enum.js ***!
31830
+ \*********************************************************************/
31807
31831
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31808
31832
 
31809
31833
  "use strict";
31810
31834
  __webpack_require__.r(__webpack_exports__);
31811
31835
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31812
- /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
31813
- /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
31814
- /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
31836
+ /* harmony export */ SessionType: () => (/* binding */ SessionType)
31815
31837
  /* harmony export */ });
31816
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context/context.js");
31817
- /*
31818
- * Copyright The OpenTelemetry Authors
31819
- *
31820
- * Licensed under the Apache License, Version 2.0 (the "License");
31821
- * you may not use this file except in compliance with the License.
31822
- * You may obtain a copy of the License at
31823
- *
31824
- * https://www.apache.org/licenses/LICENSE-2.0
31825
- *
31826
- * Unless required by applicable law or agreed to in writing, software
31827
- * distributed under the License is distributed on an "AS IS" BASIS,
31828
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31829
- * See the License for the specific language governing permissions and
31830
- * limitations under the License.
31831
- */
31832
-
31833
- var SUPPRESS_TRACING_KEY = (0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.createContextKey)('OpenTelemetry SDK Context Key SUPPRESS_TRACING');
31834
- function suppressTracing(context) {
31835
- return context.setValue(SUPPRESS_TRACING_KEY, true);
31836
- }
31837
- function unsuppressTracing(context) {
31838
- return context.deleteValue(SUPPRESS_TRACING_KEY);
31839
- }
31840
- function isTracingSuppressed(context) {
31841
- return context.getValue(SUPPRESS_TRACING_KEY) === true;
31842
- }
31843
- //# 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
31844
31844
 
31845
31845
  /***/ }),
31846
31846
 
@@ -50235,7 +50235,7 @@ __webpack_require__.r(__webpack_exports__);
50235
50235
  /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./src/listeners.ts");
50236
50236
  /* harmony import */ var _eventBus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eventBus */ "./src/eventBus.ts");
50237
50237
  /* harmony import */ var _sessionRecorder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sessionRecorder */ "./src/sessionRecorder.ts");
50238
- /* 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");
50239
50239
 
50240
50240
 
50241
50241