@bernierllc/backoff-retry 0.1.1 → 0.3.1
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/CHANGELOG.md +13 -0
- package/README.md +110 -0
- package/dist/enhancement-manager.d.ts +205 -0
- package/dist/enhancement-manager.d.ts.map +1 -0
- package/dist/enhancement-manager.js +533 -0
- package/dist/enhancement-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/memory-protection.js +1 -1
- package/dist/memory-protection.js.map +1 -1
- package/dist/neveradmin/components/RetryAnalyticsPage.d.ts +15 -0
- package/dist/neveradmin/components/RetryAnalyticsPage.d.ts.map +1 -0
- package/dist/neveradmin/components/RetryAnalyticsPage.js +28 -0
- package/dist/neveradmin/components/RetryAnalyticsPage.js.map +1 -0
- package/dist/neveradmin/components/RetryConfigurationPage.d.ts +15 -0
- package/dist/neveradmin/components/RetryConfigurationPage.d.ts.map +1 -0
- package/dist/neveradmin/components/RetryConfigurationPage.js +28 -0
- package/dist/neveradmin/components/RetryConfigurationPage.js.map +1 -0
- package/dist/neveradmin/components/RetryEnhancementsPage.d.ts +15 -0
- package/dist/neveradmin/components/RetryEnhancementsPage.d.ts.map +1 -0
- package/dist/neveradmin/components/RetryEnhancementsPage.js +28 -0
- package/dist/neveradmin/components/RetryEnhancementsPage.js.map +1 -0
- package/dist/neveradmin/components/RetryOperationsPage.d.ts +15 -0
- package/dist/neveradmin/components/RetryOperationsPage.d.ts.map +1 -0
- package/dist/neveradmin/components/RetryOperationsPage.js +28 -0
- package/dist/neveradmin/components/RetryOperationsPage.js.map +1 -0
- package/dist/neveradmin/components/RetryOverviewPage.d.ts +15 -0
- package/dist/neveradmin/components/RetryOverviewPage.d.ts.map +1 -0
- package/dist/neveradmin/components/RetryOverviewPage.js +28 -0
- package/dist/neveradmin/components/RetryOverviewPage.js.map +1 -0
- package/dist/neveradmin/components/index.d.ts +7 -0
- package/dist/neveradmin/components/index.d.ts.map +1 -0
- package/dist/neveradmin/components/index.js +32 -0
- package/dist/neveradmin/components/index.js.map +1 -0
- package/dist/neveradmin/components/types.d.ts +64 -0
- package/dist/neveradmin/components/types.d.ts.map +1 -0
- package/dist/neveradmin/components/types.js +10 -0
- package/dist/neveradmin/components/types.js.map +1 -0
- package/dist/neveradmin/hooks/index.d.ts +5 -0
- package/dist/neveradmin/hooks/index.d.ts.map +1 -0
- package/dist/neveradmin/hooks/index.js +28 -0
- package/dist/neveradmin/hooks/index.js.map +1 -0
- package/dist/neveradmin/hooks/useRetryConfiguration.d.ts +23 -0
- package/dist/neveradmin/hooks/useRetryConfiguration.d.ts.map +1 -0
- package/dist/neveradmin/hooks/useRetryConfiguration.js +162 -0
- package/dist/neveradmin/hooks/useRetryConfiguration.js.map +1 -0
- package/dist/neveradmin/hooks/useRetryEnhancements.d.ts +39 -0
- package/dist/neveradmin/hooks/useRetryEnhancements.d.ts.map +1 -0
- package/dist/neveradmin/hooks/useRetryEnhancements.js +197 -0
- package/dist/neveradmin/hooks/useRetryEnhancements.js.map +1 -0
- package/dist/neveradmin/hooks/useRetryOperations.d.ts +28 -0
- package/dist/neveradmin/hooks/useRetryOperations.d.ts.map +1 -0
- package/dist/neveradmin/hooks/useRetryOperations.js +166 -0
- package/dist/neveradmin/hooks/useRetryOperations.js.map +1 -0
- package/dist/neveradmin/hooks/useRetryStats.d.ts +19 -0
- package/dist/neveradmin/hooks/useRetryStats.d.ts.map +1 -0
- package/dist/neveradmin/hooks/useRetryStats.js +81 -0
- package/dist/neveradmin/hooks/useRetryStats.js.map +1 -0
- package/dist/neveradmin/index.d.ts +6 -0
- package/dist/neveradmin/index.d.ts.map +1 -0
- package/dist/neveradmin/index.js +29 -0
- package/dist/neveradmin/index.js.map +1 -0
- package/dist/neveradmin/registration.d.ts +33 -0
- package/dist/neveradmin/registration.d.ts.map +1 -0
- package/dist/neveradmin/registration.js +96 -0
- package/dist/neveradmin/registration.js.map +1 -0
- package/dist/neveradmin/types.d.ts +88 -0
- package/dist/neveradmin/types.d.ts.map +1 -0
- package/dist/neveradmin/types.js +10 -0
- package/dist/neveradmin/types.js.map +1 -0
- package/dist/neveradmin/utils/formatting.d.ts +41 -0
- package/dist/neveradmin/utils/formatting.d.ts.map +1 -0
- package/dist/neveradmin/utils/formatting.js +142 -0
- package/dist/neveradmin/utils/formatting.js.map +1 -0
- package/dist/neveradmin/utils/index.d.ts +4 -0
- package/dist/neveradmin/utils/index.d.ts.map +1 -0
- package/dist/neveradmin/utils/index.js +27 -0
- package/dist/neveradmin/utils/index.js.map +1 -0
- package/dist/neveradmin/utils/permissions.d.ts +74 -0
- package/dist/neveradmin/utils/permissions.d.ts.map +1 -0
- package/dist/neveradmin/utils/permissions.js +152 -0
- package/dist/neveradmin/utils/permissions.js.map +1 -0
- package/dist/neveradmin/utils/validation.d.ts +38 -0
- package/dist/neveradmin/utils/validation.d.ts.map +1 -0
- package/dist/neveradmin/utils/validation.js +142 -0
- package/dist/neveradmin/utils/validation.js.map +1 -0
- package/dist/retry-manager.d.ts +32 -11
- package/dist/retry-manager.d.ts.map +1 -1
- package/dist/retry-manager.js +128 -82
- package/dist/retry-manager.js.map +1 -1
- package/dist/security/index.d.ts +3 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +26 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/secure-storage.d.ts +61 -0
- package/dist/security/secure-storage.d.ts.map +1 -0
- package/dist/security/secure-storage.js +418 -0
- package/dist/security/secure-storage.js.map +1 -0
- package/dist/security/security-manager.d.ts +172 -0
- package/dist/security/security-manager.d.ts.map +1 -0
- package/dist/security/security-manager.js +417 -0
- package/dist/security/security-manager.js.map +1 -0
- package/dist/storage/backend-selector.d.ts +96 -0
- package/dist/storage/backend-selector.d.ts.map +1 -0
- package/dist/storage/backend-selector.js +466 -0
- package/dist/storage/backend-selector.js.map +1 -0
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +30 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/memory-storage.d.ts +55 -0
- package/dist/storage/memory-storage.d.ts.map +1 -0
- package/dist/storage/memory-storage.js +106 -0
- package/dist/storage/memory-storage.js.map +1 -0
- package/dist/storage/postgresql-storage.d.ts +77 -0
- package/dist/storage/postgresql-storage.d.ts.map +1 -0
- package/dist/storage/postgresql-storage.js +314 -0
- package/dist/storage/postgresql-storage.js.map +1 -0
- package/dist/storage/redis-cluster-storage.d.ts +88 -0
- package/dist/storage/redis-cluster-storage.d.ts.map +1 -0
- package/dist/storage/redis-cluster-storage.js +414 -0
- package/dist/storage/redis-cluster-storage.js.map +1 -0
- package/dist/storage/redis-storage.d.ts +67 -0
- package/dist/storage/redis-storage.d.ts.map +1 -0
- package/dist/storage/redis-storage.js +236 -0
- package/dist/storage/redis-storage.js.map +1 -0
- package/dist/storage/types.d.ts +55 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +10 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/types.d.ts +7 -32
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.hasRetryPermission = hasRetryPermission;
|
|
11
|
+
exports.hasAnyRetryPermission = hasAnyRetryPermission;
|
|
12
|
+
exports.hasAllRetryPermissions = hasAllRetryPermissions;
|
|
13
|
+
exports.canReadRetryData = canReadRetryData;
|
|
14
|
+
exports.canWriteRetryData = canWriteRetryData;
|
|
15
|
+
exports.canAdminRetrySystem = canAdminRetrySystem;
|
|
16
|
+
exports.canModerateRetryOperations = canModerateRetryOperations;
|
|
17
|
+
exports.canConfigureRetrySettings = canConfigureRetrySettings;
|
|
18
|
+
exports.canCancelRetryOperations = canCancelRetryOperations;
|
|
19
|
+
exports.canRetryFailedOperations = canRetryFailedOperations;
|
|
20
|
+
exports.canManageEnhancements = canManageEnhancements;
|
|
21
|
+
exports.hasExceededRetryQuota = hasExceededRetryQuota;
|
|
22
|
+
exports.getRemainingRetryQuota = getRemainingRetryQuota;
|
|
23
|
+
exports.hasRetryQuotaReset = hasRetryQuotaReset;
|
|
24
|
+
exports.getRetryPermissionLevel = getRetryPermissionLevel;
|
|
25
|
+
exports.hasSufficientPermissions = hasSufficientPermissions;
|
|
26
|
+
exports.getAllUserPermissions = getAllUserPermissions;
|
|
27
|
+
exports.belongsToTenant = belongsToTenant;
|
|
28
|
+
/**
|
|
29
|
+
* Check if user has specific retry permission
|
|
30
|
+
*/
|
|
31
|
+
function hasRetryPermission(user, permission) {
|
|
32
|
+
return user.permissions[permission] === true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if user has any of the specified permissions
|
|
36
|
+
*/
|
|
37
|
+
function hasAnyRetryPermission(user, permissions) {
|
|
38
|
+
return permissions.some(permission => hasRetryPermission(user, permission));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if user has all of the specified permissions
|
|
42
|
+
*/
|
|
43
|
+
function hasAllRetryPermissions(user, permissions) {
|
|
44
|
+
return permissions.every(permission => hasRetryPermission(user, permission));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check if user can read retry data
|
|
48
|
+
*/
|
|
49
|
+
function canReadRetryData(user) {
|
|
50
|
+
return hasRetryPermission(user, 'retry:read');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if user can write retry data
|
|
54
|
+
*/
|
|
55
|
+
function canWriteRetryData(user) {
|
|
56
|
+
return hasRetryPermission(user, 'retry:write');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if user can administer retry system
|
|
60
|
+
*/
|
|
61
|
+
function canAdminRetrySystem(user) {
|
|
62
|
+
return hasRetryPermission(user, 'retry:admin');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if user can moderate retry operations
|
|
66
|
+
*/
|
|
67
|
+
function canModerateRetryOperations(user) {
|
|
68
|
+
return hasRetryPermission(user, 'retry:moderate');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if user can configure retry settings
|
|
72
|
+
*/
|
|
73
|
+
function canConfigureRetrySettings(user) {
|
|
74
|
+
return hasRetryPermission(user, 'retry:configure');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if user can cancel retry operations
|
|
78
|
+
*/
|
|
79
|
+
function canCancelRetryOperations(user) {
|
|
80
|
+
return hasAnyRetryPermission(user, ['retry:moderate', 'retry:admin']);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if user can retry failed operations
|
|
84
|
+
*/
|
|
85
|
+
function canRetryFailedOperations(user) {
|
|
86
|
+
return hasAnyRetryPermission(user, ['retry:write', 'retry:moderate', 'retry:admin']);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if user can manage enhancements
|
|
90
|
+
*/
|
|
91
|
+
function canManageEnhancements(user) {
|
|
92
|
+
return hasRetryPermission(user, 'retry:admin');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Check if user has exceeded their retry quota
|
|
96
|
+
*/
|
|
97
|
+
function hasExceededRetryQuota(user) {
|
|
98
|
+
if (!user.retryQuota)
|
|
99
|
+
return false;
|
|
100
|
+
return user.retryQuota.usedRetries >= user.retryQuota.maxRetries;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get remaining retry quota for user
|
|
104
|
+
*/
|
|
105
|
+
function getRemainingRetryQuota(user) {
|
|
106
|
+
if (!user.retryQuota)
|
|
107
|
+
return Infinity;
|
|
108
|
+
return Math.max(0, user.retryQuota.maxRetries - user.retryQuota.usedRetries);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if user's retry quota has reset
|
|
112
|
+
*/
|
|
113
|
+
function hasRetryQuotaReset(user) {
|
|
114
|
+
if (!user.retryQuota)
|
|
115
|
+
return false;
|
|
116
|
+
return new Date() > user.retryQuota.resetDate;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get permission level for user (0-4, where 4 is highest)
|
|
120
|
+
*/
|
|
121
|
+
function getRetryPermissionLevel(user) {
|
|
122
|
+
if (hasRetryPermission(user, 'retry:admin'))
|
|
123
|
+
return 4;
|
|
124
|
+
if (hasRetryPermission(user, 'retry:moderate'))
|
|
125
|
+
return 3;
|
|
126
|
+
if (hasRetryPermission(user, 'retry:write'))
|
|
127
|
+
return 2;
|
|
128
|
+
if (hasRetryPermission(user, 'retry:read'))
|
|
129
|
+
return 1;
|
|
130
|
+
return 0;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if user has sufficient permissions for an action
|
|
134
|
+
*/
|
|
135
|
+
function hasSufficientPermissions(user, requiredLevel) {
|
|
136
|
+
return getRetryPermissionLevel(user) >= requiredLevel;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get all permissions for a user
|
|
140
|
+
*/
|
|
141
|
+
function getAllUserPermissions(user) {
|
|
142
|
+
return Object.entries(user.permissions)
|
|
143
|
+
.filter(([_, hasPermission]) => hasPermission)
|
|
144
|
+
.map(([permission]) => permission);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Check if user belongs to specific tenant
|
|
148
|
+
*/
|
|
149
|
+
function belongsToTenant(user, tenantId) {
|
|
150
|
+
return user.tenantId === tenantId;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/neveradmin/utils/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RetryConfiguration } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Validate retry configuration
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateRetryConfiguration(config: Partial<RetryConfiguration>): {
|
|
6
|
+
isValid: boolean;
|
|
7
|
+
errors: string[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Validate retry operation ID
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateRetryId(id: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Validate retry status
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateRetryStatus(status: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Validate date range
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateDateRange(start: Date, end: Date): {
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
errors: string[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Validate pagination parameters
|
|
26
|
+
*/
|
|
27
|
+
export declare function validatePagination(limit?: number, offset?: number): {
|
|
28
|
+
isValid: boolean;
|
|
29
|
+
errors: string[];
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Validate enhancement configuration
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateEnhancementConfig(config: Record<string, any>): {
|
|
35
|
+
isValid: boolean;
|
|
36
|
+
errors: string[];
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/neveradmin/utils/validation.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CA+CA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAmBA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAeA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CA8BA"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.validateRetryConfiguration = validateRetryConfiguration;
|
|
11
|
+
exports.validateRetryId = validateRetryId;
|
|
12
|
+
exports.validateRetryStatus = validateRetryStatus;
|
|
13
|
+
exports.validateDateRange = validateDateRange;
|
|
14
|
+
exports.validatePagination = validatePagination;
|
|
15
|
+
exports.validateEnhancementConfig = validateEnhancementConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Validate retry configuration
|
|
18
|
+
*/
|
|
19
|
+
function validateRetryConfiguration(config) {
|
|
20
|
+
const errors = [];
|
|
21
|
+
// Validate storage configuration
|
|
22
|
+
if (config.storage) {
|
|
23
|
+
if (config.storage.memoryThreshold && (config.storage.memoryThreshold < 0 || config.storage.memoryThreshold > 100)) {
|
|
24
|
+
errors.push('Memory threshold must be between 0 and 100');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// Validate memory protection configuration
|
|
28
|
+
if (config.memoryProtection) {
|
|
29
|
+
if (config.memoryProtection.maxMemoryUsage && config.memoryProtection.maxMemoryUsage <= 0) {
|
|
30
|
+
errors.push('Max memory usage must be greater than 0');
|
|
31
|
+
}
|
|
32
|
+
if (config.memoryProtection.maxRetryStates && config.memoryProtection.maxRetryStates <= 0) {
|
|
33
|
+
errors.push('Max retry states must be greater than 0');
|
|
34
|
+
}
|
|
35
|
+
if (config.memoryProtection.cleanupInterval && config.memoryProtection.cleanupInterval <= 0) {
|
|
36
|
+
errors.push('Cleanup interval must be greater than 0');
|
|
37
|
+
}
|
|
38
|
+
if (config.memoryProtection.evictionPolicy &&
|
|
39
|
+
!['lru', 'fifo', 'random'].includes(config.memoryProtection.evictionPolicy)) {
|
|
40
|
+
errors.push('Eviction policy must be one of: lru, fifo, random');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Validate default options
|
|
44
|
+
if (config.defaultOptions) {
|
|
45
|
+
if (config.defaultOptions.maxRetries && config.defaultOptions.maxRetries < 0) {
|
|
46
|
+
errors.push('Max retries must be greater than or equal to 0');
|
|
47
|
+
}
|
|
48
|
+
if (config.defaultOptions.initialDelayMs && config.defaultOptions.initialDelayMs < 0) {
|
|
49
|
+
errors.push('Initial delay must be greater than or equal to 0');
|
|
50
|
+
}
|
|
51
|
+
if (config.defaultOptions.maxDelayMs && config.defaultOptions.maxDelayMs < 0) {
|
|
52
|
+
errors.push('Max delay must be greater than or equal to 0');
|
|
53
|
+
}
|
|
54
|
+
if (config.defaultOptions.backoffMultiplier && config.defaultOptions.backoffMultiplier <= 0) {
|
|
55
|
+
errors.push('Backoff multiplier must be greater than 0');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
isValid: errors.length === 0,
|
|
60
|
+
errors
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Validate retry operation ID
|
|
65
|
+
*/
|
|
66
|
+
function validateRetryId(id) {
|
|
67
|
+
return typeof id === 'string' && id.length > 0 && /^[a-zA-Z0-9-_]+$/.test(id);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validate retry status
|
|
71
|
+
*/
|
|
72
|
+
function validateRetryStatus(status) {
|
|
73
|
+
const validStatuses = ['pending', 'retrying', 'completed', 'failed', 'cancelled'];
|
|
74
|
+
return validStatuses.includes(status);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validate date range
|
|
78
|
+
*/
|
|
79
|
+
function validateDateRange(start, end) {
|
|
80
|
+
const errors = [];
|
|
81
|
+
if (!(start instanceof Date) || isNaN(start.getTime())) {
|
|
82
|
+
errors.push('Start date is invalid');
|
|
83
|
+
}
|
|
84
|
+
if (!(end instanceof Date) || isNaN(end.getTime())) {
|
|
85
|
+
errors.push('End date is invalid');
|
|
86
|
+
}
|
|
87
|
+
if (start && end && start > end) {
|
|
88
|
+
errors.push('Start date must be before end date');
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
isValid: errors.length === 0,
|
|
92
|
+
errors
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validate pagination parameters
|
|
97
|
+
*/
|
|
98
|
+
function validatePagination(limit, offset) {
|
|
99
|
+
const errors = [];
|
|
100
|
+
if (limit !== undefined && (limit < 1 || limit > 1000)) {
|
|
101
|
+
errors.push('Limit must be between 1 and 1000');
|
|
102
|
+
}
|
|
103
|
+
if (offset !== undefined && offset < 0) {
|
|
104
|
+
errors.push('Offset must be greater than or equal to 0');
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
isValid: errors.length === 0,
|
|
108
|
+
errors
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate enhancement configuration
|
|
113
|
+
*/
|
|
114
|
+
function validateEnhancementConfig(config) {
|
|
115
|
+
const errors = [];
|
|
116
|
+
// Validate storage enhancement config
|
|
117
|
+
if (config.storage) {
|
|
118
|
+
if (config.storage.type && !['memory', 'redis', 'postgresql', 'mongodb'].includes(config.storage.type)) {
|
|
119
|
+
errors.push('Storage type must be one of: memory, redis, postgresql, mongodb');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Validate notification enhancement config
|
|
123
|
+
if (config.notifications) {
|
|
124
|
+
if (config.notifications.email && typeof config.notifications.email !== 'boolean') {
|
|
125
|
+
errors.push('Email notification must be a boolean');
|
|
126
|
+
}
|
|
127
|
+
if (config.notifications.webhook && typeof config.notifications.webhook !== 'boolean') {
|
|
128
|
+
errors.push('Webhook notification must be a boolean');
|
|
129
|
+
}
|
|
130
|
+
if (config.notifications.slack && typeof config.notifications.slack !== 'boolean') {
|
|
131
|
+
errors.push('Slack notification must be a boolean');
|
|
132
|
+
}
|
|
133
|
+
if (config.notifications.pagerduty && typeof config.notifications.pagerduty !== 'boolean') {
|
|
134
|
+
errors.push('PagerDuty notification must be a boolean');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
isValid: errors.length === 0,
|
|
139
|
+
errors
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/neveradmin/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/retry-manager.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RetryManagerConfig, RetryResult } from './types';
|
|
2
|
+
import type { RetryState } from '@bernierllc/retry-state';
|
|
3
|
+
import type { RetryPolicyOptions as RetryOptions } from '@bernierllc/retry-policy';
|
|
4
|
+
import { EnhancementManager, EnhancementConfig } from './enhancement-manager';
|
|
2
5
|
/**
|
|
3
6
|
* Main retry manager with storage and memory protection
|
|
4
7
|
*/
|
|
@@ -6,7 +9,9 @@ export declare class RetryManager {
|
|
|
6
9
|
private config;
|
|
7
10
|
private storage;
|
|
8
11
|
private memoryProtection;
|
|
9
|
-
private
|
|
12
|
+
private enhancementManager;
|
|
13
|
+
private retryPolicy;
|
|
14
|
+
private metricsCollector;
|
|
10
15
|
constructor(config?: Partial<RetryManagerConfig>);
|
|
11
16
|
/**
|
|
12
17
|
* Execute a function with retry logic and persistent state
|
|
@@ -35,7 +40,7 @@ export declare class RetryManager {
|
|
|
35
40
|
/**
|
|
36
41
|
* Get retry metrics
|
|
37
42
|
*/
|
|
38
|
-
getMetrics(): RetryMetrics;
|
|
43
|
+
getMetrics(): import("@bernierllc/retry-metrics").RetryMetrics;
|
|
39
44
|
/**
|
|
40
45
|
* Get memory protection stats
|
|
41
46
|
*/
|
|
@@ -47,21 +52,37 @@ export declare class RetryManager {
|
|
|
47
52
|
historySize: number;
|
|
48
53
|
};
|
|
49
54
|
/**
|
|
50
|
-
*
|
|
55
|
+
* Get enhancement manager
|
|
51
56
|
*/
|
|
52
|
-
|
|
57
|
+
getEnhancementManager(): EnhancementManager;
|
|
58
|
+
/**
|
|
59
|
+
* Check if enhancement is available
|
|
60
|
+
*/
|
|
61
|
+
isEnhancementAvailable(type: keyof EnhancementConfig): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Enable enhancement
|
|
64
|
+
*/
|
|
65
|
+
enableEnhancement(type: keyof EnhancementConfig, config?: any): void;
|
|
53
66
|
/**
|
|
54
|
-
*
|
|
67
|
+
* Disable enhancement
|
|
55
68
|
*/
|
|
56
|
-
|
|
69
|
+
disableEnhancement(type: keyof EnhancementConfig): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get enhancement recommendations
|
|
72
|
+
*/
|
|
73
|
+
getEnhancementRecommendations(): string[];
|
|
74
|
+
/**
|
|
75
|
+
* Cleanup resources
|
|
76
|
+
*/
|
|
77
|
+
destroy(): void;
|
|
57
78
|
/**
|
|
58
|
-
*
|
|
79
|
+
* Set up enhancement manager event listeners
|
|
59
80
|
*/
|
|
60
|
-
private
|
|
81
|
+
private setupEnhancementListeners;
|
|
61
82
|
/**
|
|
62
|
-
*
|
|
83
|
+
* Calculate performance score based on metrics
|
|
63
84
|
*/
|
|
64
|
-
private
|
|
85
|
+
private calculatePerformanceScore;
|
|
65
86
|
/**
|
|
66
87
|
* Sleep utility
|
|
67
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-manager.d.ts","sourceRoot":"","sources":["../src/retry-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"retry-manager.d.ts","sourceRoot":"","sources":["../src/retry-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,kBAAkB,EAClB,WAAW,EAEZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA4B9E;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAuBhD;;OAEG;IACG,gBAAgB,CAAC,CAAC,EACtB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAmH1B;;OAEG;IACG,gBAAgB,CAAC,CAAC,EACtB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,CAAC;IAuCb;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D;;OAEG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7D;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,cAAc;;;;;;;IAId;;OAEG;IACH,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,iBAAiB,GAAG,OAAO;IAI9D;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,iBAAiB,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAIpE;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,iBAAiB,GAAG,IAAI;IAIvD;;OAEG;IACH,6BAA6B,IAAI,MAAM,EAAE;IAIzC;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAErF"}
|