@nommos/core 0.0.33 → 0.0.35
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.
- package/package.json +1 -1
- package/src/index.d.ts +3 -7
- package/src/index.js +6 -7
- package/src/index.js.map +1 -1
- package/src/lib/constants.d.ts +1 -0
- package/src/lib/constants.js +1 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/data-attribution.js +28 -3
- package/src/lib/data-attribution.js.map +1 -1
- package/src/lib/enums.d.ts +7 -1
- package/src/lib/enums.js +6 -0
- package/src/lib/enums.js.map +1 -1
- package/src/lib/event-tracker.d.ts +17 -0
- package/src/lib/event-tracker.js +95 -26
- package/src/lib/event-tracker.js.map +1 -1
- package/src/lib/session-tracker.d.ts +2 -2
- package/src/lib/session-tracker.js +3 -6
- package/src/lib/session-tracker.js.map +1 -1
- package/src/lib/webSocket-client.d.ts +17 -4
- package/src/lib/webSocket-client.js +44 -16
- package/src/lib/webSocket-client.js.map +1 -1
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export * from './lib/constants';
|
|
5
|
-
export * from './lib/data-attribution';
|
|
6
|
-
export * from './lib/webSocket-client';
|
|
7
|
-
export * from './lib/event-tracker';
|
|
1
|
+
export { EventTracker } from './lib/event-tracker';
|
|
2
|
+
export { ANALYTICS_ACTION, ANALYTICS_ACTION_STATE, SITE_SOURCE, } from './lib/enums';
|
|
3
|
+
export type { ConnectionConfig, UrlTrackingKey, AnalyticsEvent, TrackingControls, AdsEventsConfig, AdEventConfig, GoogleAdsConfig, GoogleConversionAction, } from './lib/types';
|
package/src/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export * from './lib/event-tracker';
|
|
1
|
+
// Public API — only export what SDK consumers should interact with.
|
|
2
|
+
// Internal classes (WebSocketClient, DataAttribution), raw constants, and
|
|
3
|
+
// utility functions are intentionally NOT exported to keep the public surface
|
|
4
|
+
// stable and prevent unintended coupling to implementation details.
|
|
5
|
+
export { EventTracker } from './lib/event-tracker';
|
|
6
|
+
export { ANALYTICS_ACTION, ANALYTICS_ACTION_STATE, SITE_SOURCE, } from './lib/enums';
|
|
8
7
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nommos/core/src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nommos/core/src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,0EAA0E;AAC1E,8EAA8E;AAC9E,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,GACZ,MAAM,aAAa,CAAC"}
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -19,5 +19,6 @@ export declare const SESSION_CHUNK_DURATION_MS: number;
|
|
|
19
19
|
export declare const SESSION_INACTIVITY_TIMEOUT_MS: number;
|
|
20
20
|
export declare const MAX_SESSION_CHUNK_BYTES: number;
|
|
21
21
|
export declare const MAX_BUFFERED_CHUNKS = 10;
|
|
22
|
+
export declare const MAX_BUFFERED_EVENTS = 200;
|
|
22
23
|
export declare const BROWSER_DEFS: UaDef[];
|
|
23
24
|
export declare const OS_DEFS: UaDef[];
|
package/src/lib/constants.js
CHANGED
|
@@ -21,6 +21,7 @@ export const SESSION_CHUNK_DURATION_MS = 5 * 60000; // 5 minutes
|
|
|
21
21
|
export const SESSION_INACTIVITY_TIMEOUT_MS = 5 * 60000; // 5 minutes
|
|
22
22
|
export const MAX_SESSION_CHUNK_BYTES = 20 * 1024 * 1024; // 20MB soft limit
|
|
23
23
|
export const MAX_BUFFERED_CHUNKS = 10; // Max session chunks to buffer offline
|
|
24
|
+
export const MAX_BUFFERED_EVENTS = 200; // Max analytics events to buffer offline
|
|
24
25
|
export const BROWSER_DEFS = [
|
|
25
26
|
[/Edg\/([\d.]+)/, 'Edge'],
|
|
26
27
|
[/OPR\/([\d.]+)/, 'Opera'],
|
package/src/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,QAAQ,6BAA6B,CAAC;AACxE,sEAAsE;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,CAAC,6BAA6B;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAEvE,wBAAwB;AACxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AACpF,MAAM,CAAC,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAE1E,6BAA6B;AAC7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,KAAM,CAAC,CAAC,YAAY;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,KAAM,CAAC,CAAC,YAAY;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kBAAkB;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,CAAC,uCAAuC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,12 +106,37 @@ export class DataAttribution {
|
|
|
106
106
|
const affiliate = this.urlTrackingKey.affiliateKey
|
|
107
107
|
? queryParams?.[this.urlTrackingKey.affiliateKey]
|
|
108
108
|
: undefined; // affiliate code
|
|
109
|
-
shouldStrip = affiliate !== undefined;
|
|
109
|
+
shouldStrip || (shouldStrip = affiliate !== undefined);
|
|
110
110
|
this.capturePartnerParams(parrainage, affiliate);
|
|
111
111
|
}
|
|
112
|
-
// Ensure default source
|
|
112
|
+
// Ensure default source – try referrer before falling back to DIRECT
|
|
113
113
|
if (!sessionStorage.getItem(SOURCE_KEY)) {
|
|
114
|
-
|
|
114
|
+
const referrer = typeof document !== 'undefined' ? document.referrer : '';
|
|
115
|
+
let inferredSource = SITE_SOURCE.DIRECT;
|
|
116
|
+
if (referrer) {
|
|
117
|
+
if (referrer.includes('facebook.com') || referrer.includes('fb.com') || referrer.includes('instagram.com')) {
|
|
118
|
+
inferredSource = SITE_SOURCE.FACEBOOK;
|
|
119
|
+
}
|
|
120
|
+
else if (referrer.includes('t.me') || referrer.includes('telegram.org') || referrer.includes('telegram.me')) {
|
|
121
|
+
inferredSource = SITE_SOURCE.TELEGRAM;
|
|
122
|
+
}
|
|
123
|
+
else if (referrer.includes('twitter.com') || referrer.includes('x.com')) {
|
|
124
|
+
inferredSource = SITE_SOURCE.TWITTER;
|
|
125
|
+
}
|
|
126
|
+
else if (referrer.includes('google.') || referrer.includes('bing.com') || referrer.includes('yahoo.com')) {
|
|
127
|
+
inferredSource = SITE_SOURCE.GOOGLE;
|
|
128
|
+
}
|
|
129
|
+
else if (referrer.includes('tiktok.com')) {
|
|
130
|
+
inferredSource = SITE_SOURCE.TIKTOK;
|
|
131
|
+
}
|
|
132
|
+
else if (referrer.includes('youtube.com') || referrer.includes('youtu.be')) {
|
|
133
|
+
inferredSource = SITE_SOURCE.YOUTUBE;
|
|
134
|
+
}
|
|
135
|
+
else if (referrer.includes('whatsapp.com') || referrer.includes('wa.me')) {
|
|
136
|
+
inferredSource = SITE_SOURCE.WHATSAPP;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
sessionStorage.setItem(SOURCE_KEY, inferredSource);
|
|
115
140
|
}
|
|
116
141
|
// Ensure affiliate key exists in session
|
|
117
142
|
if (!sessionStorage.getItem(AFFILIATE_KEY)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-attribution.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/data-attribution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-attribution.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/data-attribution.ts"],"names":[],"mappings":"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"}
|
package/src/lib/enums.d.ts
CHANGED
|
@@ -26,5 +26,11 @@ export declare enum SITE_SOURCE {
|
|
|
26
26
|
TWITTER = "TWITTER",
|
|
27
27
|
TELEGRAM = "TELEGRAM",
|
|
28
28
|
DIRECT = "DIRECT",
|
|
29
|
-
SMS = "SMS"
|
|
29
|
+
SMS = "SMS",
|
|
30
|
+
GOOGLE = "GOOGLE",
|
|
31
|
+
TIKTOK = "TIKTOK",
|
|
32
|
+
YOUTUBE = "YOUTUBE",
|
|
33
|
+
EMAIL = "EMAIL",
|
|
34
|
+
WHATSAPP = "WHATSAPP",
|
|
35
|
+
AFFILIATE = "AFFILIATE"
|
|
30
36
|
}
|
package/src/lib/enums.js
CHANGED
|
@@ -30,5 +30,11 @@ export var SITE_SOURCE;
|
|
|
30
30
|
SITE_SOURCE["TELEGRAM"] = "TELEGRAM";
|
|
31
31
|
SITE_SOURCE["DIRECT"] = "DIRECT";
|
|
32
32
|
SITE_SOURCE["SMS"] = "SMS";
|
|
33
|
+
SITE_SOURCE["GOOGLE"] = "GOOGLE";
|
|
34
|
+
SITE_SOURCE["TIKTOK"] = "TIKTOK";
|
|
35
|
+
SITE_SOURCE["YOUTUBE"] = "YOUTUBE";
|
|
36
|
+
SITE_SOURCE["EMAIL"] = "EMAIL";
|
|
37
|
+
SITE_SOURCE["WHATSAPP"] = "WHATSAPP";
|
|
38
|
+
SITE_SOURCE["AFFILIATE"] = "AFFILIATE";
|
|
33
39
|
})(SITE_SOURCE || (SITE_SOURCE = {}));
|
|
34
40
|
//# sourceMappingURL=enums.js.map
|
package/src/lib/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/enums.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+BAAW,CAAA;IACX,iCAAa,CAAA;IACb,6CAAyB,CAAA;IACzB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,qCAAiB,CAAA;AACnB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAED,uDAAuD;AACvD,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,gDAAsB,CAAA;IACtB,2CAAiB,CAAA;IACjB,6CAAmB,CAAA;IACnB,6CAAmB,CAAA;IACnB,uCAAa,CAAA;AACf,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAED,wEAAwE;AACxE,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/enums.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+BAAW,CAAA;IACX,iCAAa,CAAA;IACb,6CAAyB,CAAA;IACzB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,qCAAiB,CAAA;AACnB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAED,uDAAuD;AACvD,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,gDAAsB,CAAA;IACtB,2CAAiB,CAAA;IACjB,6CAAmB,CAAA;IACnB,6CAAmB,CAAA;IACnB,uCAAa,CAAA;AACf,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAED,wEAAwE;AACxE,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,0BAAW,CAAA;IACX,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;AACzB,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB"}
|
|
@@ -2,6 +2,12 @@ import { AnalyticsEvent, ConnectionConfig, UrlTrackingKey } from './types';
|
|
|
2
2
|
import { ANALYTICS_ACTION, ANALYTICS_ACTION_STATE } from './enums';
|
|
3
3
|
export declare class EventTracker {
|
|
4
4
|
private readonly urlTrackingKey;
|
|
5
|
+
/**
|
|
6
|
+
* Tracks tokens that already have an active EventTracker instance.
|
|
7
|
+
* Used to warn developers when the same token is instantiated more than once,
|
|
8
|
+
* which would cause every event to be sent to the queue multiple times.
|
|
9
|
+
*/
|
|
10
|
+
private static readonly _activeTokens;
|
|
5
11
|
private readonly ws;
|
|
6
12
|
private readonly da;
|
|
7
13
|
private ipSubscription;
|
|
@@ -11,6 +17,17 @@ export declare class EventTracker {
|
|
|
11
17
|
analyticsEvents$: import("rxjs").Observable<AnalyticsEvent>;
|
|
12
18
|
private sessionTracker;
|
|
13
19
|
private readonly sessionId;
|
|
20
|
+
/** Tracks the last URL that da.init() was called with to avoid redundant re-captures. */
|
|
21
|
+
private lastCapturedUrl;
|
|
22
|
+
/** Instance-level flags to prevent duplicate ad pixel script injection. */
|
|
23
|
+
private fbPixelLoaded;
|
|
24
|
+
private gtagLoaded;
|
|
25
|
+
/**
|
|
26
|
+
* Emits `true` once bootstrap has completed successfully and the tracker
|
|
27
|
+
* is fully ready. Emits `false` if bootstrap failed.
|
|
28
|
+
*/
|
|
29
|
+
private readonly readySubject;
|
|
30
|
+
readonly isReady$: import("rxjs").Observable<boolean>;
|
|
14
31
|
/**
|
|
15
32
|
* Internal state map used to track SELECT/UNSELECT status of toggleable actions.
|
|
16
33
|
*/
|
package/src/lib/event-tracker.js
CHANGED
|
@@ -21,6 +21,17 @@ export class EventTracker {
|
|
|
21
21
|
this.analyticsEvents$ = this.analyticsEvents.asObservable();
|
|
22
22
|
this.sessionTracker = null;
|
|
23
23
|
this.sessionId = uuidv4();
|
|
24
|
+
/** Tracks the last URL that da.init() was called with to avoid redundant re-captures. */
|
|
25
|
+
this.lastCapturedUrl = null;
|
|
26
|
+
/** Instance-level flags to prevent duplicate ad pixel script injection. */
|
|
27
|
+
this.fbPixelLoaded = false;
|
|
28
|
+
this.gtagLoaded = false;
|
|
29
|
+
/**
|
|
30
|
+
* Emits `true` once bootstrap has completed successfully and the tracker
|
|
31
|
+
* is fully ready. Emits `false` if bootstrap failed.
|
|
32
|
+
*/
|
|
33
|
+
this.readySubject = new Subject();
|
|
34
|
+
this.isReady$ = this.readySubject.asObservable();
|
|
24
35
|
/**
|
|
25
36
|
* Internal state map used to track SELECT/UNSELECT status of toggleable actions.
|
|
26
37
|
*/
|
|
@@ -38,8 +49,23 @@ export class EventTracker {
|
|
|
38
49
|
this.cfg = {
|
|
39
50
|
...config,
|
|
40
51
|
};
|
|
52
|
+
// Warn in dev mode if another instance with the same token is already active.
|
|
53
|
+
// This prevents duplicate events being sent to the queue.
|
|
54
|
+
if (this.cfg.token) {
|
|
55
|
+
if (EventTracker._activeTokens.has(this.cfg.token) && this.cfg.mode === 'dev') {
|
|
56
|
+
console.warn('[Nommos Tracker] Warning: Multiple EventTracker instances detected for the same token.' +
|
|
57
|
+
' This will cause duplicate events. Ensure EventTracker is used as a singleton.');
|
|
58
|
+
}
|
|
59
|
+
EventTracker._activeTokens.add(this.cfg.token);
|
|
60
|
+
}
|
|
41
61
|
this.ws = new WebSocketClient();
|
|
42
62
|
this.da = new DataAttribution(urlTrackingKey);
|
|
63
|
+
// Capture tracking params immediately from the raw URL before the SPA router
|
|
64
|
+
// can strip or replace the query string.
|
|
65
|
+
if (typeof window !== 'undefined') {
|
|
66
|
+
this.da.init(window.location.href, { stripFromUrl: false });
|
|
67
|
+
this.lastCapturedUrl = window.location.href;
|
|
68
|
+
}
|
|
43
69
|
// Subscribe immediately so events fired before config loads are correctly buffered by WebSocketClient
|
|
44
70
|
this.eventSubscription = this.analyticsEvents$.subscribe((track) => {
|
|
45
71
|
this.ws.publishAnalyticsMessage(track);
|
|
@@ -110,10 +136,17 @@ export class EventTracker {
|
|
|
110
136
|
if (adId) {
|
|
111
137
|
data = { ...data, ad_id: adId };
|
|
112
138
|
}
|
|
139
|
+
// Only re-run attribution if the URL has actually changed
|
|
140
|
+
if (urlToParse !== this.lastCapturedUrl) {
|
|
141
|
+
this.da.init(urlToParse, { stripFromUrl: false });
|
|
142
|
+
this.lastCapturedUrl = urlToParse;
|
|
143
|
+
}
|
|
113
144
|
}
|
|
114
145
|
}
|
|
115
146
|
catch (e) {
|
|
116
|
-
|
|
147
|
+
if (this.cfg.mode === 'dev') {
|
|
148
|
+
console.warn('[Nommos Tracker] VISIT URL parsing failed:', e);
|
|
149
|
+
}
|
|
117
150
|
}
|
|
118
151
|
}
|
|
119
152
|
const { channel, os, browser } = userAgentInfo(navigator.userAgent || '');
|
|
@@ -156,37 +189,38 @@ export class EventTracker {
|
|
|
156
189
|
const ttclid = params['ttclid'];
|
|
157
190
|
const utmContent = params['utm_content'];
|
|
158
191
|
const hasNewClickId = !!(fbclid || gclid || ttclid);
|
|
192
|
+
// Initialize scripts ALWAYS if they exist in config, regardless of click ID
|
|
193
|
+
if (this.cfg.ads_events?.facebook) {
|
|
194
|
+
this.initFacebookPixel(fbclid, utmContent, !fbclid);
|
|
195
|
+
}
|
|
196
|
+
if (this.cfg.ads_events?.google) {
|
|
197
|
+
this.initGoogleAds(gclid, !gclid);
|
|
198
|
+
}
|
|
159
199
|
if (hasNewClickId) {
|
|
160
200
|
if (this.cfg.mode === 'dev') {
|
|
161
201
|
const ids = { fbclid, gclid, ttclid };
|
|
162
202
|
const found = Object.entries(ids).filter(([_, v]) => !!v).map(([k, v]) => `${k}=${v}`).join(', ');
|
|
163
203
|
console.log(`[Nommos Tracker] Ad Click ID detected: ${found}`);
|
|
164
204
|
}
|
|
165
|
-
// Clear previous attribution if a
|
|
205
|
+
// Clear previous attribution only if a NEW click ID is detected
|
|
206
|
+
// Note: initFacebookPixel/initGoogleAds handle setting new values if fbclid/gclid are passed
|
|
166
207
|
sessionStorage.removeItem(ACTIVE_AD_ID_KEY);
|
|
167
208
|
sessionStorage.removeItem(ACTIVE_PIXEL_ID_KEY);
|
|
168
209
|
sessionStorage.removeItem(ACTIVE_EVENT_TYPE_KEY);
|
|
169
210
|
sessionStorage.removeItem(ACTIVE_PLATFORM_KEY);
|
|
211
|
+
// Re-trigger with the new IDs to ensure session storage is updated
|
|
170
212
|
if (fbclid && this.cfg.ads_events?.facebook) {
|
|
171
213
|
this.initFacebookPixel(fbclid, utmContent);
|
|
172
214
|
}
|
|
173
215
|
else if (gclid && this.cfg.ads_events?.google) {
|
|
174
216
|
this.initGoogleAds(gclid);
|
|
175
217
|
}
|
|
176
|
-
// TikTok initialization would go here in the future
|
|
177
218
|
}
|
|
178
219
|
else {
|
|
179
|
-
// Restore from sessionStorage if no new click ID
|
|
180
220
|
const platform = sessionStorage.getItem(ACTIVE_PLATFORM_KEY);
|
|
181
221
|
if (platform && this.cfg.mode === 'dev') {
|
|
182
222
|
console.log(`[Nommos Tracker] Restored ad attribution from previous session: ${platform}`);
|
|
183
223
|
}
|
|
184
|
-
if (platform === 'facebook' && this.cfg.ads_events?.facebook) {
|
|
185
|
-
this.initFacebookPixel(null, null, true);
|
|
186
|
-
}
|
|
187
|
-
else if (platform === 'google' && this.cfg.ads_events?.google) {
|
|
188
|
-
this.initGoogleAds(null, true);
|
|
189
|
-
}
|
|
190
224
|
}
|
|
191
225
|
}
|
|
192
226
|
initGoogleAds(gclid, restore = false) {
|
|
@@ -196,8 +230,9 @@ export class EventTracker {
|
|
|
196
230
|
if (!googleConfig || !googleConfig.gtag)
|
|
197
231
|
return;
|
|
198
232
|
const gtagId = googleConfig.gtag;
|
|
199
|
-
//
|
|
200
|
-
if (!
|
|
233
|
+
// Use instance-level flag to guard against duplicate script injection
|
|
234
|
+
if (!this.gtagLoaded) {
|
|
235
|
+
this.gtagLoaded = true;
|
|
201
236
|
if (this.cfg.mode === 'dev') {
|
|
202
237
|
console.log(`[Nommos Tracker] Loading Google Ads gtag.js (${gtagId})...`);
|
|
203
238
|
}
|
|
@@ -238,8 +273,9 @@ export class EventTracker {
|
|
|
238
273
|
const fbConfig = this.cfg.ads_events?.facebook;
|
|
239
274
|
if (!fbConfig)
|
|
240
275
|
return;
|
|
241
|
-
//
|
|
242
|
-
if (!
|
|
276
|
+
// Use instance-level flag to guard against duplicate script injection
|
|
277
|
+
if (!this.fbPixelLoaded) {
|
|
278
|
+
this.fbPixelLoaded = true;
|
|
243
279
|
if (this.cfg.mode === 'dev') {
|
|
244
280
|
console.log('[Nommos Tracker] Loading Facebook Pixel script...');
|
|
245
281
|
}
|
|
@@ -290,18 +326,37 @@ export class EventTracker {
|
|
|
290
326
|
fireAdPixelEvent(action, state, data) {
|
|
291
327
|
if (typeof window === 'undefined')
|
|
292
328
|
return;
|
|
329
|
+
const fbConfig = this.cfg.ads_events?.facebook;
|
|
330
|
+
const googleConfig = this.cfg.ads_events?.google;
|
|
331
|
+
// 1. GLOBAL VISIT TRACKING (Facebook PageView & Google page_view)
|
|
332
|
+
if (action === ANALYTICS_ACTION.VISIT) {
|
|
333
|
+
// Facebook
|
|
334
|
+
if (fbConfig && window.fbq) {
|
|
335
|
+
const pixelIds = new Set(Object.values(fbConfig).map((ad) => ad.pixel_id));
|
|
336
|
+
pixelIds.forEach((id) => {
|
|
337
|
+
if (this.cfg.mode === 'dev') {
|
|
338
|
+
console.log('[Nommos Tracker] Firing PageView for Facebook Pixel ID (Global):', id);
|
|
339
|
+
}
|
|
340
|
+
window.fbq('trackSingle', id, 'PageView');
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
// Google
|
|
344
|
+
if (googleConfig && googleConfig.gtag && window.gtag) {
|
|
345
|
+
if (this.cfg.mode === 'dev') {
|
|
346
|
+
console.log('[Nommos Tracker] Firing page_view for Google Global ID:', googleConfig.gtag);
|
|
347
|
+
}
|
|
348
|
+
window.gtag('event', 'page_view', { send_to: googleConfig.gtag });
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// 2. ATTRIBUTED EVENT TRACKING (Only if user has an active ad session)
|
|
293
352
|
const platform = sessionStorage.getItem(ACTIVE_PLATFORM_KEY);
|
|
294
353
|
const activePixelId = sessionStorage.getItem(ACTIVE_PIXEL_ID_KEY);
|
|
295
354
|
if (!platform || !activePixelId)
|
|
296
355
|
return;
|
|
297
356
|
const activeEventType = sessionStorage.getItem(ACTIVE_EVENT_TYPE_KEY);
|
|
298
|
-
//
|
|
299
|
-
if (action === ANALYTICS_ACTION.VISIT
|
|
300
|
-
|
|
301
|
-
console.log('[Nommos Tracker] Firing PageView for Facebook Pixel ID:', activePixelId);
|
|
302
|
-
}
|
|
303
|
-
window.fbq('trackSingle', activePixelId, 'PageView');
|
|
304
|
-
}
|
|
357
|
+
// Skip PageView here as it was handled above in the global section
|
|
358
|
+
if (action === ANALYTICS_ACTION.VISIT)
|
|
359
|
+
return;
|
|
305
360
|
if (platform === 'facebook' && activeEventType && window.fbq) {
|
|
306
361
|
let fbEvent = activeEventType;
|
|
307
362
|
let internalAction = activeEventType;
|
|
@@ -381,6 +436,7 @@ export class EventTracker {
|
|
|
381
436
|
if (this.cfg.mode === 'dev') {
|
|
382
437
|
console.error('[Nommos Tracker] Configuration is missing or failed to load. Tracking aborted.');
|
|
383
438
|
}
|
|
439
|
+
this.readySubject.next(false);
|
|
384
440
|
return;
|
|
385
441
|
}
|
|
386
442
|
this.da.setLoadedIP();
|
|
@@ -391,6 +447,7 @@ export class EventTracker {
|
|
|
391
447
|
if (this.cfg.mode === 'dev') {
|
|
392
448
|
console.warn('[Nommos Tracker] Tracking is globally disabled for this token.');
|
|
393
449
|
}
|
|
450
|
+
this.readySubject.next(false);
|
|
394
451
|
return;
|
|
395
452
|
}
|
|
396
453
|
// Initialize ad platform tracking (Facebook and future others)
|
|
@@ -399,13 +456,13 @@ export class EventTracker {
|
|
|
399
456
|
const sessionEnabled = this.cfg.controls?.session_tracking_enabled !== false;
|
|
400
457
|
if (!this.sessionTracker && sessionEnabled) {
|
|
401
458
|
const { channel } = userAgentInfo(navigator.userAgent || '');
|
|
402
|
-
this.sessionTracker = new SessionTracker(this.ws, this.cfg, this.da.browserId, this.da.userIp
|
|
459
|
+
this.sessionTracker = new SessionTracker(this.ws, this.cfg, this.da.browserId, () => this.da.userIp, // getter ensures each flush uses the most current IP
|
|
460
|
+
channel, this.sessionId);
|
|
403
461
|
this.sessionTracker.start();
|
|
404
462
|
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}
|
|
463
|
+
// Enrich buffered events with IP and brand_id now that they are available
|
|
464
|
+
this.ws.enrichPendingEventsMeta(this.da.userIp, this.cfg.brand_id);
|
|
465
|
+
this.readySubject.next(true);
|
|
409
466
|
if (cfg.rabbitUrl && cfg.username && cfg.password) {
|
|
410
467
|
this.ws.connectAnalyticsStomp(cfg);
|
|
411
468
|
}
|
|
@@ -484,7 +541,19 @@ export class EventTracker {
|
|
|
484
541
|
this.ipSubscription?.unsubscribe();
|
|
485
542
|
this.eventSubscription?.unsubscribe();
|
|
486
543
|
this.webSocketConnectedSubscription?.unsubscribe();
|
|
544
|
+
this.readySubject.complete();
|
|
545
|
+
// Remove token from the active registry so a future re-instantiation
|
|
546
|
+
// does not incorrectly trigger the duplicate-instance warning.
|
|
547
|
+
if (this.cfg.token) {
|
|
548
|
+
EventTracker._activeTokens.delete(this.cfg.token);
|
|
549
|
+
}
|
|
487
550
|
this.sessionTracker?.stop();
|
|
488
551
|
}
|
|
489
552
|
}
|
|
553
|
+
/**
|
|
554
|
+
* Tracks tokens that already have an active EventTracker instance.
|
|
555
|
+
* Used to warn developers when the same token is instantiated more than once,
|
|
556
|
+
* which would cause every event to be sent to the queue multiple times.
|
|
557
|
+
*/
|
|
558
|
+
EventTracker._activeTokens = new Set();
|
|
490
559
|
//# sourceMappingURL=event-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/event-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/event-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class SessionTracker {
|
|
|
16
16
|
private readonly ws;
|
|
17
17
|
private readonly cfg;
|
|
18
18
|
private readonly bid;
|
|
19
|
-
private readonly
|
|
19
|
+
private readonly getIp;
|
|
20
20
|
private readonly channel;
|
|
21
21
|
private readonly sessionId;
|
|
22
22
|
private events;
|
|
@@ -28,7 +28,7 @@ export declare class SessionTracker {
|
|
|
28
28
|
private boundBeforeUnload;
|
|
29
29
|
private boundActivityHandler;
|
|
30
30
|
private boundVisibilityHandler;
|
|
31
|
-
constructor(ws: WebSocketClient, cfg: FullConfig, bid: string,
|
|
31
|
+
constructor(ws: WebSocketClient, cfg: FullConfig, bid: string, getIp: () => string, channel: number, sessionId: string);
|
|
32
32
|
/**
|
|
33
33
|
* Initializes rrweb recording.
|
|
34
34
|
*/
|
|
@@ -13,11 +13,11 @@ import pako from 'pako';
|
|
|
13
13
|
* - Environment-safe (no-op on server-side)
|
|
14
14
|
*/
|
|
15
15
|
export class SessionTracker {
|
|
16
|
-
constructor(ws, cfg, bid,
|
|
16
|
+
constructor(ws, cfg, bid, getIp, channel, sessionId) {
|
|
17
17
|
this.ws = ws;
|
|
18
18
|
this.cfg = cfg;
|
|
19
19
|
this.bid = bid;
|
|
20
|
-
this.
|
|
20
|
+
this.getIp = getIp;
|
|
21
21
|
this.channel = channel;
|
|
22
22
|
this.sessionId = sessionId;
|
|
23
23
|
this.events = [];
|
|
@@ -51,9 +51,6 @@ export class SessionTracker {
|
|
|
51
51
|
if (this.isRecording || typeof window === 'undefined')
|
|
52
52
|
return;
|
|
53
53
|
try {
|
|
54
|
-
if (this.seq === 0) {
|
|
55
|
-
// Initial setup for a new recording
|
|
56
|
-
}
|
|
57
54
|
const rrweb = await import('rrweb');
|
|
58
55
|
this.stopFn = rrweb.record({
|
|
59
56
|
emit: (event, isCheckout) => {
|
|
@@ -165,7 +162,7 @@ export class SessionTracker {
|
|
|
165
162
|
apiKey: this.cfg.token || '',
|
|
166
163
|
bid: this.bid,
|
|
167
164
|
sessionId: this.sessionId,
|
|
168
|
-
ip: this.
|
|
165
|
+
ip: this.getIp(),
|
|
169
166
|
seq: this.seq++,
|
|
170
167
|
timestamp: Date.now(),
|
|
171
168
|
page: window.location.href,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/session-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IAazB,YACmB,EAAmB,EACnB,GAAe,EACf,GAAW,EACX,
|
|
1
|
+
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/session-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { AnalyticsEvent, FullConfig, SessionRecordingPayload } from './types';
|
|
|
6
6
|
* analytics events to a RabbitMQ broker. Includes:
|
|
7
7
|
* - connection lifecycle management
|
|
8
8
|
* - auto-reconnect support
|
|
9
|
-
* - offline event buffering
|
|
9
|
+
* - offline event buffering (capped to prevent memory leaks)
|
|
10
10
|
* - reactive connection status via RxJS
|
|
11
11
|
*
|
|
12
12
|
* Intended to be used inside applications where analytics events must
|
|
@@ -22,9 +22,12 @@ export declare class WebSocketClient {
|
|
|
22
22
|
/**
|
|
23
23
|
* Buffer containing analytics events produced before the socket
|
|
24
24
|
* becomes connected. They are automatically flushed on connection.
|
|
25
|
+
* Capped at MAX_BUFFERED_EVENTS to prevent memory leaks on long disconnections.
|
|
25
26
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
private _pendingEvents;
|
|
28
|
+
private _pendingSessions;
|
|
29
|
+
/** Readonly view of buffered analytics events — do not mutate directly. */
|
|
30
|
+
get pendingEvents(): ReadonlyArray<AnalyticsEvent>;
|
|
28
31
|
private readonly stompAnalyticsConnected;
|
|
29
32
|
/**
|
|
30
33
|
* Reactive connection state for consumers who want to listen for
|
|
@@ -57,7 +60,8 @@ export declare class WebSocketClient {
|
|
|
57
60
|
* Publishes an analytics event to a RabbitMQ queue.
|
|
58
61
|
*
|
|
59
62
|
* If the connection is not ready, the event is automatically queued
|
|
60
|
-
* and delivered once the socket reconnects.
|
|
63
|
+
* and delivered once the socket reconnects. The buffer is capped at
|
|
64
|
+
* MAX_BUFFERED_EVENTS to prevent memory leaks on long disconnections.
|
|
61
65
|
*
|
|
62
66
|
* @param payload The analytics event to send.
|
|
63
67
|
*/
|
|
@@ -68,6 +72,15 @@ export declare class WebSocketClient {
|
|
|
68
72
|
* @param payload The session recording data to send.
|
|
69
73
|
*/
|
|
70
74
|
publishSessionRecordingMessage(payload: SessionRecordingPayload | string | Uint8Array): void;
|
|
75
|
+
/**
|
|
76
|
+
* Enriches all buffered (pending) analytics events with IP and brand_id
|
|
77
|
+
* once they become available after bootstrap. This is called after the
|
|
78
|
+
* async config and IP fetch complete.
|
|
79
|
+
*
|
|
80
|
+
* @param ip - The resolved public IP address of the user.
|
|
81
|
+
* @param brand_id - The brand identifier from backend config.
|
|
82
|
+
*/
|
|
83
|
+
enrichPendingEventsMeta(ip: string, brand_id: number | string | undefined): void;
|
|
71
84
|
/**
|
|
72
85
|
* Gracefully shuts down the STOMP client and updates connection status.
|
|
73
86
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from '@stomp/stompjs';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { ANALYTICS_QUEUE, MAX_BUFFERED_CHUNKS, SESSION_RECORDING_QUEUE } from './constants';
|
|
3
|
+
import { ANALYTICS_QUEUE, MAX_BUFFERED_CHUNKS, MAX_BUFFERED_EVENTS, SESSION_RECORDING_QUEUE } from './constants';
|
|
4
4
|
/**
|
|
5
5
|
* WebSocketClient
|
|
6
6
|
* ----------------
|
|
@@ -8,7 +8,7 @@ import { ANALYTICS_QUEUE, MAX_BUFFERED_CHUNKS, SESSION_RECORDING_QUEUE } from '.
|
|
|
8
8
|
* analytics events to a RabbitMQ broker. Includes:
|
|
9
9
|
* - connection lifecycle management
|
|
10
10
|
* - auto-reconnect support
|
|
11
|
-
* - offline event buffering
|
|
11
|
+
* - offline event buffering (capped to prevent memory leaks)
|
|
12
12
|
* - reactive connection status via RxJS
|
|
13
13
|
*
|
|
14
14
|
* Intended to be used inside applications where analytics events must
|
|
@@ -25,9 +25,10 @@ export class WebSocketClient {
|
|
|
25
25
|
/**
|
|
26
26
|
* Buffer containing analytics events produced before the socket
|
|
27
27
|
* becomes connected. They are automatically flushed on connection.
|
|
28
|
+
* Capped at MAX_BUFFERED_EVENTS to prevent memory leaks on long disconnections.
|
|
28
29
|
*/
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
30
|
+
this._pendingEvents = [];
|
|
31
|
+
this._pendingSessions = [];
|
|
31
32
|
this.stompAnalyticsConnected = new BehaviorSubject(false);
|
|
32
33
|
/**
|
|
33
34
|
* Reactive connection state for consumers who want to listen for
|
|
@@ -38,6 +39,10 @@ export class WebSocketClient {
|
|
|
38
39
|
*/
|
|
39
40
|
this.stompAnalyticsConnected$ = this.stompAnalyticsConnected.asObservable();
|
|
40
41
|
}
|
|
42
|
+
/** Readonly view of buffered analytics events — do not mutate directly. */
|
|
43
|
+
get pendingEvents() {
|
|
44
|
+
return this._pendingEvents;
|
|
45
|
+
}
|
|
41
46
|
/**
|
|
42
47
|
* Creates and configures a STOMP client instance.
|
|
43
48
|
*
|
|
@@ -86,15 +91,16 @@ export class WebSocketClient {
|
|
|
86
91
|
console.log('[Nommos Tracker] Connected');
|
|
87
92
|
}
|
|
88
93
|
this.stompAnalyticsConnected.next(true);
|
|
89
|
-
// flush pending events
|
|
90
|
-
for (const m of this.
|
|
94
|
+
// flush pending analytics events
|
|
95
|
+
for (const m of this._pendingEvents) {
|
|
91
96
|
this.publishAnalyticsMessage(m);
|
|
92
97
|
}
|
|
93
|
-
this.
|
|
94
|
-
|
|
98
|
+
this._pendingEvents = [];
|
|
99
|
+
// flush pending session recordings
|
|
100
|
+
for (const s of this._pendingSessions) {
|
|
95
101
|
this.publishSessionRecordingMessage(s);
|
|
96
102
|
}
|
|
97
|
-
this.
|
|
103
|
+
this._pendingSessions = [];
|
|
98
104
|
};
|
|
99
105
|
this.analyticsClient.onStompError = (frame) => {
|
|
100
106
|
if (this.cfg?.mode === 'dev') {
|
|
@@ -110,13 +116,21 @@ export class WebSocketClient {
|
|
|
110
116
|
* Publishes an analytics event to a RabbitMQ queue.
|
|
111
117
|
*
|
|
112
118
|
* If the connection is not ready, the event is automatically queued
|
|
113
|
-
* and delivered once the socket reconnects.
|
|
119
|
+
* and delivered once the socket reconnects. The buffer is capped at
|
|
120
|
+
* MAX_BUFFERED_EVENTS to prevent memory leaks on long disconnections.
|
|
114
121
|
*
|
|
115
122
|
* @param payload The analytics event to send.
|
|
116
123
|
*/
|
|
117
124
|
publishAnalyticsMessage(payload) {
|
|
118
|
-
if (!this.analyticsClient
|
|
119
|
-
this.
|
|
125
|
+
if (!this.analyticsClient || !this.analyticsClient.connected) {
|
|
126
|
+
this._pendingEvents.push(payload);
|
|
127
|
+
// Memory Guard: Drop oldest events if buffer exceeds limit
|
|
128
|
+
if (this._pendingEvents.length > MAX_BUFFERED_EVENTS) {
|
|
129
|
+
this._pendingEvents.shift();
|
|
130
|
+
if (this.cfg?.mode === 'dev') {
|
|
131
|
+
console.warn('[Nommos Tracker] Analytics event buffer full. Dropping oldest event.');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
120
134
|
return;
|
|
121
135
|
}
|
|
122
136
|
this.analyticsClient.publish({
|
|
@@ -131,11 +145,11 @@ export class WebSocketClient {
|
|
|
131
145
|
* @param payload The session recording data to send.
|
|
132
146
|
*/
|
|
133
147
|
publishSessionRecordingMessage(payload) {
|
|
134
|
-
if (!this.analyticsClient
|
|
135
|
-
this.
|
|
148
|
+
if (!this.analyticsClient || !this.analyticsClient.connected) {
|
|
149
|
+
this._pendingSessions.push(payload);
|
|
136
150
|
// Memory Guard: Drop oldest chunks if buffer exceeds limit
|
|
137
|
-
if (this.
|
|
138
|
-
this.
|
|
151
|
+
if (this._pendingSessions.length > MAX_BUFFERED_CHUNKS) {
|
|
152
|
+
this._pendingSessions.shift();
|
|
139
153
|
if (this.cfg?.mode === 'dev') {
|
|
140
154
|
console.warn('[Nommos Tracker] Session recording buffer full. Dropping oldest chunk.');
|
|
141
155
|
}
|
|
@@ -153,6 +167,20 @@ export class WebSocketClient {
|
|
|
153
167
|
...(isBinary ? { binaryBody: payload } : { body: isCompressed ? payload : JSON.stringify(payload) }),
|
|
154
168
|
});
|
|
155
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Enriches all buffered (pending) analytics events with IP and brand_id
|
|
172
|
+
* once they become available after bootstrap. This is called after the
|
|
173
|
+
* async config and IP fetch complete.
|
|
174
|
+
*
|
|
175
|
+
* @param ip - The resolved public IP address of the user.
|
|
176
|
+
* @param brand_id - The brand identifier from backend config.
|
|
177
|
+
*/
|
|
178
|
+
enrichPendingEventsMeta(ip, brand_id) {
|
|
179
|
+
for (const e of this._pendingEvents) {
|
|
180
|
+
e.ip = ip;
|
|
181
|
+
e.brand_id = brand_id;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
156
184
|
/**
|
|
157
185
|
* Gracefully shuts down the STOMP client and updates connection status.
|
|
158
186
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webSocket-client.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/webSocket-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"webSocket-client.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/webSocket-client.ts"],"names":[],"mappings":"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"}
|