@apex-inc/sdk 0.15.0 → 0.16.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/dist/esm/index.js +109 -5
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -16,10 +16,16 @@ async function sendBatch(events) {
|
|
|
16
16
|
return;
|
|
17
17
|
const apiUrl = config.apiUrl ?? DEFAULT_API_URL;
|
|
18
18
|
const url = `${apiUrl.replace(/\/$/, "")}/api/events`;
|
|
19
|
+
// DBS-1 — stamp the durable browser session id on each event so the
|
|
20
|
+
// server's WSESSION# rollup and per-session analytics see SDK traffic too.
|
|
21
|
+
// Browser-only; server-side SDK usage has no browser session.
|
|
22
|
+
const stampedEvents = isBrowser
|
|
23
|
+
? events.map((ev) => ({ ...ev, sessionId: getExperimentSessionId() }))
|
|
24
|
+
: events;
|
|
19
25
|
const body = JSON.stringify({
|
|
20
26
|
workspaceKey: config.workspaceKey,
|
|
21
27
|
userId,
|
|
22
|
-
events,
|
|
28
|
+
events: stampedEvents,
|
|
23
29
|
// MMP-070 — propagate the SDK-level environment override (when
|
|
24
30
|
// set by `apex.init({ environment })`). The server prefers this
|
|
25
31
|
// over auto-detection from the Referer/Origin host. Mobile SDKs
|
|
@@ -133,6 +139,16 @@ export function track(event, properties) {
|
|
|
133
139
|
timestamp: new Date().toISOString(),
|
|
134
140
|
});
|
|
135
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Return the current durable browser session id (`apex_sid`), the web analog
|
|
144
|
+
* of the mobile `sessionId`. GA4-parity: one cross-tab session that ends
|
|
145
|
+
* after 30 minutes of inactivity. Reads (and rotates when stale) the same
|
|
146
|
+
* cookie the snippet uses, so both share one session. Returns `""` outside a
|
|
147
|
+
* browser. Mirrors `getVisitorId()`. See plans/durable-browser-session-id.md.
|
|
148
|
+
*/
|
|
149
|
+
export function getSessionId() {
|
|
150
|
+
return getExperimentSessionId();
|
|
151
|
+
}
|
|
136
152
|
/**
|
|
137
153
|
* Identify a user with traits (email, name, plan, etc.).
|
|
138
154
|
* Also performs identity stitching if the userId looks like an email.
|
|
@@ -350,16 +366,103 @@ function getExperimentPreview() {
|
|
|
350
366
|
return { variant, expId };
|
|
351
367
|
return null;
|
|
352
368
|
}
|
|
353
|
-
//
|
|
354
|
-
//
|
|
369
|
+
// DBS-1 — durable browser session id (`apex_sid`), GA4-parity 30-min
|
|
370
|
+
// inactivity rotation. Mirrors the snippet's cookie format
|
|
371
|
+
// (`<id>.<startedAtMs>.<lastActivityMs>.<sessionNumber>.<utmSig>`) so a page
|
|
372
|
+
// running both the snippet and this SDK shares one session. The SDK only
|
|
373
|
+
// reads + rotates (it does not own session_start/end firing); the server's
|
|
374
|
+
// first-sight rule opens the WSESSION# rollup.
|
|
375
|
+
const SDK_SESSION_TIMEOUT_MS = 30 * 60 * 1000;
|
|
376
|
+
function sdkRandomId() {
|
|
377
|
+
return typeof crypto !== "undefined" && crypto.randomUUID
|
|
378
|
+
? crypto.randomUUID()
|
|
379
|
+
: `${Date.now()}-${Math.random().toString(36).slice(2, 12)}`;
|
|
380
|
+
}
|
|
381
|
+
function getExperimentSessionId() {
|
|
382
|
+
if (!isBrowser)
|
|
383
|
+
return "";
|
|
384
|
+
const match = document.cookie.match(/(?:^|; )apex_sid=([^;]*)/);
|
|
385
|
+
const raw = match ? decodeURIComponent(match[1]) : null;
|
|
386
|
+
const now = Date.now();
|
|
387
|
+
let id = "";
|
|
388
|
+
let startedAt = now;
|
|
389
|
+
let number = 1;
|
|
390
|
+
let rotate = true;
|
|
391
|
+
if (raw) {
|
|
392
|
+
const parts = raw.split(".");
|
|
393
|
+
if (parts.length >= 4) {
|
|
394
|
+
const last = parseInt(parts[2], 10) || 0;
|
|
395
|
+
if (now - last <= SDK_SESSION_TIMEOUT_MS) {
|
|
396
|
+
id = parts[0];
|
|
397
|
+
startedAt = parseInt(parts[1], 10) || now;
|
|
398
|
+
number = parseInt(parts[3], 10) || 1;
|
|
399
|
+
rotate = false;
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
number = (parseInt(parts[3], 10) || 0) + 1;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (rotate) {
|
|
407
|
+
id = `sess_${sdkRandomId()}`;
|
|
408
|
+
startedAt = now;
|
|
409
|
+
}
|
|
410
|
+
const serialized = [id, startedAt, now, number, ""].join(".");
|
|
411
|
+
try {
|
|
412
|
+
const d = new Date();
|
|
413
|
+
d.setTime(d.getTime() + 365 * 86400000);
|
|
414
|
+
document.cookie = `apex_sid=${encodeURIComponent(serialized)};expires=${d.toUTCString()};path=/;SameSite=Lax`;
|
|
415
|
+
}
|
|
416
|
+
catch {
|
|
417
|
+
/* cookie write best-effort */
|
|
418
|
+
}
|
|
419
|
+
return id;
|
|
420
|
+
}
|
|
421
|
+
// DBS-5 — exposure dedup is now per (session, experiment, variant), persisted
|
|
422
|
+
// in localStorage so it survives reloads and SPA navigations within one
|
|
423
|
+
// session (not just one page load). The in-memory Set is a fast first check.
|
|
424
|
+
// Result: one `experiment_exposure` per session, which is the exposure
|
|
425
|
+
// Events-meter unit going forward. See plans/durable-browser-session-id.md D5.
|
|
355
426
|
const firedExperimentExposures = new Set();
|
|
427
|
+
function exposureFiredStorageKey(sessionId) {
|
|
428
|
+
return `apex_expfired_${sessionId}`;
|
|
429
|
+
}
|
|
430
|
+
function hasFiredExposure(sessionId, dedupeKey) {
|
|
431
|
+
if (firedExperimentExposures.has(`${sessionId}:${dedupeKey}`))
|
|
432
|
+
return true;
|
|
433
|
+
try {
|
|
434
|
+
const raw = window.localStorage.getItem(exposureFiredStorageKey(sessionId));
|
|
435
|
+
if (raw && JSON.parse(raw).includes(dedupeKey))
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
/* storage unavailable — fall back to in-memory only */
|
|
440
|
+
}
|
|
441
|
+
return false;
|
|
442
|
+
}
|
|
443
|
+
function markFiredExposure(sessionId, dedupeKey) {
|
|
444
|
+
firedExperimentExposures.add(`${sessionId}:${dedupeKey}`);
|
|
445
|
+
try {
|
|
446
|
+
const storeKey = exposureFiredStorageKey(sessionId);
|
|
447
|
+
const raw = window.localStorage.getItem(storeKey);
|
|
448
|
+
const arr = raw ? JSON.parse(raw) : [];
|
|
449
|
+
if (!arr.includes(dedupeKey)) {
|
|
450
|
+
arr.push(dedupeKey);
|
|
451
|
+
window.localStorage.setItem(storeKey, JSON.stringify(arr));
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
catch {
|
|
455
|
+
/* storage unavailable — in-memory dedup still applies */
|
|
456
|
+
}
|
|
457
|
+
}
|
|
356
458
|
function fireExperimentExposure(experimentId, variant, apiBase, workspaceKey) {
|
|
357
459
|
if (!isBrowser)
|
|
358
460
|
return;
|
|
461
|
+
const sessionId = getExperimentSessionId();
|
|
359
462
|
const dedupeKey = `${experimentId}:${variant}`;
|
|
360
|
-
if (
|
|
463
|
+
if (hasFiredExposure(sessionId, dedupeKey))
|
|
361
464
|
return;
|
|
362
|
-
|
|
465
|
+
markFiredExposure(sessionId, dedupeKey);
|
|
363
466
|
const visitorId = getExperimentVisitorId();
|
|
364
467
|
try {
|
|
365
468
|
void fetch(`${apiBase}/api/events`, {
|
|
@@ -373,6 +476,7 @@ function fireExperimentExposure(experimentId, variant, apiBase, workspaceKey) {
|
|
|
373
476
|
body: JSON.stringify({
|
|
374
477
|
type: "experiment_exposure",
|
|
375
478
|
visitorId,
|
|
479
|
+
sessionId,
|
|
376
480
|
url: window.location.href,
|
|
377
481
|
timestamp: new Date().toISOString(),
|
|
378
482
|
experimentId,
|
package/dist/index.d.ts
CHANGED
|
@@ -103,6 +103,14 @@ export declare function getConsent(): boolean;
|
|
|
103
103
|
* Track a custom event.
|
|
104
104
|
*/
|
|
105
105
|
export declare function track(event: string, properties?: Record<string, unknown>): void;
|
|
106
|
+
/**
|
|
107
|
+
* Return the current durable browser session id (`apex_sid`), the web analog
|
|
108
|
+
* of the mobile `sessionId`. GA4-parity: one cross-tab session that ends
|
|
109
|
+
* after 30 minutes of inactivity. Reads (and rotates when stale) the same
|
|
110
|
+
* cookie the snippet uses, so both share one session. Returns `""` outside a
|
|
111
|
+
* browser. Mirrors `getVisitorId()`. See plans/durable-browser-session-id.md.
|
|
112
|
+
*/
|
|
113
|
+
export declare function getSessionId(): string;
|
|
106
114
|
/**
|
|
107
115
|
* Canonical Apex Spec user attribute names (snake_case). Emitting these
|
|
108
116
|
* keeps templates clean — `{{first_name}}` resolves directly. Aliases like
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,YAAY,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;IACrD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,7 @@ exports.init = init;
|
|
|
38
38
|
exports.setConsent = setConsent;
|
|
39
39
|
exports.getConsent = getConsent;
|
|
40
40
|
exports.track = track;
|
|
41
|
+
exports.getSessionId = getSessionId;
|
|
41
42
|
exports.identify = identify;
|
|
42
43
|
exports.group = group;
|
|
43
44
|
exports.feature = feature;
|
|
@@ -68,10 +69,16 @@ async function sendBatch(events) {
|
|
|
68
69
|
return;
|
|
69
70
|
const apiUrl = config.apiUrl ?? DEFAULT_API_URL;
|
|
70
71
|
const url = `${apiUrl.replace(/\/$/, "")}/api/events`;
|
|
72
|
+
// DBS-1 — stamp the durable browser session id on each event so the
|
|
73
|
+
// server's WSESSION# rollup and per-session analytics see SDK traffic too.
|
|
74
|
+
// Browser-only; server-side SDK usage has no browser session.
|
|
75
|
+
const stampedEvents = isBrowser
|
|
76
|
+
? events.map((ev) => ({ ...ev, sessionId: getExperimentSessionId() }))
|
|
77
|
+
: events;
|
|
71
78
|
const body = JSON.stringify({
|
|
72
79
|
workspaceKey: config.workspaceKey,
|
|
73
80
|
userId,
|
|
74
|
-
events,
|
|
81
|
+
events: stampedEvents,
|
|
75
82
|
// MMP-070 — propagate the SDK-level environment override (when
|
|
76
83
|
// set by `apex.init({ environment })`). The server prefers this
|
|
77
84
|
// over auto-detection from the Referer/Origin host. Mobile SDKs
|
|
@@ -185,6 +192,16 @@ function track(event, properties) {
|
|
|
185
192
|
timestamp: new Date().toISOString(),
|
|
186
193
|
});
|
|
187
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Return the current durable browser session id (`apex_sid`), the web analog
|
|
197
|
+
* of the mobile `sessionId`. GA4-parity: one cross-tab session that ends
|
|
198
|
+
* after 30 minutes of inactivity. Reads (and rotates when stale) the same
|
|
199
|
+
* cookie the snippet uses, so both share one session. Returns `""` outside a
|
|
200
|
+
* browser. Mirrors `getVisitorId()`. See plans/durable-browser-session-id.md.
|
|
201
|
+
*/
|
|
202
|
+
function getSessionId() {
|
|
203
|
+
return getExperimentSessionId();
|
|
204
|
+
}
|
|
188
205
|
/**
|
|
189
206
|
* Identify a user with traits (email, name, plan, etc.).
|
|
190
207
|
* Also performs identity stitching if the userId looks like an email.
|
|
@@ -402,16 +419,103 @@ function getExperimentPreview() {
|
|
|
402
419
|
return { variant, expId };
|
|
403
420
|
return null;
|
|
404
421
|
}
|
|
405
|
-
//
|
|
406
|
-
//
|
|
422
|
+
// DBS-1 — durable browser session id (`apex_sid`), GA4-parity 30-min
|
|
423
|
+
// inactivity rotation. Mirrors the snippet's cookie format
|
|
424
|
+
// (`<id>.<startedAtMs>.<lastActivityMs>.<sessionNumber>.<utmSig>`) so a page
|
|
425
|
+
// running both the snippet and this SDK shares one session. The SDK only
|
|
426
|
+
// reads + rotates (it does not own session_start/end firing); the server's
|
|
427
|
+
// first-sight rule opens the WSESSION# rollup.
|
|
428
|
+
const SDK_SESSION_TIMEOUT_MS = 30 * 60 * 1000;
|
|
429
|
+
function sdkRandomId() {
|
|
430
|
+
return typeof crypto !== "undefined" && crypto.randomUUID
|
|
431
|
+
? crypto.randomUUID()
|
|
432
|
+
: `${Date.now()}-${Math.random().toString(36).slice(2, 12)}`;
|
|
433
|
+
}
|
|
434
|
+
function getExperimentSessionId() {
|
|
435
|
+
if (!isBrowser)
|
|
436
|
+
return "";
|
|
437
|
+
const match = document.cookie.match(/(?:^|; )apex_sid=([^;]*)/);
|
|
438
|
+
const raw = match ? decodeURIComponent(match[1]) : null;
|
|
439
|
+
const now = Date.now();
|
|
440
|
+
let id = "";
|
|
441
|
+
let startedAt = now;
|
|
442
|
+
let number = 1;
|
|
443
|
+
let rotate = true;
|
|
444
|
+
if (raw) {
|
|
445
|
+
const parts = raw.split(".");
|
|
446
|
+
if (parts.length >= 4) {
|
|
447
|
+
const last = parseInt(parts[2], 10) || 0;
|
|
448
|
+
if (now - last <= SDK_SESSION_TIMEOUT_MS) {
|
|
449
|
+
id = parts[0];
|
|
450
|
+
startedAt = parseInt(parts[1], 10) || now;
|
|
451
|
+
number = parseInt(parts[3], 10) || 1;
|
|
452
|
+
rotate = false;
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
number = (parseInt(parts[3], 10) || 0) + 1;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (rotate) {
|
|
460
|
+
id = `sess_${sdkRandomId()}`;
|
|
461
|
+
startedAt = now;
|
|
462
|
+
}
|
|
463
|
+
const serialized = [id, startedAt, now, number, ""].join(".");
|
|
464
|
+
try {
|
|
465
|
+
const d = new Date();
|
|
466
|
+
d.setTime(d.getTime() + 365 * 86400000);
|
|
467
|
+
document.cookie = `apex_sid=${encodeURIComponent(serialized)};expires=${d.toUTCString()};path=/;SameSite=Lax`;
|
|
468
|
+
}
|
|
469
|
+
catch {
|
|
470
|
+
/* cookie write best-effort */
|
|
471
|
+
}
|
|
472
|
+
return id;
|
|
473
|
+
}
|
|
474
|
+
// DBS-5 — exposure dedup is now per (session, experiment, variant), persisted
|
|
475
|
+
// in localStorage so it survives reloads and SPA navigations within one
|
|
476
|
+
// session (not just one page load). The in-memory Set is a fast first check.
|
|
477
|
+
// Result: one `experiment_exposure` per session, which is the exposure
|
|
478
|
+
// Events-meter unit going forward. See plans/durable-browser-session-id.md D5.
|
|
407
479
|
const firedExperimentExposures = new Set();
|
|
480
|
+
function exposureFiredStorageKey(sessionId) {
|
|
481
|
+
return `apex_expfired_${sessionId}`;
|
|
482
|
+
}
|
|
483
|
+
function hasFiredExposure(sessionId, dedupeKey) {
|
|
484
|
+
if (firedExperimentExposures.has(`${sessionId}:${dedupeKey}`))
|
|
485
|
+
return true;
|
|
486
|
+
try {
|
|
487
|
+
const raw = window.localStorage.getItem(exposureFiredStorageKey(sessionId));
|
|
488
|
+
if (raw && JSON.parse(raw).includes(dedupeKey))
|
|
489
|
+
return true;
|
|
490
|
+
}
|
|
491
|
+
catch {
|
|
492
|
+
/* storage unavailable — fall back to in-memory only */
|
|
493
|
+
}
|
|
494
|
+
return false;
|
|
495
|
+
}
|
|
496
|
+
function markFiredExposure(sessionId, dedupeKey) {
|
|
497
|
+
firedExperimentExposures.add(`${sessionId}:${dedupeKey}`);
|
|
498
|
+
try {
|
|
499
|
+
const storeKey = exposureFiredStorageKey(sessionId);
|
|
500
|
+
const raw = window.localStorage.getItem(storeKey);
|
|
501
|
+
const arr = raw ? JSON.parse(raw) : [];
|
|
502
|
+
if (!arr.includes(dedupeKey)) {
|
|
503
|
+
arr.push(dedupeKey);
|
|
504
|
+
window.localStorage.setItem(storeKey, JSON.stringify(arr));
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
catch {
|
|
508
|
+
/* storage unavailable — in-memory dedup still applies */
|
|
509
|
+
}
|
|
510
|
+
}
|
|
408
511
|
function fireExperimentExposure(experimentId, variant, apiBase, workspaceKey) {
|
|
409
512
|
if (!isBrowser)
|
|
410
513
|
return;
|
|
514
|
+
const sessionId = getExperimentSessionId();
|
|
411
515
|
const dedupeKey = `${experimentId}:${variant}`;
|
|
412
|
-
if (
|
|
516
|
+
if (hasFiredExposure(sessionId, dedupeKey))
|
|
413
517
|
return;
|
|
414
|
-
|
|
518
|
+
markFiredExposure(sessionId, dedupeKey);
|
|
415
519
|
const visitorId = getExperimentVisitorId();
|
|
416
520
|
try {
|
|
417
521
|
void fetch(`${apiBase}/api/events`, {
|
|
@@ -425,6 +529,7 @@ function fireExperimentExposure(experimentId, variant, apiBase, workspaceKey) {
|
|
|
425
529
|
body: JSON.stringify({
|
|
426
530
|
type: "experiment_exposure",
|
|
427
531
|
visitorId,
|
|
532
|
+
sessionId,
|
|
428
533
|
url: window.location.href,
|
|
429
534
|
timestamp: new Date().toISOString(),
|
|
430
535
|
experimentId,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|