@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.esm.js
CHANGED
|
@@ -6213,18 +6213,16 @@ class ResourceSpoofTransport {
|
|
|
6213
6213
|
* Elysia WebSocket Transport (Native WebSocket for anti-adblock)
|
|
6214
6214
|
*/
|
|
6215
6215
|
class ElysiaWebSocketTransport {
|
|
6216
|
-
constructor(baseUrl) {
|
|
6216
|
+
constructor(baseUrl, token) {
|
|
6217
6217
|
this.name = 'elysia-websocket';
|
|
6218
6218
|
this.available = typeof WebSocket !== 'undefined';
|
|
6219
6219
|
this.connected = false;
|
|
6220
|
-
this.token = '';
|
|
6221
6220
|
this.baseUrl = baseUrl;
|
|
6221
|
+
this.token = token;
|
|
6222
6222
|
}
|
|
6223
6223
|
async send(data, endpoint) {
|
|
6224
6224
|
const start = Date.now();
|
|
6225
6225
|
try {
|
|
6226
|
-
// Extract token from data (passed from SDK)
|
|
6227
|
-
this.token = data.token || '';
|
|
6228
6226
|
if (!this.token) {
|
|
6229
6227
|
throw new Error('Missing token for WebSocket connection');
|
|
6230
6228
|
}
|
|
@@ -6249,15 +6247,22 @@ class ElysiaWebSocketTransport {
|
|
|
6249
6247
|
}
|
|
6250
6248
|
};
|
|
6251
6249
|
this.ws?.addEventListener('message', messageHandler);
|
|
6252
|
-
// Send the tracking data
|
|
6250
|
+
// Send the complete tracking data payload (includes fingerprintHash, stableCoreHash, etc.)
|
|
6253
6251
|
this.ws?.send(JSON.stringify({
|
|
6252
|
+
// Include all data from the SDK payload
|
|
6253
|
+
...data,
|
|
6254
|
+
// Override/ensure essential fields for WebSocket transport
|
|
6254
6255
|
eventId: data.eventId || crypto.randomUUID(),
|
|
6255
6256
|
sessionId: data.sessionId || data.s,
|
|
6256
6257
|
eventType: data.eventType || data.type || 'websocket_event',
|
|
6257
6258
|
eventName: data.eventName || data.name,
|
|
6258
6259
|
url: data.url,
|
|
6259
6260
|
userAgent: data.userAgent || navigator.userAgent,
|
|
6260
|
-
timestamp: new Date().toISOString()
|
|
6261
|
+
timestamp: new Date().toISOString(),
|
|
6262
|
+
// Ensure these critical fields are included for identity resolution
|
|
6263
|
+
fingerprintHash: data.fingerprintHash,
|
|
6264
|
+
stableCoreHash: data.stableCoreHash,
|
|
6265
|
+
stableCoreVector: data.stableCoreVector
|
|
6261
6266
|
}));
|
|
6262
6267
|
// Timeout after 5 seconds
|
|
6263
6268
|
setTimeout(() => {
|
|
@@ -6290,7 +6295,7 @@ class ElysiaWebSocketTransport {
|
|
|
6290
6295
|
this.connected = true;
|
|
6291
6296
|
resolve();
|
|
6292
6297
|
};
|
|
6293
|
-
this.ws.onerror = (
|
|
6298
|
+
this.ws.onerror = () => {
|
|
6294
6299
|
this.connected = false;
|
|
6295
6300
|
reject(new Error('WebSocket connection failed'));
|
|
6296
6301
|
};
|
|
@@ -6327,7 +6332,7 @@ class SocketIOTransport {
|
|
|
6327
6332
|
this.connected = false;
|
|
6328
6333
|
this.baseUrl = baseUrl;
|
|
6329
6334
|
}
|
|
6330
|
-
async send(data,
|
|
6335
|
+
async send(data, _endpoint) {
|
|
6331
6336
|
const start = Date.now();
|
|
6332
6337
|
if (!this.available) {
|
|
6333
6338
|
return { success: false, method: this.name, error: 'WebRTC not available' };
|
|
@@ -6420,7 +6425,7 @@ class WebRTCTransport {
|
|
|
6420
6425
|
this.available = typeof globalThis.RTCPeerConnection !== 'undefined';
|
|
6421
6426
|
this.connected = false;
|
|
6422
6427
|
}
|
|
6423
|
-
async send(data,
|
|
6428
|
+
async send(data, _endpoint) {
|
|
6424
6429
|
const start = Date.now();
|
|
6425
6430
|
if (!this.available) {
|
|
6426
6431
|
return { success: false, method: this.name, error: 'WebRTC not available' };
|
|
@@ -6492,7 +6497,7 @@ class WebRTCTransport {
|
|
|
6492
6497
|
* Main Anti-Adblock Manager
|
|
6493
6498
|
*/
|
|
6494
6499
|
class AntiAdblockManager {
|
|
6495
|
-
constructor(baseUrl, config = {}) {
|
|
6500
|
+
constructor(baseUrl, token, config = {}) {
|
|
6496
6501
|
this.transports = [];
|
|
6497
6502
|
this.stats = {
|
|
6498
6503
|
totalRequests: 0,
|
|
@@ -6501,6 +6506,7 @@ class AntiAdblockManager {
|
|
|
6501
6506
|
methodFailures: new Map()
|
|
6502
6507
|
};
|
|
6503
6508
|
this.baseUrl = baseUrl;
|
|
6509
|
+
this.token = token;
|
|
6504
6510
|
this.config = {
|
|
6505
6511
|
enabled: true,
|
|
6506
6512
|
methods: ['elysia-websocket', 'fetch', 'resource'], // Elysia WebSocket as primary
|
|
@@ -6513,7 +6519,7 @@ class AntiAdblockManager {
|
|
|
6513
6519
|
}
|
|
6514
6520
|
initializeTransports() {
|
|
6515
6521
|
const transportMap = {
|
|
6516
|
-
'elysia-websocket': () => new ElysiaWebSocketTransport(this.baseUrl),
|
|
6522
|
+
'elysia-websocket': () => new ElysiaWebSocketTransport(this.baseUrl, this.token),
|
|
6517
6523
|
socketio: () => new SocketIOTransport(this.baseUrl),
|
|
6518
6524
|
fetch: () => new FetchTransport(),
|
|
6519
6525
|
resource: () => new ResourceSpoofTransport(this.baseUrl),
|
|
@@ -7759,7 +7765,8 @@ class ZaplierSDK {
|
|
|
7759
7765
|
*/
|
|
7760
7766
|
initializeAntiAdblock() {
|
|
7761
7767
|
try {
|
|
7762
|
-
this.antiAdblockManager = new AntiAdblockManager(this.config.apiEndpoint,
|
|
7768
|
+
this.antiAdblockManager = new AntiAdblockManager(this.config.apiEndpoint, this.config.token, // Pass token to anti-adblock manager
|
|
7769
|
+
{
|
|
7763
7770
|
enabled: true,
|
|
7764
7771
|
methods: ["elysia-websocket", "fetch", "resource"], // Elysia WebSocket as primary
|
|
7765
7772
|
fallbackDelay: 100,
|