@multiplayer-app/session-recorder-browser 0.0.13 → 1.0.0

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,19 +26457,19 @@ 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.13" || 0;
26460
+ const PACKAGE_VERSION_EXPORT = "1.0.0" || 0;
26461
26461
  // Regex patterns for OpenTelemetry ignore URLs
26462
26462
  const OTEL_IGNORE_URLS = [
26463
26463
  // Traces endpoint
26464
26464
  /.*\/v1\/traces/,
26465
26465
  // Debug sessions endpoints
26466
26466
  /.*\/v0\/radar\/debug-sessions\/start$/,
26467
- /.*\/v0\/radar\/debug-sessions\/[^\/]+\/stop$/,
26468
- /.*\/v0\/radar\/debug-sessions\/[^\/]+\/cancel$/,
26467
+ /.*\/v0\/radar\/debug-sessions\/[^/]+\/stop$/,
26468
+ /.*\/v0\/radar\/debug-sessions\/[^/]+\/cancel$/,
26469
26469
  // Continuous debug sessions endpoints
26470
26470
  /.*\/v0\/radar\/continuous-debug-sessions\/start$/,
26471
- /.*\/v0\/radar\/continuous-debug-sessions\/[^\/]+\/save$/,
26472
- /.*\/v0\/radar\/continuous-debug-sessions\/[^\/]+\/cancel$/,
26471
+ /.*\/v0\/radar\/continuous-debug-sessions\/[^/]+\/save$/,
26472
+ /.*\/v0\/radar\/continuous-debug-sessions\/[^/]+\/cancel$/,
26473
26473
  // Remote debug session endpoint
26474
26474
  /.*\/v0\/radar\/remote-debug-session\/check$/,
26475
26475
  // Or use a more general pattern to catch all radar API endpoints
@@ -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
 
@@ -26515,6 +26515,7 @@ const BASE_CONFIG = {
26515
26515
  environment: '',
26516
26516
  showWidget: true,
26517
26517
  widgetButtonPlacement: _types__WEBPACK_IMPORTED_MODULE_1__.WidgetButtonPlacement.bottomRight,
26518
+ enableContinuousDebugging: true,
26518
26519
  usePostMessageFallback: false,
26519
26520
  exporterApiBaseUrl: _constants__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_BASE_API_URL,
26520
26521
  recordCanvas: false,
@@ -26526,7 +26527,7 @@ const BASE_CONFIG = {
26526
26527
  maxCapturingHttpPayloadSize: _constants__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,
26527
26528
  captureBody: true,
26528
26529
  captureHeaders: true,
26529
- masking: DEFAULT_MASKING_CONFIG
26530
+ masking: DEFAULT_MASKING_CONFIG,
26530
26531
  };
26531
26532
 
26532
26533
 
@@ -26602,7 +26603,7 @@ __webpack_require__.r(__webpack_exports__);
26602
26603
  /* harmony export */ });
26603
26604
  /* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaults */ "./src/config/defaults.ts");
26604
26605
  /* 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");
26606
+ /* 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
26607
 
26607
26608
 
26608
26609
 
@@ -26667,6 +26668,7 @@ const getSessionRecorderConfig = (c) => {
26667
26668
  exporterApiBaseUrl: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidString)(c.exporterApiBaseUrl, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.exporterApiBaseUrl),
26668
26669
  usePostMessageFallback: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.usePostMessageFallback, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.usePostMessageFallback),
26669
26670
  showWidget: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.showWidget, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.showWidget),
26671
+ enableContinuousDebugging: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.enableContinuousDebugging, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.enableContinuousDebugging),
26670
26672
  recordCanvas: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidBoolean)(c.recordCanvas, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.recordCanvas),
26671
26673
  widgetButtonPlacement: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidEnum)(c.widgetButtonPlacement, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.widgetButtonPlacement, Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.WidgetButtonPlacement)),
26672
26674
  ignoreUrls: (0,_validators__WEBPACK_IMPORTED_MODULE_3__.isValidArray)(c.ignoreUrls, _defaults__WEBPACK_IMPORTED_MODULE_1__.BASE_CONFIG.ignoreUrls),
@@ -26760,7 +26762,7 @@ __webpack_require__.r(__webpack_exports__);
26760
26762
  /* harmony export */ setupListeners: () => (/* binding */ setupListeners)
26761
26763
  /* harmony export */ });
26762
26764
  /* 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");
26765
+ /* 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
26766
 
26765
26767
 
26766
26768
  function setupListeners(sessionRecorder) {
@@ -26819,7 +26821,7 @@ __webpack_require__.r(__webpack_exports__);
26819
26821
  /* harmony export */ processHttpPayload: () => (/* binding */ processHttpPayload),
26820
26822
  /* harmony export */ shouldProcessTrace: () => (/* binding */ shouldProcessTrace)
26821
26823
  /* 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");
26824
+ /* 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
26825
 
26824
26826
 
26825
26827
  const { schemify } = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_0__.SessionRecorderSdk;
@@ -27024,7 +27026,7 @@ __webpack_require__.r(__webpack_exports__);
27024
27026
  /* 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
27027
  /* harmony import */ var _opentelemetry_instrumentation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @opentelemetry/instrumentation */ "../../node_modules/@opentelemetry/instrumentation/build/esm/autoLoader.js");
27026
27028
  /* 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");
27029
+ /* 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
27030
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
27029
27031
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./src/otel/helpers.ts");
27030
27032
 
@@ -27240,7 +27242,7 @@ __webpack_require__.r(__webpack_exports__);
27240
27242
 
27241
27243
  let recordRequestHeaders = true;
27242
27244
  let recordResponseHeaders = true;
27243
- let shouldRecordBody = true;
27245
+ const shouldRecordBody = true;
27244
27246
  let maxCapturingHttpPayloadSize = _config__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE;
27245
27247
  const setMaxCapturingHttpPayloadSize = (_maxCapturingHttpPayloadSize) => {
27246
27248
  maxCapturingHttpPayloadSize = _maxCapturingHttpPayloadSize;
@@ -27248,6 +27250,7 @@ const setMaxCapturingHttpPayloadSize = (_maxCapturingHttpPayloadSize) => {
27248
27250
  const setShouldRecordHttpData = (shouldRecordBody, shouldRecordHeaders) => {
27249
27251
  recordRequestHeaders = shouldRecordHeaders;
27250
27252
  recordResponseHeaders = shouldRecordHeaders;
27253
+ // eslint-disable-next-line
27251
27254
  shouldRecordBody = shouldRecordBody;
27252
27255
  };
27253
27256
  function _tryReadXHRBody({ body, url, }) {
@@ -27278,7 +27281,6 @@ function _tryReadXHRBody({ body, url, }) {
27278
27281
  xhr.open = function (method, url, async = true, username, password) {
27279
27282
  const xhr = this;
27280
27283
  const networkRequest = {};
27281
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27282
27284
  // @ts-ignore
27283
27285
  const requestHeaders = {};
27284
27286
  const originalSetRequestHeader = xhr.setRequestHeader.bind(xhr);
@@ -27304,7 +27306,6 @@ function _tryReadXHRBody({ body, url, }) {
27304
27306
  if (xhr.readyState !== xhr.DONE) {
27305
27307
  return;
27306
27308
  }
27307
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27308
27309
  // @ts-ignore
27309
27310
  const responseHeaders = {};
27310
27311
  const rawHeaders = xhr.getAllResponseHeaders();
@@ -27328,7 +27329,6 @@ function _tryReadXHRBody({ body, url, }) {
27328
27329
  }
27329
27330
  }
27330
27331
  });
27331
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27332
27332
  // @ts-ignore
27333
27333
  xhr.networkRequest = networkRequest;
27334
27334
  originalOpen.call(xhr, method, url, async, username, password);
@@ -27515,7 +27515,7 @@ __webpack_require__.r(__webpack_exports__);
27515
27515
  /* harmony export */ });
27516
27516
  /* harmony import */ var _rrweb_packer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @rrweb/packer */ "../../node_modules/@rrweb/packer/dist/packer.js");
27517
27517
  /* harmony import */ var rrweb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rrweb */ "../../node_modules/rrweb/dist/rrweb.js");
27518
- /* 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");
27518
+ /* 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");
27519
27519
  /* 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");
27520
27520
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
27521
27521
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config/index.ts");
@@ -27605,7 +27605,7 @@ class RecorderBrowserSDK {
27605
27605
  if (typeof maskingConfig.maskConsoleEvent === 'function' && (0,_utils__WEBPACK_IMPORTED_MODULE_3__.isConsoleEvent)(event)) {
27606
27606
  const { data } = event;
27607
27607
  const maskedPayload = maskingConfig.maskConsoleEvent(data.payload);
27608
- event.data = { ...data, payload: maskedPayload, };
27608
+ event.data = { ...data, payload: maskedPayload };
27609
27609
  }
27610
27610
  const packedEvent = (0,_rrweb_packer__WEBPACK_IMPORTED_MODULE_0__.pack)(event);
27611
27611
  this.stoppedAt = new Date(event.timestamp).toISOString();
@@ -27747,7 +27747,7 @@ class ApiService {
27747
27747
  * Check debug session should be started remotely
27748
27748
  */
27749
27749
  async checkRemoteSession(requestBody, signal) {
27750
- return this.makeRequest(`/remote-debug-session/check`, 'POST', requestBody, signal);
27750
+ return this.makeRequest('/remote-debug-session/check', 'POST', requestBody, signal);
27751
27751
  }
27752
27752
  /**
27753
27753
  * Make a request to the session debugger API
@@ -27936,7 +27936,7 @@ __webpack_require__.r(__webpack_exports__);
27936
27936
  /* harmony import */ var _services_messaging_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./services/messaging.service */ "./src/services/messaging.service.ts");
27937
27937
  /* harmony import */ var _services_api_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./services/api.service */ "./src/services/api.service.ts");
27938
27938
  /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./index.scss */ "./src/index.scss");
27939
- /* 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");
27939
+ /* 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");
27940
27940
  /* harmony import */ var _sessionWidget_buttonStateConfigs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./sessionWidget/buttonStateConfigs */ "./src/sessionWidget/buttonStateConfigs.ts");
27941
27941
 
27942
27942
 
@@ -28082,6 +28082,9 @@ class SessionRecorder {
28082
28082
  async save() {
28083
28083
  try {
28084
28084
  this._checkOperation('save');
28085
+ if (!this.continuousDebugging || !this._configs.enableContinuousDebugging) {
28086
+ return;
28087
+ }
28085
28088
  this._sessionWidget.updateSaveContinuousDebugSessionState(_sessionWidget_buttonStateConfigs__WEBPACK_IMPORTED_MODULE_12__.ContinuousDebuggingSaveButtonState.SAVING);
28086
28089
  const res = await this._apiService.saveContinuousDebugSession(this.sessionId, {
28087
28090
  sessionAttributes: this.sessionAttributes,
@@ -28119,6 +28122,10 @@ class SessionRecorder {
28119
28122
  */
28120
28123
  start(type = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__.SessionType.PLAIN, session) {
28121
28124
  this._checkOperation('start');
28125
+ // If continuous debugging is disabled, force plain mode
28126
+ if (type === _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__.SessionType.CONTINUOUS && !this._configs.enableContinuousDebugging) {
28127
+ type = _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_11__.SessionType.PLAIN;
28128
+ }
28122
28129
  this.sessionType = type;
28123
28130
  this._startRequestController = new AbortController();
28124
28131
  if (session) {
@@ -28223,6 +28230,9 @@ class SessionRecorder {
28223
28230
  */
28224
28231
  async checkRemoteContinuousSession(sessionPayload) {
28225
28232
  this._checkOperation('autoStartRemoteContinuousSession');
28233
+ if (!this._configs.enableContinuousDebugging) {
28234
+ return;
28235
+ }
28226
28236
  const payload = {
28227
28237
  sessionAttributes: {
28228
28238
  ...this.sessionAttributes,
@@ -28562,7 +28572,7 @@ class UIManager {
28562
28572
  return;
28563
28573
  }
28564
28574
  button.classList.toggle('disabled', isLoading);
28565
- button.textContent = isLoading ? 'Starting to record...' : 'Start bug-hunting!';
28575
+ button.textContent = isLoading ? 'Starting to record...' : 'Start recording';
28566
28576
  }
28567
28577
  setTimerValue(time) {
28568
28578
  const timerElement = this.recordingOverlay.querySelector('.timer');
@@ -28931,8 +28941,8 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
28931
28941
  type: 'error',
28932
28942
  message: this._error,
28933
28943
  button: {
28934
- text: 'Close', onClick: () => this.hideToast()
28935
- }
28944
+ text: 'Close', onClick: () => this.hideToast(),
28945
+ },
28936
28946
  });
28937
28947
  }
28938
28948
  }
@@ -28982,6 +28992,7 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
28982
28992
  this._finalPopoverVisible = false;
28983
28993
  this._buttonState = _buttonStateConfigs__WEBPACK_IMPORTED_MODULE_6__.ButtonState.IDLE;
28984
28994
  this._continuousDebugging = false;
28995
+ this._enableContinuousDebugging = true;
28985
28996
  this.commentTextarea = null;
28986
28997
  this.dragManager = null;
28987
28998
  this.buttonClickExternalHandler = null;
@@ -29096,6 +29107,7 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
29096
29107
  return;
29097
29108
  this._isInitialized = true;
29098
29109
  this.showRecorderButton = options.showWidget;
29110
+ this._enableContinuousDebugging = options.enableContinuousDebugging;
29099
29111
  const elements = [this.toast];
29100
29112
  if (options.showWidget) {
29101
29113
  elements.push(this.recorderButton, this.initialPopover, this.finalPopover, this.submitSessionDialog);
@@ -29104,6 +29116,13 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
29104
29116
  elements.push(this.overlay, this.submitSessionDialog);
29105
29117
  }
29106
29118
  this.appendElements(elements);
29119
+ // Hide continuous debugging UI when feature is disabled
29120
+ if (!this._enableContinuousDebugging) {
29121
+ const cont = this.initialPopover.querySelector('.mp-session-debugger-continuous-debugging');
29122
+ cont && cont.classList.add('hidden');
29123
+ const overlay = this.initialPopover.querySelector('.mp-session-debugger-continuous-debugging-overlay');
29124
+ overlay && overlay.classList.add('hidden');
29125
+ }
29107
29126
  if (options.showWidget && options.widgetButtonPlacement) {
29108
29127
  this.recorderButton.classList.add(options.widgetButtonPlacement);
29109
29128
  this._recorderPlacement = options.widgetButtonPlacement;
@@ -29169,16 +29188,20 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
29169
29188
  target: this.initialPopover,
29170
29189
  selector: '.mp-start-recording',
29171
29190
  handler: this.startRecording.bind(this),
29172
- }, {
29173
- event: 'change',
29174
- target: this.initialPopover,
29175
- selector: '#mp-session-debugger-continuous-debugging-checkbox',
29176
- handler: this.handleContinuousDebuggingChange.bind(this),
29177
- }, {
29178
- target: this.initialPopover,
29179
- selector: '#mp-save-continuous-debug-session',
29180
- handler: this.handleSaveContinuousDebugSession.bind(this),
29181
- }, {
29191
+ });
29192
+ if (this._enableContinuousDebugging) {
29193
+ events.push({
29194
+ event: 'change',
29195
+ target: this.initialPopover,
29196
+ selector: '#mp-session-debugger-continuous-debugging-checkbox',
29197
+ handler: this.handleContinuousDebuggingChange.bind(this),
29198
+ }, {
29199
+ target: this.initialPopover,
29200
+ selector: '#mp-save-continuous-debug-session',
29201
+ handler: this.handleSaveContinuousDebugSession.bind(this),
29202
+ });
29203
+ }
29204
+ events.push({
29182
29205
  target: this.initialPopover,
29183
29206
  selector: '.mp-session-debugger-modal-close',
29184
29207
  handler: this.handleCloseInitialPopover.bind(this),
@@ -29313,6 +29336,8 @@ class SessionWidget extends lib0_observable__WEBPACK_IMPORTED_MODULE_7__.Observa
29313
29336
  }
29314
29337
  }
29315
29338
  handleContinuousDebuggingChange(e) {
29339
+ if (!this._enableContinuousDebugging)
29340
+ return;
29316
29341
  const checkbox = e.target;
29317
29342
  this.emit('continuous-debugging', [checkbox.checked]);
29318
29343
  }
@@ -29442,13 +29467,14 @@ const finalPopoverTemplate = `
29442
29467
  <a href="https://www.multiplayer.app" target="_blank" rel="noopener noreferrer" title="Multiplayer">
29443
29468
  <div class="mp-session-debugger-popover-logo">${_icons__WEBPACK_IMPORTED_MODULE_0__.LogoSvg}</div>
29444
29469
  </a>
29445
- <button class="mp-session-debugger-dismiss-button">Dismiss report</button>
29470
+ <button class="mp-session-debugger-dismiss-button">Cancel recording</button>
29446
29471
  <button class="mp-session-debugger-modal-close" aria-label="Close">${_icons__WEBPACK_IMPORTED_MODULE_0__.CloseXIcon}</button>
29447
29472
  </div>
29448
29473
  <div class="mp-session-debugger-popover-body">
29449
- <h2>Done capturing?</h2>
29450
- <p>Click the button below to save your report. Optionally, feel free to send a message to Multiplayer.</p>
29451
- <textarea placeholder="Add a comment..." class="mp-session-debugger-popover-textarea"></textarea>
29474
+ <h2>Done recording?</h2>
29475
+ <p>Save your full-stack session recording in our sandbox.
29476
+ You can also leave a quick message, just like a real user would for a bug report.</p>
29477
+ <textarea placeholder="Add a message..." class="mp-session-debugger-popover-textarea"></textarea>
29452
29478
  <div class="mp-session-debugger-popover-footer">
29453
29479
  <button class="mp-session-debugger-popover-button mp-stop-recording">Save</button>
29454
29480
  </div>
@@ -29566,8 +29592,8 @@ const initialPopoverTemplate = `
29566
29592
  <span></span>
29567
29593
  </label>
29568
29594
  </div>
29569
- <h2>Encountered an issue?</h2>
29570
- <p>Help us improve by sharing what went wrong. We'll record your steps, so we can see exactly what happened.</p>
29595
+ <h2>Want to record a new session?</h2>
29596
+ <p>Start a fresh full-stack session recording, and continue chatting and bug-hunting!</p>
29571
29597
  <div class="mp-session-debugger-popover-footer">
29572
29598
  <button class="mp-session-debugger-popover-button mp-start-recording">Start Recording!</button>
29573
29599
  </div>
@@ -30190,7 +30216,7 @@ const isSessionActive = (session, continuousDebugging) => {
30190
30216
  };
30191
30217
  const isConsoleEvent = (event) => {
30192
30218
  var _a;
30193
- return event.type === rrweb__WEBPACK_IMPORTED_MODULE_1__.EventType.Plugin && ((_a = event.data) === null || _a === void 0 ? void 0 : _a.plugin) === "rrweb/console@1";
30219
+ return event.type === rrweb__WEBPACK_IMPORTED_MODULE_1__.EventType.Plugin && ((_a = event.data) === null || _a === void 0 ? void 0 : _a.plugin) === 'rrweb/console@1';
30194
30220
  };
30195
30221
 
30196
30222
 
@@ -30372,295 +30398,637 @@ const isFile = (x) => {
30372
30398
 
30373
30399
  /***/ }),
30374
30400
 
30375
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30376
- /*!*******************************************************************************************************************!*\
30377
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30378
- \*******************************************************************************************************************/
30401
+ /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
30402
+ /*!***************************************************************************!*\
30403
+ !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
30404
+ \***************************************************************************/
30379
30405
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30380
30406
 
30381
30407
  "use strict";
30382
30408
  __webpack_require__.r(__webpack_exports__);
30383
30409
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30384
- /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30410
+ /* harmony export */ validateKey: () => (/* binding */ validateKey),
30411
+ /* harmony export */ validateValue: () => (/* binding */ validateValue)
30385
30412
  /* harmony export */ });
30386
- /* 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");
30387
- /* 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");
30388
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30389
- /* 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");
30390
- var __extends = (undefined && undefined.__extends) || (function () {
30391
- var extendStatics = function (d, b) {
30392
- extendStatics = Object.setPrototypeOf ||
30393
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30394
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30395
- return extendStatics(d, b);
30396
- };
30397
- return function (d, b) {
30398
- if (typeof b !== "function" && b !== null)
30399
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30400
- extendStatics(d, b);
30401
- function __() { this.constructor = d; }
30402
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30403
- };
30404
- })();
30405
- var __assign = (undefined && undefined.__assign) || function () {
30406
- __assign = Object.assign || function(t) {
30407
- for (var s, i = 1, n = arguments.length; i < n; i++) {
30408
- s = arguments[i];
30409
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
30410
- t[p] = s[p];
30411
- }
30412
- return t;
30413
- };
30414
- return __assign.apply(this, arguments);
30415
- };
30416
-
30417
-
30418
-
30419
-
30413
+ /*
30414
+ * Copyright The OpenTelemetry Authors
30415
+ *
30416
+ * Licensed under the Apache License, Version 2.0 (the "License");
30417
+ * you may not use this file except in compliance with the License.
30418
+ * You may obtain a copy of the License at
30419
+ *
30420
+ * https://www.apache.org/licenses/LICENSE-2.0
30421
+ *
30422
+ * Unless required by applicable law or agreed to in writing, software
30423
+ * distributed under the License is distributed on an "AS IS" BASIS,
30424
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30425
+ * See the License for the specific language governing permissions and
30426
+ * limitations under the License.
30427
+ */
30428
+ var VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';
30429
+ var VALID_KEY = "[a-z]" + VALID_KEY_CHAR_RANGE + "{0,255}";
30430
+ var VALID_VENDOR_KEY = "[a-z0-9]" + VALID_KEY_CHAR_RANGE + "{0,240}@[a-z]" + VALID_KEY_CHAR_RANGE + "{0,13}";
30431
+ var VALID_KEY_REGEX = new RegExp("^(?:" + VALID_KEY + "|" + VALID_VENDOR_KEY + ")$");
30432
+ var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
30433
+ var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
30420
30434
  /**
30421
- * Trace Exporters for Web with postMessage fallback
30435
+ * Key is opaque string up to 256 characters printable. It MUST begin with a
30436
+ * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,
30437
+ * underscores _, dashes -, asterisks *, and forward slashes /.
30438
+ * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the
30439
+ * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.
30440
+ * see https://www.w3.org/TR/trace-context/#key
30422
30441
  */
30423
- var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
30424
- __extends(SessionRecorderHttpTraceExporterBrowser, _super);
30425
- function SessionRecorderHttpTraceExporterBrowser(config) {
30426
- if (config === void 0) { config = {}; }
30427
- var _this = this;
30428
- 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
30429
- ? { Authorization: config.apiKey }
30430
- : {}) });
30431
- _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;
30432
- _this.usePostMessage = false;
30433
- _this.config = config;
30434
- _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
30435
- _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
30436
- return _this;
30437
- }
30438
- SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
30439
- var _this = this;
30440
- if (this.usePostMessage) {
30441
- this.exportViaPostMessage(spans, resultCallback);
30442
- return;
30443
- }
30444
- _super.prototype.export.call(this, spans, function (result) {
30445
- if (result.code === 0) {
30446
- resultCallback(result);
30447
- }
30448
- else if (_this.config.usePostMessageFallback) {
30449
- _this.usePostMessage = true;
30450
- _this.exportViaPostMessage(spans, resultCallback);
30451
- }
30452
- else {
30453
- resultCallback(result);
30454
- }
30455
- });
30456
- };
30457
- SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
30458
- var _this = this;
30459
- if (typeof window === 'undefined') {
30460
- resultCallback({ code: 1 });
30461
- return;
30462
- }
30463
- try {
30464
- window.postMessage({
30465
- action: 'traces',
30466
- type: this.postMessageType,
30467
- payload: spans.map(function (span) { return _this._serializeSpan(span); }),
30468
- }, this.postMessageTargetOrigin);
30469
- resultCallback({ code: 0 });
30470
- }
30471
- catch (e) {
30472
- resultCallback({ code: 1 });
30473
- }
30474
- };
30475
- SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
30476
- return {
30477
- _spanContext: span.spanContext(),
30478
- name: span.name,
30479
- kind: span.kind,
30480
- links: span.links,
30481
- ended: span.ended,
30482
- events: span.events,
30483
- status: span.status,
30484
- endTime: span.endTime,
30485
- startTime: span.startTime,
30486
- duration: span.duration,
30487
- attributes: span.attributes,
30488
- parentSpanId: span.parentSpanId,
30489
- instrumentationLibrary: span.instrumentationLibrary,
30490
- droppedAttributesCount: span.droppedAttributesCount,
30491
- droppedEventsCount: span.droppedEventsCount,
30492
- droppedLinksCount: span.droppedLinksCount,
30493
- resource: {
30494
- attributes: span.resource.attributes,
30495
- asyncAttributesPending: span.resource.asyncAttributesPending,
30496
- },
30497
- };
30498
- };
30499
- SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
30500
- return config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
30501
- };
30502
- return SessionRecorderHttpTraceExporterBrowser;
30503
- }(_opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__.OTLPExporterBase));
30504
-
30505
- //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
30442
+ function validateKey(key) {
30443
+ return VALID_KEY_REGEX.test(key);
30444
+ }
30445
+ /**
30446
+ * Value is opaque string up to 256 characters printable ASCII RFC0020
30447
+ * characters (i.e., the range 0x20 to 0x7E) except comma , and =.
30448
+ */
30449
+ function validateValue(value) {
30450
+ return (VALID_VALUE_BASE_REGEX.test(value) &&
30451
+ !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));
30452
+ }
30453
+ //# sourceMappingURL=validators.js.map
30506
30454
 
30507
30455
  /***/ }),
30508
30456
 
30509
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js":
30510
- /*!******************************************************************************************************!*\
30511
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js ***!
30512
- \******************************************************************************************************/
30457
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js":
30458
+ /*!************************************************************************!*\
30459
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js ***!
30460
+ \************************************************************************/
30513
30461
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30514
30462
 
30515
30463
  "use strict";
30516
30464
  __webpack_require__.r(__webpack_exports__);
30517
30465
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30518
- /* harmony export */ SessionRecorderIdGenerator: () => (/* binding */ SessionRecorderIdGenerator)
30466
+ /* harmony export */ TraceState: () => (/* binding */ TraceState)
30519
30467
  /* harmony export */ });
30520
- /* 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");
30521
- /* 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");
30522
- /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./type */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js");
30523
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30524
- /* 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");
30525
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30526
- var __extends = (undefined && undefined.__extends) || (function () {
30527
- var extendStatics = function (d, b) {
30528
- extendStatics = Object.setPrototypeOf ||
30529
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30530
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30531
- return extendStatics(d, b);
30468
+ /* harmony import */ var _internal_validators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/validators */ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js");
30469
+ /*
30470
+ * Copyright The OpenTelemetry Authors
30471
+ *
30472
+ * Licensed under the Apache License, Version 2.0 (the "License");
30473
+ * you may not use this file except in compliance with the License.
30474
+ * You may obtain a copy of the License at
30475
+ *
30476
+ * https://www.apache.org/licenses/LICENSE-2.0
30477
+ *
30478
+ * Unless required by applicable law or agreed to in writing, software
30479
+ * distributed under the License is distributed on an "AS IS" BASIS,
30480
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30481
+ * See the License for the specific language governing permissions and
30482
+ * limitations under the License.
30483
+ */
30484
+
30485
+ var MAX_TRACE_STATE_ITEMS = 32;
30486
+ var MAX_TRACE_STATE_LEN = 512;
30487
+ var LIST_MEMBERS_SEPARATOR = ',';
30488
+ var LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
30489
+ /**
30490
+ * TraceState must be a class and not a simple object type because of the spec
30491
+ * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).
30492
+ *
30493
+ * Here is the list of allowed mutations:
30494
+ * - New key-value pair should be added into the beginning of the list
30495
+ * - The value of any key can be updated. Modified keys MUST be moved to the
30496
+ * beginning of the list.
30497
+ */
30498
+ var TraceState = /** @class */ (function () {
30499
+ function TraceState(rawTraceState) {
30500
+ this._internalState = new Map();
30501
+ if (rawTraceState)
30502
+ this._parse(rawTraceState);
30503
+ }
30504
+ TraceState.prototype.set = function (key, value) {
30505
+ // TODO: Benchmark the different approaches(map vs list) and
30506
+ // use the faster one.
30507
+ var traceState = this._clone();
30508
+ if (traceState._internalState.has(key)) {
30509
+ traceState._internalState.delete(key);
30510
+ }
30511
+ traceState._internalState.set(key, value);
30512
+ return traceState;
30532
30513
  };
30533
- return function (d, b) {
30534
- if (typeof b !== "function" && b !== null)
30535
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30536
- extendStatics(d, b);
30537
- function __() { this.constructor = d; }
30538
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30514
+ TraceState.prototype.unset = function (key) {
30515
+ var traceState = this._clone();
30516
+ traceState._internalState.delete(key);
30517
+ return traceState;
30539
30518
  };
30540
- })();
30541
-
30542
-
30543
-
30544
-
30545
-
30546
- var SessionRecorderIdGenerator = /** @class */ (function (_super) {
30547
- __extends(SessionRecorderIdGenerator, _super);
30548
- function SessionRecorderIdGenerator(_a) {
30549
- var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
30550
- var _this = _super.call(this) || this;
30551
- _this.docSpanSampler = new _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
30552
- _this.generateLongId = (0,_sdk__WEBPACK_IMPORTED_MODULE_3__.getIdGenerator)(16);
30553
- _this.sessionShortId = '';
30554
- _this.sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN;
30555
- _this.generateTraceId = function () {
30556
- var traceId = _this.generateLongId();
30557
- if (_this.sessionShortId) {
30558
- var sessionTypePrefix = '';
30559
- switch (_this.sessionType) {
30560
- case _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.CONTINUOUS:
30561
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
30562
- break;
30563
- default:
30564
- sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DEBUG_PREFIX;
30519
+ TraceState.prototype.get = function (key) {
30520
+ return this._internalState.get(key);
30521
+ };
30522
+ TraceState.prototype.serialize = function () {
30523
+ var _this = this;
30524
+ return this._keys()
30525
+ .reduce(function (agg, key) {
30526
+ agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + _this.get(key));
30527
+ return agg;
30528
+ }, [])
30529
+ .join(LIST_MEMBERS_SEPARATOR);
30530
+ };
30531
+ TraceState.prototype._parse = function (rawTraceState) {
30532
+ if (rawTraceState.length > MAX_TRACE_STATE_LEN)
30533
+ return;
30534
+ this._internalState = rawTraceState
30535
+ .split(LIST_MEMBERS_SEPARATOR)
30536
+ .reverse() // Store in reverse so new keys (.set(...)) will be placed at the beginning
30537
+ .reduce(function (agg, part) {
30538
+ var listMember = part.trim(); // Optional Whitespace (OWS) handling
30539
+ var i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
30540
+ if (i !== -1) {
30541
+ var key = listMember.slice(0, i);
30542
+ var value = listMember.slice(i + 1, part.length);
30543
+ if ((0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateKey)(key) && (0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateValue)(value)) {
30544
+ agg.set(key, value);
30545
+ }
30546
+ else {
30547
+ // TODO: Consider to add warning log
30565
30548
  }
30566
- var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
30567
- var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
30568
- return sessionTraceId;
30569
- }
30570
- else if (_this._isDocTrace(traceId)) {
30571
- 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));
30572
30549
  }
30573
- return traceId;
30574
- };
30575
- return _this;
30576
- }
30577
- SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
30578
- if (sessionType === void 0) { sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN; }
30579
- this.sessionShortId = sessionShortId;
30580
- this.sessionType = sessionType;
30550
+ return agg;
30551
+ }, new Map());
30552
+ // Because of the reverse() requirement, trunc must be done after map is created
30553
+ if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
30554
+ this._internalState = new Map(Array.from(this._internalState.entries())
30555
+ .reverse() // Use reverse same as original tracestate parse chain
30556
+ .slice(0, MAX_TRACE_STATE_ITEMS));
30557
+ }
30581
30558
  };
30582
- SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
30583
- return this.docSpanSampler.shouldSample(undefined, traceId).decision === _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__.SamplingDecision.RECORD_AND_SAMPLED;
30559
+ TraceState.prototype._keys = function () {
30560
+ return Array.from(this._internalState.keys()).reverse();
30584
30561
  };
30585
- return SessionRecorderIdGenerator;
30586
- }(_opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__.RandomIdGenerator));
30562
+ TraceState.prototype._clone = function () {
30563
+ var traceState = new TraceState();
30564
+ traceState._internalState = new Map(this._internalState);
30565
+ return traceState;
30566
+ };
30567
+ return TraceState;
30568
+ }());
30587
30569
 
30588
- //# sourceMappingURL=SessionRecorderIdGenerator.js.map
30570
+ //# sourceMappingURL=TraceState.js.map
30589
30571
 
30590
30572
  /***/ }),
30591
30573
 
30592
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js":
30593
- /*!**************************************************************************************************************!*\
30594
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js ***!
30595
- \**************************************************************************************************************/
30574
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
30575
+ /*!***************************************************************************************!*\
30576
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
30577
+ \***************************************************************************************/
30596
30578
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30597
30579
 
30598
30580
  "use strict";
30599
30581
  __webpack_require__.r(__webpack_exports__);
30600
30582
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30601
- /* harmony export */ SessionRecorderJsonTraceSerializer: () => (/* binding */ SessionRecorderJsonTraceSerializer)
30583
+ /* harmony export */ TRACE_PARENT_HEADER: () => (/* binding */ TRACE_PARENT_HEADER),
30584
+ /* harmony export */ TRACE_STATE_HEADER: () => (/* binding */ TRACE_STATE_HEADER),
30585
+ /* harmony export */ W3CTraceContextPropagator: () => (/* binding */ W3CTraceContextPropagator),
30586
+ /* harmony export */ parseTraceParent: () => (/* binding */ parseTraceParent)
30602
30587
  /* harmony export */ });
30603
- /* 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");
30604
- /* 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");
30588
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
30589
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30590
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js");
30591
+ /* harmony import */ var _suppress_tracing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./suppress-tracing */ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js");
30592
+ /* harmony import */ var _TraceState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TraceState */ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js");
30593
+ /*
30594
+ * Copyright The OpenTelemetry Authors
30595
+ *
30596
+ * Licensed under the Apache License, Version 2.0 (the "License");
30597
+ * you may not use this file except in compliance with the License.
30598
+ * You may obtain a copy of the License at
30599
+ *
30600
+ * https://www.apache.org/licenses/LICENSE-2.0
30601
+ *
30602
+ * Unless required by applicable law or agreed to in writing, software
30603
+ * distributed under the License is distributed on an "AS IS" BASIS,
30604
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30605
+ * See the License for the specific language governing permissions and
30606
+ * limitations under the License.
30607
+ */
30605
30608
 
30606
30609
 
30607
- var SessionRecorderJsonTraceSerializer = {
30608
- serializeRequest: function (arg) {
30609
- var filteredArg = arg.filter(function (span) {
30610
- var traceId = span.spanContext().traceId;
30611
- if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
30612
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30613
- || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
30614
- return true;
30615
- }
30616
- return false;
30617
- });
30618
- var request = (0,_opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__.createExportTraceServiceRequest)(filteredArg, {
30619
- useHex: true,
30620
- useLongBits: false,
30621
- });
30622
- var encoder = new TextEncoder();
30623
- return encoder.encode(JSON.stringify(request));
30624
- },
30625
- deserializeResponse: function (arg) {
30626
- var decoder = new TextDecoder();
30627
- return JSON.parse(decoder.decode(arg));
30628
- },
30629
- };
30630
- //# sourceMappingURL=SessionRecorderJsonTraceSerializer.js.map
30610
+
30611
+ var TRACE_PARENT_HEADER = 'traceparent';
30612
+ var TRACE_STATE_HEADER = 'tracestate';
30613
+ var VERSION = '00';
30614
+ var VERSION_PART = '(?!ff)[\\da-f]{2}';
30615
+ var TRACE_ID_PART = '(?![0]{32})[\\da-f]{32}';
30616
+ var PARENT_ID_PART = '(?![0]{16})[\\da-f]{16}';
30617
+ var FLAGS_PART = '[\\da-f]{2}';
30618
+ var TRACE_PARENT_REGEX = new RegExp("^\\s?(" + VERSION_PART + ")-(" + TRACE_ID_PART + ")-(" + PARENT_ID_PART + ")-(" + FLAGS_PART + ")(-.*)?\\s?$");
30619
+ /**
30620
+ * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}
30621
+ * @param traceParent - A meta property that comes from server.
30622
+ * It should be dynamically generated server side to have the server's request trace Id,
30623
+ * a parent span Id that was set on the server's request span,
30624
+ * and the trace flags to indicate the server's sampling decision
30625
+ * (01 = sampled, 00 = not sampled).
30626
+ * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'
30627
+ * For more information see {@link https://www.w3.org/TR/trace-context/}
30628
+ */
30629
+ function parseTraceParent(traceParent) {
30630
+ var match = TRACE_PARENT_REGEX.exec(traceParent);
30631
+ if (!match)
30632
+ return null;
30633
+ // According to the specification the implementation should be compatible
30634
+ // with future versions. If there are more parts, we only reject it if it's using version 00
30635
+ // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent
30636
+ if (match[1] === '00' && match[5])
30637
+ return null;
30638
+ return {
30639
+ traceId: match[2],
30640
+ spanId: match[3],
30641
+ traceFlags: parseInt(match[4], 16),
30642
+ };
30643
+ }
30644
+ /**
30645
+ * Propagates {@link SpanContext} through Trace Context format propagation.
30646
+ *
30647
+ * Based on the Trace Context specification:
30648
+ * https://www.w3.org/TR/trace-context/
30649
+ */
30650
+ var W3CTraceContextPropagator = /** @class */ (function () {
30651
+ function W3CTraceContextPropagator() {
30652
+ }
30653
+ W3CTraceContextPropagator.prototype.inject = function (context, carrier, setter) {
30654
+ var spanContext = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.getSpanContext(context);
30655
+ if (!spanContext ||
30656
+ (0,_suppress_tracing__WEBPACK_IMPORTED_MODULE_1__.isTracingSuppressed)(context) ||
30657
+ !(0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isSpanContextValid)(spanContext))
30658
+ return;
30659
+ var traceParent = VERSION + "-" + spanContext.traceId + "-" + spanContext.spanId + "-0" + Number(spanContext.traceFlags || _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.TraceFlags.NONE).toString(16);
30660
+ setter.set(carrier, TRACE_PARENT_HEADER, traceParent);
30661
+ if (spanContext.traceState) {
30662
+ setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());
30663
+ }
30664
+ };
30665
+ W3CTraceContextPropagator.prototype.extract = function (context, carrier, getter) {
30666
+ var traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);
30667
+ if (!traceParentHeader)
30668
+ return context;
30669
+ var traceParent = Array.isArray(traceParentHeader)
30670
+ ? traceParentHeader[0]
30671
+ : traceParentHeader;
30672
+ if (typeof traceParent !== 'string')
30673
+ return context;
30674
+ var spanContext = parseTraceParent(traceParent);
30675
+ if (!spanContext)
30676
+ return context;
30677
+ spanContext.isRemote = true;
30678
+ var traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);
30679
+ if (traceStateHeader) {
30680
+ // If more than one `tracestate` header is found, we merge them into a
30681
+ // single header.
30682
+ var state = Array.isArray(traceStateHeader)
30683
+ ? traceStateHeader.join(',')
30684
+ : traceStateHeader;
30685
+ spanContext.traceState = new _TraceState__WEBPACK_IMPORTED_MODULE_4__.TraceState(typeof state === 'string' ? state : undefined);
30686
+ }
30687
+ return _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.setSpanContext(context, spanContext);
30688
+ };
30689
+ W3CTraceContextPropagator.prototype.fields = function () {
30690
+ return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];
30691
+ };
30692
+ return W3CTraceContextPropagator;
30693
+ }());
30694
+
30695
+ //# sourceMappingURL=W3CTraceContextPropagator.js.map
30631
30696
 
30632
30697
  /***/ }),
30633
30698
 
30634
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js":
30635
- /*!*******************************************************************************************************************!*\
30636
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js ***!
30637
- \*******************************************************************************************************************/
30699
+ /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
30700
+ /*!******************************************************************************!*\
30701
+ !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
30702
+ \******************************************************************************/
30638
30703
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30639
30704
 
30640
30705
  "use strict";
30641
30706
  __webpack_require__.r(__webpack_exports__);
30642
30707
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30643
- /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* binding */ SessionRecorderTraceIdRatioBasedSampler)
30708
+ /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
30709
+ /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
30710
+ /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
30644
30711
  /* harmony export */ });
30645
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
30646
- /* 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");
30647
- /* 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");
30648
-
30649
-
30650
-
30651
- var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30652
- function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
30653
- if (_ratio === void 0) { _ratio = 0; }
30654
- this._ratio = _ratio;
30655
- this._ratio = this._normalize(_ratio);
30656
- this._upperBound = Math.floor(this._ratio * 0xffffffff);
30657
- }
30658
- SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
30659
- if (this._ratio > 0
30660
- && traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)) {
30661
- return {
30662
- decision: _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.RECORD_AND_SAMPLED,
30663
- };
30712
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context/context.js");
30713
+ /*
30714
+ * Copyright The OpenTelemetry Authors
30715
+ *
30716
+ * Licensed under the Apache License, Version 2.0 (the "License");
30717
+ * you may not use this file except in compliance with the License.
30718
+ * You may obtain a copy of the License at
30719
+ *
30720
+ * https://www.apache.org/licenses/LICENSE-2.0
30721
+ *
30722
+ * Unless required by applicable law or agreed to in writing, software
30723
+ * distributed under the License is distributed on an "AS IS" BASIS,
30724
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30725
+ * See the License for the specific language governing permissions and
30726
+ * limitations under the License.
30727
+ */
30728
+
30729
+ var SUPPRESS_TRACING_KEY = (0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.createContextKey)('OpenTelemetry SDK Context Key SUPPRESS_TRACING');
30730
+ function suppressTracing(context) {
30731
+ return context.setValue(SUPPRESS_TRACING_KEY, true);
30732
+ }
30733
+ function unsuppressTracing(context) {
30734
+ return context.deleteValue(SUPPRESS_TRACING_KEY);
30735
+ }
30736
+ function isTracingSuppressed(context) {
30737
+ return context.getValue(SUPPRESS_TRACING_KEY) === true;
30738
+ }
30739
+ //# sourceMappingURL=suppress-tracing.js.map
30740
+
30741
+ /***/ }),
30742
+
30743
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js":
30744
+ /*!**************************************************************************************!*\
30745
+ !*** ../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js ***!
30746
+ \**************************************************************************************/
30747
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30748
+
30749
+ "use strict";
30750
+ __webpack_require__.r(__webpack_exports__);
30751
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30752
+ /* harmony export */ SessionRecorderHttpTraceExporterBrowser: () => (/* binding */ SessionRecorderHttpTraceExporterBrowser)
30753
+ /* harmony export */ });
30754
+ /* 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");
30755
+ /* 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");
30756
+ /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30757
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30758
+ var __extends = (undefined && undefined.__extends) || (function () {
30759
+ var extendStatics = function (d, b) {
30760
+ extendStatics = Object.setPrototypeOf ||
30761
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30762
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30763
+ return extendStatics(d, b);
30764
+ };
30765
+ return function (d, b) {
30766
+ if (typeof b !== "function" && b !== null)
30767
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30768
+ extendStatics(d, b);
30769
+ function __() { this.constructor = d; }
30770
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30771
+ };
30772
+ })();
30773
+ var __assign = (undefined && undefined.__assign) || function () {
30774
+ __assign = Object.assign || function(t) {
30775
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
30776
+ s = arguments[i];
30777
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
30778
+ t[p] = s[p];
30779
+ }
30780
+ return t;
30781
+ };
30782
+ return __assign.apply(this, arguments);
30783
+ };
30784
+
30785
+
30786
+
30787
+
30788
+ /**
30789
+ * Trace Exporters for Web with postMessage fallback
30790
+ */
30791
+ var SessionRecorderHttpTraceExporterBrowser = /** @class */ (function (_super) {
30792
+ __extends(SessionRecorderHttpTraceExporterBrowser, _super);
30793
+ function SessionRecorderHttpTraceExporterBrowser(config) {
30794
+ if (config === void 0) { config = {}; }
30795
+ var _this = this;
30796
+ 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
30797
+ ? { Authorization: config.apiKey }
30798
+ : {}) });
30799
+ _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;
30800
+ _this.usePostMessage = false;
30801
+ _this.config = config;
30802
+ _this.postMessageType = config.postMessageType || 'MULTIPLAYER_SESSION_DEBUGGER_LIB';
30803
+ _this.postMessageTargetOrigin = config.postMessageTargetOrigin || '*';
30804
+ return _this;
30805
+ }
30806
+ SessionRecorderHttpTraceExporterBrowser.prototype.export = function (spans, resultCallback) {
30807
+ var _this = this;
30808
+ if (this.usePostMessage) {
30809
+ this.exportViaPostMessage(spans, resultCallback);
30810
+ return;
30811
+ }
30812
+ _super.prototype.export.call(this, spans, function (result) {
30813
+ if (result.code === 0) {
30814
+ resultCallback(result);
30815
+ }
30816
+ else if (_this.config.usePostMessageFallback) {
30817
+ _this.usePostMessage = true;
30818
+ _this.exportViaPostMessage(spans, resultCallback);
30819
+ }
30820
+ else {
30821
+ resultCallback(result);
30822
+ }
30823
+ });
30824
+ };
30825
+ SessionRecorderHttpTraceExporterBrowser.prototype.exportViaPostMessage = function (spans, resultCallback) {
30826
+ var _this = this;
30827
+ if (typeof window === 'undefined') {
30828
+ resultCallback({ code: 1 });
30829
+ return;
30830
+ }
30831
+ try {
30832
+ window.postMessage({
30833
+ action: 'traces',
30834
+ type: this.postMessageType,
30835
+ payload: spans.map(function (span) { return _this._serializeSpan(span); }),
30836
+ }, this.postMessageTargetOrigin);
30837
+ resultCallback({ code: 0 });
30838
+ }
30839
+ catch (e) {
30840
+ resultCallback({ code: 1 });
30841
+ }
30842
+ };
30843
+ SessionRecorderHttpTraceExporterBrowser.prototype._serializeSpan = function (span) {
30844
+ return {
30845
+ _spanContext: span.spanContext(),
30846
+ name: span.name,
30847
+ kind: span.kind,
30848
+ links: span.links,
30849
+ ended: span.ended,
30850
+ events: span.events,
30851
+ status: span.status,
30852
+ endTime: span.endTime,
30853
+ startTime: span.startTime,
30854
+ duration: span.duration,
30855
+ attributes: span.attributes,
30856
+ parentSpanId: span.parentSpanId,
30857
+ instrumentationLibrary: span.instrumentationLibrary,
30858
+ droppedAttributesCount: span.droppedAttributesCount,
30859
+ droppedEventsCount: span.droppedEventsCount,
30860
+ droppedLinksCount: span.droppedLinksCount,
30861
+ resource: {
30862
+ attributes: span.resource.attributes,
30863
+ asyncAttributesPending: span.resource.asyncAttributesPending,
30864
+ },
30865
+ };
30866
+ };
30867
+ SessionRecorderHttpTraceExporterBrowser.prototype.getDefaultUrl = function (config) {
30868
+ return config.url || _constants_base__WEBPACK_IMPORTED_MODULE_1__.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_URL;
30869
+ };
30870
+ return SessionRecorderHttpTraceExporterBrowser;
30871
+ }(_opentelemetry_otlp_exporter_base__WEBPACK_IMPORTED_MODULE_3__.OTLPExporterBase));
30872
+
30873
+ //# sourceMappingURL=SessionRecorderHttpTraceExporterBrowser.js.map
30874
+
30875
+ /***/ }),
30876
+
30877
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js":
30878
+ /*!*************************************************************************!*\
30879
+ !*** ../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js ***!
30880
+ \*************************************************************************/
30881
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30882
+
30883
+ "use strict";
30884
+ __webpack_require__.r(__webpack_exports__);
30885
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30886
+ /* harmony export */ SessionRecorderIdGenerator: () => (/* binding */ SessionRecorderIdGenerator)
30887
+ /* harmony export */ });
30888
+ /* 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");
30889
+ /* 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");
30890
+ /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./type */ "../session-recorder-common/dist/esm/type/index.js");
30891
+ /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30892
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30893
+ /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sdk */ "../session-recorder-common/dist/esm/sdk/index.js");
30894
+ var __extends = (undefined && undefined.__extends) || (function () {
30895
+ var extendStatics = function (d, b) {
30896
+ extendStatics = Object.setPrototypeOf ||
30897
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
30898
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
30899
+ return extendStatics(d, b);
30900
+ };
30901
+ return function (d, b) {
30902
+ if (typeof b !== "function" && b !== null)
30903
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30904
+ extendStatics(d, b);
30905
+ function __() { this.constructor = d; }
30906
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30907
+ };
30908
+ })();
30909
+
30910
+
30911
+
30912
+
30913
+
30914
+ var SessionRecorderIdGenerator = /** @class */ (function (_super) {
30915
+ __extends(SessionRecorderIdGenerator, _super);
30916
+ function SessionRecorderIdGenerator(_a) {
30917
+ var _b = _a === void 0 ? {} : _a, _c = _b.autoDocTracesRatio, autoDocTracesRatio = _c === void 0 ? 0 : _c;
30918
+ var _this = _super.call(this) || this;
30919
+ _this.docSpanSampler = new _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_1__.SessionRecorderTraceIdRatioBasedSampler(autoDocTracesRatio);
30920
+ _this.generateLongId = (0,_sdk__WEBPACK_IMPORTED_MODULE_3__.getIdGenerator)(16);
30921
+ _this.sessionShortId = '';
30922
+ _this.sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN;
30923
+ _this.generateTraceId = function () {
30924
+ var traceId = _this.generateLongId();
30925
+ if (_this.sessionShortId) {
30926
+ var sessionTypePrefix = '';
30927
+ switch (_this.sessionType) {
30928
+ case _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.CONTINUOUS:
30929
+ sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX;
30930
+ break;
30931
+ default:
30932
+ sessionTypePrefix = _constants_base__WEBPACK_IMPORTED_MODULE_2__.MULTIPLAYER_TRACE_DEBUG_PREFIX;
30933
+ }
30934
+ var prefix = "".concat(sessionTypePrefix).concat(_this.sessionShortId);
30935
+ var sessionTraceId = "".concat(prefix).concat(traceId.substring(prefix.length, traceId.length));
30936
+ return sessionTraceId;
30937
+ }
30938
+ else if (_this._isDocTrace(traceId)) {
30939
+ 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));
30940
+ }
30941
+ return traceId;
30942
+ };
30943
+ return _this;
30944
+ }
30945
+ SessionRecorderIdGenerator.prototype.setSessionId = function (sessionShortId, sessionType) {
30946
+ if (sessionType === void 0) { sessionType = _type__WEBPACK_IMPORTED_MODULE_0__.SessionType.PLAIN; }
30947
+ this.sessionShortId = sessionShortId;
30948
+ this.sessionType = sessionType;
30949
+ };
30950
+ SessionRecorderIdGenerator.prototype._isDocTrace = function (traceId) {
30951
+ return this.docSpanSampler.shouldSample(undefined, traceId).decision === _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_4__.SamplingDecision.RECORD_AND_SAMPLED;
30952
+ };
30953
+ return SessionRecorderIdGenerator;
30954
+ }(_opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_5__.RandomIdGenerator));
30955
+
30956
+ //# sourceMappingURL=SessionRecorderIdGenerator.js.map
30957
+
30958
+ /***/ }),
30959
+
30960
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js":
30961
+ /*!*********************************************************************************!*\
30962
+ !*** ../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js ***!
30963
+ \*********************************************************************************/
30964
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30965
+
30966
+ "use strict";
30967
+ __webpack_require__.r(__webpack_exports__);
30968
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30969
+ /* harmony export */ SessionRecorderJsonTraceSerializer: () => (/* binding */ SessionRecorderJsonTraceSerializer)
30970
+ /* harmony export */ });
30971
+ /* 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");
30972
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30973
+
30974
+
30975
+ var SessionRecorderJsonTraceSerializer = {
30976
+ serializeRequest: function (arg) {
30977
+ var filteredArg = arg.filter(function (span) {
30978
+ var traceId = span.spanContext().traceId;
30979
+ if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
30980
+ || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30981
+ || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
30982
+ return true;
30983
+ }
30984
+ return false;
30985
+ });
30986
+ var request = (0,_opentelemetry_otlp_transformer__WEBPACK_IMPORTED_MODULE_1__.createExportTraceServiceRequest)(filteredArg, {
30987
+ useHex: true,
30988
+ useLongBits: false,
30989
+ });
30990
+ var encoder = new TextEncoder();
30991
+ return encoder.encode(JSON.stringify(request));
30992
+ },
30993
+ deserializeResponse: function (arg) {
30994
+ var decoder = new TextDecoder();
30995
+ return JSON.parse(decoder.decode(arg));
30996
+ },
30997
+ };
30998
+ //# sourceMappingURL=SessionRecorderJsonTraceSerializer.js.map
30999
+
31000
+ /***/ }),
31001
+
31002
+ /***/ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js":
31003
+ /*!**************************************************************************************!*\
31004
+ !*** ../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js ***!
31005
+ \**************************************************************************************/
31006
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31007
+
31008
+ "use strict";
31009
+ __webpack_require__.r(__webpack_exports__);
31010
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31011
+ /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* binding */ SessionRecorderTraceIdRatioBasedSampler)
31012
+ /* harmony export */ });
31013
+ /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
31014
+ /* 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");
31015
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31016
+
31017
+
31018
+
31019
+ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
31020
+ function SessionRecorderTraceIdRatioBasedSampler(_ratio) {
31021
+ if (_ratio === void 0) { _ratio = 0; }
31022
+ this._ratio = _ratio;
31023
+ this._ratio = this._normalize(_ratio);
31024
+ this._upperBound = Math.floor(this._ratio * 0xffffffff);
31025
+ }
31026
+ SessionRecorderTraceIdRatioBasedSampler.prototype.shouldSample = function (context, traceId) {
31027
+ if (traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_PREFIX)
31028
+ || traceId.startsWith(_constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_CONTINUOUS_DEBUG_PREFIX)) {
31029
+ return {
31030
+ decision: _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.RECORD_AND_SAMPLED,
31031
+ };
30664
31032
  }
30665
31033
  var decision = _opentelemetry_sdk_trace_base__WEBPACK_IMPORTED_MODULE_1__.SamplingDecision.NOT_RECORD;
30666
31034
  if ((0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isValidTraceId)(traceId)
@@ -30670,7 +31038,7 @@ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30670
31038
  return { decision: decision };
30671
31039
  };
30672
31040
  SessionRecorderTraceIdRatioBasedSampler.prototype.toString = function () {
30673
- return "MultiplayerTraceIdRatioBasedSampler{".concat(this._ratio, "}");
31041
+ return "SessionRecorderTraceIdRatioBasedSampler{".concat(this._ratio, "}");
30674
31042
  };
30675
31043
  SessionRecorderTraceIdRatioBasedSampler.prototype._normalize = function (ratio) {
30676
31044
  if (typeof ratio !== 'number' || isNaN(ratio))
@@ -30693,10 +31061,10 @@ var SessionRecorderTraceIdRatioBasedSampler = /** @class */ (function () {
30693
31061
 
30694
31062
  /***/ }),
30695
31063
 
30696
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js":
30697
- /*!******************************************************************************************!*\
30698
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.base.js ***!
30699
- \******************************************************************************************/
31064
+ /***/ "../session-recorder-common/dist/esm/constants.base.js":
31065
+ /*!*************************************************************!*\
31066
+ !*** ../session-recorder-common/dist/esm/constants.base.js ***!
31067
+ \*************************************************************/
30700
31068
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30701
31069
 
30702
31070
  "use strict";
@@ -30708,6 +31076,8 @@ __webpack_require__.r(__webpack_exports__);
30708
31076
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* binding */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
30709
31077
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* binding */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
30710
31078
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* binding */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
31079
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* binding */ ATTR_MULTIPLAYER_HTTP_PROXY),
31080
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* binding */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
30711
31081
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* binding */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
30712
31082
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* binding */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
30713
31083
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* binding */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
@@ -30750,6 +31120,8 @@ var ATTR_MULTIPLAYER_PLATFORM_NAME = 'multiplayer.platform.name';
30750
31120
  var ATTR_MULTIPLAYER_CLIENT_ID = 'multiplayer.client.id';
30751
31121
  var ATTR_MULTIPLAYER_INTEGRATION_ID = 'multiplayer.integration.id';
30752
31122
  var ATTR_MULTIPLAYER_SESSION_ID = 'multiplayer.session.id';
31123
+ var ATTR_MULTIPLAYER_HTTP_PROXY = 'multiplayer.http.proxy';
31124
+ var ATTR_MULTIPLAYER_HTTP_PROXY_TYPE = 'multiplayer.http.proxy.type';
30753
31125
  var ATTR_MULTIPLAYER_HTTP_REQUEST_BODY = 'multiplayer.http.request.body';
30754
31126
  var ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY = 'multiplayer.http.response.body';
30755
31127
  var ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS = 'multiplayer.http.request.headers';
@@ -30769,10 +31141,10 @@ var MASK_PLACEHOLDER = '***MASKED***';
30769
31141
 
30770
31142
  /***/ }),
30771
31143
 
30772
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js":
30773
- /*!*********************************************************************************************!*\
30774
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/constants.browser.js ***!
30775
- \*********************************************************************************************/
31144
+ /***/ "../session-recorder-common/dist/esm/constants.browser.js":
31145
+ /*!****************************************************************!*\
31146
+ !*** ../session-recorder-common/dist/esm/constants.browser.js ***!
31147
+ \****************************************************************/
30776
31148
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30777
31149
 
30778
31150
  "use strict";
@@ -30784,6 +31156,8 @@ __webpack_require__.r(__webpack_exports__);
30784
31156
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
30785
31157
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
30786
31158
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
31159
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_PROXY),
31160
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
30787
31161
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
30788
31162
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
30789
31163
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
@@ -30810,16 +31184,16 @@ __webpack_require__.r(__webpack_exports__);
30810
31184
  /* harmony export */ MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DEBUG_SESSION_SHORT_ID_LENGTH),
30811
31185
  /* harmony export */ MULTIPLAYER_TRACE_DOC_PREFIX: () => (/* reexport safe */ _constants_base__WEBPACK_IMPORTED_MODULE_0__.MULTIPLAYER_TRACE_DOC_PREFIX)
30812
31186
  /* harmony export */ });
30813
- /* 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");
31187
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
30814
31188
 
30815
31189
  //# sourceMappingURL=constants.browser.js.map
30816
31190
 
30817
31191
  /***/ }),
30818
31192
 
30819
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js":
30820
- /*!*****************************************************************************************!*\
30821
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/index-browser.js ***!
30822
- \*****************************************************************************************/
31193
+ /***/ "../session-recorder-common/dist/esm/index-browser.js":
31194
+ /*!************************************************************!*\
31195
+ !*** ../session-recorder-common/dist/esm/index-browser.js ***!
31196
+ \************************************************************/
30823
31197
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30824
31198
 
30825
31199
  "use strict";
@@ -30831,6 +31205,8 @@ __webpack_require__.r(__webpack_exports__);
30831
31205
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
30832
31206
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
30833
31207
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
31208
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_PROXY),
31209
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
30834
31210
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
30835
31211
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
30836
31212
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* reexport safe */ _constants_browser__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
@@ -30863,13 +31239,13 @@ __webpack_require__.r(__webpack_exports__);
30863
31239
  /* harmony export */ SessionRecorderTraceIdRatioBasedSampler: () => (/* reexport safe */ _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__.SessionRecorderTraceIdRatioBasedSampler),
30864
31240
  /* harmony export */ SessionType: () => (/* reexport safe */ _type__WEBPACK_IMPORTED_MODULE_6__.SessionType)
30865
31241
  /* harmony export */ });
30866
- /* 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");
30867
- /* harmony import */ var _SessionRecorderHttpTraceExporterBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderHttpTraceExporterBrowser */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js");
30868
- /* harmony import */ var _SessionRecorderIdGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SessionRecorderIdGenerator */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderIdGenerator.js");
30869
- /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
30870
- /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
30871
- /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js");
30872
- /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./type */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js");
31242
+ /* harmony import */ var _constants_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.browser */ "../session-recorder-common/dist/esm/constants.browser.js");
31243
+ /* harmony import */ var _SessionRecorderHttpTraceExporterBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SessionRecorderHttpTraceExporterBrowser */ "../session-recorder-common/dist/esm/SessionRecorderHttpTraceExporterBrowser.js");
31244
+ /* harmony import */ var _SessionRecorderIdGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SessionRecorderIdGenerator */ "../session-recorder-common/dist/esm/SessionRecorderIdGenerator.js");
31245
+ /* harmony import */ var _SessionRecorderJsonTraceSerializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SessionRecorderJsonTraceSerializer */ "../session-recorder-common/dist/esm/SessionRecorderJsonTraceSerializer.js");
31246
+ /* harmony import */ var _SessionRecorderTraceIdRatioBasedSampler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SessionRecorderTraceIdRatioBasedSampler */ "../session-recorder-common/dist/esm/SessionRecorderTraceIdRatioBasedSampler.js");
31247
+ /* harmony import */ var _sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sdk */ "../session-recorder-common/dist/esm/sdk/index.js");
31248
+ /* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./type */ "../session-recorder-common/dist/esm/type/index.js");
30873
31249
 
30874
31250
 
30875
31251
 
@@ -30882,10 +31258,10 @@ __webpack_require__.r(__webpack_exports__);
30882
31258
 
30883
31259
  /***/ }),
30884
31260
 
30885
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js":
30886
- /*!*************************************************************************************************!*\
30887
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/capture-exception.js ***!
30888
- \*************************************************************************************************/
31261
+ /***/ "../session-recorder-common/dist/esm/sdk/capture-exception.js":
31262
+ /*!********************************************************************!*\
31263
+ !*** ../session-recorder-common/dist/esm/sdk/capture-exception.js ***!
31264
+ \********************************************************************/
30889
31265
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30890
31266
 
30891
31267
  "use strict";
@@ -30918,10 +31294,10 @@ var captureException = function (error) {
30918
31294
 
30919
31295
  /***/ }),
30920
31296
 
30921
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js":
30922
- /*!********************************************************************************************!*\
30923
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/id-generator.js ***!
30924
- \********************************************************************************************/
31297
+ /***/ "../session-recorder-common/dist/esm/sdk/id-generator.js":
31298
+ /*!***************************************************************!*\
31299
+ !*** ../session-recorder-common/dist/esm/sdk/id-generator.js ***!
31300
+ \***************************************************************/
30925
31301
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30926
31302
 
30927
31303
  "use strict";
@@ -30946,10 +31322,10 @@ var getIdGenerator = function (bytes) {
30946
31322
 
30947
31323
  /***/ }),
30948
31324
 
30949
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js":
30950
- /*!*************************************************************************************!*\
30951
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/index.js ***!
30952
- \*************************************************************************************/
31325
+ /***/ "../session-recorder-common/dist/esm/sdk/index.js":
31326
+ /*!********************************************************!*\
31327
+ !*** ../session-recorder-common/dist/esm/sdk/index.js ***!
31328
+ \********************************************************/
30953
31329
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30954
31330
 
30955
31331
  "use strict";
@@ -30974,13 +31350,13 @@ __webpack_require__.r(__webpack_exports__);
30974
31350
  /* harmony export */ setRpcRequestMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcRequestMessage),
30975
31351
  /* harmony export */ setRpcResponseMessage: () => (/* reexport safe */ _set_attribute__WEBPACK_IMPORTED_MODULE_5__.setRpcResponseMessage)
30976
31352
  /* harmony export */ });
30977
- /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mask */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js");
30978
- /* harmony import */ var _schemify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./schemify */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js");
30979
- /* 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");
30980
- /* 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");
30981
- /* 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");
30982
- /* 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");
30983
- /* 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");
31353
+ /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mask */ "../session-recorder-common/dist/esm/sdk/mask.js");
31354
+ /* harmony import */ var _schemify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./schemify */ "../session-recorder-common/dist/esm/sdk/schemify.js");
31355
+ /* harmony import */ var _is_gzip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./is-gzip */ "../session-recorder-common/dist/esm/sdk/is-gzip.js");
31356
+ /* harmony import */ var _id_generator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./id-generator */ "../session-recorder-common/dist/esm/sdk/id-generator.js");
31357
+ /* harmony import */ var _capture_exception__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./capture-exception */ "../session-recorder-common/dist/esm/sdk/capture-exception.js");
31358
+ /* harmony import */ var _set_attribute__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./set-attribute */ "../session-recorder-common/dist/esm/sdk/set-attribute.js");
31359
+ /* 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");
30984
31360
 
30985
31361
 
30986
31362
 
@@ -30992,10 +31368,10 @@ __webpack_require__.r(__webpack_exports__);
30992
31368
 
30993
31369
  /***/ }),
30994
31370
 
30995
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js":
30996
- /*!***************************************************************************************!*\
30997
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/is-gzip.js ***!
30998
- \***************************************************************************************/
31371
+ /***/ "../session-recorder-common/dist/esm/sdk/is-gzip.js":
31372
+ /*!**********************************************************!*\
31373
+ !*** ../session-recorder-common/dist/esm/sdk/is-gzip.js ***!
31374
+ \**********************************************************/
30999
31375
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31000
31376
 
31001
31377
  "use strict";
@@ -31013,10 +31389,10 @@ var isGzip = function (buf) {
31013
31389
 
31014
31390
  /***/ }),
31015
31391
 
31016
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js":
31017
- /*!************************************************************************************!*\
31018
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js ***!
31019
- \************************************************************************************/
31392
+ /***/ "../session-recorder-common/dist/esm/sdk/mask.js":
31393
+ /*!*******************************************************!*\
31394
+ !*** ../session-recorder-common/dist/esm/sdk/mask.js ***!
31395
+ \*******************************************************/
31020
31396
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31021
31397
 
31022
31398
  "use strict";
@@ -31026,7 +31402,7 @@ __webpack_require__.r(__webpack_exports__);
31026
31402
  /* harmony export */ sensitiveFields: () => (/* binding */ sensitiveFields),
31027
31403
  /* harmony export */ sensitiveHeaders: () => (/* binding */ sensitiveHeaders)
31028
31404
  /* harmony export */ });
31029
- /* 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");
31405
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31030
31406
 
31031
31407
  var MAX_DEPTH = 8;
31032
31408
  var sensitiveFields = [
@@ -31178,10 +31554,10 @@ var maskSelected = function (value, keysToMask) {
31178
31554
 
31179
31555
  /***/ }),
31180
31556
 
31181
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js":
31182
- /*!***********************************************************************************************************!*\
31183
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js ***!
31184
- \***********************************************************************************************************/
31557
+ /***/ "../session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js":
31558
+ /*!******************************************************************************!*\
31559
+ !*** ../session-recorder-common/dist/esm/sdk/save-continuous-deb-session.js ***!
31560
+ \******************************************************************************/
31185
31561
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31186
31562
 
31187
31563
  "use strict";
@@ -31191,7 +31567,7 @@ __webpack_require__.r(__webpack_exports__);
31191
31567
  /* harmony export */ });
31192
31568
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31193
31569
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31194
- /* 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");
31570
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31195
31571
 
31196
31572
 
31197
31573
  /**
@@ -31208,7 +31584,7 @@ var saveContinuousSession = function (reason) {
31208
31584
  span === null || span === void 0 ? void 0 : span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE, true);
31209
31585
  if (reason === null || reason === void 0 ? void 0 : reason.length) {
31210
31586
  span === null || span === void 0 ? void 0 : span.addEvent(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_CONTINUOUS_SESSION_AUTO_SAVE_REASON, {
31211
- reason: reason
31587
+ reason: reason,
31212
31588
  });
31213
31589
  }
31214
31590
  };
@@ -31216,10 +31592,10 @@ var saveContinuousSession = function (reason) {
31216
31592
 
31217
31593
  /***/ }),
31218
31594
 
31219
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js":
31220
- /*!****************************************************************************************!*\
31221
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/schemify.js ***!
31222
- \****************************************************************************************/
31595
+ /***/ "../session-recorder-common/dist/esm/sdk/schemify.js":
31596
+ /*!***********************************************************!*\
31597
+ !*** ../session-recorder-common/dist/esm/sdk/schemify.js ***!
31598
+ \***********************************************************/
31223
31599
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31224
31600
 
31225
31601
  "use strict";
@@ -31230,7 +31606,6 @@ __webpack_require__.r(__webpack_exports__);
31230
31606
  /* harmony import */ var to_json_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! to-json-schema */ "../../node_modules/to-json-schema/lib/index.js");
31231
31607
  /* harmony import */ var to_json_schema__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(to_json_schema__WEBPACK_IMPORTED_MODULE_0__);
31232
31608
 
31233
- // eslint-disable-next-line
31234
31609
  // @ts-ignore
31235
31610
  var toJsonSchema = (to_json_schema__WEBPACK_IMPORTED_MODULE_0__ === null || to_json_schema__WEBPACK_IMPORTED_MODULE_0__ === void 0 ? void 0 : (to_json_schema__WEBPACK_IMPORTED_MODULE_0___default())) || to_json_schema__WEBPACK_IMPORTED_MODULE_0__;
31236
31611
  var defaultSchemifyOptions = {
@@ -31283,10 +31658,10 @@ var defaultSchemifyOptions = {
31283
31658
 
31284
31659
  /***/ }),
31285
31660
 
31286
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js":
31287
- /*!*********************************************************************************************!*\
31288
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31289
- \*********************************************************************************************/
31661
+ /***/ "../session-recorder-common/dist/esm/sdk/set-attribute.js":
31662
+ /*!****************************************************************!*\
31663
+ !*** ../session-recorder-common/dist/esm/sdk/set-attribute.js ***!
31664
+ \****************************************************************/
31290
31665
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31291
31666
 
31292
31667
  "use strict";
@@ -31305,8 +31680,8 @@ __webpack_require__.r(__webpack_exports__);
31305
31680
  /* harmony export */ });
31306
31681
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31307
31682
  /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context-api.js");
31308
- /* 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");
31309
- /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask */ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/sdk/mask.js");
31683
+ /* harmony import */ var _constants_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.base */ "../session-recorder-common/dist/esm/constants.base.js");
31684
+ /* harmony import */ var _mask__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mask */ "../session-recorder-common/dist/esm/sdk/mask.js");
31310
31685
 
31311
31686
 
31312
31687
 
@@ -31451,401 +31826,59 @@ var setGrpcRequestMessage = function (body, options) {
31451
31826
  span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE, body);
31452
31827
  };
31453
31828
  /**
31454
- * @description Set grpc response message to current span attributes
31455
- * @param body
31456
- * @param {{ mask: boolean }} options
31457
- * @returns {void}
31458
- */
31459
- var setGrpcResponseMessage = function (body, options) {
31460
- if (options === void 0) { options = { mask: true }; }
31461
- var span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.trace.getSpan(_opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.context.active());
31462
- if (!span)
31463
- return;
31464
- if (options === null || options === void 0 ? void 0 : options.mask) {
31465
- body = (0,_mask__WEBPACK_IMPORTED_MODULE_1__["default"])(_mask__WEBPACK_IMPORTED_MODULE_1__.sensitiveFields)(body, span);
31466
- }
31467
- span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, body);
31468
- };
31469
- //# sourceMappingURL=set-attribute.js.map
31470
-
31471
- /***/ }),
31472
-
31473
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js":
31474
- /*!**************************************************************************************!*\
31475
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/index.js ***!
31476
- \**************************************************************************************/
31477
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31478
-
31479
- "use strict";
31480
- __webpack_require__.r(__webpack_exports__);
31481
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31482
- /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31483
- /* harmony export */ });
31484
- /* 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");
31485
-
31486
- //# sourceMappingURL=index.js.map
31487
-
31488
- /***/ }),
31489
-
31490
- /***/ "./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js":
31491
- /*!**************************************************************************************************!*\
31492
- !*** ./node_modules/@multiplayer-app/session-recorder-common/dist/esm/type/session-type.enum.js ***!
31493
- \**************************************************************************************************/
31494
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31495
-
31496
- "use strict";
31497
- __webpack_require__.r(__webpack_exports__);
31498
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31499
- /* harmony export */ SessionType: () => (/* binding */ SessionType)
31500
- /* harmony export */ });
31501
- var SessionType;
31502
- (function (SessionType) {
31503
- SessionType["CONTINUOUS"] = "CONTINUOUS";
31504
- SessionType["PLAIN"] = "MANUAL";
31505
- })(SessionType || (SessionType = {}));
31506
- //# sourceMappingURL=session-type.enum.js.map
31507
-
31508
- /***/ }),
31509
-
31510
- /***/ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js":
31511
- /*!***************************************************************************!*\
31512
- !*** ./node_modules/@opentelemetry/core/build/esm/internal/validators.js ***!
31513
- \***************************************************************************/
31514
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31515
-
31516
- "use strict";
31517
- __webpack_require__.r(__webpack_exports__);
31518
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31519
- /* harmony export */ validateKey: () => (/* binding */ validateKey),
31520
- /* harmony export */ validateValue: () => (/* binding */ validateValue)
31521
- /* harmony export */ });
31522
- /*
31523
- * Copyright The OpenTelemetry Authors
31524
- *
31525
- * Licensed under the Apache License, Version 2.0 (the "License");
31526
- * you may not use this file except in compliance with the License.
31527
- * You may obtain a copy of the License at
31528
- *
31529
- * https://www.apache.org/licenses/LICENSE-2.0
31530
- *
31531
- * Unless required by applicable law or agreed to in writing, software
31532
- * distributed under the License is distributed on an "AS IS" BASIS,
31533
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31534
- * See the License for the specific language governing permissions and
31535
- * limitations under the License.
31536
- */
31537
- var VALID_KEY_CHAR_RANGE = '[_0-9a-z-*/]';
31538
- var VALID_KEY = "[a-z]" + VALID_KEY_CHAR_RANGE + "{0,255}";
31539
- var VALID_VENDOR_KEY = "[a-z0-9]" + VALID_KEY_CHAR_RANGE + "{0,240}@[a-z]" + VALID_KEY_CHAR_RANGE + "{0,13}";
31540
- var VALID_KEY_REGEX = new RegExp("^(?:" + VALID_KEY + "|" + VALID_VENDOR_KEY + ")$");
31541
- var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
31542
- var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
31543
- /**
31544
- * Key is opaque string up to 256 characters printable. It MUST begin with a
31545
- * lowercase letter, and can only contain lowercase letters a-z, digits 0-9,
31546
- * underscores _, dashes -, asterisks *, and forward slashes /.
31547
- * For multi-tenant vendor scenarios, an at sign (@) can be used to prefix the
31548
- * vendor name. Vendors SHOULD set the tenant ID at the beginning of the key.
31549
- * see https://www.w3.org/TR/trace-context/#key
31550
- */
31551
- function validateKey(key) {
31552
- return VALID_KEY_REGEX.test(key);
31553
- }
31554
- /**
31555
- * Value is opaque string up to 256 characters printable ASCII RFC0020
31556
- * characters (i.e., the range 0x20 to 0x7E) except comma , and =.
31557
- */
31558
- function validateValue(value) {
31559
- return (VALID_VALUE_BASE_REGEX.test(value) &&
31560
- !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value));
31561
- }
31562
- //# sourceMappingURL=validators.js.map
31563
-
31564
- /***/ }),
31565
-
31566
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js":
31567
- /*!************************************************************************!*\
31568
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js ***!
31569
- \************************************************************************/
31570
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31571
-
31572
- "use strict";
31573
- __webpack_require__.r(__webpack_exports__);
31574
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31575
- /* harmony export */ TraceState: () => (/* binding */ TraceState)
31576
- /* harmony export */ });
31577
- /* harmony import */ var _internal_validators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/validators */ "./node_modules/@opentelemetry/core/build/esm/internal/validators.js");
31578
- /*
31579
- * Copyright The OpenTelemetry Authors
31580
- *
31581
- * Licensed under the Apache License, Version 2.0 (the "License");
31582
- * you may not use this file except in compliance with the License.
31583
- * You may obtain a copy of the License at
31584
- *
31585
- * https://www.apache.org/licenses/LICENSE-2.0
31586
- *
31587
- * Unless required by applicable law or agreed to in writing, software
31588
- * distributed under the License is distributed on an "AS IS" BASIS,
31589
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31590
- * See the License for the specific language governing permissions and
31591
- * limitations under the License.
31592
- */
31593
-
31594
- var MAX_TRACE_STATE_ITEMS = 32;
31595
- var MAX_TRACE_STATE_LEN = 512;
31596
- var LIST_MEMBERS_SEPARATOR = ',';
31597
- var LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
31598
- /**
31599
- * TraceState must be a class and not a simple object type because of the spec
31600
- * requirement (https://www.w3.org/TR/trace-context/#tracestate-field).
31601
- *
31602
- * Here is the list of allowed mutations:
31603
- * - New key-value pair should be added into the beginning of the list
31604
- * - The value of any key can be updated. Modified keys MUST be moved to the
31605
- * beginning of the list.
31829
+ * @description Set grpc response message to current span attributes
31830
+ * @param body
31831
+ * @param {{ mask: boolean }} options
31832
+ * @returns {void}
31606
31833
  */
31607
- var TraceState = /** @class */ (function () {
31608
- function TraceState(rawTraceState) {
31609
- this._internalState = new Map();
31610
- if (rawTraceState)
31611
- this._parse(rawTraceState);
31834
+ var setGrpcResponseMessage = function (body, options) {
31835
+ if (options === void 0) { options = { mask: true }; }
31836
+ var span = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.trace.getSpan(_opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.context.active());
31837
+ if (!span)
31838
+ return;
31839
+ if (options === null || options === void 0 ? void 0 : options.mask) {
31840
+ body = (0,_mask__WEBPACK_IMPORTED_MODULE_1__["default"])(_mask__WEBPACK_IMPORTED_MODULE_1__.sensitiveFields)(body, span);
31612
31841
  }
31613
- TraceState.prototype.set = function (key, value) {
31614
- // TODO: Benchmark the different approaches(map vs list) and
31615
- // use the faster one.
31616
- var traceState = this._clone();
31617
- if (traceState._internalState.has(key)) {
31618
- traceState._internalState.delete(key);
31619
- }
31620
- traceState._internalState.set(key, value);
31621
- return traceState;
31622
- };
31623
- TraceState.prototype.unset = function (key) {
31624
- var traceState = this._clone();
31625
- traceState._internalState.delete(key);
31626
- return traceState;
31627
- };
31628
- TraceState.prototype.get = function (key) {
31629
- return this._internalState.get(key);
31630
- };
31631
- TraceState.prototype.serialize = function () {
31632
- var _this = this;
31633
- return this._keys()
31634
- .reduce(function (agg, key) {
31635
- agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + _this.get(key));
31636
- return agg;
31637
- }, [])
31638
- .join(LIST_MEMBERS_SEPARATOR);
31639
- };
31640
- TraceState.prototype._parse = function (rawTraceState) {
31641
- if (rawTraceState.length > MAX_TRACE_STATE_LEN)
31642
- return;
31643
- this._internalState = rawTraceState
31644
- .split(LIST_MEMBERS_SEPARATOR)
31645
- .reverse() // Store in reverse so new keys (.set(...)) will be placed at the beginning
31646
- .reduce(function (agg, part) {
31647
- var listMember = part.trim(); // Optional Whitespace (OWS) handling
31648
- var i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
31649
- if (i !== -1) {
31650
- var key = listMember.slice(0, i);
31651
- var value = listMember.slice(i + 1, part.length);
31652
- if ((0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateKey)(key) && (0,_internal_validators__WEBPACK_IMPORTED_MODULE_0__.validateValue)(value)) {
31653
- agg.set(key, value);
31654
- }
31655
- else {
31656
- // TODO: Consider to add warning log
31657
- }
31658
- }
31659
- return agg;
31660
- }, new Map());
31661
- // Because of the reverse() requirement, trunc must be done after map is created
31662
- if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
31663
- this._internalState = new Map(Array.from(this._internalState.entries())
31664
- .reverse() // Use reverse same as original tracestate parse chain
31665
- .slice(0, MAX_TRACE_STATE_ITEMS));
31666
- }
31667
- };
31668
- TraceState.prototype._keys = function () {
31669
- return Array.from(this._internalState.keys()).reverse();
31670
- };
31671
- TraceState.prototype._clone = function () {
31672
- var traceState = new TraceState();
31673
- traceState._internalState = new Map(this._internalState);
31674
- return traceState;
31675
- };
31676
- return TraceState;
31677
- }());
31678
-
31679
- //# sourceMappingURL=TraceState.js.map
31842
+ span.setAttribute(_constants_base__WEBPACK_IMPORTED_MODULE_0__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE, body);
31843
+ };
31844
+ //# sourceMappingURL=set-attribute.js.map
31680
31845
 
31681
31846
  /***/ }),
31682
31847
 
31683
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js":
31684
- /*!***************************************************************************************!*\
31685
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/W3CTraceContextPropagator.js ***!
31686
- \***************************************************************************************/
31848
+ /***/ "../session-recorder-common/dist/esm/type/index.js":
31849
+ /*!*********************************************************!*\
31850
+ !*** ../session-recorder-common/dist/esm/type/index.js ***!
31851
+ \*********************************************************/
31687
31852
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31688
31853
 
31689
31854
  "use strict";
31690
31855
  __webpack_require__.r(__webpack_exports__);
31691
31856
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31692
- /* harmony export */ TRACE_PARENT_HEADER: () => (/* binding */ TRACE_PARENT_HEADER),
31693
- /* harmony export */ TRACE_STATE_HEADER: () => (/* binding */ TRACE_STATE_HEADER),
31694
- /* harmony export */ W3CTraceContextPropagator: () => (/* binding */ W3CTraceContextPropagator),
31695
- /* harmony export */ parseTraceParent: () => (/* binding */ parseTraceParent)
31857
+ /* harmony export */ SessionType: () => (/* reexport safe */ _session_type_enum__WEBPACK_IMPORTED_MODULE_0__.SessionType)
31696
31858
  /* harmony export */ });
31697
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace-api.js");
31698
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js");
31699
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js");
31700
- /* harmony import */ var _suppress_tracing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./suppress-tracing */ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js");
31701
- /* harmony import */ var _TraceState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TraceState */ "./node_modules/@opentelemetry/core/build/esm/trace/TraceState.js");
31702
- /*
31703
- * Copyright The OpenTelemetry Authors
31704
- *
31705
- * Licensed under the Apache License, Version 2.0 (the "License");
31706
- * you may not use this file except in compliance with the License.
31707
- * You may obtain a copy of the License at
31708
- *
31709
- * https://www.apache.org/licenses/LICENSE-2.0
31710
- *
31711
- * Unless required by applicable law or agreed to in writing, software
31712
- * distributed under the License is distributed on an "AS IS" BASIS,
31713
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31714
- * See the License for the specific language governing permissions and
31715
- * limitations under the License.
31716
- */
31717
-
31718
-
31719
-
31720
- var TRACE_PARENT_HEADER = 'traceparent';
31721
- var TRACE_STATE_HEADER = 'tracestate';
31722
- var VERSION = '00';
31723
- var VERSION_PART = '(?!ff)[\\da-f]{2}';
31724
- var TRACE_ID_PART = '(?![0]{32})[\\da-f]{32}';
31725
- var PARENT_ID_PART = '(?![0]{16})[\\da-f]{16}';
31726
- var FLAGS_PART = '[\\da-f]{2}';
31727
- var TRACE_PARENT_REGEX = new RegExp("^\\s?(" + VERSION_PART + ")-(" + TRACE_ID_PART + ")-(" + PARENT_ID_PART + ")-(" + FLAGS_PART + ")(-.*)?\\s?$");
31728
- /**
31729
- * Parses information from the [traceparent] span tag and converts it into {@link SpanContext}
31730
- * @param traceParent - A meta property that comes from server.
31731
- * It should be dynamically generated server side to have the server's request trace Id,
31732
- * a parent span Id that was set on the server's request span,
31733
- * and the trace flags to indicate the server's sampling decision
31734
- * (01 = sampled, 00 = not sampled).
31735
- * for example: '{version}-{traceId}-{spanId}-{sampleDecision}'
31736
- * For more information see {@link https://www.w3.org/TR/trace-context/}
31737
- */
31738
- function parseTraceParent(traceParent) {
31739
- var match = TRACE_PARENT_REGEX.exec(traceParent);
31740
- if (!match)
31741
- return null;
31742
- // According to the specification the implementation should be compatible
31743
- // with future versions. If there are more parts, we only reject it if it's using version 00
31744
- // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent
31745
- if (match[1] === '00' && match[5])
31746
- return null;
31747
- return {
31748
- traceId: match[2],
31749
- spanId: match[3],
31750
- traceFlags: parseInt(match[4], 16),
31751
- };
31752
- }
31753
- /**
31754
- * Propagates {@link SpanContext} through Trace Context format propagation.
31755
- *
31756
- * Based on the Trace Context specification:
31757
- * https://www.w3.org/TR/trace-context/
31758
- */
31759
- var W3CTraceContextPropagator = /** @class */ (function () {
31760
- function W3CTraceContextPropagator() {
31761
- }
31762
- W3CTraceContextPropagator.prototype.inject = function (context, carrier, setter) {
31763
- var spanContext = _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.getSpanContext(context);
31764
- if (!spanContext ||
31765
- (0,_suppress_tracing__WEBPACK_IMPORTED_MODULE_1__.isTracingSuppressed)(context) ||
31766
- !(0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_2__.isSpanContextValid)(spanContext))
31767
- return;
31768
- var traceParent = VERSION + "-" + spanContext.traceId + "-" + spanContext.spanId + "-0" + Number(spanContext.traceFlags || _opentelemetry_api__WEBPACK_IMPORTED_MODULE_3__.TraceFlags.NONE).toString(16);
31769
- setter.set(carrier, TRACE_PARENT_HEADER, traceParent);
31770
- if (spanContext.traceState) {
31771
- setter.set(carrier, TRACE_STATE_HEADER, spanContext.traceState.serialize());
31772
- }
31773
- };
31774
- W3CTraceContextPropagator.prototype.extract = function (context, carrier, getter) {
31775
- var traceParentHeader = getter.get(carrier, TRACE_PARENT_HEADER);
31776
- if (!traceParentHeader)
31777
- return context;
31778
- var traceParent = Array.isArray(traceParentHeader)
31779
- ? traceParentHeader[0]
31780
- : traceParentHeader;
31781
- if (typeof traceParent !== 'string')
31782
- return context;
31783
- var spanContext = parseTraceParent(traceParent);
31784
- if (!spanContext)
31785
- return context;
31786
- spanContext.isRemote = true;
31787
- var traceStateHeader = getter.get(carrier, TRACE_STATE_HEADER);
31788
- if (traceStateHeader) {
31789
- // If more than one `tracestate` header is found, we merge them into a
31790
- // single header.
31791
- var state = Array.isArray(traceStateHeader)
31792
- ? traceStateHeader.join(',')
31793
- : traceStateHeader;
31794
- spanContext.traceState = new _TraceState__WEBPACK_IMPORTED_MODULE_4__.TraceState(typeof state === 'string' ? state : undefined);
31795
- }
31796
- return _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.trace.setSpanContext(context, spanContext);
31797
- };
31798
- W3CTraceContextPropagator.prototype.fields = function () {
31799
- return [TRACE_PARENT_HEADER, TRACE_STATE_HEADER];
31800
- };
31801
- return W3CTraceContextPropagator;
31802
- }());
31859
+ /* 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");
31803
31860
 
31804
- //# sourceMappingURL=W3CTraceContextPropagator.js.map
31861
+ //# sourceMappingURL=index.js.map
31805
31862
 
31806
31863
  /***/ }),
31807
31864
 
31808
- /***/ "./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js":
31809
- /*!******************************************************************************!*\
31810
- !*** ./node_modules/@opentelemetry/core/build/esm/trace/suppress-tracing.js ***!
31811
- \******************************************************************************/
31865
+ /***/ "../session-recorder-common/dist/esm/type/session-type.enum.js":
31866
+ /*!*********************************************************************!*\
31867
+ !*** ../session-recorder-common/dist/esm/type/session-type.enum.js ***!
31868
+ \*********************************************************************/
31812
31869
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31813
31870
 
31814
31871
  "use strict";
31815
31872
  __webpack_require__.r(__webpack_exports__);
31816
31873
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31817
- /* harmony export */ isTracingSuppressed: () => (/* binding */ isTracingSuppressed),
31818
- /* harmony export */ suppressTracing: () => (/* binding */ suppressTracing),
31819
- /* harmony export */ unsuppressTracing: () => (/* binding */ unsuppressTracing)
31874
+ /* harmony export */ SessionType: () => (/* binding */ SessionType)
31820
31875
  /* harmony export */ });
31821
- /* harmony import */ var _opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @opentelemetry/api */ "../../node_modules/@opentelemetry/api/build/esm/context/context.js");
31822
- /*
31823
- * Copyright The OpenTelemetry Authors
31824
- *
31825
- * Licensed under the Apache License, Version 2.0 (the "License");
31826
- * you may not use this file except in compliance with the License.
31827
- * You may obtain a copy of the License at
31828
- *
31829
- * https://www.apache.org/licenses/LICENSE-2.0
31830
- *
31831
- * Unless required by applicable law or agreed to in writing, software
31832
- * distributed under the License is distributed on an "AS IS" BASIS,
31833
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31834
- * See the License for the specific language governing permissions and
31835
- * limitations under the License.
31836
- */
31837
-
31838
- var SUPPRESS_TRACING_KEY = (0,_opentelemetry_api__WEBPACK_IMPORTED_MODULE_0__.createContextKey)('OpenTelemetry SDK Context Key SUPPRESS_TRACING');
31839
- function suppressTracing(context) {
31840
- return context.setValue(SUPPRESS_TRACING_KEY, true);
31841
- }
31842
- function unsuppressTracing(context) {
31843
- return context.deleteValue(SUPPRESS_TRACING_KEY);
31844
- }
31845
- function isTracingSuppressed(context) {
31846
- return context.getValue(SUPPRESS_TRACING_KEY) === true;
31847
- }
31848
- //# sourceMappingURL=suppress-tracing.js.map
31876
+ var SessionType;
31877
+ (function (SessionType) {
31878
+ SessionType["CONTINUOUS"] = "CONTINUOUS";
31879
+ SessionType["PLAIN"] = "MANUAL";
31880
+ })(SessionType || (SessionType = {}));
31881
+ //# sourceMappingURL=session-type.enum.js.map
31849
31882
 
31850
31883
  /***/ }),
31851
31884
 
@@ -50202,6 +50235,8 @@ __webpack_require__.r(__webpack_exports__);
50202
50235
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE),
50203
50236
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_REQUEST_MESSAGE_ENCODING),
50204
50237
  /* harmony export */ ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_GRPC_RESPONSE_MESSAGE),
50238
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_PROXY),
50239
+ /* harmony export */ ATTR_MULTIPLAYER_HTTP_PROXY_TYPE: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_PROXY_TYPE),
50205
50240
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_REQUEST_BODY),
50206
50241
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_REQUEST_HEADERS),
50207
50242
  /* harmony export */ ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY: () => (/* reexport safe */ _multiplayer_app_session_recorder_common__WEBPACK_IMPORTED_MODULE_4__.ATTR_MULTIPLAYER_HTTP_RESPONSE_BODY),
@@ -50240,7 +50275,7 @@ __webpack_require__.r(__webpack_exports__);
50240
50275
  /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./src/listeners.ts");
50241
50276
  /* harmony import */ var _eventBus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eventBus */ "./src/eventBus.ts");
50242
50277
  /* harmony import */ var _sessionRecorder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sessionRecorder */ "./src/sessionRecorder.ts");
50243
- /* 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");
50278
+ /* 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");
50244
50279
 
50245
50280
 
50246
50281