@amplifyup/sdk 0.1.40 → 0.1.41
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/AmplifyRenderer.d.mts +1 -1
- package/dist/AmplifyRenderer.d.ts +1 -1
- package/dist/AmplifyRenderer.js +44 -3
- package/dist/AmplifyRenderer.js.map +1 -1
- package/dist/AmplifyRenderer.mjs +44 -3
- package/dist/AmplifyRenderer.mjs.map +1 -1
- package/dist/index.d.mts +21 -9
- package/dist/index.d.ts +21 -9
- package/dist/index.js +52 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +50 -4
- package/dist/index.mjs.map +1 -1
- package/dist/middleware.d.mts +2 -1
- package/dist/middleware.d.ts +2 -1
- package/dist/middleware.js +19 -4
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +19 -5
- package/dist/middleware.mjs.map +1 -1
- package/dist/{query-6BmINKLR.d.mts → query-BMsorj0k.d.ts} +3 -1
- package/dist/{query-DjIuJ71C.d.ts → query-CraXKhi7.d.mts} +3 -1
- package/dist/react.d.mts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +51 -3
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +51 -3
- package/dist/react.mjs.map +1 -1
- package/dist/server.d.mts +3 -3
- package/dist/server.d.ts +3 -3
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +4 -0
- package/dist/server.mjs.map +1 -1
- package/dist/{types-CBoVIFI8.d.mts → types-DUP8Lb7R.d.mts} +3 -0
- package/dist/{types-CBoVIFI8.d.ts → types-DUP8Lb7R.d.ts} +3 -0
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -108,6 +108,7 @@ var AWSAdapter = class {
|
|
|
108
108
|
const eventData = {
|
|
109
109
|
type: "page",
|
|
110
110
|
anonymousId: properties.instanceId,
|
|
111
|
+
sessionId: properties.sessionId,
|
|
111
112
|
userId: properties.userId,
|
|
112
113
|
properties: {
|
|
113
114
|
path: properties.path || properties.url,
|
|
@@ -150,6 +151,7 @@ var AWSAdapter = class {
|
|
|
150
151
|
type: "track",
|
|
151
152
|
event: eventName,
|
|
152
153
|
anonymousId: properties.instanceId,
|
|
154
|
+
sessionId: properties.sessionId,
|
|
153
155
|
userId: properties.userId,
|
|
154
156
|
properties: {
|
|
155
157
|
...properties
|
|
@@ -172,6 +174,7 @@ var AWSAdapter = class {
|
|
|
172
174
|
const eventData = {
|
|
173
175
|
type: "identify",
|
|
174
176
|
anonymousId: traits.instanceId,
|
|
177
|
+
sessionId: traits.sessionId,
|
|
175
178
|
traits: {
|
|
176
179
|
...traits,
|
|
177
180
|
...identifiers ? { identifiers } : {}
|
|
@@ -190,6 +193,7 @@ var AWSAdapter = class {
|
|
|
190
193
|
const eventData = {
|
|
191
194
|
type: "set_fields",
|
|
192
195
|
anonymousId: context.instanceId,
|
|
196
|
+
sessionId: context.sessionId,
|
|
193
197
|
fields,
|
|
194
198
|
traits: {
|
|
195
199
|
instanceId: context.instanceId,
|
|
@@ -212,7 +216,11 @@ var AWSAdapter = class {
|
|
|
212
216
|
// src/storage.ts
|
|
213
217
|
var INSTANCE_ID_KEY = "amplifyup_instance_id";
|
|
214
218
|
var USER_ID_KEY = "amplifyup_user_id";
|
|
219
|
+
var SESSION_ID_KEY = "amplifyup_session_id";
|
|
220
|
+
var SESSION_ACTIVITY_KEY = "amplifyup_session_activity";
|
|
215
221
|
var ANON_COOKIE_NAME = "amplifyup_anon_id";
|
|
222
|
+
var SESSION_COOKIE_NAME = "amplifyup_session_id";
|
|
223
|
+
var SESSION_IDLE_GAP_MS = 30 * 60 * 1e3;
|
|
216
224
|
function generateGuid() {
|
|
217
225
|
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
218
226
|
return crypto.randomUUID();
|
|
@@ -239,9 +247,9 @@ function readCookie(name) {
|
|
|
239
247
|
}
|
|
240
248
|
return null;
|
|
241
249
|
}
|
|
242
|
-
function writeCookie(name, value) {
|
|
250
|
+
function writeCookie(name, value, maxAgeSeconds = 31536e3) {
|
|
243
251
|
if (typeof document === "undefined") return;
|
|
244
|
-
document.cookie = `${name}=${encodeURIComponent(value)}; Path=/; Max-Age
|
|
252
|
+
document.cookie = `${name}=${encodeURIComponent(value)}; Path=/; Max-Age=${maxAgeSeconds}; SameSite=Lax`;
|
|
245
253
|
}
|
|
246
254
|
function getInstanceId() {
|
|
247
255
|
if (typeof window === "undefined") {
|
|
@@ -264,6 +272,23 @@ function getUserId() {
|
|
|
264
272
|
}
|
|
265
273
|
return localStorage.getItem(USER_ID_KEY);
|
|
266
274
|
}
|
|
275
|
+
function getSessionId() {
|
|
276
|
+
if (typeof window === "undefined") {
|
|
277
|
+
return "";
|
|
278
|
+
}
|
|
279
|
+
const now = Date.now();
|
|
280
|
+
const lastActivity = Number(localStorage.getItem(SESSION_ACTIVITY_KEY) || 0);
|
|
281
|
+
const fromCookie = readCookie(SESSION_COOKIE_NAME);
|
|
282
|
+
const fromLs = localStorage.getItem(SESSION_ID_KEY);
|
|
283
|
+
let sessionId = fromLs || fromCookie || "";
|
|
284
|
+
if (!sessionId || lastActivity > 0 && now - lastActivity >= SESSION_IDLE_GAP_MS) {
|
|
285
|
+
sessionId = generateGuid();
|
|
286
|
+
}
|
|
287
|
+
localStorage.setItem(SESSION_ID_KEY, sessionId);
|
|
288
|
+
localStorage.setItem(SESSION_ACTIVITY_KEY, String(now));
|
|
289
|
+
writeCookie(SESSION_COOKIE_NAME, sessionId, Math.floor(SESSION_IDLE_GAP_MS / 1e3));
|
|
290
|
+
return sessionId;
|
|
291
|
+
}
|
|
267
292
|
function setUserId(userId) {
|
|
268
293
|
if (typeof window === "undefined") {
|
|
269
294
|
return;
|
|
@@ -276,7 +301,10 @@ function clearIds() {
|
|
|
276
301
|
}
|
|
277
302
|
localStorage.removeItem(INSTANCE_ID_KEY);
|
|
278
303
|
localStorage.removeItem(USER_ID_KEY);
|
|
304
|
+
localStorage.removeItem(SESSION_ID_KEY);
|
|
305
|
+
localStorage.removeItem(SESSION_ACTIVITY_KEY);
|
|
279
306
|
document.cookie = `${ANON_COOKIE_NAME}=; Path=/; Max-Age=0; SameSite=Lax`;
|
|
307
|
+
document.cookie = `${SESSION_COOKIE_NAME}=; Path=/; Max-Age=0; SameSite=Lax`;
|
|
280
308
|
}
|
|
281
309
|
|
|
282
310
|
// src/targets.ts
|
|
@@ -439,6 +467,7 @@ async function fetchEdgeResolve(options) {
|
|
|
439
467
|
params.set("variants", variantParam);
|
|
440
468
|
} else if (options.anonId) {
|
|
441
469
|
params.set("anonId", options.anonId);
|
|
470
|
+
if (options.sessionId) params.set("sessionId", options.sessionId);
|
|
442
471
|
}
|
|
443
472
|
const fetchFn = options.fetch ?? globalThis.fetch.bind(globalThis);
|
|
444
473
|
const init = {
|
|
@@ -540,6 +569,7 @@ async function fetchContent(options) {
|
|
|
540
569
|
trackingId: options.trackingId,
|
|
541
570
|
route: options.route,
|
|
542
571
|
anonId: options.variantKeys ? void 0 : options.anonId,
|
|
572
|
+
sessionId: options.variantKeys ? void 0 : options.sessionId,
|
|
543
573
|
siteId: options.siteId,
|
|
544
574
|
fetch: options.fetchFn,
|
|
545
575
|
revalidate: options.revalidate,
|
|
@@ -609,6 +639,7 @@ async function fetchEdgeSelect(options) {
|
|
|
609
639
|
...options.trackingId ? { trackingId: options.trackingId } : {},
|
|
610
640
|
...options.site ? { site: options.site } : {},
|
|
611
641
|
anonId: options.anonId,
|
|
642
|
+
...options.sessionId ? { sessionId: options.sessionId } : {},
|
|
612
643
|
...options.zones?.length ? { zones: options.zones } : {},
|
|
613
644
|
...options.context ? { context: options.context } : {}
|
|
614
645
|
})
|
|
@@ -637,6 +668,7 @@ async function selectVariants(options) {
|
|
|
637
668
|
site: options.site,
|
|
638
669
|
view: options.view,
|
|
639
670
|
anonId: options.anonId,
|
|
671
|
+
sessionId: options.sessionId,
|
|
640
672
|
zones: options.zones,
|
|
641
673
|
context: options.context,
|
|
642
674
|
fetch: options.fetch,
|
|
@@ -721,7 +753,6 @@ function searchSpec(pagination, field, term) {
|
|
|
721
753
|
}
|
|
722
754
|
|
|
723
755
|
// src/index.ts
|
|
724
|
-
var SESSION_IDLE_GAP_MS = 30 * 60 * 1e3;
|
|
725
756
|
var DWELL_ACTIVITY_IDLE_MS = 2 * 60 * 1e3;
|
|
726
757
|
var DWELL_POLL_MS = 5e3;
|
|
727
758
|
function readPreviewQueryOverrides() {
|
|
@@ -897,6 +928,7 @@ var AmplifyUpSDK = class {
|
|
|
897
928
|
if (typeof window === "undefined") return;
|
|
898
929
|
window.AmplifyUp = {
|
|
899
930
|
getInstanceId: () => this.getInstanceId(),
|
|
931
|
+
getSessionId: () => this.getSessionId(),
|
|
900
932
|
getUserId: () => this.getUserId(),
|
|
901
933
|
getTrackingId: () => this.getTrackingId(),
|
|
902
934
|
getTarget: () => this.getTarget(),
|
|
@@ -1319,12 +1351,14 @@ var AmplifyUpSDK = class {
|
|
|
1319
1351
|
return;
|
|
1320
1352
|
}
|
|
1321
1353
|
const instanceId = getInstanceId();
|
|
1354
|
+
const sessionId = getSessionId();
|
|
1322
1355
|
const pageProperties = {
|
|
1323
1356
|
name: url,
|
|
1324
1357
|
path: url,
|
|
1325
1358
|
url: typeof window !== "undefined" ? window.location.href : url,
|
|
1326
1359
|
referrer: typeof document !== "undefined" ? document.referrer : void 0,
|
|
1327
1360
|
instanceId,
|
|
1361
|
+
sessionId,
|
|
1328
1362
|
trackingId: this.config?.trackingId,
|
|
1329
1363
|
// Timestamp is included in event payload
|
|
1330
1364
|
...properties
|
|
@@ -1343,8 +1377,10 @@ var AmplifyUpSDK = class {
|
|
|
1343
1377
|
return;
|
|
1344
1378
|
}
|
|
1345
1379
|
const instanceId = getInstanceId();
|
|
1380
|
+
const sessionId = getSessionId();
|
|
1346
1381
|
const trackProperties = {
|
|
1347
1382
|
instanceId,
|
|
1383
|
+
sessionId,
|
|
1348
1384
|
trackingId: this.config?.trackingId,
|
|
1349
1385
|
url: typeof window !== "undefined" ? window.location.href : void 0,
|
|
1350
1386
|
path: properties?.path || (typeof window !== "undefined" ? window.location.pathname : void 0),
|
|
@@ -1417,8 +1453,10 @@ var AmplifyUpSDK = class {
|
|
|
1417
1453
|
return;
|
|
1418
1454
|
}
|
|
1419
1455
|
const instanceId = getInstanceId();
|
|
1456
|
+
const sessionId = getSessionId();
|
|
1420
1457
|
const identifyTraits = {
|
|
1421
1458
|
instanceId,
|
|
1459
|
+
sessionId,
|
|
1422
1460
|
trackingId: this.config?.trackingId,
|
|
1423
1461
|
...traits
|
|
1424
1462
|
};
|
|
@@ -1456,6 +1494,7 @@ var AmplifyUpSDK = class {
|
|
|
1456
1494
|
if (typeof this.adapter.setProfileFields === "function") {
|
|
1457
1495
|
this.adapter.setProfileFields(fields, {
|
|
1458
1496
|
instanceId: instanceId || void 0,
|
|
1497
|
+
sessionId: getSessionId() || void 0,
|
|
1459
1498
|
trackingId: this.config?.trackingId
|
|
1460
1499
|
});
|
|
1461
1500
|
}
|
|
@@ -1506,6 +1545,12 @@ var AmplifyUpSDK = class {
|
|
|
1506
1545
|
getInstanceId() {
|
|
1507
1546
|
return getInstanceId();
|
|
1508
1547
|
}
|
|
1548
|
+
/**
|
|
1549
|
+
* Get session id (30-minute inactivity reset).
|
|
1550
|
+
*/
|
|
1551
|
+
getSessionId() {
|
|
1552
|
+
return getSessionId();
|
|
1553
|
+
}
|
|
1509
1554
|
/**
|
|
1510
1555
|
* Get user ID
|
|
1511
1556
|
*/
|
|
@@ -4378,12 +4423,14 @@ function AmplifyUpProvider({ children, config }) {
|
|
|
4378
4423
|
}
|
|
4379
4424
|
let variantKeys;
|
|
4380
4425
|
const anonId = sdk.getInstanceId();
|
|
4426
|
+
const sessionId = sdk.getSessionId();
|
|
4381
4427
|
if (!preview && anonId) {
|
|
4382
4428
|
try {
|
|
4383
4429
|
const selected = await selectVariants({
|
|
4384
4430
|
trackingId,
|
|
4385
4431
|
view: actualRoute,
|
|
4386
4432
|
anonId,
|
|
4433
|
+
sessionId: sessionId || void 0,
|
|
4387
4434
|
site: sdk.getSiteId() || void 0,
|
|
4388
4435
|
edgeUrl
|
|
4389
4436
|
});
|
|
@@ -4396,6 +4443,7 @@ function AmplifyUpProvider({ children, config }) {
|
|
|
4396
4443
|
route: actualRoute,
|
|
4397
4444
|
trackingId,
|
|
4398
4445
|
anonId: variantKeys ? void 0 : anonId,
|
|
4446
|
+
sessionId: variantKeys ? void 0 : sessionId || void 0,
|
|
4399
4447
|
siteId: sdk.getSiteId() || null,
|
|
4400
4448
|
preview,
|
|
4401
4449
|
orchestratorUrl,
|