@onramp-sdk/web 0.5.3 → 0.6.0

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/README.md CHANGED
@@ -25,6 +25,7 @@ OnRamp.init({
25
25
  apiKey: 'onr_your_api_key', // from the OnRamp dashboard
26
26
  host: 'https://your-ingestion-url', // your ingestion API URL
27
27
  appVersion: '1.0.0', // optional - enables version breakdown
28
+ mode: 'privacy', // default - memory-only IDs, identify() disabled
28
29
  })
29
30
  ```
30
31
 
@@ -58,6 +59,21 @@ OnRamp.step('first_action_done', {
58
59
  | `apiKey` | `string` | ✓ | Your app's API key from the OnRamp dashboard |
59
60
  | `host` | `string` | | Ingestion API base URL (default: `http://localhost:3001`) |
60
61
  | `appVersion` | `string` | | App version string - enables version breakdown in dashboard |
62
+ | `mode` | `'privacy' \| 'consent'` | | `privacy` (default) uses memory-only, session-window IDs; `consent` persists IDs and enables `identify()` |
63
+
64
+ Use `mode: 'consent'` only after analytics consent when you need journeys to
65
+ survive reloads or need to call `identify()`. The legacy `persistence` option is
66
+ still accepted for compatibility (`memory` = `privacy`, `local` = `consent`).
67
+
68
+ Choose exactly one mode before initialization:
69
+
70
+ ```typescript
71
+ // Privacy-first (recommended)
72
+ OnRamp.init({ apiKey: 'onr_your_api_key', mode: 'privacy' })
73
+
74
+ // Persistent/identified analytics — initialize only after consent
75
+ OnRamp.init({ apiKey: 'onr_your_api_key', mode: 'consent' })
76
+ ```
61
77
 
62
78
  ### `OnRamp.step(stepName, options?)`
63
79
 
@@ -66,6 +82,12 @@ OnRamp.step('first_action_done', {
66
82
  | `stepName` | `string` | Identifier for this milestone - e.g. `'account_created'` |
67
83
  | `options.properties` | `Record<string, string \| number \| boolean>` | Custom properties - become breakdown dimensions in the dashboard |
68
84
 
85
+ ### `OnRamp.identify(traits)`
86
+
87
+ Associates the journey with email, user ID, or other integration traits. It is
88
+ blocked in privacy mode. Initialize once with `mode: 'consent'` after required
89
+ consent before calling it. Do not initialize twice to change modes.
90
+
69
91
  ### `OnRamp.newSession()`
70
92
 
71
93
  Force-start a new session (e.g. after logout or page load into a new context).
@@ -80,7 +102,7 @@ Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `OnRam
80
102
 
81
103
  ## Framework Notes
82
104
 
83
- - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). The SDK accesses `localStorage` and `window` - it is safe in SSR environments (access is guarded), but events are only tracked in the browser.
105
+ - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). Browser access is SSR-guarded; privacy mode does not access browser storage.
84
106
  - **SPA routing**: Call `OnRamp.newSession()` if you want a new session to start on a specific navigation event (e.g. user logs out and logs back in).
85
107
 
86
108
  ## License
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- interface InitConfig {
1
+ export type OnRampMode = 'privacy' | 'consent';
2
+ export interface InitConfig {
2
3
  apiKey: string;
3
4
  host?: string;
4
5
  appVersion?: string;
@@ -6,6 +7,14 @@ interface InitConfig {
6
7
  sessionTimeoutMs?: number;
7
8
  /** Anonymous ID is rotated after this many milliseconds. Default 365 days. */
8
9
  anonymousIdMaxAgeMs?: number;
10
+ /**
11
+ * `privacy` keeps random IDs in page memory only and disables `identify()`.
12
+ * `consent` persists IDs in browser storage and enables identified tracking.
13
+ * Default `privacy`.
14
+ */
15
+ mode?: OnRampMode;
16
+ /** @deprecated Use `mode`: `memory` maps to `privacy`; `local` maps to `consent`. */
17
+ persistence?: 'local' | 'memory';
9
18
  }
10
19
  export declare const OnRamp: {
11
20
  init(config: InitConfig): void;
@@ -39,5 +48,4 @@ export declare const OnRamp: {
39
48
  };
40
49
  readonly isInitialized: boolean;
41
50
  };
42
- export {};
43
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6GA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AA0FD,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBAsFlB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;IAmCP;;;;;;;;;;;OAWG;qBACc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;kBAQnD,IAAI;aAIT,OAAO,CAAC,IAAI,CAAC;IAItB;;;;OAIG;cACO;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;4BAI7C,OAAO;CAG7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAqH9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CACjC;AAuGD,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBA4FlB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;IAmCP;;;;;;;;;;;OAWG;qBACc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;kBAYnD,IAAI;aAIT,OAAO,CAAC,IAAI,CAAC;IAItB;;;;OAIG;cACO;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;4BAI7C,OAAO;CAG7B,CAAA"}
package/dist/index.js CHANGED
@@ -7,6 +7,10 @@ const SESSION_KEY = '@onramp/session';
7
7
  const PENDING_ACQUISITION_KEY = '@onramp/pending_acquisition';
8
8
  const DEFAULT_SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 min
9
9
  const DEFAULT_ANON_MAX_AGE_MS = 365 * 24 * 60 * 60 * 1000; // 365 days
10
+ let mode = 'privacy';
11
+ function usesBrowserStorage() {
12
+ return mode === 'consent';
13
+ }
10
14
  function uuid() {
11
15
  if (typeof crypto !== 'undefined' && crypto.randomUUID)
12
16
  return crypto.randomUUID();
@@ -16,6 +20,8 @@ function uuid() {
16
20
  });
17
21
  }
18
22
  function safeGet(key) {
23
+ if (!usesBrowserStorage())
24
+ return null;
19
25
  try {
20
26
  return localStorage.getItem(key);
21
27
  }
@@ -24,6 +30,8 @@ function safeGet(key) {
24
30
  }
25
31
  }
26
32
  function safeSet(key, value) {
33
+ if (!usesBrowserStorage())
34
+ return;
27
35
  try {
28
36
  localStorage.setItem(key, value);
29
37
  }
@@ -66,13 +74,19 @@ function persistSession() {
66
74
  safeSet(SESSION_KEY, JSON.stringify({ id: currentSessionId, lastActive, stepCounter }));
67
75
  }
68
76
  function rotateSession() {
77
+ if (mode === 'privacy') {
78
+ anonymousId = uuid();
79
+ anonymousIdCreatedAt = Date.now();
80
+ }
69
81
  currentSessionId = uuid();
70
82
  stepCounter = 0;
71
83
  lastActive = Date.now();
72
84
  persistSession();
73
85
  }
74
86
  function ensureSessionFresh() {
75
- if (!currentSessionId || Date.now() - lastActive > sessionTimeoutMs)
87
+ const now = Date.now();
88
+ const privacyIdExpired = mode === 'privacy' && now - anonymousIdCreatedAt > sessionTimeoutMs;
89
+ if (!currentSessionId || now - lastActive > sessionTimeoutMs || privacyIdExpired)
76
90
  rotateSession();
77
91
  }
78
92
  function parseUA() {
@@ -132,6 +146,7 @@ function getDeviceType() {
132
146
  let client = null;
133
147
  let currentSessionId = null;
134
148
  let anonymousId = null;
149
+ let anonymousIdCreatedAt = 0;
135
150
  let stepCounter = 0;
136
151
  let lastActive = 0;
137
152
  let lastHeartbeatTs = 0;
@@ -139,6 +154,8 @@ let sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
139
154
  let pendingReferrer = null;
140
155
  let pendingUtm = null;
141
156
  function safeSessionGet(key) {
157
+ if (!usesBrowserStorage())
158
+ return null;
142
159
  try {
143
160
  return sessionStorage.getItem(key);
144
161
  }
@@ -147,12 +164,16 @@ function safeSessionGet(key) {
147
164
  }
148
165
  }
149
166
  function safeSessionSet(key, value) {
167
+ if (!usesBrowserStorage())
168
+ return;
150
169
  try {
151
170
  sessionStorage.setItem(key, value);
152
171
  }
153
172
  catch { /* unavailable */ }
154
173
  }
155
174
  function safeSessionRemove(key) {
175
+ if (!usesBrowserStorage())
176
+ return;
156
177
  try {
157
178
  sessionStorage.removeItem(key);
158
179
  }
@@ -180,7 +201,7 @@ function utmFromClickId(params) {
180
201
  }
181
202
  return null;
182
203
  }
183
- function captureAcquisition() {
204
+ function captureAcquisition(isNewSession) {
184
205
  pendingReferrer = null;
185
206
  pendingUtm = null;
186
207
  if (document.referrer) {
@@ -212,8 +233,17 @@ function captureAcquisition() {
212
233
  return;
213
234
  }
214
235
  const raw = safeSessionGet(PENDING_ACQUISITION_KEY);
215
- if (!raw)
236
+ if (!raw) {
237
+ // A browser omits document.referrer for typed URLs, bookmarks, and other
238
+ // unattributed entries. Record that explicitly on the first event of a
239
+ // genuinely new session so Direct appears alongside named referrers.
240
+ if (isNewSession)
241
+ pendingReferrer = 'direct';
242
+ if (pendingReferrer) {
243
+ safeSessionSet(PENDING_ACQUISITION_KEY, JSON.stringify({ referrer: pendingReferrer, utm: null }));
244
+ }
216
245
  return;
246
+ }
217
247
  try {
218
248
  const stored = JSON.parse(raw);
219
249
  pendingReferrer = stored.referrer;
@@ -227,11 +257,18 @@ exports.OnRamp = {
227
257
  init(config) {
228
258
  if (typeof window === 'undefined')
229
259
  return; // SSR guard
260
+ if (client)
261
+ return; // already initialized on this page
262
+ mode = config.mode ?? (config.persistence === 'local' ? 'consent' : 'privacy');
230
263
  sessionTimeoutMs = config.sessionTimeoutMs ?? DEFAULT_SESSION_TIMEOUT_MS;
231
- anonymousId = getOrCreateAnonymousId(config.anonymousIdMaxAgeMs ?? DEFAULT_ANON_MAX_AGE_MS);
264
+ anonymousId = mode === 'consent'
265
+ ? getOrCreateAnonymousId(config.anonymousIdMaxAgeMs ?? DEFAULT_ANON_MAX_AGE_MS)
266
+ : null;
267
+ anonymousIdCreatedAt = Date.now();
232
268
  // Resume previous session if user returned within the timeout window
233
269
  const stored = loadSession();
234
- if (stored && Date.now() - stored.lastActive < sessionTimeoutMs) {
270
+ const isNewSession = !(stored && Date.now() - stored.lastActive < sessionTimeoutMs);
271
+ if (!isNewSession && stored) {
235
272
  currentSessionId = stored.id;
236
273
  stepCounter = stored.stepCounter;
237
274
  lastActive = stored.lastActive;
@@ -239,7 +276,7 @@ exports.OnRamp = {
239
276
  else {
240
277
  rotateSession();
241
278
  }
242
- captureAcquisition();
279
+ captureAcquisition(isNewSession);
243
280
  client = new core_1.OnRampClient({
244
281
  apiKey: config.apiKey,
245
282
  host: config.host,
@@ -361,6 +398,10 @@ exports.OnRamp = {
361
398
  console.warn('[OnRamp] call OnRamp.init() before calling identify()');
362
399
  return;
363
400
  }
401
+ if (mode === 'privacy') {
402
+ console.warn('[OnRamp] identify() is disabled in privacy mode; initialize with mode: \'consent\' only after consent');
403
+ return;
404
+ }
364
405
  client.identify({ sessionId: currentSessionId, anonymousId, traits });
365
406
  },
366
407
  newSession() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,MAAM,QAAQ,GAAM,sBAAsB,CAAA;AAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAA;AACrC,MAAM,uBAAuB,GAAG,6BAA6B,CAAA;AAC7D,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAU,SAAS;AACpE,MAAM,uBAAuB,GAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,WAAW;AAExE,SAAS,IAAI;IACX,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;IAClF,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;QAClC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QAAC,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;AAChE,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,KAAa;IACzC,IAAI,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAC/E,CAAC;AAID,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7B,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAA;YAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,QAAQ;gBAAE,OAAO,MAAM,CAAC,EAAE,CAAA;YAC9D,+CAA+C;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,MAAM,QAAQ,GAAiB,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;YACjE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC3C,OAAO,QAAQ,CAAC,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACjE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,OAAO,KAAK,CAAC,EAAE,CAAA;AACjB,CAAC;AAID,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;AACvE,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC,gBAAgB;QAAE,OAAM;IAC7B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,aAAa;IACpB,gBAAgB,GAAG,IAAI,EAAE,CAAA;IACzB,WAAW,GAAG,CAAC,CAAA;IACf,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACvB,cAAc,EAAE,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,gBAAgB;QAAE,aAAa,EAAE,CAAA;AACtF,CAAC;AAED,SAAS,OAAO;IACd,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAC9E,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAE9B,IAAI,EAAE,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,CAAA;IAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,EAAE,GAAG,QAAQ,CAAC;QAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IACxF,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,EAAE,GAAG,KAAK,CAAC;QAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IACrF,CAAC;SAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1C,EAAE,GAAG,SAAS,CAAC;QAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1E,CAAC;SAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,EAAE,GAAG,SAAS,CAAA;QACd,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7D,KAAK,GAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAA6B,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IACtG,CAAC;SAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,EAAE,GAAG,OAAO,CAAC;QAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7F,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,EAAE,GAAG,OAAO,CAAA;IACd,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAAa,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;SAC5F,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAAQ,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;SAC7F,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAI,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;SACnG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAAK,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;SACjG,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;SACxG,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAAU,OAAO,GAAG,QAAQ,CAAA;IAExD,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAA;AAC9D,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAA;IACtD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC9B,IAAI,oCAAoC,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAA;IAClE,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAA;IACxD,OAAO,SAAS,CAAA;AAClB,CAAC;AAYD,IAAI,MAAM,GAAwB,IAAI,CAAA;AACtC,IAAI,gBAAgB,GAAkB,IAAI,CAAA;AAC1C,IAAI,WAAW,GAAkB,IAAI,CAAA;AACrC,IAAI,WAAW,GAAG,CAAC,CAAA;AACnB,IAAI,UAAU,GAAG,CAAC,CAAA;AAClB,IAAI,eAAe,GAAG,CAAC,CAAA;AACvB,IAAI,gBAAgB,GAAG,0BAA0B,CAAA;AACjD,IAAI,eAAe,GAAkB,IAAI,CAAA;AACzC,IAAI,UAAU,GAAkC,IAAI,CAAA;AAEpD,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,KAAa;IAChD,IAAI,CAAC;QAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,gFAAgF;AAChF,2EAA2E;AAC3E,2EAA2E;AAC3E,+CAA+C;AAC/C,MAAM,gBAAgB,GAA4E;IAChG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC1B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC3B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC3B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;IAC1B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;IAC3B,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;IAC5B,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC;IAChC,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;CACjC,CAAA;AAED,SAAS,cAAc,CAAC,MAAuB;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACvD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IAC5E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,kBAAkB;IACzB,eAAe,GAAG,IAAI,CAAA;IACtB,UAAU,GAAG,IAAI,CAAA;IAEjB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACjE,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAA;YACrC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAA;QACrC,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAU,CAAA;IAChG,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;IACxC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,UAAU,GAAG,QAAQ,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;QAClC,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QACvG,OAAM;IACR,CAAC;IAED,MAAM,GAAG,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG;QAAE,OAAM;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoE,CAAA;QACjG,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,IAAI,CAAC,MAAkB;QACrB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM,CAAC,YAAY;QAEtD,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAA;QACxE,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,mBAAmB,IAAI,uBAAuB,CAAC,CAAA;QAE3F,qEAAqE;QACrE,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;QAC5B,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;YAChE,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAA;YAC5B,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;YAChC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAA;QACjB,CAAC;QAED,kBAAkB,EAAE,CAAA;QAEpB,MAAM,GAAG,IAAI,mBAAY,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;YACrC,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,SAAS,aAAa;YACpB,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW;gBAAE,OAAM;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,IAAI,GAAG,GAAG,eAAe,GAAG,GAAG;gBAAE,OAAM;YACvC,eAAe,GAAG,GAAG,CAAA;YACrB,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YACvC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,cAAc,EAAE,CAAA;YAChB,aAAa,EAAE,CAAA;YACf,MAAM,EAAE,KAAK,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;YACjD,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC1C,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACvB,cAAc,EAAE,CAAA;gBAChB,aAAa,EAAE,CAAA;gBACf,MAAM,EAAE,KAAK,EAAE,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,kBAAkB,EAAE,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,uEAAuE;QACvE,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ;gBAAE,aAAa,EAAE,CAAA;QAC5D,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,kEAAkE;QAClE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAI,CAAC,CAAC,MAAyB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;YAC3D,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAM;YAClG,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ;oBAAE,OAAM;gBACrD,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW;oBAAE,OAAM;gBACxD,kBAAkB,EAAE,CAAA;gBACpB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;gBAC3B,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACvB,cAAc,EAAE,CAAA;gBAChB,MAAM,CAAC,KAAK,CAAC;oBACX,SAAS,EAAE,gBAAgB;oBAC3B,WAAW;oBACX,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAChC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS;oBAC9B,UAAU,EAAE,aAAa,EAAE;oBAC3B,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAClC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,CACF,QAAgB,EAChB,OAGC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QAED,kBAAkB,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;QAC3B,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,cAAc,EAAE,CAAA;QAEhB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;QACxC,MAAM,UAAU,GAA2B,EAAE,CAAA;QAC7C,IAAI,OAAO;YAAE,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAA;QAC1C,IAAI,eAAe;YAAE,UAAU,CAAC,SAAS,GAAG,eAAe,CAAA;QAC3D,IAAI,UAAU;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACrD,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;YAClC,eAAe,GAAG,IAAI,CAAA;YACtB,UAAU,GAAG,IAAI,CAAA;YACjB,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;YACX,SAAS,EAAE,gBAAgB;YAC3B,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,KAAK;YAChB,SAAS;YACT,UAAU,EAAE,aAAa,EAAE;YAC3B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,OAAO,EAAE,UAAU;gBAC/D,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE;gBAC3C,CAAC,CAAC,IAAI;SACT,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAiD;QACxD,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YACrE,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,UAAU;QACR,aAAa,EAAE,CAAA;IACjB,CAAC;IAED,KAAK;QACH,OAAO,MAAM,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,MAAM,KAAK,IAAI,CAAA;IACxB,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";(()=>{var Z=Object.create;var q=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty;var p=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var se=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of te(e))!ie.call(t,s)&&s!==n&&q(t,s,{get:()=>e[s],enumerable:!(i=ee(e,s))||i.enumerable});return t};var re=(t,e,n)=>(n=t!=null?Z(ne(t)):{},se(e||!t||!t.__esModule?q(n,"default",{value:t,enumerable:!0}):n,t));var j=p(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0})});var U=p(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0})});var K=p(a=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.API_KEY_HEADER=a.INGEST_ROUTE=a.MAX_EVENTS_PER_BATCH=a.SCHEMA_VERSION=void 0;a.SCHEMA_VERSION="1.0";a.MAX_EVENTS_PER_BATCH=50;a.INGEST_ROUTE="/v1/events";a.API_KEY_HEADER="x-onramp-key"});var I=p(f=>{"use strict";var oe=f&&f.__createBinding||(Object.create?(function(t,e,n,i){i===void 0&&(i=n);var s=Object.getOwnPropertyDescriptor(e,n);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,s)}):(function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]})),w=f&&f.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&oe(e,t,n)};Object.defineProperty(f,"__esModule",{value:!0});w(j(),f);w(U(),f);w(K(),f)});var R=p(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.BatchQueue=void 0;var E=I(),ue=3,ae=1e3,O=class{queue=[];timer=null;retryTimer=null;retryCount=0;sending=!1;flushIntervalMs;flushFn;constructor(e,n=5e3){this.flushFn=e,this.flushIntervalMs=n}push(e){this.queue.push(e),this.queue.length>=E.MAX_EVENTS_PER_BATCH?this.sendWhenReady():!this.timer&&!this.retryTimer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}async flushNow(){for(this.cancelTimers();this.queue.length>0;){let e=this.queue.splice(0,E.MAX_EVENTS_PER_BATCH);await this.flushFn(e).catch(()=>{})}}destroy(){this.cancelTimers()}sendWhenReady(){this.sending||(this.cancelTimers(),this.trySend())}async trySend(){if(this.sending||this.queue.length===0)return;this.sending=!0;let e=this.queue.splice(0,E.MAX_EVENTS_PER_BATCH);try{await this.flushFn(e),this.retryCount=0,this.queue.length>0&&!this.timer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}catch{if(this.queue.unshift(...e),this.retryCount<ue){let n=ae*2**this.retryCount;this.retryCount++,this.retryTimer=setTimeout(()=>this.sendWhenReady(),n)}else this.queue.splice(0,e.length),this.retryCount=0}finally{this.sending=!1}}cancelTimers(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.retryTimer&&(clearTimeout(this.retryTimer),this.retryTimer=null)}};v.BatchQueue=O});var H=p(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.OnRampClient=void 0;var ce=R(),m=I(),T=class{config;queue;constructor(e){this.config={host:"https://ingest.getonramp.dev",platform:"other",framework:null,appVersion:null,flushIntervalMs:5e3,...e},this.queue=new ce.BatchQueue(this.sendBatch.bind(this),this.config.flushIntervalMs)}track(e){let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:e.eventType??"step_entered",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:e.stepName,step_index:e.stepIndex,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:e.osVersion??null,app_version:this.config.appVersion,device_model:e.deviceModel??null,device_type:e.deviceType??null,properties:this.config.framework?{_framework:this.config.framework,...e.properties}:e.properties??null};this.queue.push(n)}identify(e){let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"identify",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_identify",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:e.traits};this.queue.push(n)}flush(){return this.queue.flushNow()}beacon(e){if(typeof fetch>"u")return;let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"heartbeat",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_heartbeat",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:null};fetch(`${this.config.host}${m.INGEST_ROUTE}`,{method:"POST",headers:{"Content-Type":"application/json",[m.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:[n]}),keepalive:!0}).catch(()=>{})}destroy(){this.queue.destroy()}async sendBatch(e){let n=`${this.config.host}${m.INGEST_ROUTE}`,i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[m.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:e})});if(!i.ok)throw new Error(`Ingest failed: ${i.status}`)}};S.OnRampClient=T});var B=p(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.BatchQueue=_.OnRampClient=void 0;var de=H();Object.defineProperty(_,"OnRampClient",{enumerable:!0,get:function(){return de.OnRampClient}});var le=R();Object.defineProperty(_,"BatchQueue",{enumerable:!0,get:function(){return le.BatchQueue}})});var W=re(B()),A="@onramp/anonymous_id",J="@onramp/session",b="@onramp/pending_acquisition",X=1800*1e3,fe=365*24*60*60*1e3;function N(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function G(t){try{return localStorage.getItem(t)}catch{return null}}function M(t,e){try{localStorage.setItem(t,e)}catch{}}function he(t){let e=G(A);if(e)try{let i=JSON.parse(e);if(Date.now()-i.createdAt<t)return i.id}catch{let i={id:e,createdAt:Date.now()};return M(A,JSON.stringify(i)),i.id}let n={id:N(),createdAt:Date.now()};return M(A,JSON.stringify(n)),n.id}function pe(){let t=G(J);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function g(){o&&M(J,JSON.stringify({id:o,lastActive:h,stepCounter:y}))}function P(){o=N(),y=0,h=Date.now(),g()}function x(){(!o||Date.now()-h>C)&&P()}function F(){if(typeof navigator>"u")return{osVersion:"web",browser:""};let t=navigator.userAgent,e="web",n="";if(/iPad/.test(t))e="ipados",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/iPhone|iPod/.test(t))e="ios",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/Android (\d+\.?\d*)/.test(t))e="android",n=(t.match(/Android (\d+\.?\d*)/)??[])[1]??"";else if(/Windows NT (\d+\.\d+)/.test(t)){e="windows";let s=(t.match(/Windows NT (\d+\.\d+)/)??[])[1]??"";n={"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7"}[s]??s}else/Mac OS X (\d+[_.]\d+)/.test(t)?(e="macos",n=(t.match(/Mac OS X (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??""):/Linux/.test(t)&&(e="linux");let i="";return/Edg\/(\d+)/.test(t)?i=`Edge ${(t.match(/Edg\/(\d+)/)??[])[1]??""}`:/OPR\/(\d+)/.test(t)?i=`Opera ${(t.match(/OPR\/(\d+)/)??[])[1]??""}`:/Firefox\/(\d+)/.test(t)?i=`Firefox ${(t.match(/Firefox\/(\d+)/)??[])[1]??""}`:/Chrome\/(\d+)/.test(t)?i=`Chrome ${(t.match(/Chrome\/(\d+)/)??[])[1]??""}`:/Version\/(\d+).*Safari/.test(t)?i=`Safari ${(t.match(/Version\/(\d+)/)??[])[1]??""}`:/Safari\//.test(t)&&(i="Safari"),{osVersion:n?`${e} ${n}`:e,browser:i}}function $(){if(typeof navigator>"u")return"desktop";let t=navigator.userAgent;return/iPad|Tablet|(Android(?!.*Mobile))/i.test(t)?"tablet":/Mobi|Android|iPhone|iPod/i.test(t)?"phone":"desktop"}var u=null,o=null,c=null,y=0,h=0,L=0,C=X,d=null,l=null;function me(t){try{return sessionStorage.getItem(t)}catch{return null}}function _e(t,e){try{sessionStorage.setItem(t,e)}catch{}}function Y(t){try{sessionStorage.removeItem(t)}catch{}}var ge=[["gclid","google","cpc"],["gbraid","google","cpc"],["wbraid","google","cpc"],["msclkid","bing","cpc"],["ttclid","tiktok","cpc"],["twclid","twitter","cpc"],["li_fat_id","linkedin","cpc"],["fbclid","facebook","social"]];function ye(t){for(let[e,n,i]of ge)if(t.get(e))return{_utm_source:n,_utm_medium:i};return null}function ve(){if(d=null,l=null,document.referrer)try{new URL(document.referrer).origin!==window.location.origin&&(d=document.referrer)}catch{d=document.referrer}let t=new URLSearchParams(window.location.search),e=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],n={};for(let s of e){let r=t.get(s);r&&(n[`_${s}`]=r)}if(Object.keys(n).length>0?l=n:l=ye(t),d||l){_e(b,JSON.stringify({referrer:d,utm:l}));return}let i=me(b);if(i)try{let s=JSON.parse(i);d=s.referrer,l=s.utm}catch{Y(b)}}var Q={init(t){if(typeof window>"u")return;C=t.sessionTimeoutMs??X,c=he(t.anonymousIdMaxAgeMs??fe);let e=pe();e&&Date.now()-e.lastActive<C?(o=e.id,y=e.stepCounter,h=e.lastActive):P(),ve(),u=new W.OnRampClient({apiKey:t.apiKey,host:t.host,platform:"web",appVersion:t.appVersion??null,uuidFn:N});function n(){if(!u||!o||!c)return;let i=Date.now();i-L<500||(L=i,u.beacon({sessionId:o,anonymousId:c}))}window.addEventListener("pagehide",()=>{h=Date.now(),g(),n(),u?.flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?(h=Date.now(),g(),n(),u?.flush()):x()}),setInterval(()=>{document.visibilityState!=="hidden"&&n()},5e3),document.addEventListener("click",i=>{let s=i.target?.closest?.("a");if(!s)return;let r=s.getAttribute("href")??"";if(!(!r||r.startsWith("#")||r.startsWith("mailto:")||r.startsWith("tel:")))try{let V=new URL(r,window.location.href);if(V.hostname===window.location.hostname||!u||!o||!c)return;x();let z=y++;h=Date.now(),g(),u.track({sessionId:o,anonymousId:c,eventType:"nav_entered",stepName:V.href.slice(0,128),stepIndex:z,osVersion:F().osVersion,deviceType:$(),properties:null})}catch{}},{capture:!0,passive:!0})},step(t,e){if(!u||!o||!c){console.warn("[OnRamp] call OnRamp.init() before tracking steps");return}x();let n=y++;h=Date.now(),g();let{osVersion:i,browser:s}=F(),r={};s&&(r._browser=s),d&&(r._referrer=d),l&&Object.assign(r,l),(d||l)&&(d=null,l=null,Y(b)),u.track({sessionId:o,anonymousId:c,stepName:t,stepIndex:n,osVersion:i,deviceType:$(),properties:Object.keys(r).length||e?.properties?{...r,...e?.properties}:null})},identify(t){if(!u||!o||!c){console.warn("[OnRamp] call OnRamp.init() before calling identify()");return}u.identify({sessionId:o,anonymousId:c,traits:t})},newSession(){P()},flush(){return u?.flush()??Promise.resolve()},getIds(){return{anonymousId:c,sessionId:o}},get isInitialized(){return u!==null}};globalThis.OnRamp=Q;})();
1
+ "use strict";(()=>{var re=Object.create;var U=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ce=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oe(e))!ue.call(t,r)&&r!==n&&U(t,r,{get:()=>e[r],enumerable:!(i=se(e,r))||i.enumerable});return t};var le=(t,e,n)=>(n=t!=null?re(ae(t)):{},ce(e||!t||!t.__esModule?U(n,"default",{value:t,enumerable:!0}):n,t));var B=m(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0})});var F=m(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0})});var $=m(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});l.API_KEY_HEADER=l.INGEST_ROUTE=l.MAX_EVENTS_PER_BATCH=l.SCHEMA_VERSION=void 0;l.SCHEMA_VERSION="1.0";l.MAX_EVENTS_PER_BATCH=50;l.INGEST_ROUTE="/v1/events";l.API_KEY_HEADER="x-onramp-key"});var T=m(f=>{"use strict";var de=f&&f.__createBinding||(Object.create?(function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}):(function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]})),A=f&&f.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&de(e,t,n)};Object.defineProperty(f,"__esModule",{value:!0});A(B(),f);A(F(),f);A($(),f)});var N=m(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.BatchQueue=void 0;var x=T(),fe=3,he=1e3,M=class{queue=[];timer=null;retryTimer=null;retryCount=0;sending=!1;flushIntervalMs;flushFn;constructor(e,n=5e3){this.flushFn=e,this.flushIntervalMs=n}push(e){this.queue.push(e),this.queue.length>=x.MAX_EVENTS_PER_BATCH?this.sendWhenReady():!this.timer&&!this.retryTimer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}async flushNow(){for(this.cancelTimers();this.queue.length>0;){let e=this.queue.splice(0,x.MAX_EVENTS_PER_BATCH);await this.flushFn(e).catch(()=>{})}}destroy(){this.cancelTimers()}sendWhenReady(){this.sending||(this.cancelTimers(),this.trySend())}async trySend(){if(this.sending||this.queue.length===0)return;this.sending=!0;let e=this.queue.splice(0,x.MAX_EVENTS_PER_BATCH);try{await this.flushFn(e),this.retryCount=0,this.queue.length>0&&!this.timer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}catch{if(this.queue.unshift(...e),this.retryCount<fe){let n=he*2**this.retryCount;this.retryCount++,this.retryTimer=setTimeout(()=>this.sendWhenReady(),n)}else this.queue.splice(0,e.length),this.retryCount=0}finally{this.sending=!1}}cancelTimers(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.retryTimer&&(clearTimeout(this.retryTimer),this.retryTimer=null)}};I.BatchQueue=M});var L=m(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.OnRampClient=void 0;var pe=N(),_=T(),C=class{config;queue;constructor(e){this.config={host:"https://ingest.getonramp.dev",platform:"other",framework:null,appVersion:null,flushIntervalMs:5e3,...e},this.queue=new pe.BatchQueue(this.sendBatch.bind(this),this.config.flushIntervalMs)}track(e){let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:e.eventType??"step_entered",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:e.stepName,step_index:e.stepIndex,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:e.osVersion??null,app_version:this.config.appVersion,device_model:e.deviceModel??null,device_type:e.deviceType??null,properties:this.config.framework?{_framework:this.config.framework,...e.properties}:e.properties??null};this.queue.push(n)}identify(e){let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"identify",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_identify",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:e.traits};this.queue.push(n)}flush(){return this.queue.flushNow()}beacon(e){if(typeof fetch>"u")return;let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"heartbeat",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_heartbeat",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:null};fetch(`${this.config.host}${_.INGEST_ROUTE}`,{method:"POST",headers:{"Content-Type":"application/json",[_.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:[n]}),keepalive:!0}).catch(()=>{})}destroy(){this.queue.destroy()}async sendBatch(e){let n=`${this.config.host}${_.INGEST_ROUTE}`,i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[_.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:e})});if(!i.ok)throw new Error(`Ingest failed: ${i.status}`)}};O.OnRampClient=C});var J=m(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.BatchQueue=g.OnRampClient=void 0;var me=L();Object.defineProperty(g,"OnRampClient",{enumerable:!0,get:function(){return me.OnRampClient}});var _e=N();Object.defineProperty(g,"BatchQueue",{enumerable:!0,get:function(){return _e.BatchQueue}})});var Q=le(J()),P="@onramp/anonymous_id",z="@onramp/session",v="@onramp/pending_acquisition",Z=1800*1e3,ge=365*24*60*60*1e3,y="privacy";function b(){return y==="consent"}function E(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function ee(t){if(!b())return null;try{return localStorage.getItem(t)}catch{return null}}function V(t,e){if(b())try{localStorage.setItem(t,e)}catch{}}function ye(t){let e=ee(P);if(e)try{let i=JSON.parse(e);if(Date.now()-i.createdAt<t)return i.id}catch{let i={id:e,createdAt:Date.now()};return V(P,JSON.stringify(i)),i.id}let n={id:E(),createdAt:Date.now()};return V(P,JSON.stringify(n)),n.id}function ve(){let t=ee(z);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function S(){a&&V(z,JSON.stringify({id:a,lastActive:p,stepCounter:w}))}function q(){y==="privacy"&&(c=E(),j=Date.now()),a=E(),w=0,p=Date.now(),S()}function D(){let t=Date.now(),e=y==="privacy"&&t-j>R;(!a||t-p>R||e)&&q()}function W(){if(typeof navigator>"u")return{osVersion:"web",browser:""};let t=navigator.userAgent,e="web",n="";if(/iPad/.test(t))e="ipados",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/iPhone|iPod/.test(t))e="ios",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/Android (\d+\.?\d*)/.test(t))e="android",n=(t.match(/Android (\d+\.?\d*)/)??[])[1]??"";else if(/Windows NT (\d+\.\d+)/.test(t)){e="windows";let r=(t.match(/Windows NT (\d+\.\d+)/)??[])[1]??"";n={"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7"}[r]??r}else/Mac OS X (\d+[_.]\d+)/.test(t)?(e="macos",n=(t.match(/Mac OS X (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??""):/Linux/.test(t)&&(e="linux");let i="";return/Edg\/(\d+)/.test(t)?i=`Edge ${(t.match(/Edg\/(\d+)/)??[])[1]??""}`:/OPR\/(\d+)/.test(t)?i=`Opera ${(t.match(/OPR\/(\d+)/)??[])[1]??""}`:/Firefox\/(\d+)/.test(t)?i=`Firefox ${(t.match(/Firefox\/(\d+)/)??[])[1]??""}`:/Chrome\/(\d+)/.test(t)?i=`Chrome ${(t.match(/Chrome\/(\d+)/)??[])[1]??""}`:/Version\/(\d+).*Safari/.test(t)?i=`Safari ${(t.match(/Version\/(\d+)/)??[])[1]??""}`:/Safari\//.test(t)&&(i="Safari"),{osVersion:n?`${e} ${n}`:e,browser:i}}function X(){if(typeof navigator>"u")return"desktop";let t=navigator.userAgent;return/iPad|Tablet|(Android(?!.*Mobile))/i.test(t)?"tablet":/Mobi|Android|iPhone|iPod/i.test(t)?"phone":"desktop"}var o=null,a=null,c=null,j=0,w=0,p=0,G=0,R=Z,u=null,d=null;function Se(t){if(!b())return null;try{return sessionStorage.getItem(t)}catch{return null}}function Y(t,e){if(b())try{sessionStorage.setItem(t,e)}catch{}}function te(t){if(b())try{sessionStorage.removeItem(t)}catch{}}var we=[["gclid","google","cpc"],["gbraid","google","cpc"],["wbraid","google","cpc"],["msclkid","bing","cpc"],["ttclid","tiktok","cpc"],["twclid","twitter","cpc"],["li_fat_id","linkedin","cpc"],["fbclid","facebook","social"]];function be(t){for(let[e,n,i]of we)if(t.get(e))return{_utm_source:n,_utm_medium:i};return null}function Ie(t){if(u=null,d=null,document.referrer)try{new URL(document.referrer).origin!==window.location.origin&&(u=document.referrer)}catch{u=document.referrer}let e=new URLSearchParams(window.location.search),n=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],i={};for(let s of n){let h=e.get(s);h&&(i[`_${s}`]=h)}if(Object.keys(i).length>0?d=i:d=be(e),u||d){Y(v,JSON.stringify({referrer:u,utm:d}));return}let r=Se(v);if(!r){t&&(u="direct"),u&&Y(v,JSON.stringify({referrer:u,utm:null}));return}try{let s=JSON.parse(r);u=s.referrer,d=s.utm}catch{te(v)}}var ne={init(t){if(typeof window>"u"||o)return;y=t.mode??(t.persistence==="local"?"consent":"privacy"),R=t.sessionTimeoutMs??Z,c=y==="consent"?ye(t.anonymousIdMaxAgeMs??ge):null,j=Date.now();let e=ve(),n=!(e&&Date.now()-e.lastActive<R);!n&&e?(a=e.id,w=e.stepCounter,p=e.lastActive):q(),Ie(n),o=new Q.OnRampClient({apiKey:t.apiKey,host:t.host,platform:"web",appVersion:t.appVersion??null,uuidFn:E});function i(){if(!o||!a||!c)return;let r=Date.now();r-G<500||(G=r,o.beacon({sessionId:a,anonymousId:c}))}window.addEventListener("pagehide",()=>{p=Date.now(),S(),i(),o?.flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?(p=Date.now(),S(),i(),o?.flush()):D()}),setInterval(()=>{document.visibilityState!=="hidden"&&i()},5e3),document.addEventListener("click",r=>{let s=r.target?.closest?.("a");if(!s)return;let h=s.getAttribute("href")??"";if(!(!h||h.startsWith("#")||h.startsWith("mailto:")||h.startsWith("tel:")))try{let k=new URL(h,window.location.href);if(k.hostname===window.location.hostname||!o||!a||!c)return;D();let ie=w++;p=Date.now(),S(),o.track({sessionId:a,anonymousId:c,eventType:"nav_entered",stepName:k.href.slice(0,128),stepIndex:ie,osVersion:W().osVersion,deviceType:X(),properties:null})}catch{}},{capture:!0,passive:!0})},step(t,e){if(!o||!a||!c){console.warn("[OnRamp] call OnRamp.init() before tracking steps");return}D();let n=w++;p=Date.now(),S();let{osVersion:i,browser:r}=W(),s={};r&&(s._browser=r),u&&(s._referrer=u),d&&Object.assign(s,d),(u||d)&&(u=null,d=null,te(v)),o.track({sessionId:a,anonymousId:c,stepName:t,stepIndex:n,osVersion:i,deviceType:X(),properties:Object.keys(s).length||e?.properties?{...s,...e?.properties}:null})},identify(t){if(!o||!a||!c){console.warn("[OnRamp] call OnRamp.init() before calling identify()");return}if(y==="privacy"){console.warn("[OnRamp] identify() is disabled in privacy mode; initialize with mode: 'consent' only after consent");return}o.identify({sessionId:a,anonymousId:c,traits:t})},newSession(){q()},flush(){return o?.flush()??Promise.resolve()},getIds(){return{anonymousId:c,sessionId:a}},get isInitialized(){return o!==null}};globalThis.OnRamp=ne;})();
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@onramp-sdk/web",
3
- "version": "0.5.3",
4
- "description": "OnRamp onboarding funnel analytics for web apps - track steps, see where users drop off.",
3
+ "version": "0.6.0",
4
+ "description": "OnRamp Analytics SDK for web apps - track onboarding steps and see where users drop off.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/onramp-dev/onramp.git",
8
+ "url": "https://github.com/getonramp/onramp-sdk.git",
9
9
  "directory": "packages/sdk-web"
10
10
  },
11
+ "homepage": "https://getonramp.dev/docs/sdks/web",
12
+ "bugs": {
13
+ "url": "https://github.com/getonramp/onramp-sdk/issues"
14
+ },
11
15
  "keywords": [
12
16
  "analytics",
13
17
  "onboarding",
@@ -30,8 +34,8 @@
30
34
  }
31
35
  },
32
36
  "dependencies": {
33
- "@onramp-sdk/core": "0.6.1",
34
- "@onramp-sdk/shared": "0.4.0"
37
+ "@onramp-sdk/core": "0.6.2",
38
+ "@onramp-sdk/shared": "0.4.1"
35
39
  },
36
40
  "devDependencies": {
37
41
  "esbuild": "^0.25.0",