@ductape/sdk 0.0.4-v16 → 0.0.4-v17

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.
Files changed (65) hide show
  1. package/dist/api/services/pricingApi.service.d.ts +10 -0
  2. package/dist/api/services/pricingApi.service.js +34 -0
  3. package/dist/api/services/pricingApi.service.js.map +1 -0
  4. package/dist/api/urls.d.ts +2 -0
  5. package/dist/api/urls.js +8 -1
  6. package/dist/api/urls.js.map +1 -1
  7. package/dist/apps/services/app.service.js +1 -1
  8. package/dist/apps/services/app.service.js.map +1 -1
  9. package/dist/clients/pricing.client.d.ts +3 -0
  10. package/dist/clients/pricing.client.js +33 -0
  11. package/dist/clients/pricing.client.js.map +1 -0
  12. package/dist/inputs/utils/inputs.utils.create.js +1 -1
  13. package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
  14. package/dist/logs/logs.types.d.ts +4 -0
  15. package/dist/logs/logs.types.js.map +1 -1
  16. package/dist/pricing/pricing.repo.d.ts +0 -0
  17. package/dist/pricing/pricing.repo.js +1 -0
  18. package/dist/pricing/pricing.repo.js.map +1 -0
  19. package/dist/pricing/pricing.service.d.ts +24 -0
  20. package/dist/pricing/pricing.service.js +51 -0
  21. package/dist/pricing/pricing.service.js.map +1 -0
  22. package/dist/pricing/pricing.types.d.ts +76 -0
  23. package/dist/pricing/pricing.types.js +21 -0
  24. package/dist/pricing/pricing.types.js.map +1 -0
  25. package/dist/pricing/utils/string.utils.d.ts +1 -0
  26. package/dist/pricing/utils/string.utils.js +9 -0
  27. package/dist/pricing/utils/string.utils.js.map +1 -0
  28. package/dist/processor/services/processor.service.d.ts +6 -0
  29. package/dist/processor/services/processor.service.js +108 -3
  30. package/dist/processor/services/processor.service.js.map +1 -1
  31. package/dist/processor/services/request.service.d.ts +36 -0
  32. package/dist/processor/services/request.service.js +304 -0
  33. package/dist/processor/services/request.service.js.map +1 -0
  34. package/dist/processor/types/request.types.d.ts +14 -0
  35. package/dist/processor/types/request.types.js +3 -0
  36. package/dist/processor/types/request.types.js.map +1 -0
  37. package/dist/processor/utils/processor.utils.js +23 -19
  38. package/dist/processor/utils/processor.utils.js.map +1 -1
  39. package/dist/processor/utils/request.utils.d.ts +20 -0
  40. package/dist/processor/utils/request.utils.js +113 -0
  41. package/dist/processor/utils/request.utils.js.map +1 -0
  42. package/dist/products/services/products.service.js +3 -0
  43. package/dist/products/services/products.service.js.map +1 -1
  44. package/dist/test/test.imports.js +5 -8
  45. package/dist/test/test.imports.js.map +1 -1
  46. package/dist/test/test.processor.js +13 -26
  47. package/dist/test/test.processor.js.map +1 -1
  48. package/dist/test/test.products.d.ts +1 -0
  49. package/dist/test/test.products.js +49 -0
  50. package/dist/test/test.products.js.map +1 -0
  51. package/dist/types/pricing.types.d.ts +4 -0
  52. package/dist/types/pricing.types.js +3 -0
  53. package/dist/types/pricing.types.js.map +1 -0
  54. package/dist/types/productsBuilder.types.d.ts +6 -1
  55. package/dist/types/productsBuilder.types.js +6 -1
  56. package/dist/types/productsBuilder.types.js.map +1 -1
  57. package/dist/types/request-tracker.interface.d.ts +0 -0
  58. package/dist/types/request-tracker.interface.js +1 -0
  59. package/dist/types/request-tracker.interface.js.map +1 -0
  60. package/dist/utils/constants.d.ts +1 -0
  61. package/dist/utils/constants.js +5 -0
  62. package/dist/utils/constants.js.map +1 -0
  63. package/dist/utils/index.js +1 -1
  64. package/dist/utils/index.js.map +1 -1
  65. package/package.json +5 -2
@@ -0,0 +1,36 @@
1
+ import Redis from 'ioredis';
2
+ import { IRequestCounter } from "../types/request.types";
3
+ export interface IRequestTrackerService {
4
+ incrementRequest(app_id: string, workspace_id: string): Promise<IRequestCounter>;
5
+ getRequestCount(app_id: string, workspace_id: string): Promise<IRequestCounter>;
6
+ cleanup(maxAge?: number): Promise<void>;
7
+ disconnect(): Promise<void>;
8
+ }
9
+ export default class RequestTrackerService implements IRequestTrackerService {
10
+ private static instance;
11
+ private redis;
12
+ private readonly KEY_PREFIX;
13
+ private readonly LOCK_PREFIX;
14
+ constructor(redis_client: Redis, redisUrl?: string);
15
+ static getInstance(redis_client: Redis, redisUrl?: string): RequestTrackerService;
16
+ private getUniqueKey;
17
+ private getRedisKey;
18
+ private getLockKey;
19
+ private initializeCounter;
20
+ private shouldResetCounter;
21
+ private resetCounterIfNeeded;
22
+ private getCounterFromRedis;
23
+ private setCounterInRedis;
24
+ private acquireLock;
25
+ private releaseLock;
26
+ incrementRequest(app_id: string, workspace_id: string): Promise<IRequestCounter>;
27
+ getRequestCount(app_id: string, workspace_id: string): Promise<IRequestCounter>;
28
+ cleanup(maxAge?: number): Promise<void>;
29
+ disconnect(): Promise<void>;
30
+ healthCheck(): Promise<boolean>;
31
+ getConnectionStatus(): string;
32
+ getMultipleRequestCounts(requests: Array<{
33
+ app_id: string;
34
+ workspace_id: string;
35
+ }>): Promise<Map<string, IRequestCounter>>;
36
+ }
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const ioredis_1 = __importDefault(require("ioredis"));
14
+ const constants_1 = require("../../utils/constants");
15
+ class RequestTrackerService {
16
+ constructor(redis_client, redisUrl = constants_1.REDIS_URL) {
17
+ this.KEY_PREFIX = 'request_tracker';
18
+ this.LOCK_PREFIX = 'lock:request_tracker';
19
+ this.redis = redis_client || new ioredis_1.default(redisUrl, {
20
+ enableReadyCheck: false,
21
+ lazyConnect: true,
22
+ maxRetriesPerRequest: 3,
23
+ connectTimeout: 10000,
24
+ commandTimeout: 5000,
25
+ });
26
+ this.redis.on('error', (err) => {
27
+ console.error('Redis connection error:', err);
28
+ });
29
+ this.redis.on('ready', () => {
30
+ console.log('Redis connection established');
31
+ });
32
+ }
33
+ static getInstance(redis_client, redisUrl = constants_1.REDIS_URL) {
34
+ if (!RequestTrackerService.instance) {
35
+ if (!redisUrl) {
36
+ throw new Error('Redis URL is required for first initialization');
37
+ }
38
+ RequestTrackerService.instance = new RequestTrackerService(redis_client, redisUrl);
39
+ }
40
+ return RequestTrackerService.instance;
41
+ }
42
+ getUniqueKey(app_id, workspace_id) {
43
+ return `${app_id}:${workspace_id}`;
44
+ }
45
+ getRedisKey(app_id, workspace_id) {
46
+ return `${this.KEY_PREFIX}:${app_id}:${workspace_id}`;
47
+ }
48
+ getLockKey(app_id, workspace_id) {
49
+ return `${this.LOCK_PREFIX}:${app_id}:${workspace_id}`;
50
+ }
51
+ initializeCounter() {
52
+ const now = new Date();
53
+ return {
54
+ per_minute: 0,
55
+ per_hour: 0,
56
+ per_day: 0,
57
+ per_week: 0,
58
+ per_month: 0,
59
+ last_reset: {
60
+ minute: now,
61
+ hour: now,
62
+ day: now,
63
+ week: now,
64
+ month: now,
65
+ }
66
+ };
67
+ }
68
+ shouldResetCounter(lastReset, interval) {
69
+ const now = new Date();
70
+ const diff = now.getTime() - lastReset.getTime();
71
+ switch (interval) {
72
+ case 'minute':
73
+ return diff >= 60 * 1000; // 1 minute
74
+ case 'hour':
75
+ return diff >= 60 * 60 * 1000; // 1 hour
76
+ case 'day':
77
+ return diff >= 24 * 60 * 60 * 1000; // 1 day
78
+ case 'week':
79
+ return diff >= 7 * 24 * 60 * 60 * 1000; // 1 week
80
+ case 'month':
81
+ const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
82
+ return lastReset < monthStart;
83
+ default:
84
+ return false;
85
+ }
86
+ }
87
+ resetCounterIfNeeded(counter) {
88
+ const now = new Date();
89
+ const intervals = ['minute', 'hour', 'day', 'week', 'month'];
90
+ let wasReset = false;
91
+ intervals.forEach(interval => {
92
+ if (this.shouldResetCounter(counter.last_reset[interval], interval)) {
93
+ counter[`per_${interval}`] = 0;
94
+ counter.last_reset[interval] = now;
95
+ wasReset = true;
96
+ }
97
+ });
98
+ return wasReset;
99
+ }
100
+ async getCounterFromRedis(key) {
101
+ try {
102
+ const data = await this.redis.get(key);
103
+ if (!data)
104
+ return null;
105
+ const parsed = JSON.parse(data);
106
+ // Convert date strings back to Date objects
107
+ Object.keys(parsed.last_reset).forEach(interval => {
108
+ parsed.last_reset[interval] = new Date(parsed.last_reset[interval]);
109
+ });
110
+ return parsed;
111
+ }
112
+ catch (error) {
113
+ console.error('Error getting counter from Redis:', error);
114
+ return null;
115
+ }
116
+ }
117
+ async setCounterInRedis(key, counter) {
118
+ try {
119
+ // Set TTL based on the longest interval (1 month + buffer)
120
+ const ttl = 32 * 24 * 60 * 60; // 32 days in seconds
121
+ await this.redis.setex(key, ttl, JSON.stringify(counter));
122
+ }
123
+ catch (error) {
124
+ console.error('Error setting counter in Redis:', error);
125
+ throw error;
126
+ }
127
+ }
128
+ async acquireLock(lockKey, ttl = 5) {
129
+ try {
130
+ const result = await this.redis.set(lockKey, '1', 'EX', ttl, 'NX');
131
+ return result === 'OK';
132
+ }
133
+ catch (error) {
134
+ console.error('Error acquiring lock:', error);
135
+ return false;
136
+ }
137
+ }
138
+ async releaseLock(lockKey) {
139
+ try {
140
+ await this.redis.del(lockKey);
141
+ }
142
+ catch (error) {
143
+ console.error('Error releasing lock:', error);
144
+ }
145
+ }
146
+ async incrementRequest(app_id, workspace_id) {
147
+ const key = this.getRedisKey(app_id, workspace_id);
148
+ const lockKey = this.getLockKey(app_id, workspace_id);
149
+ // Acquire lock to prevent race conditions
150
+ const lockAcquired = await this.acquireLock(lockKey);
151
+ if (!lockAcquired) {
152
+ // If we can't acquire lock, wait a bit and try to get current count
153
+ await new Promise(resolve => setTimeout(resolve, 100));
154
+ return this.getRequestCount(app_id, workspace_id);
155
+ }
156
+ try {
157
+ let counter = await this.getCounterFromRedis(key);
158
+ if (!counter) {
159
+ counter = this.initializeCounter();
160
+ }
161
+ this.resetCounterIfNeeded(counter);
162
+ // Increment all counters
163
+ counter.per_minute++;
164
+ counter.per_hour++;
165
+ counter.per_day++;
166
+ counter.per_week++;
167
+ counter.per_month++;
168
+ await this.setCounterInRedis(key, counter);
169
+ return Object.assign({}, counter);
170
+ }
171
+ finally {
172
+ await this.releaseLock(lockKey);
173
+ }
174
+ }
175
+ async getRequestCount(app_id, workspace_id) {
176
+ const key = this.getRedisKey(app_id, workspace_id);
177
+ let counter = await this.getCounterFromRedis(key);
178
+ if (!counter) {
179
+ counter = this.initializeCounter();
180
+ await this.setCounterInRedis(key, counter);
181
+ }
182
+ else {
183
+ const wasReset = this.resetCounterIfNeeded(counter);
184
+ if (wasReset) {
185
+ await this.setCounterInRedis(key, counter);
186
+ }
187
+ }
188
+ return Object.assign({}, counter);
189
+ }
190
+ async cleanup(maxAge = 24 * 60 * 60 * 1000) {
191
+ var _a, e_1, _b, _c;
192
+ try {
193
+ const pattern = `${this.KEY_PREFIX}:*`;
194
+ const stream = this.redis.scanStream({
195
+ match: pattern,
196
+ count: 100
197
+ });
198
+ const now = new Date();
199
+ const keysToDelete = [];
200
+ try {
201
+ for (var _d = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = await stream_1.next(), _a = stream_1_1.done, !_a; _d = true) {
202
+ _c = stream_1_1.value;
203
+ _d = false;
204
+ const keys = _c;
205
+ for (const key of keys) {
206
+ try {
207
+ const counter = await this.getCounterFromRedis(key);
208
+ if (counter) {
209
+ const oldestReset = Math.min(...Object.values(counter.last_reset).map(d => d.getTime()));
210
+ if (now.getTime() - oldestReset > maxAge) {
211
+ keysToDelete.push(key);
212
+ }
213
+ }
214
+ }
215
+ catch (error) {
216
+ console.error(`Error checking key ${key} for cleanup:`, error);
217
+ // If we can't read the key, it's probably corrupt, so delete it
218
+ keysToDelete.push(key);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
224
+ finally {
225
+ try {
226
+ if (!_d && !_a && (_b = stream_1.return)) await _b.call(stream_1);
227
+ }
228
+ finally { if (e_1) throw e_1.error; }
229
+ }
230
+ if (keysToDelete.length > 0) {
231
+ await this.redis.del(...keysToDelete);
232
+ console.log(`Cleaned up ${keysToDelete.length} expired request counters`);
233
+ }
234
+ }
235
+ catch (error) {
236
+ console.error('Error during cleanup:', error);
237
+ }
238
+ }
239
+ async disconnect() {
240
+ try {
241
+ await this.redis.quit();
242
+ }
243
+ catch (error) {
244
+ console.error('Error disconnecting from Redis:', error);
245
+ }
246
+ }
247
+ // Health check method
248
+ async healthCheck() {
249
+ try {
250
+ const result = await this.redis.ping();
251
+ return result === 'PONG';
252
+ }
253
+ catch (error) {
254
+ console.error('Redis health check failed:', error);
255
+ return false;
256
+ }
257
+ }
258
+ // Get Redis connection status
259
+ getConnectionStatus() {
260
+ return this.redis.status;
261
+ }
262
+ // Batch operations for efficiency
263
+ async getMultipleRequestCounts(requests) {
264
+ const pipeline = this.redis.pipeline();
265
+ const keys = requests.map(req => this.getRedisKey(req.app_id, req.workspace_id));
266
+ keys.forEach(key => {
267
+ pipeline.get(key);
268
+ });
269
+ try {
270
+ const results = await pipeline.exec();
271
+ const counters = new Map();
272
+ for (let i = 0; i < requests.length; i++) {
273
+ const result = results === null || results === void 0 ? void 0 : results[i];
274
+ const request = requests[i];
275
+ const uniqueKey = this.getUniqueKey(request.app_id, request.workspace_id);
276
+ if (result && result[1]) {
277
+ try {
278
+ const parsed = JSON.parse(result[1]);
279
+ // Convert date strings back to Date objects
280
+ Object.keys(parsed.last_reset).forEach(interval => {
281
+ parsed.last_reset[interval] = new Date(parsed.last_reset[interval]);
282
+ });
283
+ this.resetCounterIfNeeded(parsed);
284
+ counters.set(uniqueKey, parsed);
285
+ }
286
+ catch (error) {
287
+ console.error(`Error parsing counter for ${uniqueKey}:`, error);
288
+ counters.set(uniqueKey, this.initializeCounter());
289
+ }
290
+ }
291
+ else {
292
+ counters.set(uniqueKey, this.initializeCounter());
293
+ }
294
+ }
295
+ return counters;
296
+ }
297
+ catch (error) {
298
+ console.error('Error in batch get operation:', error);
299
+ throw error;
300
+ }
301
+ }
302
+ }
303
+ exports.default = RequestTrackerService;
304
+ //# sourceMappingURL=request.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../../src/processor/services/request.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface IRequestCounter {
2
+ per_minute: number;
3
+ per_hour: number;
4
+ per_day: number;
5
+ per_week: number;
6
+ per_month: number;
7
+ last_reset: {
8
+ minute: Date;
9
+ hour: Date;
10
+ day: Date;
11
+ week: Date;
12
+ month: Date;
13
+ };
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.types.js","sourceRoot":"","sources":["../../../src/processor/types/request.types.ts"],"names":[],"mappings":""}
@@ -950,25 +950,29 @@ function anonymizeObject(obj) {
950
950
  return anonymized;
951
951
  }
952
952
  function anonymizeValue(value) {
953
- // Quick heuristic: if contains '=', assume urlencoded query string format
954
- if (value.includes('=')) {
955
- // Try parse key=value pairs
956
- const pairs = value.split('&');
957
- // If any pair does NOT contain '=', fallback to full masking (not a valid query string)
958
- if (pairs.some(pair => !pair.includes('='))) {
959
- return maskString(value);
960
- }
961
- const anonymizedPairs = pairs.map(pair => {
962
- const [key, val = ''] = pair.split('=');
963
- // Decode URI component for masking, then re-encode after masking to keep URL safe
964
- const decodedVal = decodeURIComponent(val);
965
- const maskedVal = maskString(decodedVal);
966
- return `${key}=${encodeURIComponent(maskedVal)}`;
967
- });
968
- return anonymizedPairs.join('&');
969
- }
970
- // Not URL query string, mask whole value
971
- return maskString(value);
953
+ const [localPart, domainPart] = value.split("@");
954
+ if (!localPart || !domainPart) {
955
+ throw new Error("Invalid email format");
956
+ }
957
+ // Mask Local Part (Username)
958
+ const localSegments = localPart.split(".");
959
+ const maskedLocal = localSegments
960
+ .map(segment => {
961
+ if (segment.length <= 2)
962
+ return segment[0] + "*";
963
+ return segment[0] + "*".repeat(segment.length - 2) + segment.slice(-1);
964
+ })
965
+ .join(".");
966
+ // Mask Domain Part (e.g., example.com)
967
+ const domainSegments = domainPart.split(".");
968
+ const maskedDomain = domainSegments
969
+ .map(segment => {
970
+ if (segment.length <= 2)
971
+ return segment[0] + "*";
972
+ return segment[0] + "*".repeat(segment.length - 2) + segment.slice(-1);
973
+ })
974
+ .join(".");
975
+ return `${maskedLocal}@${maskedDomain}`;
972
976
  }
973
977
  // Your existing mask logic, renamed for clarity
974
978
  function maskString(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"processor.utils.js","sourceRoot":"","sources":["../../../src/processor/utils/processor.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.utils.js","sourceRoot":"","sources":["../../../src/processor/utils/processor.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PricingMode } from 'aws-sdk/clients/iottwinmaker';
2
+ import { IPricingLimits } from '../../pricing/pricing.types';
3
+ import { IRequestCounter } from '../types/request.types';
4
+ import { IRequestTrackerService } from '../services/request.service';
5
+ export declare function isFreeTag(pricing_tag: string): boolean;
6
+ export declare function checkLimitExceeded(requests: IRequestCounter, limits: IPricingLimits): {
7
+ exceeded: boolean;
8
+ exceededLimits: string[];
9
+ };
10
+ export declare function calculateOverageRequests(requests: IRequestCounter, limits: IPricingLimits): number;
11
+ export declare function calculateRequests(requests: IRequestCounter): number;
12
+ export declare function calculateCost(pricing_mode: PricingMode, unit_price: number, requests: number): number;
13
+ export declare function getRequestStats(app_id: string, workspace_id: string, requestTrackerService: IRequestTrackerService): Promise<IRequestCounter>;
14
+ export declare function resetRequestCounter(app_id: string, workspace_id: string, requestTrackerService: IRequestTrackerService): Promise<void>;
15
+ export declare function cleanupOldCounters(requestTrackerService: IRequestTrackerService): Promise<void>;
16
+ export declare function checkRateLimit(app_id: string, workspace_id: string, limits: IPricingLimits, requestTrackerService: IRequestTrackerService): Promise<{
17
+ allowed: boolean;
18
+ reason?: string;
19
+ reset_time?: Date;
20
+ }>;