@zaplier/sdk 1.1.9 → 1.2.1
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/index.cjs +19 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +19 -12
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk.js +19 -12
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.min.js +1 -1
- package/dist/src/modules/anti-adblock.d.ts +5 -4
- package/dist/src/modules/anti-adblock.d.ts.map +1 -1
- package/dist/src/sdk.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -6217,18 +6217,16 @@ class ResourceSpoofTransport {
|
|
|
6217
6217
|
* Elysia WebSocket Transport (Native WebSocket for anti-adblock)
|
|
6218
6218
|
*/
|
|
6219
6219
|
class ElysiaWebSocketTransport {
|
|
6220
|
-
constructor(baseUrl) {
|
|
6220
|
+
constructor(baseUrl, token) {
|
|
6221
6221
|
this.name = 'elysia-websocket';
|
|
6222
6222
|
this.available = typeof WebSocket !== 'undefined';
|
|
6223
6223
|
this.connected = false;
|
|
6224
|
-
this.token = '';
|
|
6225
6224
|
this.baseUrl = baseUrl;
|
|
6225
|
+
this.token = token;
|
|
6226
6226
|
}
|
|
6227
6227
|
async send(data, endpoint) {
|
|
6228
6228
|
const start = Date.now();
|
|
6229
6229
|
try {
|
|
6230
|
-
// Extract token from data (passed from SDK)
|
|
6231
|
-
this.token = data.token || '';
|
|
6232
6230
|
if (!this.token) {
|
|
6233
6231
|
throw new Error('Missing token for WebSocket connection');
|
|
6234
6232
|
}
|
|
@@ -6253,15 +6251,22 @@ class ElysiaWebSocketTransport {
|
|
|
6253
6251
|
}
|
|
6254
6252
|
};
|
|
6255
6253
|
this.ws?.addEventListener('message', messageHandler);
|
|
6256
|
-
// Send the tracking data
|
|
6254
|
+
// Send the complete tracking data payload (includes fingerprintHash, stableCoreHash, etc.)
|
|
6257
6255
|
this.ws?.send(JSON.stringify({
|
|
6256
|
+
// Include all data from the SDK payload
|
|
6257
|
+
...data,
|
|
6258
|
+
// Override/ensure essential fields for WebSocket transport
|
|
6258
6259
|
eventId: data.eventId || crypto.randomUUID(),
|
|
6259
6260
|
sessionId: data.sessionId || data.s,
|
|
6260
6261
|
eventType: data.eventType || data.type || 'websocket_event',
|
|
6261
6262
|
eventName: data.eventName || data.name,
|
|
6262
6263
|
url: data.url,
|
|
6263
6264
|
userAgent: data.userAgent || navigator.userAgent,
|
|
6264
|
-
timestamp: new Date().toISOString()
|
|
6265
|
+
timestamp: new Date().toISOString(),
|
|
6266
|
+
// Ensure these critical fields are included for identity resolution
|
|
6267
|
+
fingerprintHash: data.fingerprintHash,
|
|
6268
|
+
stableCoreHash: data.stableCoreHash,
|
|
6269
|
+
stableCoreVector: data.stableCoreVector
|
|
6265
6270
|
}));
|
|
6266
6271
|
// Timeout after 5 seconds
|
|
6267
6272
|
setTimeout(() => {
|
|
@@ -6294,7 +6299,7 @@ class ElysiaWebSocketTransport {
|
|
|
6294
6299
|
this.connected = true;
|
|
6295
6300
|
resolve();
|
|
6296
6301
|
};
|
|
6297
|
-
this.ws.onerror = (
|
|
6302
|
+
this.ws.onerror = () => {
|
|
6298
6303
|
this.connected = false;
|
|
6299
6304
|
reject(new Error('WebSocket connection failed'));
|
|
6300
6305
|
};
|
|
@@ -6331,7 +6336,7 @@ class SocketIOTransport {
|
|
|
6331
6336
|
this.connected = false;
|
|
6332
6337
|
this.baseUrl = baseUrl;
|
|
6333
6338
|
}
|
|
6334
|
-
async send(data,
|
|
6339
|
+
async send(data, _endpoint) {
|
|
6335
6340
|
const start = Date.now();
|
|
6336
6341
|
if (!this.available) {
|
|
6337
6342
|
return { success: false, method: this.name, error: 'WebRTC not available' };
|
|
@@ -6424,7 +6429,7 @@ class WebRTCTransport {
|
|
|
6424
6429
|
this.available = typeof globalThis.RTCPeerConnection !== 'undefined';
|
|
6425
6430
|
this.connected = false;
|
|
6426
6431
|
}
|
|
6427
|
-
async send(data,
|
|
6432
|
+
async send(data, _endpoint) {
|
|
6428
6433
|
const start = Date.now();
|
|
6429
6434
|
if (!this.available) {
|
|
6430
6435
|
return { success: false, method: this.name, error: 'WebRTC not available' };
|
|
@@ -6496,7 +6501,7 @@ class WebRTCTransport {
|
|
|
6496
6501
|
* Main Anti-Adblock Manager
|
|
6497
6502
|
*/
|
|
6498
6503
|
class AntiAdblockManager {
|
|
6499
|
-
constructor(baseUrl, config = {}) {
|
|
6504
|
+
constructor(baseUrl, token, config = {}) {
|
|
6500
6505
|
this.transports = [];
|
|
6501
6506
|
this.stats = {
|
|
6502
6507
|
totalRequests: 0,
|
|
@@ -6505,6 +6510,7 @@ class AntiAdblockManager {
|
|
|
6505
6510
|
methodFailures: new Map()
|
|
6506
6511
|
};
|
|
6507
6512
|
this.baseUrl = baseUrl;
|
|
6513
|
+
this.token = token;
|
|
6508
6514
|
this.config = {
|
|
6509
6515
|
enabled: true,
|
|
6510
6516
|
methods: ['elysia-websocket', 'fetch', 'resource'], // Elysia WebSocket as primary
|
|
@@ -6517,7 +6523,7 @@ class AntiAdblockManager {
|
|
|
6517
6523
|
}
|
|
6518
6524
|
initializeTransports() {
|
|
6519
6525
|
const transportMap = {
|
|
6520
|
-
'elysia-websocket': () => new ElysiaWebSocketTransport(this.baseUrl),
|
|
6526
|
+
'elysia-websocket': () => new ElysiaWebSocketTransport(this.baseUrl, this.token),
|
|
6521
6527
|
socketio: () => new SocketIOTransport(this.baseUrl),
|
|
6522
6528
|
fetch: () => new FetchTransport(),
|
|
6523
6529
|
resource: () => new ResourceSpoofTransport(this.baseUrl),
|
|
@@ -7763,7 +7769,8 @@ class ZaplierSDK {
|
|
|
7763
7769
|
*/
|
|
7764
7770
|
initializeAntiAdblock() {
|
|
7765
7771
|
try {
|
|
7766
|
-
this.antiAdblockManager = new AntiAdblockManager(this.config.apiEndpoint,
|
|
7772
|
+
this.antiAdblockManager = new AntiAdblockManager(this.config.apiEndpoint, this.config.token, // Pass token to anti-adblock manager
|
|
7773
|
+
{
|
|
7767
7774
|
enabled: true,
|
|
7768
7775
|
methods: ["elysia-websocket", "fetch", "resource"], // Elysia WebSocket as primary
|
|
7769
7776
|
fallbackDelay: 100,
|