@serve.zone/dcrouter 11.0.8 → 11.0.10

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 (92) hide show
  1. package/dist_serve/bundle.js +1 -1
  2. package/dist_ts/00_commitinfo_data.js +2 -2
  3. package/dist_ts_web/00_commitinfo_data.js +2 -2
  4. package/package.json +2 -2
  5. package/ts/00_commitinfo_data.ts +1 -1
  6. package/ts_web/00_commitinfo_data.ts +1 -1
  7. package/dist_ts/cache/classes.cache.cleaner.d.ts +0 -47
  8. package/dist_ts/cache/classes.cache.cleaner.js +0 -130
  9. package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +0 -119
  10. package/dist_ts/cache/documents/classes.cached.ip.reputation.js +0 -323
  11. package/dist_ts/cache/documents/index.d.ts +0 -2
  12. package/dist_ts/cache/documents/index.js +0 -3
  13. package/dist_ts/cache/index.d.ts +0 -4
  14. package/dist_ts/cache/index.js +0 -7
  15. package/dist_ts/config/classes.api-token-manager.d.ts +0 -46
  16. package/dist_ts/config/classes.api-token-manager.js +0 -150
  17. package/dist_ts/config/classes.route-config-manager.d.ts +0 -35
  18. package/dist_ts/config/classes.route-config-manager.js +0 -231
  19. package/dist_ts/config/index.d.ts +0 -3
  20. package/dist_ts/config/index.js +0 -5
  21. package/dist_ts/config/validator.d.ts +0 -104
  22. package/dist_ts/config/validator.js +0 -152
  23. package/dist_ts/errors/base.errors.d.ts +0 -224
  24. package/dist_ts/errors/base.errors.js +0 -320
  25. package/dist_ts/errors/error-handler.d.ts +0 -98
  26. package/dist_ts/errors/error-handler.js +0 -282
  27. package/dist_ts/errors/error.codes.d.ts +0 -115
  28. package/dist_ts/errors/error.codes.js +0 -136
  29. package/dist_ts/errors/reputation.errors.d.ts +0 -183
  30. package/dist_ts/errors/reputation.errors.js +0 -292
  31. package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
  32. package/dist_ts/monitoring/classes.metricscache.js +0 -63
  33. package/dist_ts/monitoring/classes.metricsmanager.d.ts +0 -178
  34. package/dist_ts/monitoring/classes.metricsmanager.js +0 -642
  35. package/dist_ts/monitoring/index.d.ts +0 -1
  36. package/dist_ts/monitoring/index.js +0 -2
  37. package/dist_ts/opsserver/classes.opsserver.d.ts +0 -37
  38. package/dist_ts/opsserver/classes.opsserver.js +0 -85
  39. package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -31
  40. package/dist_ts/opsserver/handlers/admin.handler.js +0 -180
  41. package/dist_ts/opsserver/handlers/api-token.handler.d.ts +0 -6
  42. package/dist_ts/opsserver/handlers/api-token.handler.js +0 -62
  43. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +0 -32
  44. package/dist_ts/opsserver/handlers/certificate.handler.js +0 -421
  45. package/dist_ts/opsserver/handlers/config.handler.d.ts +0 -7
  46. package/dist_ts/opsserver/handlers/config.handler.js +0 -192
  47. package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +0 -30
  48. package/dist_ts/opsserver/handlers/email-ops.handler.js +0 -227
  49. package/dist_ts/opsserver/handlers/index.d.ts +0 -11
  50. package/dist_ts/opsserver/handlers/index.js +0 -12
  51. package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -25
  52. package/dist_ts/opsserver/handlers/logs.handler.js +0 -256
  53. package/dist_ts/opsserver/handlers/radius.handler.d.ts +0 -6
  54. package/dist_ts/opsserver/handlers/radius.handler.js +0 -295
  55. package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +0 -6
  56. package/dist_ts/opsserver/handlers/remoteingress.handler.js +0 -156
  57. package/dist_ts/opsserver/handlers/route-management.handler.d.ts +0 -14
  58. package/dist_ts/opsserver/handlers/route-management.handler.js +0 -117
  59. package/dist_ts/opsserver/handlers/security.handler.d.ts +0 -9
  60. package/dist_ts/opsserver/handlers/security.handler.js +0 -231
  61. package/dist_ts/opsserver/handlers/stats.handler.d.ts +0 -11
  62. package/dist_ts/opsserver/handlers/stats.handler.js +0 -399
  63. package/dist_ts/opsserver/helpers/guards.d.ts +0 -27
  64. package/dist_ts/opsserver/helpers/guards.js +0 -43
  65. package/dist_ts/opsserver/index.d.ts +0 -1
  66. package/dist_ts/opsserver/index.js +0 -2
  67. package/dist_ts/radius/classes.accounting.manager.d.ts +0 -218
  68. package/dist_ts/radius/classes.accounting.manager.js +0 -417
  69. package/dist_ts/radius/classes.radius.server.d.ts +0 -171
  70. package/dist_ts/radius/classes.radius.server.js +0 -385
  71. package/dist_ts/radius/classes.vlan.manager.d.ts +0 -128
  72. package/dist_ts/radius/classes.vlan.manager.js +0 -279
  73. package/dist_ts/radius/index.d.ts +0 -13
  74. package/dist_ts/radius/index.js +0 -14
  75. package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +0 -82
  76. package/dist_ts/remoteingress/classes.remoteingress-manager.js +0 -227
  77. package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +0 -59
  78. package/dist_ts/remoteingress/classes.tunnel-manager.js +0 -165
  79. package/dist_ts/remoteingress/index.d.ts +0 -2
  80. package/dist_ts/remoteingress/index.js +0 -3
  81. package/dist_ts/security/classes.contentscanner.d.ts +0 -164
  82. package/dist_ts/security/classes.contentscanner.js +0 -642
  83. package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -160
  84. package/dist_ts/security/classes.ipreputationchecker.js +0 -537
  85. package/dist_ts/security/classes.securitylogger.d.ts +0 -144
  86. package/dist_ts/security/classes.securitylogger.js +0 -233
  87. package/dist_ts/security/index.d.ts +0 -3
  88. package/dist_ts/security/index.js +0 -4
  89. package/dist_ts/storage/classes.storagemanager.d.ts +0 -83
  90. package/dist_ts/storage/classes.storagemanager.js +0 -350
  91. package/dist_ts/storage/index.d.ts +0 -1
  92. package/dist_ts/storage/index.js +0 -3
@@ -1,183 +0,0 @@
1
- import { PlatformError, OperationError, ResourceError } from './base.errors.js';
2
- import type { IErrorContext } from './base.errors.js';
3
- /**
4
- * Base class for reputation-related errors
5
- */
6
- export declare class ReputationError extends OperationError {
7
- /**
8
- * Creates a new reputation error
9
- *
10
- * @param message Error message
11
- * @param code Error code
12
- * @param context Additional context
13
- */
14
- constructor(message: string, code: string, context?: IErrorContext);
15
- }
16
- /**
17
- * Error class for reputation check errors
18
- */
19
- export declare class ReputationCheckError extends ReputationError {
20
- /**
21
- * Creates a new reputation check error
22
- *
23
- * @param message Error message
24
- * @param context Additional context
25
- */
26
- constructor(message: string, context?: IErrorContext);
27
- /**
28
- * Creates a new instance with updated context
29
- */
30
- protected createWithContext(context: IErrorContext): PlatformError;
31
- /**
32
- * Creates an instance for an IP reputation check error
33
- *
34
- * @param ip IP address
35
- * @param provider Reputation provider
36
- * @param originalError Original error
37
- * @param context Additional context
38
- */
39
- static ipCheckFailed(ip: string, provider: string, originalError?: Error, context?: IErrorContext): ReputationCheckError;
40
- /**
41
- * Creates an instance for a domain reputation check error
42
- *
43
- * @param domain Domain
44
- * @param provider Reputation provider
45
- * @param originalError Original error
46
- * @param context Additional context
47
- */
48
- static domainCheckFailed(domain: string, provider: string, originalError?: Error, context?: IErrorContext): ReputationCheckError;
49
- }
50
- /**
51
- * Error class for reputation data errors
52
- */
53
- export declare class ReputationDataError extends ReputationError {
54
- /**
55
- * Creates a new reputation data error
56
- *
57
- * @param message Error message
58
- * @param context Additional context
59
- */
60
- constructor(message: string, context?: IErrorContext);
61
- /**
62
- * Creates a new instance with updated context
63
- */
64
- protected createWithContext(context: IErrorContext): PlatformError;
65
- /**
66
- * Creates an instance for a data access error
67
- *
68
- * @param entity Entity type (domain, ip)
69
- * @param entityId Entity identifier
70
- * @param operation Operation that failed (read, write, update)
71
- * @param originalError Original error
72
- * @param context Additional context
73
- */
74
- static dataAccessFailed(entity: string, entityId: string, operation: string, originalError?: Error, context?: IErrorContext): ReputationDataError;
75
- }
76
- /**
77
- * Error class for blocklist-related errors
78
- */
79
- export declare class BlocklistError extends ReputationError {
80
- /**
81
- * Creates a new blocklist error
82
- *
83
- * @param message Error message
84
- * @param context Additional context
85
- */
86
- constructor(message: string, context?: IErrorContext);
87
- /**
88
- * Creates a new instance with updated context
89
- */
90
- protected createWithContext(context: IErrorContext): PlatformError;
91
- /**
92
- * Creates an instance for an entity found on a blocklist
93
- *
94
- * @param entity Entity type (domain, ip)
95
- * @param entityId Entity identifier
96
- * @param blocklist Blocklist name
97
- * @param reason Reason for listing (if available)
98
- * @param context Additional context
99
- */
100
- static entityBlocked(entity: string, entityId: string, blocklist: string, reason?: string, context?: IErrorContext): BlocklistError;
101
- }
102
- /**
103
- * Error class for reputation update errors
104
- */
105
- export declare class ReputationUpdateError extends ReputationError {
106
- /**
107
- * Creates a new reputation update error
108
- *
109
- * @param message Error message
110
- * @param context Additional context
111
- */
112
- constructor(message: string, context?: IErrorContext);
113
- /**
114
- * Creates a new instance with updated context
115
- */
116
- protected createWithContext(context: IErrorContext): PlatformError;
117
- }
118
- /**
119
- * Error class for IP warmup allocation errors
120
- */
121
- export declare class WarmupAllocationError extends ReputationError {
122
- /**
123
- * Creates a new warmup allocation error
124
- *
125
- * @param message Error message
126
- * @param context Additional context
127
- */
128
- constructor(message: string, context?: IErrorContext);
129
- /**
130
- * Creates a new instance with updated context
131
- */
132
- protected createWithContext(context: IErrorContext): PlatformError;
133
- /**
134
- * Creates an instance for no available IPs
135
- *
136
- * @param domain Domain requesting an IP
137
- * @param policy Allocation policy that was used
138
- * @param context Additional context
139
- */
140
- static noAvailableIps(domain: string, policy: string, context?: IErrorContext): WarmupAllocationError;
141
- }
142
- /**
143
- * Error class for IP warmup limit exceeded errors
144
- */
145
- export declare class WarmupLimitError extends ResourceError {
146
- /**
147
- * Creates a new warmup limit error
148
- *
149
- * @param message Error message
150
- * @param context Additional context
151
- */
152
- constructor(message: string, context?: IErrorContext);
153
- /**
154
- * Creates a new instance with updated context
155
- */
156
- protected createWithContext(context: IErrorContext): PlatformError;
157
- /**
158
- * Creates an instance for daily sending limit exceeded
159
- *
160
- * @param ip IP address
161
- * @param domain Domain
162
- * @param limit Daily limit
163
- * @param sent Number of emails sent
164
- * @param context Additional context
165
- */
166
- static dailyLimitExceeded(ip: string, domain: string, limit: number, sent: number, context?: IErrorContext): WarmupLimitError;
167
- }
168
- /**
169
- * Error class for IP warmup schedule errors
170
- */
171
- export declare class WarmupScheduleError extends ReputationError {
172
- /**
173
- * Creates a new warmup schedule error
174
- *
175
- * @param message Error message
176
- * @param context Additional context
177
- */
178
- constructor(message: string, context?: IErrorContext);
179
- /**
180
- * Creates a new instance with updated context
181
- */
182
- protected createWithContext(context: IErrorContext): PlatformError;
183
- }
@@ -1,292 +0,0 @@
1
- import { PlatformError, OperationError, ResourceError } from './base.errors.js';
2
- import { REPUTATION_CHECK_ERROR, REPUTATION_DATA_ERROR, REPUTATION_BLOCKLIST_ERROR, REPUTATION_UPDATE_ERROR, WARMUP_ALLOCATION_ERROR, WARMUP_LIMIT_EXCEEDED, WARMUP_SCHEDULE_ERROR } from './error.codes.js';
3
- /**
4
- * Base class for reputation-related errors
5
- */
6
- export class ReputationError extends OperationError {
7
- /**
8
- * Creates a new reputation error
9
- *
10
- * @param message Error message
11
- * @param code Error code
12
- * @param context Additional context
13
- */
14
- constructor(message, code, context = {}) {
15
- super(message, code, context);
16
- }
17
- }
18
- /**
19
- * Error class for reputation check errors
20
- */
21
- export class ReputationCheckError extends ReputationError {
22
- /**
23
- * Creates a new reputation check error
24
- *
25
- * @param message Error message
26
- * @param context Additional context
27
- */
28
- constructor(message, context = {}) {
29
- super(message, REPUTATION_CHECK_ERROR, context);
30
- }
31
- /**
32
- * Creates a new instance with updated context
33
- */
34
- createWithContext(context) {
35
- return new this.constructor(this.message, context);
36
- }
37
- /**
38
- * Creates an instance for an IP reputation check error
39
- *
40
- * @param ip IP address
41
- * @param provider Reputation provider
42
- * @param originalError Original error
43
- * @param context Additional context
44
- */
45
- static ipCheckFailed(ip, provider, originalError, context = {}) {
46
- const errorMsg = originalError ? `: ${originalError.message}` : '';
47
- return new ReputationCheckError(`Failed to check reputation for IP ${ip} with provider ${provider}${errorMsg}`, {
48
- ...context,
49
- data: {
50
- ...context.data,
51
- ip,
52
- provider,
53
- originalError: originalError ? {
54
- message: originalError.message,
55
- stack: originalError.stack
56
- } : undefined
57
- }
58
- });
59
- }
60
- /**
61
- * Creates an instance for a domain reputation check error
62
- *
63
- * @param domain Domain
64
- * @param provider Reputation provider
65
- * @param originalError Original error
66
- * @param context Additional context
67
- */
68
- static domainCheckFailed(domain, provider, originalError, context = {}) {
69
- const errorMsg = originalError ? `: ${originalError.message}` : '';
70
- return new ReputationCheckError(`Failed to check reputation for domain ${domain} with provider ${provider}${errorMsg}`, {
71
- ...context,
72
- data: {
73
- ...context.data,
74
- domain,
75
- provider,
76
- originalError: originalError ? {
77
- message: originalError.message,
78
- stack: originalError.stack
79
- } : undefined
80
- }
81
- });
82
- }
83
- }
84
- /**
85
- * Error class for reputation data errors
86
- */
87
- export class ReputationDataError extends ReputationError {
88
- /**
89
- * Creates a new reputation data error
90
- *
91
- * @param message Error message
92
- * @param context Additional context
93
- */
94
- constructor(message, context = {}) {
95
- super(message, REPUTATION_DATA_ERROR, context);
96
- }
97
- /**
98
- * Creates a new instance with updated context
99
- */
100
- createWithContext(context) {
101
- return new this.constructor(this.message, context);
102
- }
103
- /**
104
- * Creates an instance for a data access error
105
- *
106
- * @param entity Entity type (domain, ip)
107
- * @param entityId Entity identifier
108
- * @param operation Operation that failed (read, write, update)
109
- * @param originalError Original error
110
- * @param context Additional context
111
- */
112
- static dataAccessFailed(entity, entityId, operation, originalError, context = {}) {
113
- const errorMsg = originalError ? `: ${originalError.message}` : '';
114
- return new ReputationDataError(`Failed to ${operation} reputation data for ${entity} ${entityId}${errorMsg}`, {
115
- ...context,
116
- data: {
117
- ...context.data,
118
- entity,
119
- entityId,
120
- operation,
121
- originalError: originalError ? {
122
- message: originalError.message,
123
- stack: originalError.stack
124
- } : undefined
125
- }
126
- });
127
- }
128
- }
129
- /**
130
- * Error class for blocklist-related errors
131
- */
132
- export class BlocklistError extends ReputationError {
133
- /**
134
- * Creates a new blocklist error
135
- *
136
- * @param message Error message
137
- * @param context Additional context
138
- */
139
- constructor(message, context = {}) {
140
- super(message, REPUTATION_BLOCKLIST_ERROR, context);
141
- }
142
- /**
143
- * Creates a new instance with updated context
144
- */
145
- createWithContext(context) {
146
- return new this.constructor(this.message, context);
147
- }
148
- /**
149
- * Creates an instance for an entity found on a blocklist
150
- *
151
- * @param entity Entity type (domain, ip)
152
- * @param entityId Entity identifier
153
- * @param blocklist Blocklist name
154
- * @param reason Reason for listing (if available)
155
- * @param context Additional context
156
- */
157
- static entityBlocked(entity, entityId, blocklist, reason, context = {}) {
158
- const reasonText = reason ? ` (${reason})` : '';
159
- return new BlocklistError(`${entity.charAt(0).toUpperCase() + entity.slice(1)} ${entityId} is listed on blocklist ${blocklist}${reasonText}`, {
160
- ...context,
161
- data: {
162
- ...context.data,
163
- entity,
164
- entityId,
165
- blocklist,
166
- reason
167
- },
168
- userMessage: `The ${entity} ${entityId} is on a blocklist. This may affect email deliverability.`
169
- });
170
- }
171
- }
172
- /**
173
- * Error class for reputation update errors
174
- */
175
- export class ReputationUpdateError extends ReputationError {
176
- /**
177
- * Creates a new reputation update error
178
- *
179
- * @param message Error message
180
- * @param context Additional context
181
- */
182
- constructor(message, context = {}) {
183
- super(message, REPUTATION_UPDATE_ERROR, context);
184
- }
185
- /**
186
- * Creates a new instance with updated context
187
- */
188
- createWithContext(context) {
189
- return new this.constructor(this.message, context);
190
- }
191
- }
192
- /**
193
- * Error class for IP warmup allocation errors
194
- */
195
- export class WarmupAllocationError extends ReputationError {
196
- /**
197
- * Creates a new warmup allocation error
198
- *
199
- * @param message Error message
200
- * @param context Additional context
201
- */
202
- constructor(message, context = {}) {
203
- super(message, WARMUP_ALLOCATION_ERROR, context);
204
- }
205
- /**
206
- * Creates a new instance with updated context
207
- */
208
- createWithContext(context) {
209
- return new this.constructor(this.message, context);
210
- }
211
- /**
212
- * Creates an instance for no available IPs
213
- *
214
- * @param domain Domain requesting an IP
215
- * @param policy Allocation policy that was used
216
- * @param context Additional context
217
- */
218
- static noAvailableIps(domain, policy, context = {}) {
219
- return new WarmupAllocationError(`No available IPs for domain ${domain} using ${policy} allocation policy`, {
220
- ...context,
221
- data: {
222
- ...context.data,
223
- domain,
224
- policy
225
- },
226
- userMessage: `No available sending IPs for ${domain}.`
227
- });
228
- }
229
- }
230
- /**
231
- * Error class for IP warmup limit exceeded errors
232
- */
233
- export class WarmupLimitError extends ResourceError {
234
- /**
235
- * Creates a new warmup limit error
236
- *
237
- * @param message Error message
238
- * @param context Additional context
239
- */
240
- constructor(message, context = {}) {
241
- super(message, WARMUP_LIMIT_EXCEEDED, context);
242
- }
243
- /**
244
- * Creates a new instance with updated context
245
- */
246
- createWithContext(context) {
247
- return new this.constructor(this.message, context);
248
- }
249
- /**
250
- * Creates an instance for daily sending limit exceeded
251
- *
252
- * @param ip IP address
253
- * @param domain Domain
254
- * @param limit Daily limit
255
- * @param sent Number of emails sent
256
- * @param context Additional context
257
- */
258
- static dailyLimitExceeded(ip, domain, limit, sent, context = {}) {
259
- return new WarmupLimitError(`Daily sending limit exceeded for IP ${ip} and domain ${domain}: ${sent}/${limit}`, {
260
- ...context,
261
- data: {
262
- ...context.data,
263
- ip,
264
- domain,
265
- limit,
266
- sent
267
- },
268
- userMessage: `Daily sending limit reached for ${domain}.`
269
- });
270
- }
271
- }
272
- /**
273
- * Error class for IP warmup schedule errors
274
- */
275
- export class WarmupScheduleError extends ReputationError {
276
- /**
277
- * Creates a new warmup schedule error
278
- *
279
- * @param message Error message
280
- * @param context Additional context
281
- */
282
- constructor(message, context = {}) {
283
- super(message, WARMUP_SCHEDULE_ERROR, context);
284
- }
285
- /**
286
- * Creates a new instance with updated context
287
- */
288
- createWithContext(context) {
289
- return new this.constructor(this.message, context);
290
- }
291
- }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwdXRhdGlvbi5lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9lcnJvcnMvcmVwdXRhdGlvbi5lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2QsYUFBYSxFQUNkLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN0QixNQUFNLGtCQUFrQixDQUFDO0FBRTFCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUNqRDs7Ozs7O09BTUc7SUFDSCxZQUNFLE9BQWUsRUFDZixJQUFZLEVBQ1osVUFBeUIsRUFBRTtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBQ3ZEOzs7OztPQUtHO0lBQ0gsWUFDRSxPQUFlLEVBQ2YsVUFBeUIsRUFBRTtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE9BQXNCO1FBQ2hELE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBMkMsQ0FDMUQsSUFBSSxDQUFDLE9BQU8sRUFDWixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FDekIsRUFBVSxFQUNWLFFBQWdCLEVBQ2hCLGFBQXFCLEVBQ3JCLFVBQXlCLEVBQUU7UUFFM0IsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IscUNBQXFDLEVBQUUsa0JBQWtCLFFBQVEsR0FBRyxRQUFRLEVBQUUsRUFDOUU7WUFDRSxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFDZixFQUFFO2dCQUNGLFFBQVE7Z0JBQ1IsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTztvQkFDOUIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLO2lCQUMzQixDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2Q7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsTUFBYyxFQUNkLFFBQWdCLEVBQ2hCLGFBQXFCLEVBQ3JCLFVBQXlCLEVBQUU7UUFFM0IsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IseUNBQXlDLE1BQU0sa0JBQWtCLFFBQVEsR0FBRyxRQUFRLEVBQUUsRUFDdEY7WUFDRSxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFDZixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTztvQkFDOUIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLO2lCQUMzQixDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2Q7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBQ3REOzs7OztPQUtHO0lBQ0gsWUFDRSxPQUFlLEVBQ2YsVUFBeUIsRUFBRTtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE9BQXNCO1FBQ2hELE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBMEMsQ0FDekQsSUFBSSxDQUFDLE9BQU8sRUFDWixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDNUIsTUFBYyxFQUNkLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLGFBQXFCLEVBQ3JCLFVBQXlCLEVBQUU7UUFFM0IsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxtQkFBbUIsQ0FDNUIsYUFBYSxTQUFTLHdCQUF3QixNQUFNLElBQUksUUFBUSxHQUFHLFFBQVEsRUFBRSxFQUM3RTtZQUNFLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU8sQ0FBQyxJQUFJO2dCQUNmLE1BQU07Z0JBQ04sUUFBUTtnQkFDUixTQUFTO2dCQUNULGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUM3QixPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU87b0JBQzlCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztpQkFDM0IsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNkO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGVBQWU7SUFDakQ7Ozs7O09BS0c7SUFDSCxZQUNFLE9BQWUsRUFDZixVQUF5QixFQUFFO1FBRTNCLEtBQUssQ0FBQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCLENBQUMsT0FBc0I7UUFDaEQsT0FBTyxJQUFLLElBQUksQ0FBQyxXQUFxQyxDQUNwRCxJQUFJLENBQUMsT0FBTyxFQUNaLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FDekIsTUFBYyxFQUNkLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLE1BQWUsRUFDZixVQUF5QixFQUFFO1FBRTNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxjQUFjLENBQ3ZCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsMkJBQTJCLFNBQVMsR0FBRyxVQUFVLEVBQUUsRUFDbEg7WUFDRSxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFDZixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxNQUFNO2FBQ1A7WUFDRCxXQUFXLEVBQUUsT0FBTyxNQUFNLElBQUksUUFBUSwyREFBMkQ7U0FDbEcsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUN4RDs7Ozs7T0FLRztJQUNILFlBQ0UsT0FBZSxFQUNmLFVBQXlCLEVBQUU7UUFFM0IsS0FBSyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUIsQ0FBQyxPQUFzQjtRQUNoRCxPQUFPLElBQUssSUFBSSxDQUFDLFdBQTRDLENBQzNELElBQUksQ0FBQyxPQUFPLEVBQ1osT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBQ3hEOzs7OztPQUtHO0lBQ0gsWUFDRSxPQUFlLEVBQ2YsVUFBeUIsRUFBRTtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE9BQXNCO1FBQ2hELE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBNEMsQ0FDM0QsSUFBSSxDQUFDLE9BQU8sRUFDWixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUMxQixNQUFjLEVBQ2QsTUFBYyxFQUNkLFVBQXlCLEVBQUU7UUFFM0IsT0FBTyxJQUFJLHFCQUFxQixDQUM5QiwrQkFBK0IsTUFBTSxVQUFVLE1BQU0sb0JBQW9CLEVBQ3pFO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLEdBQUcsT0FBTyxDQUFDLElBQUk7Z0JBQ2YsTUFBTTtnQkFDTixNQUFNO2FBQ1A7WUFDRCxXQUFXLEVBQUUsZ0NBQWdDLE1BQU0sR0FBRztTQUN2RCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBQ2pEOzs7OztPQUtHO0lBQ0gsWUFDRSxPQUFlLEVBQ2YsVUFBeUIsRUFBRTtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE9BQXNCO1FBQ2hELE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBdUMsQ0FDdEQsSUFBSSxDQUFDLE9BQU8sRUFDWixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDOUIsRUFBVSxFQUNWLE1BQWMsRUFDZCxLQUFhLEVBQ2IsSUFBWSxFQUNaLFVBQXlCLEVBQUU7UUFFM0IsT0FBTyxJQUFJLGdCQUFnQixDQUN6Qix1Q0FBdUMsRUFBRSxlQUFlLE1BQU0sS0FBSyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQ2xGO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLEdBQUcsT0FBTyxDQUFDLElBQUk7Z0JBQ2YsRUFBRTtnQkFDRixNQUFNO2dCQUNOLEtBQUs7Z0JBQ0wsSUFBSTthQUNMO1lBQ0QsV0FBVyxFQUFFLG1DQUFtQyxNQUFNLEdBQUc7U0FDMUQsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQUN0RDs7Ozs7T0FLRztJQUNILFlBQ0UsT0FBZSxFQUNmLFVBQXlCLEVBQUU7UUFFM0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUIsQ0FBQyxPQUFzQjtRQUNoRCxPQUFPLElBQUssSUFBSSxDQUFDLFdBQTBDLENBQ3pELElBQUksQ0FBQyxPQUFPLEVBQ1osT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,32 +0,0 @@
1
- export interface ICacheEntry<T> {
2
- data: T;
3
- timestamp: number;
4
- }
5
- export declare class MetricsCache {
6
- private cache;
7
- private readonly defaultTTL;
8
- constructor(defaultTTL?: number);
9
- /**
10
- * Get cached data or compute and cache it
11
- */
12
- get<T>(key: string, computeFn: () => T | Promise<T>, ttl?: number): T | Promise<T>;
13
- /**
14
- * Invalidate a specific cache entry
15
- */
16
- invalidate(key: string): void;
17
- /**
18
- * Clear all cache entries
19
- */
20
- clear(): void;
21
- /**
22
- * Get cache statistics
23
- */
24
- getStats(): {
25
- size: number;
26
- keys: string[];
27
- };
28
- /**
29
- * Clean up expired entries
30
- */
31
- cleanup(): void;
32
- }
@@ -1,63 +0,0 @@
1
- export class MetricsCache {
2
- cache = new Map();
3
- defaultTTL;
4
- constructor(defaultTTL = 500) {
5
- this.defaultTTL = defaultTTL;
6
- }
7
- /**
8
- * Get cached data or compute and cache it
9
- */
10
- get(key, computeFn, ttl) {
11
- const cached = this.cache.get(key);
12
- const now = Date.now();
13
- const actualTTL = ttl ?? this.defaultTTL;
14
- if (cached && (now - cached.timestamp) < actualTTL) {
15
- return cached.data;
16
- }
17
- const result = computeFn();
18
- // Handle both sync and async compute functions
19
- if (result instanceof Promise) {
20
- return result.then(data => {
21
- this.cache.set(key, { data, timestamp: now });
22
- return data;
23
- });
24
- }
25
- else {
26
- this.cache.set(key, { data: result, timestamp: now });
27
- return result;
28
- }
29
- }
30
- /**
31
- * Invalidate a specific cache entry
32
- */
33
- invalidate(key) {
34
- this.cache.delete(key);
35
- }
36
- /**
37
- * Clear all cache entries
38
- */
39
- clear() {
40
- this.cache.clear();
41
- }
42
- /**
43
- * Get cache statistics
44
- */
45
- getStats() {
46
- return {
47
- size: this.cache.size,
48
- keys: Array.from(this.cache.keys())
49
- };
50
- }
51
- /**
52
- * Clean up expired entries
53
- */
54
- cleanup() {
55
- const now = Date.now();
56
- for (const [key, entry] of this.cache.entries()) {
57
- if (now - entry.timestamp > this.defaultTTL) {
58
- this.cache.delete(key);
59
- }
60
- }
61
- }
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5tZXRyaWNzY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb25pdG9yaW5nL2NsYXNzZXMubWV0cmljc2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxZQUFZO0lBQ2YsS0FBSyxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO0lBQ25DLFVBQVUsQ0FBUztJQUVwQyxZQUFZLGFBQXFCLEdBQUc7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFJLEdBQVcsRUFBRSxTQUErQixFQUFFLEdBQVk7UUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRXpDLElBQUksTUFBTSxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBRTNCLCtDQUErQztRQUMvQyxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUM5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDOUMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN0RCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQVc7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQ3JCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==