wisetrack 2.0.1 → 2.0.2
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 +9 -10
- package/dist/cdn/sdk.bundle.min.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +4 -2
- package/dist/constants/constants.d.ts +0 -20
- package/dist/constants/constants.js +0 -19
- package/dist/constants/constants.js.map +0 -1
- package/dist/constants/endpoints.d.ts +0 -11
- package/dist/constants/endpoints.js +0 -10
- package/dist/constants/endpoints.js.map +0 -1
- package/dist/constants/environments.d.ts +0 -25
- package/dist/constants/environments.js +0 -37
- package/dist/constants/environments.js.map +0 -1
- package/dist/core/caching/queue-data.d.ts +0 -25
- package/dist/core/caching/queue-data.js +0 -50
- package/dist/core/caching/queue-data.js.map +0 -1
- package/dist/core/caching/request-queue-manager.d.ts +0 -54
- package/dist/core/caching/request-queue-manager.js +0 -333
- package/dist/core/caching/request-queue-manager.js.map +0 -1
- package/dist/core/fields/event-fields-builder.d.ts +0 -8
- package/dist/core/fields/event-fields-builder.js +0 -29
- package/dist/core/fields/event-fields-builder.js.map +0 -1
- package/dist/core/fields/fields-builder.d.ts +0 -9
- package/dist/core/fields/fields-builder.js +0 -120
- package/dist/core/fields/fields-builder.js.map +0 -1
- package/dist/core/network/api-client.d.ts +0 -9
- package/dist/core/network/api-client.js +0 -88
- package/dist/core/network/api-client.js.map +0 -1
- package/dist/core/network/network-error.d.ts +0 -17
- package/dist/core/network/network-error.js +0 -35
- package/dist/core/network/network-error.js.map +0 -1
- package/dist/core/network/network-manager.d.ts +0 -22
- package/dist/core/network/network-manager.js +0 -72
- package/dist/core/network/network-manager.js.map +0 -1
- package/dist/core/network/retry-policy.d.ts +0 -8
- package/dist/core/network/retry-policy.js +0 -26
- package/dist/core/network/retry-policy.js.map +0 -1
- package/dist/core/storage/storage-manager.d.ts +0 -52
- package/dist/core/storage/storage-manager.js +0 -221
- package/dist/core/storage/storage-manager.js.map +0 -1
- package/dist/core/wisetrack.d.ts +0 -125
- package/dist/core/wisetrack.js +0 -277
- package/dist/core/wisetrack.js.map +0 -1
- package/dist/core/wt-tracker.d.ts +0 -25
- package/dist/core/wt-tracker.js +0 -239
- package/dist/core/wt-tracker.js.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.js +0 -4
- package/dist/index.js.map +0 -1
- package/dist/types/config/initial-config.d.ts +0 -43
- package/dist/types/config/initial-config.js +0 -2
- package/dist/types/config/initial-config.js.map +0 -1
- package/dist/types/config/wt-app-settings.d.ts +0 -15
- package/dist/types/config/wt-app-settings.js +0 -25
- package/dist/types/config/wt-app-settings.js.map +0 -1
- package/dist/types/config/wt-config.d.ts +0 -18
- package/dist/types/config/wt-config.js +0 -28
- package/dist/types/config/wt-config.js.map +0 -1
- package/dist/types/event/revenue-currency.d.ts +0 -39
- package/dist/types/event/revenue-currency.js +0 -39
- package/dist/types/event/revenue-currency.js.map +0 -1
- package/dist/types/event/wt-event.d.ts +0 -94
- package/dist/types/event/wt-event.js +0 -93
- package/dist/types/event/wt-event.js.map +0 -1
- package/dist/utils/activity-ticker.d.ts +0 -12
- package/dist/utils/activity-ticker.js +0 -37
- package/dist/utils/activity-ticker.js.map +0 -1
- package/dist/utils/country-finder.d.ts +0 -9
- package/dist/utils/country-finder.js +0 -71
- package/dist/utils/country-finder.js.map +0 -1
- package/dist/utils/crypto-helper.d.ts +0 -4
- package/dist/utils/crypto-helper.js +0 -7
- package/dist/utils/crypto-helper.js.map +0 -1
- package/dist/utils/device-detector.d.ts +0 -41
- package/dist/utils/device-detector.js +0 -101
- package/dist/utils/device-detector.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -36
- package/dist/utils/logger.js +0 -84
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/storage-support.d.ts +0 -16
- package/dist/utils/storage-support.js +0 -86
- package/dist/utils/storage-support.js.map +0 -1
- package/dist/utils/utils.d.ts +0 -5
- package/dist/utils/utils.js +0 -95
- package/dist/utils/utils.js.map +0 -1
- package/dist/utils/webgl-fingerprint.d.ts +0 -7
- package/dist/utils/webgl-fingerprint.js +0 -100
- package/dist/utils/webgl-fingerprint.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { WTConstants } from "./constants";
|
|
2
|
-
/**
|
|
3
|
-
* Defines the user environment in which the SDK is running.
|
|
4
|
-
*
|
|
5
|
-
* - `SANDBOX`: Use this for testing and development.
|
|
6
|
-
* - `PRODUCTION`: Use this for production deployment.
|
|
7
|
-
*/
|
|
8
|
-
export const WTUserEnvironment = {
|
|
9
|
-
SANDBOX: "sandbox",
|
|
10
|
-
PRODUCTION: "production",
|
|
11
|
-
};
|
|
12
|
-
/** @internal */
|
|
13
|
-
export const WTSDKEnvironment = {
|
|
14
|
-
DEBUG: "debug",
|
|
15
|
-
STAGE: "stage",
|
|
16
|
-
PRODUCTION: "production",
|
|
17
|
-
};
|
|
18
|
-
/** @internal */
|
|
19
|
-
export const EnvironmentUtils = {
|
|
20
|
-
sdkEnvironment: WTConstants.CONFIG.DEFAULT_ENVIRONMENT,
|
|
21
|
-
needAppSettings() {
|
|
22
|
-
return this.sdkEnvironment !== WTSDKEnvironment.PRODUCTION;
|
|
23
|
-
},
|
|
24
|
-
baseUrl() {
|
|
25
|
-
switch (this.sdkEnvironment) {
|
|
26
|
-
case WTSDKEnvironment.DEBUG:
|
|
27
|
-
return "https://core.debug.wisetrackdev.ir";
|
|
28
|
-
case WTSDKEnvironment.STAGE:
|
|
29
|
-
return "https://core.stage.wisetrackdev.ir";
|
|
30
|
-
case WTSDKEnvironment.PRODUCTION:
|
|
31
|
-
return "https://core.wisetrack.io";
|
|
32
|
-
default:
|
|
33
|
-
throw new Error(`Unknown environment: ${this.sdkEnvironment}`);
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=environments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/constants/environments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CAChB,CAAC;AAKX,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;CAChB,CAAC;AAMX,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,mBAAuC;IAE1E,eAAe;QACb,OAAO,IAAI,CAAC,cAAc,KAAK,gBAAgB,CAAC,UAAU,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,KAAK,gBAAgB,CAAC,KAAK;gBACzB,OAAO,oCAAoC,CAAC;YAC9C,KAAK,gBAAgB,CAAC,KAAK;gBACzB,OAAO,oCAAoC,CAAC;YAC9C,KAAK,gBAAgB,CAAC,UAAU;gBAC9B,OAAO,2BAA2B,CAAC;YACrC;gBACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { WTEndpoints } from "../../constants/endpoints";
|
|
2
|
-
import { FieldsBuilder } from "../fields/fields-builder";
|
|
3
|
-
/** @internal */
|
|
4
|
-
export interface RequestRecordCreator {
|
|
5
|
-
endpoint: WTEndpoints;
|
|
6
|
-
fBuilder?: FieldsBuilder;
|
|
7
|
-
queueType?: "main" | "pending";
|
|
8
|
-
}
|
|
9
|
-
/** @internal */
|
|
10
|
-
export declare class RequestRecord {
|
|
11
|
-
readonly id: string;
|
|
12
|
-
readonly endpoint: WTEndpoints;
|
|
13
|
-
readonly parameters: Record<string, any>;
|
|
14
|
-
readonly createdAt: number;
|
|
15
|
-
retryCount: number;
|
|
16
|
-
maxRetries: number;
|
|
17
|
-
constructor(endpoint: WTEndpoints, parameters: Record<string, any>);
|
|
18
|
-
}
|
|
19
|
-
/** @internal */
|
|
20
|
-
export declare class Mutex {
|
|
21
|
-
private locked;
|
|
22
|
-
private waitingQueue;
|
|
23
|
-
acquire(): Promise<void>;
|
|
24
|
-
release(): void;
|
|
25
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
/** @internal */
|
|
11
|
-
export class RequestRecord {
|
|
12
|
-
constructor(endpoint, parameters) {
|
|
13
|
-
this.retryCount = 0;
|
|
14
|
-
this.maxRetries = 3;
|
|
15
|
-
this.id = crypto.randomUUID();
|
|
16
|
-
this.endpoint = endpoint;
|
|
17
|
-
this.parameters = parameters;
|
|
18
|
-
this.createdAt = Date.now();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/** @internal */
|
|
22
|
-
export class Mutex {
|
|
23
|
-
constructor() {
|
|
24
|
-
this.locked = false;
|
|
25
|
-
this.waitingQueue = [];
|
|
26
|
-
}
|
|
27
|
-
acquire() {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return new Promise((resolve) => {
|
|
30
|
-
if (!this.locked) {
|
|
31
|
-
this.locked = true;
|
|
32
|
-
resolve();
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this.waitingQueue.push(resolve);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
release() {
|
|
41
|
-
if (this.waitingQueue.length > 0) {
|
|
42
|
-
const next = this.waitingQueue.shift();
|
|
43
|
-
next();
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.locked = false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=queue-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue-data.js","sourceRoot":"","sources":["../../../src/core/caching/queue-data.ts"],"names":[],"mappings":";;;;;;;;;AAUA,gBAAgB;AAChB,MAAM,OAAO,aAAa;IAQxB,YAAY,QAAqB,EAAE,UAA+B;QAHlE,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QAGrB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,OAAO,KAAK;IAAlB;QACU,WAAM,GAAG,KAAK,CAAC;QACf,iBAAY,GAAsB,EAAE,CAAC;IAqB/C,CAAC;IAnBO,OAAO;;YACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;YACxC,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { RequestRecord } from "./queue-data";
|
|
2
|
-
/** @internal */
|
|
3
|
-
export declare class RequestsQueueManager {
|
|
4
|
-
private isInitialized;
|
|
5
|
-
private isProcessing;
|
|
6
|
-
private isCurrentlyProcessing;
|
|
7
|
-
private mutex;
|
|
8
|
-
private processingInterval;
|
|
9
|
-
private readonly PROCESSING_INTERVAL_MS;
|
|
10
|
-
private failedRequestDelay;
|
|
11
|
-
private readonly MAX_DELAY_MS;
|
|
12
|
-
private readonly BACKOFF_MULTIPLIER;
|
|
13
|
-
private readonly BASE_DELAY_MS;
|
|
14
|
-
constructor();
|
|
15
|
-
initialize(): Promise<void>;
|
|
16
|
-
shutdown(): Promise<void>;
|
|
17
|
-
private startProcessing;
|
|
18
|
-
private stopProcessing;
|
|
19
|
-
addRequest(request: RequestRecord): Promise<void>;
|
|
20
|
-
addPendingRequest(request: RequestRecord): Promise<void>;
|
|
21
|
-
private processQueues;
|
|
22
|
-
private processMainQueue;
|
|
23
|
-
private calculateBackoffDelay;
|
|
24
|
-
private processPendingQueue;
|
|
25
|
-
private sendRequest;
|
|
26
|
-
private getMainQueue;
|
|
27
|
-
private saveMainQueue;
|
|
28
|
-
private getPendingQueue;
|
|
29
|
-
private savePendingQueue;
|
|
30
|
-
private getMainRequestsSentFlag;
|
|
31
|
-
private postRequestCheck;
|
|
32
|
-
getQueueStatus(): {
|
|
33
|
-
mainQueueLength: number;
|
|
34
|
-
pendingQueueLength: number;
|
|
35
|
-
isProcessing: boolean;
|
|
36
|
-
mainRequestsSent: boolean;
|
|
37
|
-
isInBackoffDelay: boolean;
|
|
38
|
-
backoffEndsAt: number | null;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Manually reset backoff delay (useful for testing or manual recovery)
|
|
42
|
-
*/
|
|
43
|
-
resetBackoffDelay(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Get current backoff delay configuration
|
|
46
|
-
*/
|
|
47
|
-
getBackoffConfig(): {
|
|
48
|
-
baseDelayMs: number;
|
|
49
|
-
multiplier: number;
|
|
50
|
-
maxDelayMs: number;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
/** @internal */
|
|
54
|
-
export declare const queueManager: RequestsQueueManager;
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { WTEndpoints } from "../../constants/endpoints";
|
|
11
|
-
import { WTLogger } from "../../utils/logger";
|
|
12
|
-
import { apiClient } from "../network/api-client";
|
|
13
|
-
import { storageManager } from "../storage/storage-manager";
|
|
14
|
-
import { Mutex } from "./queue-data";
|
|
15
|
-
/** @internal */
|
|
16
|
-
export class RequestsQueueManager {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.isInitialized = false;
|
|
19
|
-
this.isProcessing = false;
|
|
20
|
-
this.isCurrentlyProcessing = false;
|
|
21
|
-
this.mutex = new Mutex();
|
|
22
|
-
this.processingInterval = null;
|
|
23
|
-
this.PROCESSING_INTERVAL_MS = 100; // Check queue every 100ms
|
|
24
|
-
// Backoff strategy properties
|
|
25
|
-
this.failedRequestDelay = 0;
|
|
26
|
-
this.MAX_DELAY_MS = 30000; // 30 seconds max delay
|
|
27
|
-
this.BACKOFF_MULTIPLIER = 2;
|
|
28
|
-
this.BASE_DELAY_MS = 1000; // Start with 1 second
|
|
29
|
-
}
|
|
30
|
-
initialize() {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
// Initialize the queue manager if needed
|
|
33
|
-
this.isInitialized = true;
|
|
34
|
-
if (!this.isProcessing) {
|
|
35
|
-
yield this.startProcessing();
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
shutdown() {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
if (!this.isInitialized) {
|
|
42
|
-
return; // Nothing to shutdown
|
|
43
|
-
}
|
|
44
|
-
yield this.stopProcessing();
|
|
45
|
-
this.isInitialized = false;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
startProcessing() {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
if (!this.isInitialized) {
|
|
51
|
-
WTLogger.warn("Queue Manager is not initialized. Call initialize() first.");
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
yield this.mutex.acquire();
|
|
55
|
-
try {
|
|
56
|
-
if (this.isProcessing) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.isProcessing = true;
|
|
60
|
-
// Start the processing loop
|
|
61
|
-
this.processingInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
try {
|
|
63
|
-
yield this.processQueues();
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
WTLogger.error("Error in processing loop:", error);
|
|
67
|
-
}
|
|
68
|
-
}), this.PROCESSING_INTERVAL_MS);
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
this.mutex.release();
|
|
72
|
-
}
|
|
73
|
-
// Process immediately after releasing the mutex
|
|
74
|
-
yield this.processQueues();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
stopProcessing() {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
yield this.mutex.acquire();
|
|
80
|
-
try {
|
|
81
|
-
this.isProcessing = false;
|
|
82
|
-
if (this.processingInterval) {
|
|
83
|
-
clearInterval(this.processingInterval);
|
|
84
|
-
this.processingInterval = null;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
finally {
|
|
88
|
-
this.mutex.release();
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
addRequest(request) {
|
|
93
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
yield this.mutex.acquire();
|
|
95
|
-
try {
|
|
96
|
-
const mainQueue = this.getMainQueue();
|
|
97
|
-
mainQueue.push(request);
|
|
98
|
-
this.saveMainQueue(mainQueue);
|
|
99
|
-
// Reset delay when new request is added (optional - gives fresh chance)
|
|
100
|
-
this.failedRequestDelay = 0;
|
|
101
|
-
// Start processing if not already started
|
|
102
|
-
if (!this.isProcessing) {
|
|
103
|
-
// Release mutex before starting processing
|
|
104
|
-
this.mutex.release();
|
|
105
|
-
yield this.startProcessing();
|
|
106
|
-
return; // Exit early since mutex was already released
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
finally {
|
|
110
|
-
// Only release if we haven't already released above
|
|
111
|
-
if (this.isProcessing) {
|
|
112
|
-
this.mutex.release();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
addPendingRequest(request) {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
yield this.mutex.acquire();
|
|
120
|
-
try {
|
|
121
|
-
const mainRequestsSent = this.getMainRequestsSentFlag();
|
|
122
|
-
if (mainRequestsSent) {
|
|
123
|
-
// Main requests have been sent, add to main queue directly
|
|
124
|
-
const mainQueue = this.getMainQueue();
|
|
125
|
-
mainQueue.push(request);
|
|
126
|
-
this.saveMainQueue(mainQueue);
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
// Main requests not sent yet, add to pending queue
|
|
130
|
-
const pendingQueue = this.getPendingQueue();
|
|
131
|
-
pendingQueue.push(request);
|
|
132
|
-
this.savePendingQueue(pendingQueue);
|
|
133
|
-
}
|
|
134
|
-
// Reset delay when new request is added
|
|
135
|
-
this.failedRequestDelay = 0;
|
|
136
|
-
// Start processing if not already started
|
|
137
|
-
if (!this.isProcessing) {
|
|
138
|
-
// Release mutex before starting processing
|
|
139
|
-
this.mutex.release();
|
|
140
|
-
yield this.startProcessing();
|
|
141
|
-
return; // Exit early since mutex was already released
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
finally {
|
|
145
|
-
// Only release if we haven't already released above
|
|
146
|
-
if (this.isProcessing) {
|
|
147
|
-
this.mutex.release();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
processQueues() {
|
|
153
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
if (!this.isProcessing || this.isCurrentlyProcessing) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
// Check if we're in delay period
|
|
158
|
-
if (this.failedRequestDelay > 0) {
|
|
159
|
-
if (Date.now() < this.failedRequestDelay) {
|
|
160
|
-
return; // Still in delay period
|
|
161
|
-
}
|
|
162
|
-
// Delay period ended
|
|
163
|
-
this.failedRequestDelay = 0;
|
|
164
|
-
WTLogger.debug("⏰ Backoff delay ended, resuming queue processing");
|
|
165
|
-
}
|
|
166
|
-
this.isCurrentlyProcessing = true;
|
|
167
|
-
yield this.mutex.acquire();
|
|
168
|
-
try {
|
|
169
|
-
yield this.processMainQueue();
|
|
170
|
-
yield this.processPendingQueue();
|
|
171
|
-
}
|
|
172
|
-
finally {
|
|
173
|
-
this.mutex.release();
|
|
174
|
-
this.isCurrentlyProcessing = false;
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
processMainQueue() {
|
|
179
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
const mainQueue = this.getMainQueue();
|
|
181
|
-
if (mainQueue.length === 0) {
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
// Take the first request
|
|
185
|
-
const request = mainQueue[0];
|
|
186
|
-
try {
|
|
187
|
-
const success = yield this.sendRequest(request);
|
|
188
|
-
if (success) {
|
|
189
|
-
// Remove the processed request from queue
|
|
190
|
-
mainQueue.shift();
|
|
191
|
-
this.saveMainQueue(mainQueue);
|
|
192
|
-
// Set flag that main requests have been sent
|
|
193
|
-
this.postRequestCheck(request);
|
|
194
|
-
WTLogger.debug(`✅ Request ${request.id} processed successfully`);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
// Update retry count in the queue (not just in memory)
|
|
198
|
-
mainQueue[0].retryCount++;
|
|
199
|
-
if (mainQueue[0].retryCount >= mainQueue[0].maxRetries) {
|
|
200
|
-
// Calculate backoff delay
|
|
201
|
-
const delayMs = this.calculateBackoffDelay(mainQueue[0].retryCount);
|
|
202
|
-
this.failedRequestDelay = Date.now() + delayMs;
|
|
203
|
-
WTLogger.warn(`⏳ Request ${request.id} failed after ${request.maxRetries} attempts. ` +
|
|
204
|
-
`Applying backoff delay of ${delayMs}ms`);
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
WTLogger.warn(`⚠️ Request ${request.id} failed. Retry ${mainQueue[0].retryCount}/${mainQueue[0].maxRetries}`);
|
|
208
|
-
}
|
|
209
|
-
// Save the updated queue with new retry count
|
|
210
|
-
this.saveMainQueue(mainQueue);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
WTLogger.error(`Error sending request ${request.endpoint}:`, error);
|
|
215
|
-
// Update retry count in storage
|
|
216
|
-
mainQueue[0].retryCount++;
|
|
217
|
-
if (mainQueue[0].retryCount >= mainQueue[0].maxRetries) {
|
|
218
|
-
// Apply backoff delay instead of removing
|
|
219
|
-
const delayMs = this.calculateBackoffDelay(mainQueue[0].retryCount);
|
|
220
|
-
this.failedRequestDelay = Date.now() + delayMs;
|
|
221
|
-
WTLogger.warn(`⏳ Request ${request.id} failed with error after ${mainQueue[0].maxRetries} attempts. ` +
|
|
222
|
-
`Applying backoff delay of ${delayMs}ms`);
|
|
223
|
-
}
|
|
224
|
-
// Save the updated queue
|
|
225
|
-
this.saveMainQueue(mainQueue);
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
calculateBackoffDelay(retryCount) {
|
|
230
|
-
// Exponential backoff: baseDelay * (multiplier ^ (retryCount - 1))
|
|
231
|
-
const delay = this.BASE_DELAY_MS * Math.pow(this.BACKOFF_MULTIPLIER, retryCount - 1);
|
|
232
|
-
return Math.min(delay, this.MAX_DELAY_MS);
|
|
233
|
-
}
|
|
234
|
-
processPendingQueue() {
|
|
235
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
236
|
-
const mainRequestsSent = this.getMainRequestsSentFlag();
|
|
237
|
-
if (!mainRequestsSent) {
|
|
238
|
-
return; // Main requests haven't been sent yet
|
|
239
|
-
}
|
|
240
|
-
const pendingQueue = this.getPendingQueue();
|
|
241
|
-
if (pendingQueue.length === 0) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
// Move all pending requests to main queue
|
|
245
|
-
const mainQueue = this.getMainQueue();
|
|
246
|
-
mainQueue.push(...pendingQueue);
|
|
247
|
-
// Clear pending queue
|
|
248
|
-
this.saveMainQueue(mainQueue);
|
|
249
|
-
this.savePendingQueue([]);
|
|
250
|
-
console.log(`📦 Moved ${pendingQueue.length} pending requests to main queue`);
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
sendRequest(request_1) {
|
|
254
|
-
return __awaiter(this, arguments, void 0, function* (request, attempt = 1) {
|
|
255
|
-
WTLogger.debug(`💥 Sending request (${request.endpoint}): id=${request.id}`);
|
|
256
|
-
let result = false;
|
|
257
|
-
try {
|
|
258
|
-
result = yield apiClient.doCallRequest(request.endpoint, request.parameters);
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
WTLogger.error(`❌ Request ${request.endpoint} failed`, error);
|
|
262
|
-
}
|
|
263
|
-
return result;
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
getMainQueue() {
|
|
267
|
-
return storageManager.requestRecords;
|
|
268
|
-
}
|
|
269
|
-
saveMainQueue(queue) {
|
|
270
|
-
storageManager.requestRecords = queue;
|
|
271
|
-
}
|
|
272
|
-
getPendingQueue() {
|
|
273
|
-
return storageManager.pendingRequestRecords;
|
|
274
|
-
}
|
|
275
|
-
savePendingQueue(queue) {
|
|
276
|
-
storageManager.pendingRequestRecords = queue;
|
|
277
|
-
}
|
|
278
|
-
getMainRequestsSentFlag() {
|
|
279
|
-
return storageManager.sdkClickSubmit;
|
|
280
|
-
}
|
|
281
|
-
postRequestCheck(request) {
|
|
282
|
-
switch (request.endpoint) {
|
|
283
|
-
case WTEndpoints.SDK_CLICKS:
|
|
284
|
-
storageManager.sdkClickSubmit = true;
|
|
285
|
-
break;
|
|
286
|
-
case WTEndpoints.SESSIONS:
|
|
287
|
-
if (storageManager.firstSessionSubmit) {
|
|
288
|
-
storageManager.activeDuration = 0;
|
|
289
|
-
storageManager.inactiveDuration = 0;
|
|
290
|
-
storageManager.subSessionCount = 1;
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
storageManager.firstSessionSubmit = true;
|
|
294
|
-
}
|
|
295
|
-
break;
|
|
296
|
-
case WTEndpoints.SDK_INFOS:
|
|
297
|
-
storageManager.fcmToken = request.parameters.push_token;
|
|
298
|
-
break;
|
|
299
|
-
default:
|
|
300
|
-
break;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
getQueueStatus() {
|
|
304
|
-
return {
|
|
305
|
-
mainQueueLength: this.getMainQueue().length,
|
|
306
|
-
pendingQueueLength: this.getPendingQueue().length,
|
|
307
|
-
isProcessing: this.isProcessing,
|
|
308
|
-
mainRequestsSent: this.getMainRequestsSentFlag(),
|
|
309
|
-
isInBackoffDelay: this.failedRequestDelay > 0 && Date.now() < this.failedRequestDelay,
|
|
310
|
-
backoffEndsAt: this.failedRequestDelay > 0 ? this.failedRequestDelay : null,
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Manually reset backoff delay (useful for testing or manual recovery)
|
|
315
|
-
*/
|
|
316
|
-
resetBackoffDelay() {
|
|
317
|
-
this.failedRequestDelay = 0;
|
|
318
|
-
WTLogger.debug("🔄 Backoff delay manually reset");
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Get current backoff delay configuration
|
|
322
|
-
*/
|
|
323
|
-
getBackoffConfig() {
|
|
324
|
-
return {
|
|
325
|
-
baseDelayMs: this.BASE_DELAY_MS,
|
|
326
|
-
multiplier: this.BACKOFF_MULTIPLIER,
|
|
327
|
-
maxDelayMs: this.MAX_DELAY_MS,
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
/** @internal */
|
|
332
|
-
export const queueManager = new RequestsQueueManager();
|
|
333
|
-
//# sourceMappingURL=request-queue-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-queue-manager.js","sourceRoot":"","sources":["../../../src/core/caching/request-queue-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { WTEvent } from "../../types/event/wt-event";
|
|
2
|
-
import { FieldsBuilder } from "./fields-builder";
|
|
3
|
-
/** @internal */
|
|
4
|
-
export declare class EventFieldsBuilder extends FieldsBuilder {
|
|
5
|
-
event: WTEvent.Default | WTEvent.Revenue;
|
|
6
|
-
constructor(event: WTEvent.Default | WTEvent.Revenue);
|
|
7
|
-
build(): Promise<Record<string, any>>;
|
|
8
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { FieldsBuilder } from "./fields-builder";
|
|
11
|
-
/** @internal */
|
|
12
|
-
export class EventFieldsBuilder extends FieldsBuilder {
|
|
13
|
-
constructor(event) {
|
|
14
|
-
super();
|
|
15
|
-
this.event = event;
|
|
16
|
-
}
|
|
17
|
-
build() {
|
|
18
|
-
const _super = Object.create(null, {
|
|
19
|
-
build: { get: () => super.build }
|
|
20
|
-
});
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const fields = yield _super.build.call(this);
|
|
23
|
-
return new Promise((resolve) => {
|
|
24
|
-
resolve(Object.assign(Object.assign({}, fields), this.event.toJSON()));
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=event-fields-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-fields-builder.js","sourceRoot":"","sources":["../../../src/core/fields/event-fields-builder.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,gBAAgB;AAChB,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAEnD,YAAY,KAAwC;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEc,KAAK;;;;;YAClB,MAAM,MAAM,GAAG,MAAM,OAAM,KAAK,WAAE,CAAC;YAEnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,OAAO,iCACF,MAAM,GACN,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EACtB,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
|