@multiplayer-app/session-recorder-browser 1.2.22 → 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 -104
  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 +52 -104
  31. package/dist/index.js.map +1 -1
  32. package/dist/index.umd.js +48 -103
  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,94 @@
1
+ class MessagingService {
2
+ constructor() {
3
+ this.promiseIdCounter = 0;
4
+ this.promiseMap = new Map();
5
+ this.messagingServices = new Map();
6
+ this.isBrowser = typeof window !== 'undefined';
7
+ this.setupMessageListener();
8
+ }
9
+ generatePromiseId() {
10
+ return `promise_${++this.promiseIdCounter}`;
11
+ }
12
+ sendMessage(action, payload) {
13
+ if (!this.isBrowser)
14
+ return;
15
+ const message = {
16
+ type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
17
+ action,
18
+ payload,
19
+ };
20
+ window.postMessage(message, '*');
21
+ }
22
+ sendMessagePromise(action, payload) {
23
+ if (!this.isBrowser) {
24
+ return Promise.reject(new Error('Not in browser environment'));
25
+ }
26
+ const promiseId = this.generatePromiseId();
27
+ const promise = new Promise((resolve, reject) => {
28
+ this.promiseMap.set(promiseId, { resolve, reject });
29
+ });
30
+ const message = {
31
+ type: 'MULTIPLAYER_SESSION_DEBUGGER_LIB',
32
+ action,
33
+ payload,
34
+ promiseId,
35
+ };
36
+ window.postMessage(message, '*');
37
+ return promise;
38
+ }
39
+ on(action, handler) {
40
+ const handlers = this.messagingServices.get(action) || [];
41
+ handlers.push(handler);
42
+ this.messagingServices.set(action, handlers);
43
+ }
44
+ off(action, handler) {
45
+ if (!handler) {
46
+ // Remove all handlers for this action
47
+ this.messagingServices.delete(action);
48
+ return;
49
+ }
50
+ const handlers = this.messagingServices.get(action);
51
+ if (handlers) {
52
+ const index = handlers.indexOf(handler);
53
+ if (index !== -1) {
54
+ handlers.splice(index, 1);
55
+ if (handlers.length === 0) {
56
+ this.messagingServices.delete(action);
57
+ }
58
+ else {
59
+ this.messagingServices.set(action, handlers);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ setupMessageListener() {
65
+ if (!this.isBrowser)
66
+ return;
67
+ window.addEventListener('message', (event) => {
68
+ const { type, action, payload, promiseId } = event.data;
69
+ if (type !== 'MULTIPLAYER_SESSION_DEBUGGER_EXTENSION' || !action)
70
+ return;
71
+ // Handle promise response
72
+ if (promiseId && this.promiseMap.has(promiseId)) {
73
+ const { resolve, reject } = this.promiseMap.get(promiseId);
74
+ const { error, response } = payload;
75
+ if (error) {
76
+ reject(error);
77
+ }
78
+ else {
79
+ resolve(response);
80
+ }
81
+ this.promiseMap.delete(promiseId);
82
+ return;
83
+ }
84
+ // Handle regular message handlers
85
+ const handlers = this.messagingServices.get(action);
86
+ if (handlers) {
87
+ handlers.forEach(handler => handler(payload));
88
+ }
89
+ });
90
+ }
91
+ }
92
+ const messagingService = new MessagingService();
93
+ export default messagingService;
94
+ //# sourceMappingURL=messaging.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.service.js","sourceRoot":"","sources":["../../src/services/messaging.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { SessionState, ISession, SessionRecorderOptions, SessionRecorderEvents } from './types';
2
+ import './index.scss';
3
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
4
+ import { ISessionRecorder } from './types';
5
+ import { Observable } from 'lib0/observable';
6
+ import { NavigationRecorderPublicApi } from './navigation';
7
+ export declare class SessionRecorder extends Observable<SessionRecorderEvents> implements ISessionRecorder {
8
+ private _configs;
9
+ private _apiService;
10
+ private _tracer;
11
+ private _recorder;
12
+ private _sessionWidget;
13
+ private _navigationRecorder;
14
+ private _startRequestController;
15
+ get navigation(): NavigationRecorderPublicApi;
16
+ private _isInitialized;
17
+ get isInitialized(): boolean;
18
+ private _sessionId;
19
+ get sessionId(): string | null;
20
+ set sessionId(sessionId: string | null);
21
+ private _sessionType;
22
+ get sessionType(): SessionType;
23
+ set sessionType(sessionType: SessionType);
24
+ get continuousRecording(): boolean;
25
+ private _sessionState;
26
+ get sessionState(): SessionState | null;
27
+ set sessionState(state: SessionState | null);
28
+ private _session;
29
+ get session(): ISession | null;
30
+ set session(session: ISession | null);
31
+ private _sessionAttributes;
32
+ get sessionAttributes(): Record<string, any>;
33
+ set sessionAttributes(attributes: Record<string, any> | null);
34
+ /**
35
+ * Error message getter and setter
36
+ */
37
+ private _error;
38
+ get error(): string;
39
+ set error(v: string);
40
+ /**
41
+ * Returns the HTML button element for the session widget's recorder button.
42
+ *
43
+ * This element is used to control the start/stop recording functionality in the session widget UI.
44
+ *
45
+ * @returns {HTMLButtonElement} The recorder button element from the session widget.
46
+ */
47
+ get sessionWidgetButtonElement(): HTMLButtonElement;
48
+ /**
49
+ * Initialize debugger with default or custom configurations
50
+ */
51
+ constructor();
52
+ /**
53
+ * Initialize the session debugger
54
+ * @param configs - custom configurations for session debugger
55
+ */
56
+ init(configs: SessionRecorderOptions): void;
57
+ /**
58
+ * Save the continuous recording session
59
+ */
60
+ save(): Promise<any>;
61
+ /**
62
+ * Start a new session
63
+ * @param type - the type of session to start
64
+ * @param session - the session to start
65
+ */
66
+ start(type?: SessionType, session?: ISession): void;
67
+ /**
68
+ * Stop the current session with an optional comment
69
+ * @param comment - user-provided comment to include in session session attributes
70
+ */
71
+ stop(comment?: string): Promise<void>;
72
+ /**
73
+ * Pause the current session
74
+ */
75
+ pause(): Promise<void>;
76
+ /**
77
+ * Resume the current session
78
+ */
79
+ resume(): Promise<void>;
80
+ /**
81
+ * Cancel the current session
82
+ */
83
+ cancel(): Promise<void>;
84
+ /**
85
+ * Set the session attributes
86
+ * @param attributes - the attributes to set
87
+ */
88
+ setSessionAttributes(attributes: Record<string, any>): void;
89
+ /**
90
+ * Updates the button click handler in the library.
91
+ * @param handler - A function that will be invoked when the button is clicked.
92
+ * The function receives the click event as its parameter and
93
+ * should return `false` to prevent the default button action,
94
+ * or `true` (or nothing) to allow it.
95
+ */
96
+ set recordingButtonClickHandler(handler: () => boolean | void);
97
+ /**
98
+ * @description Check if session should be started/stopped automatically
99
+ * @param {ISession} [sessionPayload]
100
+ * @returns {Promise<void>}
101
+ */
102
+ checkRemoteContinuousSession(sessionPayload?: Omit<ISession, '_id' | 'shortId'>): Promise<void>;
103
+ /**
104
+ * Register session widget event listeners for controlling session actions
105
+ */
106
+ private _registerWidgetEvents;
107
+ /**
108
+ * Register session limit reaching listeners for controlling session end
109
+ */
110
+ private _registerSessionLimitReach;
111
+ /**
112
+ * Register session auto creation listeners during continuous recording
113
+ */
114
+ private _registerSessionAutoCreation;
115
+ /**
116
+ * Create a new session and start it
117
+ */
118
+ private _createSessionAndStart;
119
+ /**
120
+ * Start tracing and recording for the session
121
+ */
122
+ private _start;
123
+ /**
124
+ * Stop tracing and recording for the session
125
+ */
126
+ private _stop;
127
+ /**
128
+ * Pause the session tracing and recording
129
+ */
130
+ private _pause;
131
+ /**
132
+ * Resume the session tracing and recording
133
+ */
134
+ private _resume;
135
+ private _setupSessionAndStart;
136
+ /**
137
+ * Set the session ID in localStorage
138
+ * @param sessionId - the session ID to set or clear
139
+ */
140
+ private _setSession;
141
+ private _clearSession;
142
+ /**
143
+ * Check the operation validity based on the session state and action
144
+ * @param action - action being checked ('init', 'start', 'stop', 'cancel', 'pause', 'resume')
145
+ */
146
+ private _checkOperation;
147
+ }
148
+ //# sourceMappingURL=sessionRecorder.d.ts.map