wisetrack 2.0.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/LICENSE +5 -0
- package/README.md +128 -0
- package/dist/cdn/constants/constants.d.ts +20 -0
- package/dist/cdn/constants/endpoints.d.ts +11 -0
- package/dist/cdn/constants/environments.d.ts +25 -0
- package/dist/cdn/core/caching/queue-data.d.ts +25 -0
- package/dist/cdn/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/cdn/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/cdn/core/fields/fields-builder.d.ts +9 -0
- package/dist/cdn/core/network/api-client.d.ts +9 -0
- package/dist/cdn/core/network/network-error.d.ts +17 -0
- package/dist/cdn/core/network/network-manager.d.ts +22 -0
- package/dist/cdn/core/network/retry-policy.d.ts +8 -0
- package/dist/cdn/core/storage/storage-manager.d.ts +52 -0
- package/dist/cdn/core/wisetrack.d.ts +125 -0
- package/dist/cdn/core/wt-tracker.d.ts +25 -0
- package/dist/cdn/index.d.ts +4 -0
- package/dist/cdn/sdk.bundle.js +3604 -0
- package/dist/cdn/sdk.bundle.js.map +1 -0
- package/dist/cdn/sdk.bundle.min.js +1 -0
- package/dist/cdn/types/config/initial-config.d.ts +43 -0
- package/dist/cdn/types/config/wt-app-settings.d.ts +15 -0
- package/dist/cdn/types/config/wt-config.d.ts +18 -0
- package/dist/cdn/types/event/revenue-currency.d.ts +39 -0
- package/dist/cdn/types/event/wt-event.d.ts +94 -0
- package/dist/cdn/utils/activity-ticker.d.ts +12 -0
- package/dist/cdn/utils/country-finder.d.ts +9 -0
- package/dist/cdn/utils/crypto-helper.d.ts +4 -0
- package/dist/cdn/utils/device-detector.d.ts +41 -0
- package/dist/cdn/utils/logger.d.ts +36 -0
- package/dist/cdn/utils/storage-support.d.ts +16 -0
- package/dist/cdn/utils/utils.d.ts +5 -0
- package/dist/cdn/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/cjs/constants/constants.d.ts +20 -0
- package/dist/cjs/constants/endpoints.d.ts +11 -0
- package/dist/cjs/constants/environments.d.ts +25 -0
- package/dist/cjs/core/caching/queue-data.d.ts +25 -0
- package/dist/cjs/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/cjs/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/cjs/core/fields/fields-builder.d.ts +9 -0
- package/dist/cjs/core/network/api-client.d.ts +9 -0
- package/dist/cjs/core/network/network-error.d.ts +17 -0
- package/dist/cjs/core/network/network-manager.d.ts +22 -0
- package/dist/cjs/core/network/retry-policy.d.ts +8 -0
- package/dist/cjs/core/storage/storage-manager.d.ts +52 -0
- package/dist/cjs/core/wisetrack.d.ts +125 -0
- package/dist/cjs/core/wt-tracker.d.ts +25 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +3599 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/config/initial-config.d.ts +43 -0
- package/dist/cjs/types/config/wt-app-settings.d.ts +15 -0
- package/dist/cjs/types/config/wt-config.d.ts +18 -0
- package/dist/cjs/types/event/revenue-currency.d.ts +39 -0
- package/dist/cjs/types/event/wt-event.d.ts +94 -0
- package/dist/cjs/utils/activity-ticker.d.ts +12 -0
- package/dist/cjs/utils/country-finder.d.ts +9 -0
- package/dist/cjs/utils/crypto-helper.d.ts +4 -0
- package/dist/cjs/utils/device-detector.d.ts +41 -0
- package/dist/cjs/utils/logger.d.ts +36 -0
- package/dist/cjs/utils/storage-support.d.ts +16 -0
- package/dist/cjs/utils/utils.d.ts +5 -0
- package/dist/cjs/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/constants/constants.d.ts +20 -0
- package/dist/constants/constants.js +19 -0
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/endpoints.d.ts +11 -0
- package/dist/constants/endpoints.js +10 -0
- package/dist/constants/endpoints.js.map +1 -0
- package/dist/constants/environments.d.ts +25 -0
- package/dist/constants/environments.js +37 -0
- package/dist/constants/environments.js.map +1 -0
- package/dist/core/caching/queue-data.d.ts +25 -0
- package/dist/core/caching/queue-data.js +50 -0
- package/dist/core/caching/queue-data.js.map +1 -0
- package/dist/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/core/caching/request-queue-manager.js +333 -0
- package/dist/core/caching/request-queue-manager.js.map +1 -0
- package/dist/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/core/fields/event-fields-builder.js +29 -0
- package/dist/core/fields/event-fields-builder.js.map +1 -0
- package/dist/core/fields/fields-builder.d.ts +9 -0
- package/dist/core/fields/fields-builder.js +120 -0
- package/dist/core/fields/fields-builder.js.map +1 -0
- package/dist/core/network/api-client.d.ts +9 -0
- package/dist/core/network/api-client.js +88 -0
- package/dist/core/network/api-client.js.map +1 -0
- package/dist/core/network/network-error.d.ts +17 -0
- package/dist/core/network/network-error.js +35 -0
- package/dist/core/network/network-error.js.map +1 -0
- package/dist/core/network/network-manager.d.ts +22 -0
- package/dist/core/network/network-manager.js +72 -0
- package/dist/core/network/network-manager.js.map +1 -0
- package/dist/core/network/retry-policy.d.ts +8 -0
- package/dist/core/network/retry-policy.js +26 -0
- package/dist/core/network/retry-policy.js.map +1 -0
- package/dist/core/storage/storage-manager.d.ts +52 -0
- package/dist/core/storage/storage-manager.js +221 -0
- package/dist/core/storage/storage-manager.js.map +1 -0
- package/dist/core/wisetrack.d.ts +125 -0
- package/dist/core/wisetrack.js +277 -0
- package/dist/core/wisetrack.js.map +1 -0
- package/dist/core/wt-tracker.d.ts +25 -0
- package/dist/core/wt-tracker.js +239 -0
- package/dist/core/wt-tracker.js.map +1 -0
- package/dist/esm/constants/constants.d.ts +20 -0
- package/dist/esm/constants/endpoints.d.ts +11 -0
- package/dist/esm/constants/environments.d.ts +25 -0
- package/dist/esm/core/caching/queue-data.d.ts +25 -0
- package/dist/esm/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/esm/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/esm/core/fields/fields-builder.d.ts +9 -0
- package/dist/esm/core/network/api-client.d.ts +9 -0
- package/dist/esm/core/network/network-error.d.ts +17 -0
- package/dist/esm/core/network/network-manager.d.ts +22 -0
- package/dist/esm/core/network/retry-policy.d.ts +8 -0
- package/dist/esm/core/storage/storage-manager.d.ts +52 -0
- package/dist/esm/core/wisetrack.d.ts +125 -0
- package/dist/esm/core/wt-tracker.d.ts +25 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +3594 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/config/initial-config.d.ts +43 -0
- package/dist/esm/types/config/wt-app-settings.d.ts +15 -0
- package/dist/esm/types/config/wt-config.d.ts +18 -0
- package/dist/esm/types/event/revenue-currency.d.ts +39 -0
- package/dist/esm/types/event/wt-event.d.ts +94 -0
- package/dist/esm/utils/activity-ticker.d.ts +12 -0
- package/dist/esm/utils/country-finder.d.ts +9 -0
- package/dist/esm/utils/crypto-helper.d.ts +4 -0
- package/dist/esm/utils/device-detector.d.ts +41 -0
- package/dist/esm/utils/logger.d.ts +36 -0
- package/dist/esm/utils/storage-support.d.ts +16 -0
- package/dist/esm/utils/utils.d.ts +5 -0
- package/dist/esm/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/types/config/initial-config.d.ts +43 -0
- package/dist/types/config/initial-config.js +2 -0
- package/dist/types/config/initial-config.js.map +1 -0
- package/dist/types/config/wt-app-settings.d.ts +15 -0
- package/dist/types/config/wt-app-settings.js +25 -0
- package/dist/types/config/wt-app-settings.js.map +1 -0
- package/dist/types/config/wt-config.d.ts +18 -0
- package/dist/types/config/wt-config.js +28 -0
- package/dist/types/config/wt-config.js.map +1 -0
- package/dist/types/event/revenue-currency.d.ts +39 -0
- package/dist/types/event/revenue-currency.js +39 -0
- package/dist/types/event/revenue-currency.js.map +1 -0
- package/dist/types/event/wt-event.d.ts +94 -0
- package/dist/types/event/wt-event.js +93 -0
- package/dist/types/event/wt-event.js.map +1 -0
- package/dist/utils/activity-ticker.d.ts +12 -0
- package/dist/utils/activity-ticker.js +37 -0
- package/dist/utils/activity-ticker.js.map +1 -0
- package/dist/utils/country-finder.d.ts +9 -0
- package/dist/utils/country-finder.js +71 -0
- package/dist/utils/country-finder.js.map +1 -0
- package/dist/utils/crypto-helper.d.ts +4 -0
- package/dist/utils/crypto-helper.js +7 -0
- package/dist/utils/crypto-helper.js.map +1 -0
- package/dist/utils/device-detector.d.ts +41 -0
- package/dist/utils/device-detector.js +101 -0
- package/dist/utils/device-detector.js.map +1 -0
- package/dist/utils/logger.d.ts +36 -0
- package/dist/utils/logger.js +84 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/storage-support.d.ts +16 -0
- package/dist/utils/storage-support.js +86 -0
- package/dist/utils/storage-support.js.map +1 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +95 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/utils/webgl-fingerprint.js +100 -0
- package/dist/utils/webgl-fingerprint.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,333 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-queue-manager.js","sourceRoot":"","sources":["../../../src/core/caching/request-queue-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
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 { WTConstants } from "../../constants/constants";
|
|
11
|
+
import { countryFinder } from "../../utils/country-finder";
|
|
12
|
+
import { deviceDetector } from "../../utils/device-detector";
|
|
13
|
+
import { storageSupport } from "../../utils/storage-support";
|
|
14
|
+
import { Utils } from "../../utils/utils";
|
|
15
|
+
import { DeviceFingerprint } from "../../utils/webgl-fingerprint";
|
|
16
|
+
import { storageManager } from "../storage/storage-manager";
|
|
17
|
+
/** @internal */
|
|
18
|
+
export class FieldsBuilder {
|
|
19
|
+
build() {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const startTime = window.performance.now();
|
|
22
|
+
let fields = {};
|
|
23
|
+
fields.created_at = new Date().toISOString();
|
|
24
|
+
Object.assign(fields, this.getLocalFields());
|
|
25
|
+
Object.assign(fields, yield this.getApplicationFields());
|
|
26
|
+
Object.assign(fields, this.getDeviceFields());
|
|
27
|
+
fields.time_spent = (window.performance.now() - startTime).toFixed(1);
|
|
28
|
+
if (WTConstants.DEFAULTS.PARAMETERS_VALUE) {
|
|
29
|
+
fields = Object.fromEntries(Object.entries(fields).map(([key, value]) => [
|
|
30
|
+
key,
|
|
31
|
+
value === null || value === undefined
|
|
32
|
+
? WTConstants.DEFAULTS.PARAMETERS_VALUE
|
|
33
|
+
: value,
|
|
34
|
+
]));
|
|
35
|
+
}
|
|
36
|
+
if (!WTConstants.DEFAULTS.PARAMETERS_VALUE) {
|
|
37
|
+
fields = Object.fromEntries(Object.entries(fields).filter(([_, value]) => value !== null && value !== undefined));
|
|
38
|
+
}
|
|
39
|
+
return fields;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
getApplicationFields() {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const storageSupportResult = yield storageSupport.getSupportResult();
|
|
45
|
+
return {
|
|
46
|
+
connectivity_type: navigator.onLine ? "1" : "-1",
|
|
47
|
+
country: yield countryFinder.getCountryCode(),
|
|
48
|
+
package_name: window.location.hostname,
|
|
49
|
+
session_storage_enabled: storageSupportResult.sessionStorage,
|
|
50
|
+
indexed_db_enabled: storageSupportResult.indexedDB,
|
|
51
|
+
local_storage_enabled: storageSupportResult.localStorage,
|
|
52
|
+
session_storage: storageSupport
|
|
53
|
+
.getStorageSizeBytes(sessionStorage)
|
|
54
|
+
.toFixed(0),
|
|
55
|
+
local_storage: storageSupport
|
|
56
|
+
.getStorageSizeBytes(localStorage)
|
|
57
|
+
.toFixed(0),
|
|
58
|
+
web_gl_support: DeviceFingerprint.isWebGLSupported(),
|
|
59
|
+
web_gl_fingerprint: yield DeviceFingerprint.getWebGLFingerprint(),
|
|
60
|
+
web_gl_canvas_fingerprint: yield DeviceFingerprint.getCanvasFingerprint(),
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
getLocalFields() {
|
|
65
|
+
const initialConfig = storageManager.initialConfig;
|
|
66
|
+
if (!initialConfig)
|
|
67
|
+
return {};
|
|
68
|
+
return {
|
|
69
|
+
uuid: storageManager.deviceId,
|
|
70
|
+
app_token: initialConfig.appToken,
|
|
71
|
+
environment: initialConfig.userEnvironment,
|
|
72
|
+
store_name: "other",
|
|
73
|
+
app_version: initialConfig.appVersion,
|
|
74
|
+
push_token: storageManager.pushToken,
|
|
75
|
+
custom_device_id: initialConfig.customDeviceId,
|
|
76
|
+
default_tracker: initialConfig.defaultTracker,
|
|
77
|
+
platform: WTConstants.SDK.PLATFORM,
|
|
78
|
+
framework: initialConfig.appFrameWork.toLowerCase(),
|
|
79
|
+
initiated_by: `${WTConstants.SDK.PLATFORM}_${initialConfig.appFrameWork.toLowerCase()}`,
|
|
80
|
+
initiated_version: WTConstants.SDK.VERSION,
|
|
81
|
+
referrer: Utils.getUTMParamsString(),
|
|
82
|
+
installed_at: storageManager.initialDate,
|
|
83
|
+
session_count: storageManager.sessionCount.toString(),
|
|
84
|
+
session_length: parseInt((storageManager.activeDuration / 1000).toString()).toString(),
|
|
85
|
+
subsession_count: parseInt((storageManager.subSessionCount / 1000).toString()).toString(),
|
|
86
|
+
last_interval: parseInt((storageManager.inactiveDuration / 1000).toString()).toString(),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
getDeviceFields() {
|
|
90
|
+
const deviceInfo = deviceDetector.getDeviceInfo();
|
|
91
|
+
return {
|
|
92
|
+
browser_version: deviceInfo.browser.version,
|
|
93
|
+
device_manufacturer: deviceInfo.device.vendor,
|
|
94
|
+
device_name: deviceInfo.device.model,
|
|
95
|
+
device_type: deviceInfo.device.type,
|
|
96
|
+
os_name: deviceInfo.os.name,
|
|
97
|
+
os_version: deviceInfo.os.version,
|
|
98
|
+
cpu_type: deviceInfo.cpu.architecture,
|
|
99
|
+
web_user_agent: deviceInfo.ua,
|
|
100
|
+
display_height: window.innerHeight.toFixed(0),
|
|
101
|
+
display_width: window.innerWidth.toFixed(0),
|
|
102
|
+
language: navigator.language.split("-")[0],
|
|
103
|
+
screen_density: deviceDetector.screenDensity,
|
|
104
|
+
screen_format: deviceDetector.screenFormat,
|
|
105
|
+
screen_size: deviceDetector.screenSize,
|
|
106
|
+
ui_mode: deviceDetector.uiMode.toString(),
|
|
107
|
+
cpu_lpc: navigator.hardwareConcurrency.toString(),
|
|
108
|
+
ui_style: deviceDetector.uiStyle,
|
|
109
|
+
wout_width: window.outerWidth.toString(),
|
|
110
|
+
wout_height: window.outerHeight.toString(),
|
|
111
|
+
web_engine: deviceInfo.engine.name,
|
|
112
|
+
web_engine_version: deviceInfo.engine.version,
|
|
113
|
+
display_size: deviceDetector.displaySize,
|
|
114
|
+
screen_type: deviceDetector.screenType,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** @internal */
|
|
119
|
+
export const fieldsBuilder = new FieldsBuilder();
|
|
120
|
+
//# sourceMappingURL=fields-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields-builder.js","sourceRoot":"","sources":["../../../src/core/fields/fields-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WTEndpoints } from "../../constants/endpoints";
|
|
2
|
+
import { WTAppSettings } from "../../types/config/wt-app-settings";
|
|
3
|
+
import { WTConfig } from "../../types/config/wt-config";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare const apiClient: {
|
|
6
|
+
doGetConfig(): Promise<WTConfig>;
|
|
7
|
+
doGetAppSettings(): Promise<WTAppSettings>;
|
|
8
|
+
doCallRequest(endpoint: WTEndpoints, params: Record<string, any>): Promise<boolean>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
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 { WTConstants } from "../../constants/constants";
|
|
11
|
+
import { EnvironmentUtils, WTSDKEnvironment } from "../../constants/environments";
|
|
12
|
+
import { WTAppSettings } from "../../types/config/wt-app-settings";
|
|
13
|
+
import { WTConfig } from "../../types/config/wt-config";
|
|
14
|
+
import { storageManager } from "../storage/storage-manager";
|
|
15
|
+
import { networkManager } from "./network-manager";
|
|
16
|
+
/** @internal */
|
|
17
|
+
export const apiClient = {
|
|
18
|
+
doGetConfig() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const initialConfig = storageManager.initialConfig;
|
|
21
|
+
if (!initialConfig) {
|
|
22
|
+
throw "Initial Config is not set";
|
|
23
|
+
}
|
|
24
|
+
const params = {
|
|
25
|
+
app_token: initialConfig.appToken,
|
|
26
|
+
app_version: initialConfig.appVersion,
|
|
27
|
+
framework: initialConfig.appFrameWork,
|
|
28
|
+
env: EnvironmentUtils.sdkEnvironment,
|
|
29
|
+
sdk_hash: WTConstants.SDK.HASH,
|
|
30
|
+
package_name: window.location.hostname,
|
|
31
|
+
platform: WTConstants.SDK.PLATFORM,
|
|
32
|
+
store_name: "other",
|
|
33
|
+
};
|
|
34
|
+
const response = yield networkManager.sendRequest(WTConstants.CONFIG.BASE_URL, {
|
|
35
|
+
method: "POST",
|
|
36
|
+
formData: params,
|
|
37
|
+
});
|
|
38
|
+
return WTConfig.fromJson(response.result);
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
doGetAppSettings() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const initialConfig = storageManager.initialConfig;
|
|
44
|
+
const wtConfig = storageManager.config;
|
|
45
|
+
if (!initialConfig)
|
|
46
|
+
throw "Initial Config is not set";
|
|
47
|
+
if (!wtConfig)
|
|
48
|
+
throw "SDK Config is not set";
|
|
49
|
+
if (!wtConfig.appSettings)
|
|
50
|
+
throw "AppSettings Url is not set";
|
|
51
|
+
const params = {
|
|
52
|
+
app_token: initialConfig.appToken,
|
|
53
|
+
app_version: initialConfig.appVersion,
|
|
54
|
+
framework: initialConfig.appFrameWork,
|
|
55
|
+
env: EnvironmentUtils.sdkEnvironment,
|
|
56
|
+
sdk_hash: WTConstants.SDK.HASH,
|
|
57
|
+
package_name: window.location.hostname,
|
|
58
|
+
platform: WTConstants.SDK.PLATFORM,
|
|
59
|
+
store_name: "other",
|
|
60
|
+
};
|
|
61
|
+
const response = yield networkManager.sendRequest(wtConfig.baseUrl + wtConfig.appSettings, {
|
|
62
|
+
method: "POST",
|
|
63
|
+
formData: params,
|
|
64
|
+
});
|
|
65
|
+
return WTAppSettings.fromJson(response.result);
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
doCallRequest(endpoint, params) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const initialConfig = storageManager.initialConfig;
|
|
71
|
+
const wtConfig = storageManager.config;
|
|
72
|
+
if (!initialConfig)
|
|
73
|
+
throw "Initial Config is not set";
|
|
74
|
+
if (!wtConfig)
|
|
75
|
+
throw "SDK Config is not set";
|
|
76
|
+
params.updated_at = new Date().toISOString();
|
|
77
|
+
const response = yield networkManager.sendRequest(wtConfig.baseUrl + endpoint, {
|
|
78
|
+
method: "POST",
|
|
79
|
+
params: {
|
|
80
|
+
needs_response_details: EnvironmentUtils.sdkEnvironment != WTSDKEnvironment.PRODUCTION,
|
|
81
|
+
parameters: params,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
return response.success;
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/core/network/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export declare namespace ApiError {
|
|
3
|
+
class InvalidUrl extends Error {
|
|
4
|
+
constructor(url: string);
|
|
5
|
+
}
|
|
6
|
+
class ServerError extends Error {
|
|
7
|
+
statusCode: number;
|
|
8
|
+
message: string;
|
|
9
|
+
constructor(statusCode: number, message: string);
|
|
10
|
+
}
|
|
11
|
+
class NetworkError extends Error {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
class DecodingError extends Error {
|
|
15
|
+
constructor(message: string);
|
|
16
|
+
}
|
|
17
|
+
}
|