@multiplayer-app/session-recorder-browser 1.2.21 → 1.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/browser/index.js +48 -102
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/config/constants.d.ts +19 -0
  4. package/dist/config/constants.js +35 -0
  5. package/dist/config/constants.js.map +1 -0
  6. package/dist/config/defaults.d.ts +5 -0
  7. package/dist/config/defaults.js +60 -0
  8. package/dist/config/defaults.js.map +1 -0
  9. package/dist/config/index.d.ts +6 -0
  10. package/dist/config/index.js +7 -0
  11. package/dist/config/index.js.map +1 -0
  12. package/dist/config/masking.d.ts +3 -0
  13. package/dist/config/masking.js +30 -0
  14. package/dist/config/masking.js.map +1 -0
  15. package/dist/config/session-recorder.d.ts +3 -0
  16. package/dist/config/session-recorder.js +60 -0
  17. package/dist/config/session-recorder.js.map +1 -0
  18. package/dist/config/validators.d.ts +11 -0
  19. package/dist/config/validators.js +25 -0
  20. package/dist/config/validators.js.map +1 -0
  21. package/dist/eventBus.d.ts +3 -0
  22. package/dist/eventBus.js +3 -0
  23. package/dist/eventBus.js.map +1 -0
  24. package/dist/exporters/index.js +1 -1
  25. package/dist/exporters.d.ts +4 -0
  26. package/dist/exporters.js +8 -0
  27. package/dist/exporters.js.map +1 -0
  28. package/dist/index.d.ts +10 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +53 -102
  31. package/dist/index.js.map +1 -1
  32. package/dist/index.umd.js +48 -101
  33. package/dist/index.umd.js.map +1 -1
  34. package/dist/listeners.d.ts +3 -0
  35. package/dist/listeners.js +39 -0
  36. package/dist/listeners.js.map +1 -0
  37. package/dist/navigation/index.d.ts +3 -0
  38. package/dist/navigation/index.js +3 -0
  39. package/dist/navigation/index.js.map +1 -0
  40. package/dist/navigation/navigationRecorder.d.ts +22 -0
  41. package/dist/navigation/navigationRecorder.js +195 -0
  42. package/dist/navigation/navigationRecorder.js.map +1 -0
  43. package/dist/navigation/types.d.ts +32 -0
  44. package/dist/navigation/types.js +2 -0
  45. package/dist/navigation/types.js.map +1 -0
  46. package/dist/otel/helpers.d.ts +46 -0
  47. package/dist/otel/helpers.js +201 -0
  48. package/dist/otel/helpers.js.map +1 -0
  49. package/dist/otel/index.d.ts +18 -0
  50. package/dist/otel/index.js +186 -0
  51. package/dist/otel/index.js.map +1 -0
  52. package/dist/otel/types.d.ts +10 -0
  53. package/dist/otel/types.js +2 -0
  54. package/dist/otel/types.js.map +1 -0
  55. package/dist/patch/configs.d.ts +9 -0
  56. package/dist/patch/configs.js +16 -0
  57. package/dist/patch/configs.js.map +1 -0
  58. package/dist/patch/fetch.d.ts +2 -0
  59. package/dist/patch/fetch.js +123 -0
  60. package/dist/patch/fetch.js.map +1 -0
  61. package/dist/patch/index.d.ts +4 -0
  62. package/dist/patch/index.js +4 -0
  63. package/dist/patch/index.js.map +1 -0
  64. package/dist/patch/xhr.d.ts +2 -0
  65. package/dist/patch/xhr.js +85 -0
  66. package/dist/patch/xhr.js.map +1 -0
  67. package/dist/rrweb/exporter.d.ts +25 -0
  68. package/dist/rrweb/exporter.js +146 -0
  69. package/dist/rrweb/exporter.js.map +1 -0
  70. package/dist/rrweb/index.d.ts +39 -0
  71. package/dist/rrweb/index.js +139 -0
  72. package/dist/rrweb/index.js.map +1 -0
  73. package/dist/rrweb/indexedDbService.d.ts +9 -0
  74. package/dist/rrweb/indexedDbService.js +54 -0
  75. package/dist/rrweb/indexedDbService.js.map +1 -0
  76. package/dist/services/api.service.d.ts +81 -0
  77. package/dist/services/api.service.js +133 -0
  78. package/dist/services/api.service.js.map +1 -0
  79. package/dist/services/messaging.service.d.ts +16 -0
  80. package/dist/services/messaging.service.js +94 -0
  81. package/dist/services/messaging.service.js.map +1 -0
  82. package/dist/sessionRecorder.d.ts +148 -0
  83. package/dist/sessionRecorder.js +555 -0
  84. package/dist/sessionRecorder.js.map +1 -0
  85. package/dist/sessionWidget/UIManager.d.ts +76 -0
  86. package/dist/sessionWidget/UIManager.js +135 -0
  87. package/dist/sessionWidget/UIManager.js.map +1 -0
  88. package/dist/sessionWidget/buttonStateConfigs.d.ts +83 -0
  89. package/dist/sessionWidget/buttonStateConfigs.js +86 -0
  90. package/dist/sessionWidget/buttonStateConfigs.js.map +1 -0
  91. package/dist/sessionWidget/constants.d.ts +5 -0
  92. package/dist/sessionWidget/constants.js +5 -0
  93. package/dist/sessionWidget/constants.js.map +1 -0
  94. package/dist/sessionWidget/dragManager.d.ts +16 -0
  95. package/dist/sessionWidget/dragManager.js +114 -0
  96. package/dist/sessionWidget/dragManager.js.map +1 -0
  97. package/dist/sessionWidget/index.d.ts +86 -0
  98. package/dist/sessionWidget/index.js +564 -0
  99. package/dist/sessionWidget/index.js.map +1 -0
  100. package/dist/sessionWidget/templates/finalPopover.d.ts +3 -0
  101. package/dist/sessionWidget/templates/finalPopover.js +21 -0
  102. package/dist/sessionWidget/templates/finalPopover.js.map +1 -0
  103. package/dist/sessionWidget/templates/icons.d.ts +14 -0
  104. package/dist/sessionWidget/templates/icons.js +50 -0
  105. package/dist/sessionWidget/templates/icons.js.map +1 -0
  106. package/dist/sessionWidget/templates/initialPopover.d.ts +3 -0
  107. package/dist/sessionWidget/templates/initialPopover.js +41 -0
  108. package/dist/sessionWidget/templates/initialPopover.js.map +1 -0
  109. package/dist/sessionWidget/templates/recordingOverlay.d.ts +2 -0
  110. package/dist/sessionWidget/templates/recordingOverlay.js +16 -0
  111. package/dist/sessionWidget/templates/recordingOverlay.js.map +1 -0
  112. package/dist/sessionWidget/templates/submitSessionDialog.d.ts +3 -0
  113. package/dist/sessionWidget/templates/submitSessionDialog.js +17 -0
  114. package/dist/sessionWidget/templates/submitSessionDialog.js.map +1 -0
  115. package/dist/sessionWidget/templates/toast.d.ts +3 -0
  116. package/dist/sessionWidget/templates/toast.js +25 -0
  117. package/dist/sessionWidget/templates/toast.js.map +1 -0
  118. package/dist/types/client-type.enum.d.ts +6 -0
  119. package/dist/types/client-type.enum.js +7 -0
  120. package/dist/types/client-type.enum.js.map +1 -0
  121. package/dist/types/index.d.ts +4 -0
  122. package/dist/types/index.js +4 -0
  123. package/dist/types/index.js.map +1 -0
  124. package/dist/types/session.d.ts +72 -0
  125. package/dist/types/session.js +7 -0
  126. package/dist/types/session.js.map +1 -0
  127. package/dist/types/sessionRecorder.d.ts +369 -0
  128. package/dist/types/sessionRecorder.js +14 -0
  129. package/dist/types/sessionRecorder.js.map +1 -0
  130. package/dist/types/widget.d.ts +11 -0
  131. package/dist/types/widget.js +2 -0
  132. package/dist/types/widget.js.map +1 -0
  133. package/dist/utils/array.d.ts +4 -0
  134. package/dist/utils/array.js +50 -0
  135. package/dist/utils/array.js.map +1 -0
  136. package/dist/utils/dom.d.ts +5 -0
  137. package/dist/utils/dom.js +9 -0
  138. package/dist/utils/dom.js.map +1 -0
  139. package/dist/utils/globals.d.ts +24 -0
  140. package/dist/utils/globals.js +14 -0
  141. package/dist/utils/globals.js.map +1 -0
  142. package/dist/utils/index.d.ts +9 -0
  143. package/dist/utils/index.js +10 -0
  144. package/dist/utils/index.js.map +1 -0
  145. package/dist/utils/navigator.d.ts +3 -0
  146. package/dist/utils/navigator.js +83 -0
  147. package/dist/utils/navigator.js.map +1 -0
  148. package/dist/utils/request-utils.d.ts +10 -0
  149. package/dist/utils/request-utils.js +70 -0
  150. package/dist/utils/request-utils.js.map +1 -0
  151. package/dist/utils/session.d.ts +8 -0
  152. package/dist/utils/session.js +21 -0
  153. package/dist/utils/session.js.map +1 -0
  154. package/dist/utils/storage.d.ts +7 -0
  155. package/dist/utils/storage.js +19 -0
  156. package/dist/utils/storage.js.map +1 -0
  157. package/dist/utils/time.d.ts +7 -0
  158. package/dist/utils/time.js +25 -0
  159. package/dist/utils/time.js.map +1 -0
  160. package/dist/utils/type-utils.d.ts +18 -0
  161. package/dist/utils/type-utils.js +71 -0
  162. package/dist/utils/type-utils.js.map +1 -0
  163. package/package.json +7 -2
  164. package/dist/exports.d.ts.map +0 -1
  165. package/docs/img/header-js.png +0 -0
  166. package/src/index.scss +0 -913
@@ -0,0 +1,19 @@
1
+ export declare const OTEL_MP_SAMPLE_TRACE_RATIO = 0.15;
2
+ export declare const SESSION_ID_PROP_NAME = "multiplayer-session-id";
3
+ export declare const SESSION_SHORT_ID_PROP_NAME = "multiplayer-session-short-id";
4
+ export declare const SESSION_STATE_PROP_NAME = "multiplayer-session-state";
5
+ export declare const SESSION_TYPE_PROP_NAME = "multiplayer-session-type";
6
+ export declare const SESSION_PROP_NAME = "multiplayer-session-data";
7
+ export declare const SESSION_STARTED_EVENT = "debug-session:started";
8
+ export declare const SESSION_STOPPED_EVENT = "debug-session:stopped";
9
+ export declare const SESSION_SUBSCRIBE_EVENT = "debug-session:subscribe";
10
+ export declare const SESSION_UNSUBSCRIBE_EVENT = "debug-session:unsubscribe";
11
+ export declare const SESSION_AUTO_CREATED = "debug-session:auto-created";
12
+ export declare const SESSION_ADD_EVENT = "debug-session:rrweb:add-event";
13
+ export declare const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
14
+ export declare const SESSION_RESPONSE = "multiplayer-debug-session-response";
15
+ export declare const CONTINUOUS_DEBUGGING_TIMEOUT = 60000;
16
+ export declare const DEBUG_SESSION_MAX_DURATION_SECONDS: number;
17
+ export declare const PACKAGE_VERSION_EXPORT: string;
18
+ export declare const OTEL_IGNORE_URLS: RegExp[];
19
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,35 @@
1
+ export const OTEL_MP_SAMPLE_TRACE_RATIO = 0.15;
2
+ export const SESSION_ID_PROP_NAME = 'multiplayer-session-id';
3
+ export const SESSION_SHORT_ID_PROP_NAME = 'multiplayer-session-short-id';
4
+ export const SESSION_STATE_PROP_NAME = 'multiplayer-session-state';
5
+ export const SESSION_TYPE_PROP_NAME = 'multiplayer-session-type';
6
+ export const SESSION_PROP_NAME = 'multiplayer-session-data';
7
+ export const SESSION_STARTED_EVENT = 'debug-session:started';
8
+ export const SESSION_STOPPED_EVENT = 'debug-session:stopped';
9
+ export const SESSION_SUBSCRIBE_EVENT = 'debug-session:subscribe';
10
+ export const SESSION_UNSUBSCRIBE_EVENT = 'debug-session:unsubscribe';
11
+ export const SESSION_AUTO_CREATED = 'debug-session:auto-created';
12
+ export const SESSION_ADD_EVENT = 'debug-session:rrweb:add-event';
13
+ export const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
14
+ export const SESSION_RESPONSE = 'multiplayer-debug-session-response';
15
+ export const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
16
+ export const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
17
+ export const PACKAGE_VERSION_EXPORT = PACKAGE_VERSION || '1.0.0';
18
+ // Regex patterns for OpenTelemetry ignore URLs
19
+ export const OTEL_IGNORE_URLS = [
20
+ // Traces endpoint
21
+ /.*\/v1\/traces/,
22
+ // Debug sessions endpoints
23
+ /.*\/v0\/radar\/debug-sessions\/start$/,
24
+ /.*\/v0\/radar\/debug-sessions\/[^/]+\/stop$/,
25
+ /.*\/v0\/radar\/debug-sessions\/[^/]+\/cancel$/,
26
+ // Continuous debug sessions endpoints
27
+ /.*\/v0\/radar\/continuous-debug-sessions\/start$/,
28
+ /.*\/v0\/radar\/continuous-debug-sessions\/[^/]+\/save$/,
29
+ /.*\/v0\/radar\/continuous-debug-sessions\/[^/]+\/cancel$/,
30
+ // Remote debug session endpoint
31
+ /.*\/v0\/radar\/remote-debug-session\/check$/,
32
+ // Or use a more general pattern to catch all radar API endpoints
33
+ // /.*\/v0\/radar\/.*/
34
+ ];
35
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAA8B,CAAA;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAA;AAElE,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAA;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAA;AAEhE,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAA;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,oCAAoC,CAAA;AAEpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAA,CAAC,YAAY;AAE9D,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,wCAAwC;AAIvG,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,IAAI,OAAO,CAAA;AAGhE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,gBAAgB;IAChB,2BAA2B;IAC3B,uCAAuC;IACvC,6CAA6C;IAC7C,+CAA+C;IAE/C,sCAAsC;IACtC,kDAAkD;IAClD,wDAAwD;IACxD,0DAA0D;IAE1D,gCAAgC;IAChC,6CAA6C;IAE7C,iEAAiE;IACjE,sBAAsB;CACvB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { MaskingConfig, SessionRecorderConfigs, WidgetTextOverridesConfig } from '../types';
2
+ export declare const DEFAULT_MASKING_CONFIG: MaskingConfig;
3
+ export declare const DEFAULT_WIDGET_TEXT_CONFIG: WidgetTextOverridesConfig;
4
+ export declare const BASE_CONFIG: Required<SessionRecorderConfigs>;
5
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1,60 @@
1
+ import { SessionRecorderSdk, MULTIPLAYER_BASE_API_URL, MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL, } from '@multiplayer-app/session-recorder-common';
2
+ import { WidgetButtonPlacement, } from '../types';
3
+ import { OTEL_MP_SAMPLE_TRACE_RATIO, DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE, } from './constants';
4
+ const { mask, sensitiveFields, sensitiveHeaders } = SessionRecorderSdk;
5
+ export const DEFAULT_MASKING_CONFIG = {
6
+ maskAllInputs: true,
7
+ isContentMaskingEnabled: true,
8
+ maskBody: mask(sensitiveFields),
9
+ maskHeaders: mask(sensitiveHeaders),
10
+ maskBodyFieldsList: sensitiveFields,
11
+ maskHeadersList: sensitiveHeaders,
12
+ headersToInclude: [],
13
+ headersToExclude: [],
14
+ };
15
+ export const DEFAULT_WIDGET_TEXT_CONFIG = {
16
+ initialTitleWithContinuous: 'Encountered an issue?',
17
+ initialTitleWithoutContinuous: 'Encountered an issue?',
18
+ initialDescriptionWithContinuous: 'Record your session so we can see the problem and fix it faster.',
19
+ initialDescriptionWithoutContinuous: 'Record your session so we can see the problem and fix it faster.',
20
+ continuousRecordingLabel: 'Continuous recording',
21
+ startRecordingButtonText: 'Start recording',
22
+ finalTitle: 'Done recording?',
23
+ finalDescription: 'You can also add a quick note with extra context, expectations, or questions. Thank you!',
24
+ commentPlaceholder: 'Add a message...',
25
+ saveButtonText: 'Submit recording',
26
+ cancelButtonText: 'Cancel recording',
27
+ continuousOverlayTitle: 'Save time, skip the reproductions',
28
+ continuousOverlayDescription: 'We keep a rolling record of your recent activity. If something doesn’t work as expected, just save the recording and continue working. No need to worry about exceptions and errors - we automatically save recordings for those!',
29
+ saveLastSnapshotButtonText: 'Save recording',
30
+ submitDialogTitle: 'Save recording',
31
+ submitDialogSubtitle: 'This full-stack session recording will be saved directly to your selected Multiplayer project. All data is automatically correlated end-to-end.',
32
+ submitDialogCommentLabel: 'You can also add context, comments, or notes.',
33
+ submitDialogCommentPlaceholder: 'Add a message...',
34
+ submitDialogSubmitText: 'Save',
35
+ submitDialogCancelText: 'Cancel',
36
+ };
37
+ export const BASE_CONFIG = {
38
+ apiKey: '',
39
+ version: '',
40
+ application: '',
41
+ environment: '',
42
+ showWidget: true,
43
+ showContinuousRecording: true,
44
+ widgetButtonPlacement: WidgetButtonPlacement.bottomRight,
45
+ usePostMessageFallback: false,
46
+ apiBaseUrl: MULTIPLAYER_BASE_API_URL,
47
+ exporterEndpoint: MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,
48
+ recordCanvas: false,
49
+ recordNavigation: true,
50
+ schemifyDocSpanPayload: true,
51
+ ignoreUrls: [],
52
+ propagateTraceHeaderCorsUrls: [],
53
+ sampleTraceRatio: OTEL_MP_SAMPLE_TRACE_RATIO,
54
+ maxCapturingHttpPayloadSize: DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,
55
+ captureBody: true,
56
+ captureHeaders: true,
57
+ masking: DEFAULT_MASKING_CONFIG,
58
+ widgetTextOverrides: DEFAULT_WIDGET_TEXT_CONFIG,
59
+ };
60
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC,WAAW;IAExD,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,YAAY,EAAE,KAAK;IACnB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAE5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,EAAE;IAEhC,gBAAgB,EAAE,0BAA0B;IAC5C,2BAA2B,EAAE,uCAAuC;IAEpE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,sBAAsB;IAC/B,mBAAmB,EAAE,0BAA0B;CAEhD,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './constants';
2
+ export * from './defaults';
3
+ export * from './validators';
4
+ export * from './masking';
5
+ export * from './session-recorder';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ // Export all config-related functions and constants
2
+ export * from './constants';
3
+ export * from './defaults';
4
+ export * from './validators';
5
+ export * from './masking';
6
+ export * from './session-recorder';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { MaskingConfig } from '../types';
2
+ export declare const getMaskingConfig: (masking?: MaskingConfig) => MaskingConfig;
3
+ //# sourceMappingURL=masking.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { DEFAULT_MASKING_CONFIG } from './defaults';
2
+ import { isValidArray, isValidBoolean, isValidFunction } from './validators';
3
+ import { SessionRecorderSdk } from '@multiplayer-app/session-recorder-common';
4
+ const { mask, sensitiveFields, sensitiveHeaders } = SessionRecorderSdk;
5
+ export const getMaskingConfig = (masking) => {
6
+ var _a, _b, _c, _d;
7
+ const baseMasking = DEFAULT_MASKING_CONFIG;
8
+ if (typeof masking !== 'object') {
9
+ return baseMasking;
10
+ }
11
+ const maskHeadersList = isValidArray(masking.maskHeadersList, sensitiveHeaders);
12
+ const maskBodyFieldsList = isValidArray(masking.maskBodyFieldsList, sensitiveFields);
13
+ return {
14
+ maskAllInputs: isValidBoolean(masking.maskAllInputs, (_a = baseMasking.maskAllInputs) !== null && _a !== void 0 ? _a : true),
15
+ maskTextClass: masking.maskTextClass,
16
+ maskTextSelector: masking.maskTextSelector,
17
+ maskInputOptions: masking.maskInputOptions && typeof masking.maskInputOptions === 'object' ? masking.maskInputOptions : undefined,
18
+ maskInput: isValidFunction(masking.maskInput, undefined),
19
+ maskText: isValidFunction(masking.maskText, undefined),
20
+ maskConsoleEvent: isValidFunction(masking.maskConsoleEvent, undefined),
21
+ maskHeadersList,
22
+ maskBodyFieldsList,
23
+ headersToInclude: isValidArray(masking.headersToInclude, (_b = baseMasking.headersToInclude) !== null && _b !== void 0 ? _b : []),
24
+ headersToExclude: isValidArray(masking.headersToExclude, (_c = baseMasking.headersToExclude) !== null && _c !== void 0 ? _c : []),
25
+ isContentMaskingEnabled: isValidBoolean(masking.isContentMaskingEnabled, (_d = baseMasking.isContentMaskingEnabled) !== null && _d !== void 0 ? _d : true),
26
+ maskBody: isValidFunction(masking.maskBody, mask(maskBodyFieldsList)),
27
+ maskHeaders: isValidFunction(masking.maskHeaders, mask(maskHeadersList)),
28
+ };
29
+ };
30
+ //# sourceMappingURL=masking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masking.js","sourceRoot":"","sources":["../../src/config/masking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAE7E,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAiB,EAAE;;IACzE,MAAM,WAAW,GAAG,sBAAsB,CAAA;IAE1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;IAC/E,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;IAEpF,OAAO;QACL,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,MAAA,WAAW,CAAC,aAAa,mCAAI,IAAI,CAAC;QACvF,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QACjI,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;QACxD,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;QACtD,gBAAgB,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;QAEtE,eAAe;QACf,kBAAkB;QAClB,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,uBAAuB,EAAE,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAA,WAAW,CAAC,uBAAuB,mCAAI,IAAI,CAAC;QACrH,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;KACzE,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { SessionRecorderConfigs, SessionRecorderOptions } from '../types';
2
+ export declare const getSessionRecorderConfig: (c: SessionRecorderOptions) => SessionRecorderConfigs;
3
+ //# sourceMappingURL=session-recorder.d.ts.map
@@ -0,0 +1,60 @@
1
+ import { WidgetButtonPlacement } from '../types';
2
+ import { BASE_CONFIG } from './defaults';
3
+ import { getMaskingConfig } from './masking';
4
+ import { isValidString, isValidNumber, isValidBoolean, isValidArray, isValidEnum, } from './validators';
5
+ const getWidgetTextOverridesConfig = (config, defaultConfig) => {
6
+ if (!config || typeof config !== 'object') {
7
+ return defaultConfig;
8
+ }
9
+ return {
10
+ initialTitleWithContinuous: isValidString(config.initialTitleWithContinuous, defaultConfig.initialTitleWithContinuous),
11
+ initialTitleWithoutContinuous: isValidString(config.initialTitleWithoutContinuous, defaultConfig.initialTitleWithoutContinuous),
12
+ initialDescriptionWithContinuous: isValidString(config.initialDescriptionWithContinuous, defaultConfig.initialDescriptionWithContinuous),
13
+ initialDescriptionWithoutContinuous: isValidString(config.initialDescriptionWithoutContinuous, defaultConfig.initialDescriptionWithoutContinuous),
14
+ continuousRecordingLabel: isValidString(config.continuousRecordingLabel, defaultConfig.continuousRecordingLabel),
15
+ startRecordingButtonText: isValidString(config.startRecordingButtonText, defaultConfig.startRecordingButtonText),
16
+ finalTitle: isValidString(config.finalTitle, defaultConfig.finalTitle),
17
+ finalDescription: isValidString(config.finalDescription, defaultConfig.finalDescription),
18
+ commentPlaceholder: isValidString(config.commentPlaceholder, defaultConfig.commentPlaceholder),
19
+ saveButtonText: isValidString(config.saveButtonText, defaultConfig.saveButtonText),
20
+ cancelButtonText: isValidString(config.cancelButtonText, defaultConfig.cancelButtonText),
21
+ continuousOverlayTitle: isValidString(config.continuousOverlayTitle, defaultConfig.continuousOverlayTitle),
22
+ continuousOverlayDescription: isValidString(config.continuousOverlayDescription, defaultConfig.continuousOverlayDescription),
23
+ saveLastSnapshotButtonText: isValidString(config.saveLastSnapshotButtonText, defaultConfig.saveLastSnapshotButtonText),
24
+ submitDialogTitle: isValidString(config.submitDialogTitle, defaultConfig.submitDialogTitle),
25
+ submitDialogSubtitle: isValidString(config.submitDialogSubtitle, defaultConfig.submitDialogSubtitle),
26
+ submitDialogCommentLabel: isValidString(config.submitDialogCommentLabel, defaultConfig.submitDialogCommentLabel),
27
+ submitDialogCommentPlaceholder: isValidString(config.submitDialogCommentPlaceholder, defaultConfig.submitDialogCommentPlaceholder),
28
+ submitDialogSubmitText: isValidString(config.submitDialogSubmitText, defaultConfig.submitDialogSubmitText),
29
+ submitDialogCancelText: isValidString(config.submitDialogCancelText, defaultConfig.submitDialogCancelText),
30
+ };
31
+ };
32
+ export const getSessionRecorderConfig = (c) => {
33
+ if (!c) {
34
+ return BASE_CONFIG;
35
+ }
36
+ return {
37
+ apiKey: isValidString(c.apiKey, BASE_CONFIG.apiKey),
38
+ version: isValidString(c.version, BASE_CONFIG.version),
39
+ application: isValidString(c.application, BASE_CONFIG.application),
40
+ environment: isValidString(c.environment, BASE_CONFIG.environment),
41
+ exporterEndpoint: isValidString(c.exporterEndpoint, BASE_CONFIG.exporterEndpoint),
42
+ apiBaseUrl: isValidString(c.apiBaseUrl, BASE_CONFIG.apiBaseUrl),
43
+ usePostMessageFallback: isValidBoolean(c.usePostMessageFallback, BASE_CONFIG.usePostMessageFallback),
44
+ showWidget: isValidBoolean(c.showWidget, BASE_CONFIG.showWidget),
45
+ showContinuousRecording: isValidBoolean(c.showContinuousRecording, BASE_CONFIG.showContinuousRecording),
46
+ recordCanvas: isValidBoolean(c.recordCanvas, BASE_CONFIG.recordCanvas),
47
+ recordNavigation: isValidBoolean(c.recordNavigation, BASE_CONFIG.recordNavigation),
48
+ widgetButtonPlacement: isValidEnum(c.widgetButtonPlacement, BASE_CONFIG.widgetButtonPlacement, Object.values(WidgetButtonPlacement)),
49
+ ignoreUrls: isValidArray(c.ignoreUrls, BASE_CONFIG.ignoreUrls),
50
+ sampleTraceRatio: isValidNumber(c.sampleTraceRatio, BASE_CONFIG.sampleTraceRatio),
51
+ propagateTraceHeaderCorsUrls: c.propagateTraceHeaderCorsUrls || BASE_CONFIG.propagateTraceHeaderCorsUrls,
52
+ schemifyDocSpanPayload: isValidBoolean(c.schemifyDocSpanPayload, BASE_CONFIG.schemifyDocSpanPayload),
53
+ maxCapturingHttpPayloadSize: isValidNumber(c.maxCapturingHttpPayloadSize, BASE_CONFIG.maxCapturingHttpPayloadSize),
54
+ captureBody: isValidBoolean(c.captureBody, BASE_CONFIG.captureBody),
55
+ captureHeaders: isValidBoolean(c.captureHeaders, BASE_CONFIG.captureHeaders),
56
+ masking: getMaskingConfig(c.masking),
57
+ widgetTextOverrides: getWidgetTextOverridesConfig(c.widgetTextOverrides, BASE_CONFIG.widgetTextOverrides),
58
+ };
59
+ };
60
+ //# sourceMappingURL=session-recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Validation helper functions for configuration objects
3
+ */
4
+ export declare const isValidStringOrRegExp: (value: string | RegExp | undefined, defaultValue: string | RegExp) => string | RegExp;
5
+ export declare const isValidString: <T extends string>(value: string | undefined | T, defaultValue: string) => string;
6
+ export declare const isValidNumber: (value: number | undefined, defaultValue: number) => number;
7
+ export declare const isValidBoolean: (value: boolean | undefined, defaultValue: boolean) => boolean;
8
+ export declare const isValidArray: (value: any[] | undefined, defaultValue: any[]) => any[];
9
+ export declare const isValidEnum: <T>(value: any | T, defaultValue: T, enumValues: T[]) => T;
10
+ export declare const isValidFunction: (value: any, defaultValue: any) => any;
11
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Validation helper functions for configuration objects
3
+ */
4
+ export const isValidStringOrRegExp = (value, defaultValue) => {
5
+ return typeof value === 'string' || value instanceof RegExp ? value : defaultValue;
6
+ };
7
+ export const isValidString = (value, defaultValue) => {
8
+ return typeof value === 'string' ? value.trim() : defaultValue;
9
+ };
10
+ export const isValidNumber = (value, defaultValue) => {
11
+ return typeof value === 'number' ? value : defaultValue;
12
+ };
13
+ export const isValidBoolean = (value, defaultValue) => {
14
+ return typeof value === 'boolean' ? value : defaultValue;
15
+ };
16
+ export const isValidArray = (value, defaultValue) => {
17
+ return Array.isArray(value) ? value : defaultValue;
18
+ };
19
+ export const isValidEnum = (value, defaultValue, enumValues) => {
20
+ return enumValues.includes(value) ? value : defaultValue;
21
+ };
22
+ export const isValidFunction = (value, defaultValue) => {
23
+ return typeof value === 'function' ? value : defaultValue;
24
+ };
25
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAkC,EAAE,YAA6B,EAAE,EAAE;IACzG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,KAA6B,EAAE,YAAoB,EAAE,EAAE;IACrG,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,YAAoB,EAAE,EAAE;IAC/E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,YAAqB,EAAE,EAAE;IAClF,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,YAAmB,EAAE,EAAE;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAc,EAAE,YAAe,EAAE,UAAe,EAAK,EAAE;IACpF,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAU,CAAC,CAAC,CAAC,CAAC,KAAU,CAAC,CAAC,CAAC,YAAY,CAAA;AACpE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAU,EAAE,YAAiB,EAAE,EAAE;IAC/D,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AAC3D,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare const recorderEventBus: EventEmitter<[never]>;
3
+ //# sourceMappingURL=eventBus.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { EventEmitter } from 'events';
2
+ export const recorderEventBus = new EventEmitter();
3
+ //# sourceMappingURL=eventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../src/eventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,YAAY,EAAE,CAAA"}
@@ -9978,7 +9978,7 @@ const DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE = 100000;
9978
9978
  const SESSION_RESPONSE = 'multiplayer-debug-session-response';
9979
9979
  const CONTINUOUS_DEBUGGING_TIMEOUT = 60000; // 1 minutes
9980
9980
  const DEBUG_SESSION_MAX_DURATION_SECONDS = 10 * 60 + 30; // TODO: move to shared config otel core
9981
- const PACKAGE_VERSION_EXPORT = "1.2.21" || 0;
9981
+ const PACKAGE_VERSION_EXPORT = "1.2.23" || 0;
9982
9982
  // Regex patterns for OpenTelemetry ignore URLs
9983
9983
  const OTEL_IGNORE_URLS = [
9984
9984
  // Traces endpoint
@@ -0,0 +1,4 @@
1
+ import { RrwebEventExporter } from './rrweb/exporter';
2
+ import { SessionRecorderBrowserTraceExporter as TraceExporter } from '@multiplayer-app/session-recorder-common';
3
+ export { RrwebEventExporter, TraceExporter };
4
+ //# sourceMappingURL=exporters.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { RrwebEventExporter } from './rrweb/exporter';
2
+ import { SessionRecorderBrowserTraceExporter as TraceExporter } from '@multiplayer-app/session-recorder-common';
3
+ window['__MP_SDK_EXPORTS__'] = {
4
+ RrwebEventExporter,
5
+ TraceExporter,
6
+ };
7
+ export { RrwebEventExporter, TraceExporter };
8
+ //# sourceMappingURL=exporters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,mCAAmC,IAAI,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAE/G,MAAM,CAAC,oBAAoB,CAAC,GAAG;IAC7B,kBAAkB;IAClB,aAAa;CACd,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import './patch';
2
+ import { recorderEventBus } from './eventBus';
3
+ import { SessionRecorder } from './sessionRecorder';
4
+ export * from './types';
5
+ export * from './navigation';
6
+ export * from '@multiplayer-app/session-recorder-common';
7
+ declare const SessionRecorderInstance: SessionRecorder;
8
+ export { recorderEventBus };
9
+ export default SessionRecorderInstance;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B,QAAA,MAAM,uBAAuB,iBAAwB,CAAA;AASrD,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,eAAe,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAEhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,0CAA0C,CAAA;AAExD,QAAA,MAAM,uBAAuB,iBAAwB,CAAA;AASrD,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,eAAe,uBAAuB,CAAA"}