@nommos/core 0.0.40 → 0.0.42

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-viewer.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/popup-viewer.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export declare class SessionTracker {
46
46
  /**
47
47
  * Public API to completely stop the tracker (unmount/cleanup).
48
48
  */
49
- stop(): void;
49
+ stop(discardPending?: boolean): void;
50
+ purge(): void;
50
51
  private flush;
51
52
  }
@@ -1,5 +1,5 @@
1
1
  import { SESSION_CHUNK_DURATION_MS, SESSION_INACTIVITY_TIMEOUT_MS, MAX_SESSION_CHUNK_BYTES } from './constants';
2
- import pako from 'pako';
2
+ import { gzip } from 'pako';
3
3
  /**
4
4
  * SessionTracker
5
5
  * --------------
@@ -142,7 +142,7 @@ export class SessionTracker {
142
142
  /**
143
143
  * Public API to completely stop the tracker (unmount/cleanup).
144
144
  */
145
- stop() {
145
+ stop(discardPending = false) {
146
146
  if (typeof window === 'undefined')
147
147
  return;
148
148
  window.removeEventListener('beforeunload', this.boundBeforeUnload);
@@ -152,9 +152,24 @@ export class SessionTracker {
152
152
  if (this.inactivityTimer) {
153
153
  clearTimeout(this.inactivityTimer);
154
154
  }
155
- this.stopRecording();
155
+ if (discardPending) {
156
+ if (this.stopFn) {
157
+ this.stopFn();
158
+ this.stopFn = null;
159
+ }
160
+ this.isRecording = false;
161
+ this.events = [];
162
+ this.currentChunkSizeBytes = 0;
163
+ }
164
+ else {
165
+ this.stopRecording();
166
+ }
156
167
  this.seq = 0; // Truly end the session sequence
157
168
  }
169
+ purge() {
170
+ this.events = [];
171
+ this.currentChunkSizeBytes = 0;
172
+ }
158
173
  flush() {
159
174
  if (this.events.length === 0)
160
175
  return;
@@ -172,7 +187,7 @@ export class SessionTracker {
172
187
  console.log('[Nommos Tracker] Flushing Session Recording Chunk:', payload.events.length, 'events (seq:', payload.seq, ')');
173
188
  }
174
189
  try {
175
- const compressed = pako.gzip(JSON.stringify(payload));
190
+ const compressed = gzip(JSON.stringify(payload));
176
191
  // Send raw binary Body instead of Base64 string for production efficiency
177
192
  this.ws.publishSessionRecordingMessage(compressed);
178
193
  }
@@ -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,KAAmB,EACnB,OAAe,EACf,SAAiB;QALjB,OAAE,GAAF,EAAE,CAAiB;QACnB,QAAG,GAAH,GAAG,CAAY;QACf,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAc;QACnB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAQ;QAlB5B,WAAM,GAAU,EAAE,CAAC;QACnB,WAAM,GAAwB,IAAI,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;QAEpB,QAAG,GAAG,CAAC,CAAC;QACR,0BAAqB,GAAG,CAAC,CAAC;QAE1B,oBAAe,GAAQ,IAAI,CAAC;QAC5B,sBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,yBAAoB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzD,2BAAsB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IASjE,CAAC;IAEL;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEzE,4CAA4C;QAC5C,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACjF,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1G,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE9D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;oBAE1B,iFAAiF;oBACjF,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;4BAC5B,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;wBAC5F,CAAC;wBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;oBAE3D,iDAAiD;oBACjD,IAAI,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,EAAE,CAAC;wBAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;4BAC5B,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,qBAAqB,yBAAyB,CAAC,CAAC;wBAC9G,CAAC;wBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,yBAAyB,IAAI,yBAAyB;gBAC3F,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE;oBACR,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,GAAG;iBACZ;aACF,CAAC,IAAI,IAAI,CAAC;YAEX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,qGAAqG;QAErG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAChE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,IAAI,6BAA6B,CAAC;QAElG,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,OAAO,GAAG,IAAI,uBAAuB,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5E,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACjF,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE1F,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,iCAAiC;IACjD,CAAC;IAEQ,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,MAAM,OAAO,GAA4B;YACvC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC1B,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACzB,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7H,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,0EAA0E;YAC1E,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,4DAA4D,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/session-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import { ANALYTICS_ACTION, ANALYTICS_ACTION_STATE, SITE_SOURCE } from './enums';
2
2
  export interface ConnectionConfig {
3
3
  token: string;
4
+ /**
5
+ * Selects the backend stack and the logging level together: `'dev'` points at the test
6
+ * deployment and turns on console diagnostics, anything else points at production and stays
7
+ * silent. Tokens are issued per stack, so this must match where the token came from.
8
+ */
4
9
  mode: string;
10
+ /** Escape hatch for a local or self-hosted backend. Overrides whatever `mode` would resolve to. */
11
+ baseUrl?: string;
5
12
  }
6
13
  export interface TrackingControls {
7
14
  action_tracking_enabled: boolean;
8
15
  session_tracking_enabled: boolean;
16
+ heatmap_tracking_enabled?: boolean;
9
17
  session_chunk_duration_ms?: number;
10
18
  session_inactivity_timeout_ms?: number;
11
19
  }
@@ -31,6 +39,8 @@ export interface FullConfig extends ConnectionConfig {
31
39
  rabbitUrl?: string;
32
40
  username?: string;
33
41
  password?: string;
42
+ wsUrl?: string;
43
+ wsToken?: string;
34
44
  brand_id?: number | string;
35
45
  appId?: string;
36
46
  reconnectDelay?: number;
@@ -38,6 +48,115 @@ export interface FullConfig extends ConnectionConfig {
38
48
  masterEnabled?: boolean;
39
49
  controls?: TrackingControls;
40
50
  ads_events?: AdsEventsConfig;
51
+ consentRef?: string;
52
+ consentReceiptId?: string;
53
+ consentVersion?: string;
54
+ consentPermission?: ConsentPermission;
55
+ }
56
+ export type ConsentPermission = 'necessary' | 'analytics' | 'session-recording' | 'marketing';
57
+ /** The categories a visitor can refuse. `necessary` is not among them. */
58
+ export type OptionalConsentCategory = 'analytics' | 'sessionRecording' | 'marketing';
59
+ export interface ConsentPermissionState {
60
+ necessary: true;
61
+ analytics: boolean;
62
+ sessionRecording: boolean;
63
+ marketing: boolean;
64
+ }
65
+ export interface ConsentStoredState {
66
+ receiptId: string;
67
+ consentRef: string;
68
+ configVersion: string;
69
+ policyHash: string;
70
+ permissions: ConsentPermissionState;
71
+ effectiveAt: string;
72
+ /** ISO timestamp after which consent must be collected again. Absent means it never expires. */
73
+ expiresAt?: string | null;
74
+ gpcApplied?: boolean;
75
+ }
76
+ export interface ConsentConfig {
77
+ enabled: boolean;
78
+ siteKey: string;
79
+ version: string;
80
+ policyHash: string;
81
+ brand_id?: number | string;
82
+ tenantId?: number | string;
83
+ branding: {
84
+ companyName: string;
85
+ logoUrl?: string;
86
+ primaryColor?: string;
87
+ secondaryColor?: string;
88
+ fontFamily?: string;
89
+ };
90
+ /** Per-category definition keyed by category name, e.g. `{ analytics: { enabled, required, defaultState } }`. */
91
+ permissions: Record<string, {
92
+ enabled?: boolean;
93
+ required?: boolean;
94
+ defaultState?: boolean;
95
+ }>;
96
+ /** @deprecated CMP copy is SDK-owned. Kept optional only for older config responses. */
97
+ content?: Record<string, Record<string, string> | string>;
98
+ privacyPolicyUrl?: string;
99
+ cookiePolicyUrl?: string;
100
+ expiresInDays?: number | null;
101
+ settings?: {
102
+ honorGlobalPrivacyControl?: boolean;
103
+ storageStrategy?: string;
104
+ cookiePrefix?: string;
105
+ showFloatingPrivacyControl?: boolean;
106
+ floatingButtonPosition?: string;
107
+ };
108
+ }
109
+ export interface ConsentAwareModule {
110
+ id: 'tracking' | 'session-recording' | 'marketing';
111
+ initialize(): Promise<void>;
112
+ shutdown(): Promise<void>;
113
+ purge?(): Promise<void>;
114
+ isInitialized(): boolean;
115
+ supportsRuntimeShutdown: boolean;
116
+ }
117
+ /** One CTA button. Rendered by the SDK as chrome rather than as part of the popup body. */
118
+ export interface WebPopupButton {
119
+ label: string;
120
+ url: string;
121
+ style?: string;
122
+ }
123
+ /**
124
+ * Inbox metadata for one popup. Deliberately without the body: three full popups would be over
125
+ * a megabyte on every SDK init, on the tenant's own page.
126
+ */
127
+ export interface WebPopupItem {
128
+ id: number;
129
+ title?: string;
130
+ thumbnailUrl?: string;
131
+ layout?: string;
132
+ schemaVersion?: number;
133
+ priority?: string;
134
+ status?: string;
135
+ deliveredAt?: string;
136
+ expiresAt?: string;
137
+ templateId?: number;
138
+ /** Which send produced this popup: BROADCAST, JOURNEY, AUTOMATION, STAGE_ACTION or DIRECT. */
139
+ source?: string;
140
+ /** The campaign behind the send, echoed back on every analytics event for attribution. */
141
+ sourceCampaignId?: number;
142
+ buttons?: WebPopupButton[];
143
+ }
144
+ /** The renderable body, fetched only when a popup is about to open. */
145
+ export interface WebPopupContent {
146
+ id: number;
147
+ schemaVersion?: number;
148
+ layout?: string;
149
+ title?: string;
150
+ desktopHtml?: string;
151
+ desktopCss?: string;
152
+ mobileHtml?: string;
153
+ mobileCss?: string;
154
+ buttons?: WebPopupButton[];
155
+ }
156
+ export interface WebPopupInboxState {
157
+ items: WebPopupItem[];
158
+ /** Popups the visitor has not opened yet — what the launcher badge counts. */
159
+ unreadCount: number;
41
160
  }
42
161
  export interface UrlTrackingKey {
43
162
  source: string;
@@ -1,4 +1,4 @@
1
- import { AnalyticsEvent, FullConfig, SessionRecordingPayload } from './types';
1
+ import { AnalyticsEvent, ConsentStoredState, FullConfig, SessionRecordingPayload } from './types';
2
2
  /**
3
3
  * WebSocketClient
4
4
  * ----------------
@@ -19,6 +19,9 @@ export declare class WebSocketClient {
19
19
  */
20
20
  private analyticsClient;
21
21
  private cfg;
22
+ private manualDisconnect;
23
+ private onConnectionClosed;
24
+ private consentState;
22
25
  /**
23
26
  * Buffer containing analytics events produced before the socket
24
27
  * becomes connected. They are automatically flushed on connection.
@@ -26,6 +29,17 @@ export declare class WebSocketClient {
26
29
  */
27
30
  private _pendingEvents;
28
31
  private _pendingSessions;
32
+ /**
33
+ * Topics to (re)subscribe on every connect. STOMP subscriptions do not survive a reconnect, so
34
+ * they are held here rather than registered once against a client instance that may be replaced.
35
+ */
36
+ private readonly topicHandlers;
37
+ /**
38
+ * Consecutive broker rejections. A token the broker refuses will be refused again, so retrying
39
+ * past this point is a reconnect loop rather than resilience.
40
+ */
41
+ private authFailures;
42
+ private static readonly MAX_AUTH_FAILURES;
29
43
  /** Readonly view of buffered analytics events — do not mutate directly. */
30
44
  get pendingEvents(): ReadonlyArray<AnalyticsEvent>;
31
45
  private readonly stompAnalyticsConnected;
@@ -55,7 +69,7 @@ export declare class WebSocketClient {
55
69
  *
56
70
  * @param cfg Configuration including URL, credentials, mode etc.
57
71
  */
58
- connectAnalyticsStomp(cfg: FullConfig): void;
72
+ connectAnalyticsStomp(cfg: FullConfig, onConnectionClosed?: () => void): void;
59
73
  /**
60
74
  * Publishes an analytics event to a RabbitMQ queue.
61
75
  *
@@ -72,6 +86,20 @@ export declare class WebSocketClient {
72
86
  * @param payload The session recording data to send.
73
87
  */
74
88
  publishSessionRecordingMessage(payload: SessionRecordingPayload | string | Uint8Array): void;
89
+ /**
90
+ * Subscribes to a broker topic, re-establishing it automatically after a reconnect.
91
+ *
92
+ * <p>Registering the handler even while disconnected is deliberate: the popup module subscribes
93
+ * during marketing-consent setup, which can easily run before the socket is up.
94
+ */
95
+ subscribeTopic(destination: string, handler: (body: string) => void): void;
96
+ unsubscribeTopic(destination: string): void;
97
+ private resubscribeTopics;
98
+ private applySubscription;
99
+ setConsentState(state: ConsentStoredState | null): void;
100
+ clearPendingSessionRecordings(): void;
101
+ private hasSessionRecordingConsent;
102
+ private consentHeaders;
75
103
  /**
76
104
  * Enriches all buffered (pending) analytics events with IP and brand_id
77
105
  * once they become available after bootstrap. This is called after the
@@ -1,6 +1,6 @@
1
1
  import { Client } from '@stomp/stompjs';
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { ANALYTICS_QUEUE, MAX_BUFFERED_CHUNKS, MAX_BUFFERED_EVENTS, SESSION_RECORDING_QUEUE } from './constants';
3
+ import { MAX_BUFFERED_CHUNKS, MAX_BUFFERED_EVENTS, TRACKING_ACTIVITY_DESTINATION, TRACKING_SESSION_DESTINATION } from './constants';
4
4
  /**
5
5
  * WebSocketClient
6
6
  * ----------------
@@ -22,6 +22,9 @@ export class WebSocketClient {
22
22
  */
23
23
  this.analyticsClient = null;
24
24
  this.cfg = null;
25
+ this.manualDisconnect = false;
26
+ this.onConnectionClosed = null;
27
+ this.consentState = null;
25
28
  /**
26
29
  * Buffer containing analytics events produced before the socket
27
30
  * becomes connected. They are automatically flushed on connection.
@@ -29,6 +32,16 @@ export class WebSocketClient {
29
32
  */
30
33
  this._pendingEvents = [];
31
34
  this._pendingSessions = [];
35
+ /**
36
+ * Topics to (re)subscribe on every connect. STOMP subscriptions do not survive a reconnect, so
37
+ * they are held here rather than registered once against a client instance that may be replaced.
38
+ */
39
+ this.topicHandlers = new Map();
40
+ /**
41
+ * Consecutive broker rejections. A token the broker refuses will be refused again, so retrying
42
+ * past this point is a reconnect loop rather than resilience.
43
+ */
44
+ this.authFailures = 0;
32
45
  this.stompAnalyticsConnected = new BehaviorSubject(false);
33
46
  /**
34
47
  * Reactive connection state for consumers who want to listen for
@@ -51,11 +64,18 @@ export class WebSocketClient {
51
64
  */
52
65
  createStompClient(cfg) {
53
66
  const client = new Client({
54
- brokerURL: cfg.rabbitUrl ?? '',
67
+ brokerURL: cfg.wsUrl ?? cfg.rabbitUrl ?? '',
55
68
  connectHeaders: {
56
- login: cfg.username ?? '',
57
- passcode: cfg.password ?? '',
69
+ ...(cfg.wsToken
70
+ ? { Authorization: `Bearer ${cfg.wsToken}` }
71
+ : {
72
+ login: cfg.username ?? '',
73
+ passcode: cfg.password ?? '',
74
+ }),
58
75
  },
76
+ // Reconnection used to be switched off outright whenever a wsToken was present, so a single
77
+ // dropped socket left a long-lived SPA with no live channel for the rest of the page's life.
78
+ // It stays on now; `authFailures` is the backstop that stops a rejected token retrying forever.
59
79
  reconnectDelay: cfg.reconnectDelay ?? 5000,
60
80
  });
61
81
  if (cfg.mode === 'dev') {
@@ -83,14 +103,23 @@ export class WebSocketClient {
83
103
  *
84
104
  * @param cfg Configuration including URL, credentials, mode etc.
85
105
  */
86
- connectAnalyticsStomp(cfg) {
106
+ connectAnalyticsStomp(cfg, onConnectionClosed) {
107
+ this.manualDisconnect = false;
87
108
  this.cfg = cfg;
109
+ this.onConnectionClosed = onConnectionClosed ?? null;
110
+ if (this.analyticsClient) {
111
+ this.analyticsClient.deactivate();
112
+ }
88
113
  this.analyticsClient = this.createStompClient(cfg);
114
+ const activeClient = this.analyticsClient;
89
115
  this.analyticsClient.onConnect = () => {
116
+ this.manualDisconnect = false;
117
+ this.authFailures = 0;
90
118
  if (this.cfg?.mode === 'dev') {
91
119
  console.log('[Nommos Tracker] Connected');
92
120
  }
93
121
  this.stompAnalyticsConnected.next(true);
122
+ this.resubscribeTopics();
94
123
  // flush pending analytics events
95
124
  for (const m of this._pendingEvents) {
96
125
  this.publishAnalyticsMessage(m);
@@ -106,6 +135,22 @@ export class WebSocketClient {
106
135
  if (this.cfg?.mode === 'dev') {
107
136
  console.error('[Nommos Tracker] Broker error:', frame.headers['message']);
108
137
  }
138
+ // An ERROR frame at this point means the broker refused us — almost always the token. It
139
+ // will refuse the same token again, so give up rather than reconnect in a tight loop.
140
+ this.authFailures += 1;
141
+ if (this.authFailures >= WebSocketClient.MAX_AUTH_FAILURES) {
142
+ if (this.cfg?.mode === 'dev') {
143
+ console.error('[Nommos Tracker] Giving up reconnecting after repeated broker rejections.');
144
+ }
145
+ this.manualDisconnect = true;
146
+ activeClient.deactivate();
147
+ }
148
+ };
149
+ this.analyticsClient.onWebSocketClose = () => {
150
+ this.stompAnalyticsConnected.next(false);
151
+ if (this.analyticsClient === activeClient && !this.manualDisconnect && this.onConnectionClosed) {
152
+ this.onConnectionClosed();
153
+ }
109
154
  };
110
155
  if (this.cfg?.mode === 'dev') {
111
156
  console.log('[Nommos Tracker] Activating STOMP client...');
@@ -134,7 +179,7 @@ export class WebSocketClient {
134
179
  return;
135
180
  }
136
181
  this.analyticsClient.publish({
137
- destination: ANALYTICS_QUEUE,
182
+ destination: this.cfg?.wsToken ? TRACKING_ACTIVITY_DESTINATION : '/queue/user.activity',
138
183
  headers: { 'content-type': 'application/json' },
139
184
  body: JSON.stringify(payload),
140
185
  });
@@ -145,6 +190,12 @@ export class WebSocketClient {
145
190
  * @param payload The session recording data to send.
146
191
  */
147
192
  publishSessionRecordingMessage(payload) {
193
+ if (this.cfg?.wsToken && !this.hasSessionRecordingConsent()) {
194
+ if (this.cfg?.mode === 'dev') {
195
+ console.warn('[Nommos Tracker] Session recording chunk blocked because consent proof is missing.');
196
+ }
197
+ return;
198
+ }
148
199
  if (!this.analyticsClient || !this.analyticsClient.connected) {
149
200
  this._pendingSessions.push(payload);
150
201
  // Memory Guard: Drop oldest chunks if buffer exceeds limit
@@ -159,14 +210,79 @@ export class WebSocketClient {
159
210
  const isCompressed = typeof payload === 'string' || payload instanceof Uint8Array;
160
211
  const isBinary = payload instanceof Uint8Array;
161
212
  this.analyticsClient.publish({
162
- destination: SESSION_RECORDING_QUEUE,
213
+ destination: this.cfg?.wsToken ? TRACKING_SESSION_DESTINATION : '/queue/user.session.recording',
163
214
  headers: {
164
215
  'content-type': isBinary ? 'application/octet-stream' : isCompressed ? 'text/plain' : 'application/json',
165
216
  ...(isCompressed && { 'content-encoding': 'gzip' }),
217
+ ...(this.cfg?.wsToken ? this.consentHeaders() : {}),
166
218
  },
167
219
  ...(isBinary ? { binaryBody: payload } : { body: isCompressed ? payload : JSON.stringify(payload) }),
168
220
  });
169
221
  }
222
+ /**
223
+ * Subscribes to a broker topic, re-establishing it automatically after a reconnect.
224
+ *
225
+ * <p>Registering the handler even while disconnected is deliberate: the popup module subscribes
226
+ * during marketing-consent setup, which can easily run before the socket is up.
227
+ */
228
+ subscribeTopic(destination, handler) {
229
+ this.topicHandlers.set(destination, handler);
230
+ if (this.analyticsClient?.connected) {
231
+ this.applySubscription(destination, handler);
232
+ }
233
+ }
234
+ unsubscribeTopic(destination) {
235
+ this.topicHandlers.delete(destination);
236
+ // stompjs has no unsubscribe-by-destination; dropping the handler stops delivery, and the
237
+ // subscription itself dies with the next reconnect. Popups are per-page, so this is enough.
238
+ }
239
+ resubscribeTopics() {
240
+ for (const [destination, handler] of this.topicHandlers) {
241
+ this.applySubscription(destination, handler);
242
+ }
243
+ }
244
+ applySubscription(destination, handler) {
245
+ try {
246
+ this.analyticsClient?.subscribe(destination, (message) => {
247
+ // A handler that throws must not take down the STOMP message loop with it.
248
+ try {
249
+ handler(message.body);
250
+ }
251
+ catch (error) {
252
+ if (this.cfg?.mode === 'dev') {
253
+ console.error('[Nommos Tracker] Topic handler failed:', error);
254
+ }
255
+ }
256
+ }, this.cfg?.wsToken ? this.consentHeaders('marketing') : {});
257
+ }
258
+ catch (error) {
259
+ if (this.cfg?.mode === 'dev') {
260
+ console.error('[Nommos Tracker] Could not subscribe to', destination, error);
261
+ }
262
+ }
263
+ }
264
+ setConsentState(state) {
265
+ this.consentState = state;
266
+ if (!this.hasSessionRecordingConsent()) {
267
+ this.clearPendingSessionRecordings();
268
+ }
269
+ }
270
+ clearPendingSessionRecordings() {
271
+ this._pendingSessions = [];
272
+ }
273
+ hasSessionRecordingConsent() {
274
+ return Boolean(this.consentState?.consentRef &&
275
+ this.consentState?.receiptId &&
276
+ this.consentState?.permissions?.sessionRecording);
277
+ }
278
+ consentHeaders(permission = 'session-recording') {
279
+ return {
280
+ 'x-nommos-consent-ref': this.consentState?.consentRef ?? '',
281
+ 'x-nommos-consent-receipt-id': this.consentState?.receiptId ?? '',
282
+ 'x-nommos-consent-version': this.consentState?.configVersion ?? '',
283
+ 'x-nommos-consent-permission': permission,
284
+ };
285
+ }
170
286
  /**
171
287
  * Enriches all buffered (pending) analytics events with IP and brand_id
172
288
  * once they become available after bootstrap. This is called after the
@@ -188,8 +304,10 @@ export class WebSocketClient {
188
304
  */
189
305
  disconnect() {
190
306
  if (this.analyticsClient) {
307
+ this.manualDisconnect = true;
191
308
  this.analyticsClient.deactivate().then(() => {
192
309
  this.stompAnalyticsConnected.next(false);
310
+ this.manualDisconnect = false;
193
311
  if (this.cfg?.mode === 'dev') {
194
312
  console.log('[Nommos Tracker] Disconnected');
195
313
  }
@@ -197,4 +315,5 @@ export class WebSocketClient {
197
315
  }
198
316
  }
199
317
  }
318
+ WebSocketClient.MAX_AUTH_FAILURES = 3;
200
319
  //# sourceMappingURL=webSocket-client.js.map
@@ -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,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEjH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAA5B;QACE;;;WAGG;QACK,oBAAe,GAAkB,IAAI,CAAC;QACtC,QAAG,GAAsB,IAAI,CAAC;QAEtC;;;;WAIG;QACK,mBAAc,GAAqB,EAAE,CAAC;QACtC,qBAAgB,GAAsD,EAAE,CAAC;QAOhE,4BAAuB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAEtE;;;;;;WAMG;QACH,6BAAwB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;IA+KzE,CAAC;IA7LC,2EAA2E;IAC3E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAaD;;;;;OAKG;IACK,iBAAiB,CAAC,GAAe;QACvC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;YAC9B,cAAc,EAAE;gBACd,KAAK,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;gBACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;aAC7B;YACD,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;SAC3C,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAAE,OAAO;gBAC1F,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;gBAClB,WAAW;YACb,CAAC,CAAC,CAAC,+BAA+B;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,GAAe;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,GAAG,EAAE;YACpC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExC,iCAAiC;YACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,mCAAmC;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CACX,gCAAgC,EAChC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,uBAAuB,CAAC,OAAuB;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElC,2DAA2D;YAC3D,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAGD;;;;OAIG;IACH,8BAA8B,CAAC,OAAsD;QACnF,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAC7D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpC,2DAA2D;YAC3D,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,UAAU,CAAC;QAClF,MAAM,QAAQ,GAAG,OAAO,YAAY,UAAU,CAAC;QAE/C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE;gBACP,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB;gBACxG,GAAG,CAAC,YAAY,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;aACpD;YACD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;SACjH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAU,EAAE,QAAqC;QACvE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACV,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"webSocket-client.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/webSocket-client.ts"],"names":[],"mappings":"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"}