@serve.zone/dcrouter 11.0.8 → 11.0.9

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 (88) hide show
  1. package/dist_serve/bundle.js +1 -1
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  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.codes.d.ts +0 -115
  26. package/dist_ts/errors/error.codes.js +0 -136
  27. package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
  28. package/dist_ts/monitoring/classes.metricscache.js +0 -63
  29. package/dist_ts/monitoring/classes.metricsmanager.d.ts +0 -178
  30. package/dist_ts/monitoring/classes.metricsmanager.js +0 -642
  31. package/dist_ts/monitoring/index.d.ts +0 -1
  32. package/dist_ts/monitoring/index.js +0 -2
  33. package/dist_ts/opsserver/classes.opsserver.d.ts +0 -37
  34. package/dist_ts/opsserver/classes.opsserver.js +0 -85
  35. package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -31
  36. package/dist_ts/opsserver/handlers/admin.handler.js +0 -180
  37. package/dist_ts/opsserver/handlers/api-token.handler.d.ts +0 -6
  38. package/dist_ts/opsserver/handlers/api-token.handler.js +0 -62
  39. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +0 -32
  40. package/dist_ts/opsserver/handlers/certificate.handler.js +0 -421
  41. package/dist_ts/opsserver/handlers/config.handler.d.ts +0 -7
  42. package/dist_ts/opsserver/handlers/config.handler.js +0 -192
  43. package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +0 -30
  44. package/dist_ts/opsserver/handlers/email-ops.handler.js +0 -227
  45. package/dist_ts/opsserver/handlers/index.d.ts +0 -11
  46. package/dist_ts/opsserver/handlers/index.js +0 -12
  47. package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -25
  48. package/dist_ts/opsserver/handlers/logs.handler.js +0 -256
  49. package/dist_ts/opsserver/handlers/radius.handler.d.ts +0 -6
  50. package/dist_ts/opsserver/handlers/radius.handler.js +0 -295
  51. package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +0 -6
  52. package/dist_ts/opsserver/handlers/remoteingress.handler.js +0 -156
  53. package/dist_ts/opsserver/handlers/route-management.handler.d.ts +0 -14
  54. package/dist_ts/opsserver/handlers/route-management.handler.js +0 -117
  55. package/dist_ts/opsserver/handlers/security.handler.d.ts +0 -9
  56. package/dist_ts/opsserver/handlers/security.handler.js +0 -231
  57. package/dist_ts/opsserver/handlers/stats.handler.d.ts +0 -11
  58. package/dist_ts/opsserver/handlers/stats.handler.js +0 -399
  59. package/dist_ts/opsserver/helpers/guards.d.ts +0 -27
  60. package/dist_ts/opsserver/helpers/guards.js +0 -43
  61. package/dist_ts/opsserver/index.d.ts +0 -1
  62. package/dist_ts/opsserver/index.js +0 -2
  63. package/dist_ts/radius/classes.accounting.manager.d.ts +0 -218
  64. package/dist_ts/radius/classes.accounting.manager.js +0 -417
  65. package/dist_ts/radius/classes.radius.server.d.ts +0 -171
  66. package/dist_ts/radius/classes.radius.server.js +0 -385
  67. package/dist_ts/radius/classes.vlan.manager.d.ts +0 -128
  68. package/dist_ts/radius/classes.vlan.manager.js +0 -279
  69. package/dist_ts/radius/index.d.ts +0 -13
  70. package/dist_ts/radius/index.js +0 -14
  71. package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +0 -82
  72. package/dist_ts/remoteingress/classes.remoteingress-manager.js +0 -227
  73. package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +0 -59
  74. package/dist_ts/remoteingress/classes.tunnel-manager.js +0 -165
  75. package/dist_ts/remoteingress/index.d.ts +0 -2
  76. package/dist_ts/remoteingress/index.js +0 -3
  77. package/dist_ts/security/classes.contentscanner.d.ts +0 -164
  78. package/dist_ts/security/classes.contentscanner.js +0 -642
  79. package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -160
  80. package/dist_ts/security/classes.ipreputationchecker.js +0 -537
  81. package/dist_ts/security/classes.securitylogger.d.ts +0 -144
  82. package/dist_ts/security/classes.securitylogger.js +0 -233
  83. package/dist_ts/security/index.d.ts +0 -3
  84. package/dist_ts/security/index.js +0 -4
  85. package/dist_ts/storage/classes.storagemanager.d.ts +0 -83
  86. package/dist_ts/storage/classes.storagemanager.js +0 -350
  87. package/dist_ts/storage/index.d.ts +0 -1
  88. package/dist_ts/storage/index.js +0 -3
@@ -1,136 +0,0 @@
1
- /**
2
- * Platform Service Error Codes
3
- *
4
- * This file contains all error codes used across the platform service.
5
- *
6
- * Format: PREFIX_ERROR_TYPE
7
- * - PREFIX: Component/domain prefix (e.g., EMAIL, MTA, SMS)
8
- * - ERROR_TYPE: Specific error type within the domain
9
- */
10
- // General platform errors (PLATFORM_*)
11
- export const PLATFORM_INITIALIZATION_ERROR = 'PLATFORM_INITIALIZATION_ERROR';
12
- export const PLATFORM_CONFIGURATION_ERROR = 'PLATFORM_CONFIGURATION_ERROR';
13
- export const PLATFORM_OPERATION_ERROR = 'PLATFORM_OPERATION_ERROR';
14
- export const PLATFORM_NOT_IMPLEMENTED = 'PLATFORM_NOT_IMPLEMENTED';
15
- export const PLATFORM_NOT_SUPPORTED = 'PLATFORM_NOT_SUPPORTED';
16
- export const PLATFORM_SERVICE_UNAVAILABLE = 'PLATFORM_SERVICE_UNAVAILABLE';
17
- // Email service errors (EMAIL_*)
18
- export const EMAIL_SERVICE_ERROR = 'EMAIL_SERVICE_ERROR';
19
- export const EMAIL_TEMPLATE_ERROR = 'EMAIL_TEMPLATE_ERROR';
20
- export const EMAIL_VALIDATION_ERROR = 'EMAIL_VALIDATION_ERROR';
21
- export const EMAIL_SEND_ERROR = 'EMAIL_SEND_ERROR';
22
- export const EMAIL_RECEIVE_ERROR = 'EMAIL_RECEIVE_ERROR';
23
- export const EMAIL_ATTACHMENT_ERROR = 'EMAIL_ATTACHMENT_ERROR';
24
- export const EMAIL_PARSE_ERROR = 'EMAIL_PARSE_ERROR';
25
- export const EMAIL_RATE_LIMIT_EXCEEDED = 'EMAIL_RATE_LIMIT_EXCEEDED';
26
- // MTA-specific errors (MTA_*)
27
- export const MTA_CONNECTION_ERROR = 'MTA_CONNECTION_ERROR';
28
- export const MTA_AUTHENTICATION_ERROR = 'MTA_AUTHENTICATION_ERROR';
29
- export const MTA_DELIVERY_ERROR = 'MTA_DELIVERY_ERROR';
30
- export const MTA_CONFIGURATION_ERROR = 'MTA_CONFIGURATION_ERROR';
31
- export const MTA_DNS_ERROR = 'MTA_DNS_ERROR';
32
- export const MTA_TIMEOUT_ERROR = 'MTA_TIMEOUT_ERROR';
33
- export const MTA_PROTOCOL_ERROR = 'MTA_PROTOCOL_ERROR';
34
- // Bounce management errors (BOUNCE_*)
35
- export const BOUNCE_PROCESSING_ERROR = 'BOUNCE_PROCESSING_ERROR';
36
- export const BOUNCE_STORAGE_ERROR = 'BOUNCE_STORAGE_ERROR';
37
- export const BOUNCE_CLASSIFICATION_ERROR = 'BOUNCE_CLASSIFICATION_ERROR';
38
- // Email authentication errors (AUTH_*)
39
- export const AUTH_SPF_ERROR = 'AUTH_SPF_ERROR';
40
- export const AUTH_DKIM_ERROR = 'AUTH_DKIM_ERROR';
41
- export const AUTH_DMARC_ERROR = 'AUTH_DMARC_ERROR';
42
- export const AUTH_KEY_ERROR = 'AUTH_KEY_ERROR';
43
- // Content scanning errors (SCAN_*)
44
- export const SCAN_ANALYSIS_ERROR = 'SCAN_ANALYSIS_ERROR';
45
- export const SCAN_MALWARE_DETECTED = 'SCAN_MALWARE_DETECTED';
46
- export const SCAN_PHISHING_DETECTED = 'SCAN_PHISHING_DETECTED';
47
- export const SCAN_CONTENT_REJECTED = 'SCAN_CONTENT_REJECTED';
48
- // IP and reputation errors (REPUTATION_*)
49
- export const REPUTATION_CHECK_ERROR = 'REPUTATION_CHECK_ERROR';
50
- export const REPUTATION_DATA_ERROR = 'REPUTATION_DATA_ERROR';
51
- export const REPUTATION_BLOCKLIST_ERROR = 'REPUTATION_BLOCKLIST_ERROR';
52
- export const REPUTATION_UPDATE_ERROR = 'REPUTATION_UPDATE_ERROR';
53
- // IP warmup errors (WARMUP_*)
54
- export const WARMUP_ALLOCATION_ERROR = 'WARMUP_ALLOCATION_ERROR';
55
- export const WARMUP_LIMIT_EXCEEDED = 'WARMUP_LIMIT_EXCEEDED';
56
- export const WARMUP_SCHEDULE_ERROR = 'WARMUP_SCHEDULE_ERROR';
57
- // Network and connectivity errors (NETWORK_*)
58
- export const NETWORK_CONNECTION_ERROR = 'NETWORK_CONNECTION_ERROR';
59
- export const NETWORK_TIMEOUT = 'NETWORK_TIMEOUT';
60
- export const NETWORK_DNS_ERROR = 'NETWORK_DNS_ERROR';
61
- export const NETWORK_TLS_ERROR = 'NETWORK_TLS_ERROR';
62
- // Queue and processing errors (QUEUE_*)
63
- export const QUEUE_FULL_ERROR = 'QUEUE_FULL_ERROR';
64
- export const QUEUE_PROCESSING_ERROR = 'QUEUE_PROCESSING_ERROR';
65
- export const QUEUE_PERSISTENCE_ERROR = 'QUEUE_PERSISTENCE_ERROR';
66
- export const QUEUE_ITEM_NOT_FOUND = 'QUEUE_ITEM_NOT_FOUND';
67
- // DcRouter errors (DCR_*)
68
- export const DCR_ROUTING_ERROR = 'DCR_ROUTING_ERROR';
69
- export const DCR_CONFIGURATION_ERROR = 'DCR_CONFIGURATION_ERROR';
70
- export const DCR_PROXY_ERROR = 'DCR_PROXY_ERROR';
71
- export const DCR_DOMAIN_ERROR = 'DCR_DOMAIN_ERROR';
72
- // SMS service errors (SMS_*)
73
- export const SMS_SERVICE_ERROR = 'SMS_SERVICE_ERROR';
74
- export const SMS_SEND_ERROR = 'SMS_SEND_ERROR';
75
- export const SMS_VALIDATION_ERROR = 'SMS_VALIDATION_ERROR';
76
- export const SMS_RATE_LIMIT_EXCEEDED = 'SMS_RATE_LIMIT_EXCEEDED';
77
- // Storage errors (STORAGE_*)
78
- export const STORAGE_WRITE_ERROR = 'STORAGE_WRITE_ERROR';
79
- export const STORAGE_READ_ERROR = 'STORAGE_READ_ERROR';
80
- export const STORAGE_DELETE_ERROR = 'STORAGE_DELETE_ERROR';
81
- export const STORAGE_QUOTA_EXCEEDED = 'STORAGE_QUOTA_EXCEEDED';
82
- // Rule management errors (RULE_*)
83
- export const RULE_VALIDATION_ERROR = 'RULE_VALIDATION_ERROR';
84
- export const RULE_EXECUTION_ERROR = 'RULE_EXECUTION_ERROR';
85
- export const RULE_NOT_FOUND = 'RULE_NOT_FOUND';
86
- // Type definitions for error severity
87
- export var ErrorSeverity;
88
- (function (ErrorSeverity) {
89
- /** Critical errors that require immediate attention */
90
- ErrorSeverity["CRITICAL"] = "CRITICAL";
91
- /** High-impact errors that may affect service functioning */
92
- ErrorSeverity["HIGH"] = "HIGH";
93
- /** Medium-impact errors that cause partial degradation */
94
- ErrorSeverity["MEDIUM"] = "MEDIUM";
95
- /** Low-impact errors that have minimal or local impact */
96
- ErrorSeverity["LOW"] = "LOW";
97
- /** Informational errors that are not problematic */
98
- ErrorSeverity["INFO"] = "INFO";
99
- })(ErrorSeverity || (ErrorSeverity = {}));
100
- // Type definitions for error categories
101
- export var ErrorCategory;
102
- (function (ErrorCategory) {
103
- /** Errors related to configuration */
104
- ErrorCategory["CONFIGURATION"] = "CONFIGURATION";
105
- /** Errors related to network connectivity */
106
- ErrorCategory["CONNECTIVITY"] = "CONNECTIVITY";
107
- /** Errors related to authentication/authorization */
108
- ErrorCategory["AUTHENTICATION"] = "AUTHENTICATION";
109
- /** Errors related to data validation */
110
- ErrorCategory["VALIDATION"] = "VALIDATION";
111
- /** Errors related to resource availability */
112
- ErrorCategory["RESOURCE"] = "RESOURCE";
113
- /** Errors related to service operations */
114
- ErrorCategory["OPERATION"] = "OPERATION";
115
- /** Errors related to third-party integrations */
116
- ErrorCategory["INTEGRATION"] = "INTEGRATION";
117
- /** Errors related to security */
118
- ErrorCategory["SECURITY"] = "SECURITY";
119
- /** Errors related to data storage */
120
- ErrorCategory["STORAGE"] = "STORAGE";
121
- /** Errors that don't fit into other categories */
122
- ErrorCategory["OTHER"] = "OTHER";
123
- })(ErrorCategory || (ErrorCategory = {}));
124
- // Type definitions for error recoverability
125
- export var ErrorRecoverability;
126
- (function (ErrorRecoverability) {
127
- /** Error cannot be automatically recovered from */
128
- ErrorRecoverability["NON_RECOVERABLE"] = "NON_RECOVERABLE";
129
- /** Error might be recoverable with retry */
130
- ErrorRecoverability["MAYBE_RECOVERABLE"] = "MAYBE_RECOVERABLE";
131
- /** Error is definitely recoverable with retries */
132
- ErrorRecoverability["RECOVERABLE"] = "RECOVERABLE";
133
- /** Error is transient and should resolve without action */
134
- ErrorRecoverability["TRANSIENT"] = "TRANSIENT";
135
- })(ErrorRecoverability || (ErrorRecoverability = {}));
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9lcnJvcnMvZXJyb3IuY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsOEJBQThCLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsd0JBQXdCLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsOEJBQThCLENBQUM7QUFFM0UsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDJCQUEyQixDQUFDO0FBRXJFLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRywwQkFBMEIsQ0FBQztB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
@@ -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==
@@ -1,178 +0,0 @@
1
- import { DcRouter } from '../classes.dcrouter.js';
2
- export declare class MetricsManager {
3
- private metricsLogger;
4
- private smartMetrics;
5
- private dcRouter;
6
- private resetInterval?;
7
- private metricsCache;
8
- private readonly MAX_TOP_DOMAINS;
9
- private emailMetrics;
10
- private dnsMetrics;
11
- private emailMinuteBuckets;
12
- private dnsMinuteBuckets;
13
- private securityMetrics;
14
- constructor(dcRouter: DcRouter);
15
- start(): Promise<void>;
16
- stop(): Promise<void>;
17
- getServerStats(): Promise<{
18
- uptime: number;
19
- startTime: number;
20
- memoryUsage: {
21
- heapUsed: number;
22
- heapTotal: number;
23
- external: number;
24
- rss: number;
25
- maxMemoryMB: number;
26
- actualUsageBytes: number;
27
- actualUsagePercentage: number;
28
- };
29
- cpuUsage: {
30
- user: number;
31
- system: number;
32
- };
33
- activeConnections: any;
34
- totalConnections: number;
35
- requestsPerSecond: number;
36
- throughput: {
37
- bytesIn: number;
38
- bytesOut: number;
39
- bytesInPerSecond: number;
40
- bytesOutPerSecond: number;
41
- };
42
- }>;
43
- getEmailStats(): Promise<{
44
- sentToday: number;
45
- receivedToday: number;
46
- failedToday: number;
47
- bounceRate: number;
48
- deliveryRate: number;
49
- queueSize: number;
50
- averageDeliveryTime: number;
51
- topRecipients: {
52
- email: string;
53
- count: number;
54
- }[];
55
- recentActivity: {
56
- timestamp: number;
57
- type: string;
58
- details: string;
59
- }[];
60
- }>;
61
- getDnsStats(): Promise<{
62
- queriesPerSecond: number;
63
- totalQueries: number;
64
- cacheHits: number;
65
- cacheMisses: number;
66
- cacheHitRate: number;
67
- topDomains: {
68
- domain: string;
69
- count: number;
70
- }[];
71
- queryTypes: Record<string, number>;
72
- averageResponseTime: number;
73
- activeDomains: number;
74
- recentQueries: {
75
- timestamp: number;
76
- domain: string;
77
- type: string;
78
- answered: boolean;
79
- responseTimeMs: number;
80
- }[];
81
- }>;
82
- /**
83
- * Sync security metrics from the SecurityLogger singleton (last 24h).
84
- * Called before returning security stats so counters reflect real events.
85
- */
86
- private syncFromSecurityLogger;
87
- getSecurityStats(): Promise<{
88
- blockedIPs: number;
89
- authFailures: number;
90
- spamDetected: number;
91
- malwareDetected: number;
92
- phishingDetected: number;
93
- totalThreatsBlocked: number;
94
- recentIncidents: {
95
- timestamp: number;
96
- type: string;
97
- severity: string;
98
- details: string;
99
- }[];
100
- }>;
101
- getConnectionInfo(): Promise<any[]>;
102
- trackEmailSent(recipient?: string, deliveryTimeMs?: number): void;
103
- trackEmailReceived(sender?: string): void;
104
- trackEmailFailed(recipient?: string, reason?: string): void;
105
- trackEmailBounced(recipient?: string): void;
106
- updateQueueSize(size: number): void;
107
- trackDnsQuery(queryType: string, domain: string, cacheHit: boolean, responseTimeMs?: number, answered?: boolean): void;
108
- trackBlockedIP(ip?: string, reason?: string): void;
109
- trackAuthFailure(username?: string, ip?: string): void;
110
- trackSpamDetected(sender?: string): void;
111
- trackMalwareDetected(source?: string): void;
112
- trackPhishingDetected(source?: string): void;
113
- getNetworkStats(): Promise<{
114
- connectionsByIP: Map<string, number>;
115
- throughputRate: {
116
- bytesInPerSecond: number;
117
- bytesOutPerSecond: number;
118
- };
119
- topIPs: Array<{
120
- ip: string;
121
- count: number;
122
- }>;
123
- totalDataTransferred: {
124
- bytesIn: number;
125
- bytesOut: number;
126
- };
127
- throughputHistory: Array<{
128
- timestamp: number;
129
- in: number;
130
- out: number;
131
- }>;
132
- throughputByIP: Map<string, {
133
- in: number;
134
- out: number;
135
- }>;
136
- requestsPerSecond: number;
137
- requestsTotal: number;
138
- }>;
139
- private static minuteKey;
140
- private incrementEmailBucket;
141
- private incrementDnsBucket;
142
- /**
143
- * Increment the per-second query counter in the ring buffer.
144
- * Zeros any stale slots between the last write and the current second.
145
- */
146
- private incrementQueryRing;
147
- /**
148
- * Sum query counts from the ring buffer for the last N seconds.
149
- */
150
- private getQueryRingSum;
151
- private pruneOldBuckets;
152
- /**
153
- * Get email time-series data for the last N hours, aggregated per minute.
154
- */
155
- getEmailTimeSeries(hours?: number): {
156
- sent: Array<{
157
- timestamp: number;
158
- value: number;
159
- }>;
160
- received: Array<{
161
- timestamp: number;
162
- value: number;
163
- }>;
164
- failed: Array<{
165
- timestamp: number;
166
- value: number;
167
- }>;
168
- };
169
- /**
170
- * Get DNS time-series data for the last N hours, aggregated per minute.
171
- */
172
- getDnsTimeSeries(hours?: number): {
173
- queries: Array<{
174
- timestamp: number;
175
- value: number;
176
- }>;
177
- };
178
- }