@revrag-ai/embed-react-native 1.0.17 → 1.0.19

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 (43) hide show
  1. package/android/build.gradle +3 -3
  2. package/dist/commonjs/events/agent-event-emitter.js +114 -0
  3. package/dist/commonjs/events/agent-event-emitter.js.map +1 -0
  4. package/dist/commonjs/events/embed.event.js +69 -142
  5. package/dist/commonjs/events/embed.event.js.map +1 -1
  6. package/dist/commonjs/events/embed.types.js +32 -0
  7. package/dist/commonjs/events/embed.types.js.map +1 -0
  8. package/dist/commonjs/events/embed.validators.js +36 -0
  9. package/dist/commonjs/events/embed.validators.js.map +1 -0
  10. package/dist/commonjs/events/index.js +47 -0
  11. package/dist/commonjs/events/index.js.map +1 -0
  12. package/dist/commonjs/utils/constant.js +11 -0
  13. package/dist/commonjs/utils/constant.js.map +1 -1
  14. package/dist/commonjs/utils/permision.js +48 -1
  15. package/dist/commonjs/utils/permision.js.map +1 -1
  16. package/dist/module/events/agent-event-emitter.js +109 -0
  17. package/dist/module/events/agent-event-emitter.js.map +1 -0
  18. package/dist/module/events/embed.event.js +59 -147
  19. package/dist/module/events/embed.event.js.map +1 -1
  20. package/dist/module/events/embed.types.js +33 -0
  21. package/dist/module/events/embed.types.js.map +1 -0
  22. package/dist/module/events/embed.validators.js +32 -0
  23. package/dist/module/events/embed.validators.js.map +1 -0
  24. package/dist/module/events/index.js +12 -0
  25. package/dist/module/events/index.js.map +1 -0
  26. package/dist/module/utils/constant.js +11 -0
  27. package/dist/module/utils/constant.js.map +1 -1
  28. package/dist/module/utils/permision.js +48 -1
  29. package/dist/module/utils/permision.js.map +1 -1
  30. package/dist/typescript/src/events/agent-event-emitter.d.ts +41 -0
  31. package/dist/typescript/src/events/agent-event-emitter.d.ts.map +1 -0
  32. package/dist/typescript/src/events/embed.event.d.ts +21 -67
  33. package/dist/typescript/src/events/embed.event.d.ts.map +1 -1
  34. package/dist/typescript/src/events/embed.types.d.ts +39 -0
  35. package/dist/typescript/src/events/embed.types.d.ts.map +1 -0
  36. package/dist/typescript/src/events/embed.validators.d.ts +17 -0
  37. package/dist/typescript/src/events/embed.validators.d.ts.map +1 -0
  38. package/dist/typescript/src/events/index.d.ts +10 -0
  39. package/dist/typescript/src/events/index.d.ts.map +1 -0
  40. package/dist/typescript/src/utils/constant.d.ts +1 -0
  41. package/dist/typescript/src/utils/constant.d.ts.map +1 -1
  42. package/dist/typescript/src/utils/permision.d.ts.map +1 -1
  43. package/package.json +11 -6
@@ -8,7 +8,7 @@ buildscript {
8
8
  }
9
9
 
10
10
  dependencies {
11
- classpath "com.android.tools.build:gradle:7.2.1"
11
+ classpath "com.android.tools.build:gradle:8.6.0"
12
12
  // noinspection DifferentKotlinGradleVersion
13
13
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
14
14
  }
@@ -95,8 +95,8 @@ android {
95
95
  }
96
96
 
97
97
  compileOptions {
98
- sourceCompatibility JavaVersion.VERSION_1_8
99
- targetCompatibility JavaVersion.VERSION_1_8
98
+ sourceCompatibility JavaVersion.VERSION_17
99
+ targetCompatibility JavaVersion.VERSION_17
100
100
  }
101
101
 
102
102
  sourceSets {
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AgentEventEmitter = void 0;
7
+ var _storeKey = require("../store/store.key.js");
8
+ var _api = require("../api/api.js");
9
+ var _constant = require("../utils/constant.js");
10
+ var _embedTypes = require("./embed.types.js");
11
+ /**
12
+ * Agent Event Emitter
13
+ * Handles listening to agent state changes (connection, disconnection, popup visibility)
14
+ * Also sends agent events to the backend API
15
+ */
16
+
17
+ class AgentEventEmitter {
18
+ agentListeners = {};
19
+
20
+ /**
21
+ * Add an event listener for agent events
22
+ * @param eventKey - The agent event to listen for
23
+ * @param callback - Callback function to execute when event fires
24
+ */
25
+ on(eventKey, callback) {
26
+ if (!this.agentListeners[eventKey]) {
27
+ this.agentListeners[eventKey] = [];
28
+ }
29
+ this.agentListeners[eventKey]?.push(callback);
30
+ }
31
+
32
+ /**
33
+ * Remove an event listener for agent events
34
+ * @param eventKey - The agent event to stop listening to
35
+ * @param callback - The callback function to remove
36
+ */
37
+ off(eventKey, callback) {
38
+ if (!this.agentListeners[eventKey]) return;
39
+ const index = this.agentListeners[eventKey]?.indexOf(callback);
40
+ if (index !== undefined && index > -1) {
41
+ this.agentListeners[eventKey]?.splice(index, 1);
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Emit an agent event to all registered listeners AND send to backend
47
+ * @param eventKey - The agent event to emit
48
+ * @param data - Data to pass to listeners
49
+ * @internal - Used internally by the library
50
+ */
51
+ async emit(eventKey, data) {
52
+ // Trigger local event listeners first
53
+ this.agentListeners[eventKey]?.forEach(callback => {
54
+ try {
55
+ callback(data);
56
+ } catch (error) {
57
+ console.error(`Error in agent event listener for ${eventKey}:`, error);
58
+ }
59
+ });
60
+
61
+ // Send to backend API
62
+ await this.sendToBackend(eventKey, data);
63
+ }
64
+
65
+ /**
66
+ * Send agent event data to backend API
67
+ * @param eventKey - The agent event type
68
+ * @param data - Event data
69
+ * @private
70
+ */
71
+ async sendToBackend(eventKey, data) {
72
+ try {
73
+ // Get user identity to include app_user_id
74
+ const userIdentity = await (0, _storeKey.getAgentData)(_embedTypes.EventKeys.USER_DATA);
75
+ if (!userIdentity?.app_user_id) {
76
+ console.warn(`[AgentEvent] Cannot send ${eventKey} to backend: User identity not found`);
77
+ return;
78
+ }
79
+
80
+ // Prepare payload with app_user_id
81
+ const payload = {
82
+ ...data,
83
+ app_user_id: userIdentity.app_user_id,
84
+ eventKey: eventKey,
85
+ eventType: 'agent_event'
86
+ };
87
+
88
+ // Send to API
89
+ const apiService = _api.APIService.getInstance();
90
+ const paramsData = (0, _constant.buildEventPayload)(payload);
91
+ const response = await apiService.updateUserData(paramsData);
92
+ if (!response.success) {
93
+ console.error(`[AgentEvent] Failed to send ${eventKey} to backend:`, response.error);
94
+ }
95
+ } catch (error) {
96
+ console.error(`[AgentEvent] Error sending ${eventKey} to backend:`, error);
97
+ // Fail silently - agent events should not break the app
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Remove all listeners for a specific event
103
+ * @param eventKey - The agent event to clear listeners for
104
+ */
105
+ removeAllListeners(eventKey) {
106
+ if (eventKey) {
107
+ delete this.agentListeners[eventKey];
108
+ } else {
109
+ this.agentListeners = {};
110
+ }
111
+ }
112
+ }
113
+ exports.AgentEventEmitter = AgentEventEmitter;
114
+ //# sourceMappingURL=agent-event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_storeKey","require","_api","_constant","_embedTypes","AgentEventEmitter","agentListeners","on","eventKey","callback","push","off","index","indexOf","undefined","splice","emit","data","forEach","error","console","sendToBackend","userIdentity","getAgentData","EventKeys","USER_DATA","app_user_id","warn","payload","eventType","apiService","APIService","getInstance","paramsData","buildEventPayload","response","updateUserData","success","removeAllListeners","exports"],"sourceRoot":"../../../src","sources":["events/agent-event-emitter.ts"],"mappings":"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","ignoreList":[]}
@@ -3,181 +3,81 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.EventKeys = exports.AgentEvent = void 0;
6
+ Object.defineProperty(exports, "AgentEvent", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _embedTypes.AgentEvent;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "EventKeys", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _embedTypes.EventKeys;
16
+ }
17
+ });
18
+ exports.default = void 0;
7
19
  var _storeKey = require("../store/store.key.js");
8
20
  var _api = require("../api/api.js");
9
21
  var _constant = require("../utils/constant.js");
10
- // Predefined event keys for sending data to the agent
11
- let EventKeys = exports.EventKeys = /*#__PURE__*/function (EventKeys) {
12
- EventKeys["USER_DATA"] = "user_data";
13
- EventKeys["SCREEN_STATE"] = "screen_state";
14
- EventKeys["OFFER_STATE"] = "offer_state";
15
- EventKeys["CUSTOM_EVENT"] = "custom_event";
16
- EventKeys["FORM_STATE"] = "form_state";
17
- EventKeys["ACTION_STATE"] = "action_state";
18
- EventKeys["ERROR_STATE"] = "error_state";
19
- EventKeys["SUCCESS_STATE"] = "success_state";
20
- EventKeys["WARNING_STATE"] = "warning_state";
21
- EventKeys["INFO_STATE"] = "info_state";
22
- EventKeys["DEBUG_STATE"] = "debug_state";
23
- return EventKeys;
24
- }({}); // Agent event keys for listening to agent state changes
25
- let AgentEvent = exports.AgentEvent = /*#__PURE__*/function (AgentEvent) {
26
- AgentEvent["AGENT_CONNECTED"] = "agent_connected";
27
- AgentEvent["AGENT_DISCONNECTED"] = "agent_disconnected";
28
- AgentEvent["POPUP_MESSAGE_VISIBLE"] = "popup_message_visible";
29
- return AgentEvent;
30
- }({}); // Event data interfaces
22
+ var _agentEventEmitter = require("./agent-event-emitter.js");
23
+ var _embedValidators = require("./embed.validators.js");
24
+ var _embedTypes = require("./embed.types.js");
31
25
  /**
32
- * Agent Event Emitter
33
- * Handles listening to agent state changes (connection, disconnection, popup visibility)
34
- * Also sends agent events to the backend API
26
+ * Embed Event Manager
27
+ * Main class for managing embed events and agent communication
35
28
  */
36
- class AgentEventEmitter {
37
- agentListeners = {};
38
-
39
- /**
40
- * Add an event listener for agent events
41
- * @param eventKey - The agent event to listen for
42
- * @param callback - Callback function to execute when event fires
43
- */
44
- on(eventKey, callback) {
45
- if (!this.agentListeners[eventKey]) {
46
- this.agentListeners[eventKey] = [];
47
- }
48
- this.agentListeners[eventKey]?.push(callback);
49
- }
50
-
51
- /**
52
- * Remove an event listener for agent events
53
- * @param eventKey - The agent event to stop listening to
54
- * @param callback - The callback function to remove
55
- */
56
- off(eventKey, callback) {
57
- if (!this.agentListeners[eventKey]) return;
58
- const index = this.agentListeners[eventKey]?.indexOf(callback);
59
- if (index !== undefined && index > -1) {
60
- this.agentListeners[eventKey]?.splice(index, 1);
61
- }
62
- }
63
-
64
- /**
65
- * Emit an agent event to all registered listeners AND send to backend
66
- * @param eventKey - The agent event to emit
67
- * @param data - Data to pass to listeners
68
- * @internal - Used internally by the library
69
- */
70
- async emit(eventKey, data) {
71
- // Trigger local event listeners first
72
- this.agentListeners[eventKey]?.forEach(callback => {
73
- try {
74
- callback(data);
75
- } catch (error) {
76
- console.error(`Error in agent event listener for ${eventKey}:`, error);
77
- }
78
- });
79
29
 
80
- // Send to backend API
81
- await this.sendToBackend(eventKey, data);
82
- }
83
-
84
- /**
85
- * Send agent event data to backend API
86
- * @param eventKey - The agent event type
87
- * @param data - Event data
88
- * @private
89
- */
90
- async sendToBackend(eventKey, data) {
91
- try {
92
- // Get user identity to include app_user_id
93
- const userIdentity = await (0, _storeKey.getAgentData)(EventKeys.USER_DATA);
94
- if (!userIdentity?.app_user_id) {
95
- console.warn(`[AgentEvent] Cannot send ${eventKey} to backend: User identity not found`);
96
- return;
97
- }
98
-
99
- // Prepare payload with app_user_id
100
- const payload = {
101
- ...data,
102
- app_user_id: userIdentity.app_user_id,
103
- eventKey: eventKey,
104
- eventType: 'agent_event'
105
- };
106
-
107
- // Send to API
108
- const apiService = _api.APIService.getInstance();
109
- const paramsData = (0, _constant.buildEventPayload)(payload);
110
- const response = await apiService.updateUserData(paramsData);
111
- if (!response.success) {
112
- console.error(`[AgentEvent] Failed to send ${eventKey} to backend:`, response.error);
113
- }
114
- } catch (error) {
115
- console.error(`[AgentEvent] Error sending ${eventKey} to backend:`, error);
116
- // Fail silently - agent events should not break the app
117
- }
118
- }
119
-
120
- /**
121
- * Remove all listeners for a specific event
122
- * @param eventKey - The agent event to clear listeners for
123
- */
124
- removeAllListeners(eventKey) {
125
- if (eventKey) {
126
- delete this.agentListeners[eventKey];
127
- } else {
128
- this.agentListeners = {};
129
- }
130
- }
131
- }
132
30
  class Embed {
133
31
  events = {};
134
32
 
135
33
  // Agent event emitter for listening to agent state changes
136
34
 
137
35
  constructor() {
138
- this.event = new AgentEventEmitter();
36
+ this.event = new _agentEventEmitter.AgentEventEmitter();
139
37
  }
140
38
 
141
- // Automatically adds a default listener if none exists
39
+ /**
40
+ * Automatically adds a default listener if none exists
41
+ * @private
42
+ */
142
43
  ensureDefaultListener(eventKey) {
143
44
  if (!this.events[eventKey]) {
144
- this.events[eventKey] = [data => {
45
+ this.events[eventKey] = [_data => {
46
+ // console.i('default event this', _data);
145
47
  // todo: handle default event
146
- console.info('default event this', data);
147
48
  }];
148
49
  }
149
50
  }
150
51
 
151
52
  /**
152
- * Send an event to the AI agent
153
- * @param eventKey - The event type to send
154
- * @param data - Event data payload
53
+ * Enriches event data with user identity
54
+ * @private
155
55
  */
156
- async Event(eventKey, data) {
157
- if (!Object.values(EventKeys).includes(eventKey)) {
158
- // todo: handle invalid event key
159
- throw new Error(`Invalid event key: ${eventKey}. Must be one of: ${Object.values(EventKeys).join(', ')}`);
160
- }
161
- const key = eventKey;
162
- if (key !== EventKeys.USER_DATA) {
163
- const userIdentity = await (0, _storeKey.getAgentData)(EventKeys.USER_DATA);
56
+ async enrichEventData(eventKey, data) {
57
+ if (eventKey !== 'user_data') {
58
+ const userIdentity = await (0, _storeKey.getAgentData)('user_data');
164
59
  if (userIdentity) {
165
60
  data.app_user_id = userIdentity.app_user_id;
166
61
  } else {
167
62
  throw new Error('User identity not found');
168
63
  }
169
64
  }
65
+ }
170
66
 
171
- // Ensure a default listener is registered if not already
172
- this.ensureDefaultListener(key);
173
-
174
- // Trigger API call
67
+ /**
68
+ * Sends event data to the backend API
69
+ * @private
70
+ */
71
+ async sendEventToAPI(eventKey, data, key) {
175
72
  try {
176
73
  const apiService = _api.APIService.getInstance();
177
74
  const paramsData = (0, _constant.buildEventPayload)({
178
75
  ...data,
179
76
  eventKey: key
180
77
  });
78
+
79
+ // Validate analytics events have event_name
80
+ (0, _embedValidators.validateAnalyticsEvent)(paramsData);
181
81
  const response = await apiService.updateUserData({
182
82
  ...paramsData
183
83
  });
@@ -187,13 +87,40 @@ class Embed {
187
87
  (0, _storeKey.setAgentData)(data, key);
188
88
  } catch (error) {
189
89
  throw new Error(`Failed to trigger API for event: ${eventKey}`);
190
- // todo: handle error triggering API
191
90
  }
91
+ }
192
92
 
193
- // Trigger event listeners
93
+ /**
94
+ * Triggers local event listeners
95
+ * @private
96
+ */
97
+ triggerEventListeners(key, data) {
194
98
  this.events[key]?.forEach(callback => callback(data));
195
99
  }
196
100
 
101
+ /**
102
+ * Send an event to the AI agent
103
+ * @param eventKey - The event type to send
104
+ * @param data - Event data payload
105
+ */
106
+ async Event(eventKey, data) {
107
+ // Validate event key
108
+ (0, _embedValidators.validateEventKey)(eventKey);
109
+ const key = eventKey;
110
+
111
+ // Enrich event data with user identity
112
+ await this.enrichEventData(key, data);
113
+
114
+ // Ensure a default listener is registered
115
+ this.ensureDefaultListener(key);
116
+
117
+ // Send event to backend API
118
+ await this.sendEventToAPI(eventKey, data, key);
119
+
120
+ // Trigger local event listeners
121
+ this.triggerEventListeners(key, data);
122
+ }
123
+
197
124
  /**
198
125
  * Add listener for data events (legacy support)
199
126
  * @deprecated Use event.on() for agent events instead
@@ -206,5 +133,5 @@ class Embed {
206
133
  }
207
134
  }
208
135
  const embed = new Embed();
209
- var _default = exports.default = embed;
136
+ var _default = exports.default = embed; // Re-export types and enums for convenience
210
137
  //# sourceMappingURL=embed.event.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_storeKey","require","_api","_constant","EventKeys","exports","AgentEvent","AgentEventEmitter","agentListeners","on","eventKey","callback","push","off","index","indexOf","undefined","splice","emit","data","forEach","error","console","sendToBackend","userIdentity","getAgentData","USER_DATA","app_user_id","warn","payload","eventType","apiService","APIService","getInstance","paramsData","buildEventPayload","response","updateUserData","success","removeAllListeners","Embed","events","constructor","event","ensureDefaultListener","info","Event","Object","values","includes","Error","join","key","setAgentData","embed","_default","default"],"sourceRoot":"../../../src","sources":["events/embed.event.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_storeKey","require","_api","_constant","_agentEventEmitter","_embedValidators","_embedTypes","Embed","events","constructor","event","AgentEventEmitter","ensureDefaultListener","eventKey","_data","enrichEventData","data","userIdentity","getAgentData","app_user_id","Error","sendEventToAPI","key","apiService","APIService","getInstance","paramsData","buildEventPayload","validateAnalyticsEvent","response","updateUserData","success","setAgentData","error","triggerEventListeners","forEach","callback","Event","validateEventKey","on","push","embed","_default","exports","default"],"sourceRoot":"../../../src","sources":["events/embed.event.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EventKeys = exports.AgentEvent = void 0;
7
+ /**
8
+ * Types and interfaces for Embed events
9
+ */
10
+ // Predefined event keys for sending data to the agent
11
+ let EventKeys = exports.EventKeys = /*#__PURE__*/function (EventKeys) {
12
+ EventKeys["USER_DATA"] = "user_data";
13
+ EventKeys["SCREEN_STATE"] = "screen_state";
14
+ EventKeys["OFFER_STATE"] = "offer_state";
15
+ EventKeys["CUSTOM_EVENT"] = "custom_event";
16
+ EventKeys["FORM_STATE"] = "form_state";
17
+ EventKeys["ANALYTICS_DATA"] = "analytics_data";
18
+ EventKeys["ACTION_STATE"] = "action_state";
19
+ EventKeys["ERROR_STATE"] = "error_state";
20
+ EventKeys["SUCCESS_STATE"] = "success_state";
21
+ EventKeys["WARNING_STATE"] = "warning_state";
22
+ EventKeys["INFO_STATE"] = "info_state";
23
+ EventKeys["DEBUG_STATE"] = "debug_state";
24
+ return EventKeys;
25
+ }({}); // Agent event keys for listening to agent state changes
26
+ let AgentEvent = exports.AgentEvent = /*#__PURE__*/function (AgentEvent) {
27
+ AgentEvent["AGENT_CONNECTED"] = "agent_connected";
28
+ AgentEvent["AGENT_DISCONNECTED"] = "agent_disconnected";
29
+ AgentEvent["POPUP_MESSAGE_VISIBLE"] = "popup_message_visible";
30
+ return AgentEvent;
31
+ }({}); // Event data interfaces
32
+ //# sourceMappingURL=embed.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EventKeys","exports","AgentEvent"],"sourceRoot":"../../../src","sources":["events/embed.types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAIA;AAAA,IACYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA,OAerB;AAAA,IACYE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,OAMtB","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validateAnalyticsEvent = validateAnalyticsEvent;
7
+ exports.validateEventKey = validateEventKey;
8
+ var _embedTypes = require("./embed.types.js");
9
+ /**
10
+ * Validation helpers for Embed events
11
+ */
12
+
13
+ /**
14
+ * Validates event key is valid
15
+ * @param eventKey - The event key to validate
16
+ * @throws Error if event key is invalid
17
+ */
18
+ function validateEventKey(eventKey) {
19
+ if (!Object.values(_embedTypes.EventKeys).includes(eventKey)) {
20
+ throw new Error(`Invalid event key: ${eventKey}. Must be one of: ${Object.values(_embedTypes.EventKeys).join(', ')}`);
21
+ }
22
+ }
23
+
24
+ /**
25
+ * Validates analytics events have required event_name
26
+ * @param paramsData - The event payload to validate
27
+ * @throws Error if analytics event is missing event_name
28
+ */
29
+ function validateAnalyticsEvent(paramsData) {
30
+ if (paramsData.type === 'analytics_data') {
31
+ if (!paramsData.event_name || paramsData.event_name.trim() === '') {
32
+ throw new Error(`Analytics event requires an event_name. Please provide event_name in the data payload.`);
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=embed.validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_embedTypes","require","validateEventKey","eventKey","Object","values","EventKeys","includes","Error","join","validateAnalyticsEvent","paramsData","type","event_name","trim"],"sourceRoot":"../../../src","sources":["events/embed.validators.ts"],"mappings":";;;;;;;AAKA,IAAAA,WAAA,GAAAC,OAAA;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,QAAgB,EAAQ;EACvD,IAAI,CAACC,MAAM,CAACC,MAAM,CAACC,qBAAS,CAAC,CAACC,QAAQ,CAACJ,QAAqB,CAAC,EAAE;IAC7D,MAAM,IAAIK,KAAK,CACb,sBAAsBL,QAAQ,qBAAqBC,MAAM,CAACC,MAAM,CAACC,qBAAS,CAAC,CAACG,IAAI,CAAC,IAAI,CAAC,EACxF,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAACC,UAAwB,EAAQ;EACrE,IAAIA,UAAU,CAACC,IAAI,KAAK,gBAAgB,EAAE;IACxC,IAAI,CAACD,UAAU,CAACE,UAAU,IAAIF,UAAU,CAACE,UAAU,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;MACjE,MAAM,IAAIN,KAAK,CACb,wFACF,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AgentEvent", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _embedTypes.AgentEvent;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "AgentEventEmitter", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _agentEventEmitter.AgentEventEmitter;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "EventKeys", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _embedTypes.EventKeys;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "default", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _embedEvent.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "validateAnalyticsEvent", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _embedValidators.validateAnalyticsEvent;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "validateEventKey", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _embedValidators.validateEventKey;
40
+ }
41
+ });
42
+ var _embedEvent = _interopRequireDefault(require("./embed.event.js"));
43
+ var _embedTypes = require("./embed.types.js");
44
+ var _agentEventEmitter = require("./agent-event-emitter.js");
45
+ var _embedValidators = require("./embed.validators.js");
46
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_embedEvent","_interopRequireDefault","require","_embedTypes","_agentEventEmitter","_embedValidators","e","__esModule","default"],"sourceRoot":"../../../src","sources":["events/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAOA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAA8E,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -35,6 +35,7 @@ function buildEventPayload(params) {
35
35
  screen,
36
36
  flow,
37
37
  app_version,
38
+ event_name,
38
39
  ...rest
39
40
  } = params;
40
41
  const resolvedAppUserId = typeof app_user_id === 'string' && app_user_id || typeof appUserId === 'string' && appUserId;
@@ -47,6 +48,15 @@ function buildEventPayload(params) {
47
48
  ...(incomingData ?? {}),
48
49
  ...(eventData ?? {})
49
50
  };
51
+
52
+ // Extract event_name if present in data, remove it from data object
53
+ let resolvedEventName = '';
54
+ if (typeof event_name === 'string' && event_name) {
55
+ resolvedEventName = event_name;
56
+ } else if (typeof data.event_name === 'string' && data.event_name) {
57
+ resolvedEventName = data.event_name;
58
+ delete data.event_name;
59
+ }
50
60
  Object.entries(rest).forEach(([key, value]) => {
51
61
  if (value !== undefined) {
52
62
  data[key] = value;
@@ -57,6 +67,7 @@ function buildEventPayload(params) {
57
67
  type: eventKey,
58
68
  app_user_id: resolvedAppUserId,
59
69
  timestamp: new Date().toISOString(),
70
+ event_name: resolvedEventName,
60
71
  sdk: {
61
72
  sdk_name: SDK_NAME,
62
73
  sdk_version: SDK_VERSION,
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_NAME","exports","SDK_VERSION","SDK_PLATFORM","DEFAULT_EMBED_URL","generateEventId","Date","now","Math","random","toString","substr","buildEventPayload","params","eventKey","app_user_id","appUserId","eventData","data","incomingData","sessionId","session_id","context","screen","flow","app_version","rest","resolvedAppUserId","Error","Object","entries","forEach","key","value","undefined","payload","event_id","type","timestamp","toISOString","sdk","sdk_name","sdk_version","platform","resolvedSessionId","resolvedAppVersion"],"sourceRoot":"../../../src","sources":["utils/constant.ts"],"mappings":";;;;;;;;AAAA;;AAEO,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,oBAAoB;AACrC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,QAAQ;AAC5B,MAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAG,cAAc;AACnC,MAAMC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAAG,yBAAyB;;AAE1D;AACA;AACA;AACO,SAASC,eAAeA,CAAA,EAAW;EACxC,OAAO,SAASC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACzE;AAoCA;AACA;AACA;AACO,SAASC,iBAAiBA,CAC/BC,MAA+B,EACjB;EACd,MAAM;IACJC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTC,SAAS;IACTC,IAAI,EAAEC,YAAY;IAClBC,SAAS;IACTC,UAAU;IACVC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,WAAW;IACX,GAAGC;EACL,CAAC,GAAGb,MAAM;EAEV,MAAMc,iBAAiB,GACpB,OAAOZ,WAAW,KAAK,QAAQ,IAAIA,WAAW,IAC9C,OAAOC,SAAS,KAAK,QAAQ,IAAIA,SAAU;EAE9C,IAAI,CAACW,iBAAiB,EAAE;IACtB,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;;EAEA;EACA,MAAMV,IAA6B,GAAG;IACpC,IAAIC,YAAY,IAAI,CAAC,CAAC,CAAC;IACvB,IAAIF,SAAS,IAAI,CAAC,CAAC;EACrB,CAAC;EAEDY,MAAM,CAACC,OAAO,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IAC7C,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACvBhB,IAAI,CAACc,GAAG,CAAC,GAAGC,KAAK;IACnB;EACF,CAAC,CAAC;EAEF,MAAME,OAAqB,GAAG;IAC5BC,QAAQ,EAAE/B,eAAe,CAAC,CAAC;IAC3BgC,IAAI,EAAEvB,QAAQ;IACdC,WAAW,EAAEY,iBAAiB;IAC9BW,SAAS,EAAE,IAAIhC,IAAI,CAAC,CAAC,CAACiC,WAAW,CAAC,CAAC;IACnCC,GAAG,EAAE;MACHC,QAAQ,EAAEzC,QAAQ;MAClB0C,WAAW,EAAExC,WAAW;MACxByC,QAAQ,EAAExC;IACZ,CAAC;IACDe;EACF,CAAC;EAED,MAAM0B,iBAAiB,GACpB,OAAOxB,SAAS,KAAK,QAAQ,IAAIA,SAAS,IAC1C,OAAOC,UAAU,KAAK,QAAQ,IAAIA,UAAW;EAEhD,MAAMwB,kBAAkB,GACtB,OAAOpB,WAAW,KAAK,QAAQ,GAAGA,WAAW,GAAGS,SAAS;EAE3D,IAAIU,iBAAiB,EAAE;IACrBT,OAAO,CAACd,UAAU,GAAGuB,iBAAiB;EACxC;EAEA,IAAItB,OAAO,IAAIC,MAAM,IAAIC,IAAI,IAAIqB,kBAAkB,EAAE;IACnDV,OAAO,CAACb,OAAO,GAAG;MAChB,IAAIA,OAAO,IAAI,CAAC,CAAC,CAAC;MAClB,IAAIC,MAAM,GAAG;QAAEA;MAAO,CAAC,GAAG,CAAC,CAAC,CAAC;MAC7B,IAAIC,IAAI,GAAG;QAAEA;MAAK,CAAC,GAAG,CAAC,CAAC,CAAC;MACzB,IAAIqB,kBAAkB,GAAG;QAAEpB,WAAW,EAAEoB;MAAmB,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["SDK_NAME","exports","SDK_VERSION","SDK_PLATFORM","DEFAULT_EMBED_URL","generateEventId","Date","now","Math","random","toString","substr","buildEventPayload","params","eventKey","app_user_id","appUserId","eventData","data","incomingData","sessionId","session_id","context","screen","flow","app_version","event_name","rest","resolvedAppUserId","Error","resolvedEventName","Object","entries","forEach","key","value","undefined","payload","event_id","type","timestamp","toISOString","sdk","sdk_name","sdk_version","platform","resolvedSessionId","resolvedAppVersion"],"sourceRoot":"../../../src","sources":["utils/constant.ts"],"mappings":"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","ignoreList":[]}