@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.
Files changed (137) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +110 -0
  3. package/dist/enhancement-manager.d.ts +205 -0
  4. package/dist/enhancement-manager.d.ts.map +1 -0
  5. package/dist/enhancement-manager.js +533 -0
  6. package/dist/enhancement-manager.js.map +1 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/memory-protection.js +1 -1
  12. package/dist/memory-protection.js.map +1 -1
  13. package/dist/neveradmin/components/RetryAnalyticsPage.d.ts +15 -0
  14. package/dist/neveradmin/components/RetryAnalyticsPage.d.ts.map +1 -0
  15. package/dist/neveradmin/components/RetryAnalyticsPage.js +28 -0
  16. package/dist/neveradmin/components/RetryAnalyticsPage.js.map +1 -0
  17. package/dist/neveradmin/components/RetryConfigurationPage.d.ts +15 -0
  18. package/dist/neveradmin/components/RetryConfigurationPage.d.ts.map +1 -0
  19. package/dist/neveradmin/components/RetryConfigurationPage.js +28 -0
  20. package/dist/neveradmin/components/RetryConfigurationPage.js.map +1 -0
  21. package/dist/neveradmin/components/RetryEnhancementsPage.d.ts +15 -0
  22. package/dist/neveradmin/components/RetryEnhancementsPage.d.ts.map +1 -0
  23. package/dist/neveradmin/components/RetryEnhancementsPage.js +28 -0
  24. package/dist/neveradmin/components/RetryEnhancementsPage.js.map +1 -0
  25. package/dist/neveradmin/components/RetryOperationsPage.d.ts +15 -0
  26. package/dist/neveradmin/components/RetryOperationsPage.d.ts.map +1 -0
  27. package/dist/neveradmin/components/RetryOperationsPage.js +28 -0
  28. package/dist/neveradmin/components/RetryOperationsPage.js.map +1 -0
  29. package/dist/neveradmin/components/RetryOverviewPage.d.ts +15 -0
  30. package/dist/neveradmin/components/RetryOverviewPage.d.ts.map +1 -0
  31. package/dist/neveradmin/components/RetryOverviewPage.js +28 -0
  32. package/dist/neveradmin/components/RetryOverviewPage.js.map +1 -0
  33. package/dist/neveradmin/components/index.d.ts +7 -0
  34. package/dist/neveradmin/components/index.d.ts.map +1 -0
  35. package/dist/neveradmin/components/index.js +32 -0
  36. package/dist/neveradmin/components/index.js.map +1 -0
  37. package/dist/neveradmin/components/types.d.ts +64 -0
  38. package/dist/neveradmin/components/types.d.ts.map +1 -0
  39. package/dist/neveradmin/components/types.js +10 -0
  40. package/dist/neveradmin/components/types.js.map +1 -0
  41. package/dist/neveradmin/hooks/index.d.ts +5 -0
  42. package/dist/neveradmin/hooks/index.d.ts.map +1 -0
  43. package/dist/neveradmin/hooks/index.js +28 -0
  44. package/dist/neveradmin/hooks/index.js.map +1 -0
  45. package/dist/neveradmin/hooks/useRetryConfiguration.d.ts +23 -0
  46. package/dist/neveradmin/hooks/useRetryConfiguration.d.ts.map +1 -0
  47. package/dist/neveradmin/hooks/useRetryConfiguration.js +162 -0
  48. package/dist/neveradmin/hooks/useRetryConfiguration.js.map +1 -0
  49. package/dist/neveradmin/hooks/useRetryEnhancements.d.ts +39 -0
  50. package/dist/neveradmin/hooks/useRetryEnhancements.d.ts.map +1 -0
  51. package/dist/neveradmin/hooks/useRetryEnhancements.js +197 -0
  52. package/dist/neveradmin/hooks/useRetryEnhancements.js.map +1 -0
  53. package/dist/neveradmin/hooks/useRetryOperations.d.ts +28 -0
  54. package/dist/neveradmin/hooks/useRetryOperations.d.ts.map +1 -0
  55. package/dist/neveradmin/hooks/useRetryOperations.js +166 -0
  56. package/dist/neveradmin/hooks/useRetryOperations.js.map +1 -0
  57. package/dist/neveradmin/hooks/useRetryStats.d.ts +19 -0
  58. package/dist/neveradmin/hooks/useRetryStats.d.ts.map +1 -0
  59. package/dist/neveradmin/hooks/useRetryStats.js +81 -0
  60. package/dist/neveradmin/hooks/useRetryStats.js.map +1 -0
  61. package/dist/neveradmin/index.d.ts +6 -0
  62. package/dist/neveradmin/index.d.ts.map +1 -0
  63. package/dist/neveradmin/index.js +29 -0
  64. package/dist/neveradmin/index.js.map +1 -0
  65. package/dist/neveradmin/registration.d.ts +33 -0
  66. package/dist/neveradmin/registration.d.ts.map +1 -0
  67. package/dist/neveradmin/registration.js +96 -0
  68. package/dist/neveradmin/registration.js.map +1 -0
  69. package/dist/neveradmin/types.d.ts +88 -0
  70. package/dist/neveradmin/types.d.ts.map +1 -0
  71. package/dist/neveradmin/types.js +10 -0
  72. package/dist/neveradmin/types.js.map +1 -0
  73. package/dist/neveradmin/utils/formatting.d.ts +41 -0
  74. package/dist/neveradmin/utils/formatting.d.ts.map +1 -0
  75. package/dist/neveradmin/utils/formatting.js +142 -0
  76. package/dist/neveradmin/utils/formatting.js.map +1 -0
  77. package/dist/neveradmin/utils/index.d.ts +4 -0
  78. package/dist/neveradmin/utils/index.d.ts.map +1 -0
  79. package/dist/neveradmin/utils/index.js +27 -0
  80. package/dist/neveradmin/utils/index.js.map +1 -0
  81. package/dist/neveradmin/utils/permissions.d.ts +74 -0
  82. package/dist/neveradmin/utils/permissions.d.ts.map +1 -0
  83. package/dist/neveradmin/utils/permissions.js +152 -0
  84. package/dist/neveradmin/utils/permissions.js.map +1 -0
  85. package/dist/neveradmin/utils/validation.d.ts +38 -0
  86. package/dist/neveradmin/utils/validation.d.ts.map +1 -0
  87. package/dist/neveradmin/utils/validation.js +142 -0
  88. package/dist/neveradmin/utils/validation.js.map +1 -0
  89. package/dist/retry-manager.d.ts +32 -11
  90. package/dist/retry-manager.d.ts.map +1 -1
  91. package/dist/retry-manager.js +128 -82
  92. package/dist/retry-manager.js.map +1 -1
  93. package/dist/security/index.d.ts +3 -0
  94. package/dist/security/index.d.ts.map +1 -0
  95. package/dist/security/index.js +26 -0
  96. package/dist/security/index.js.map +1 -0
  97. package/dist/security/secure-storage.d.ts +61 -0
  98. package/dist/security/secure-storage.d.ts.map +1 -0
  99. package/dist/security/secure-storage.js +418 -0
  100. package/dist/security/secure-storage.js.map +1 -0
  101. package/dist/security/security-manager.d.ts +172 -0
  102. package/dist/security/security-manager.d.ts.map +1 -0
  103. package/dist/security/security-manager.js +417 -0
  104. package/dist/security/security-manager.js.map +1 -0
  105. package/dist/storage/backend-selector.d.ts +96 -0
  106. package/dist/storage/backend-selector.d.ts.map +1 -0
  107. package/dist/storage/backend-selector.js +466 -0
  108. package/dist/storage/backend-selector.js.map +1 -0
  109. package/dist/storage/index.d.ts +7 -0
  110. package/dist/storage/index.d.ts.map +1 -0
  111. package/dist/storage/index.js +30 -0
  112. package/dist/storage/index.js.map +1 -0
  113. package/dist/storage/memory-storage.d.ts +55 -0
  114. package/dist/storage/memory-storage.d.ts.map +1 -0
  115. package/dist/storage/memory-storage.js +106 -0
  116. package/dist/storage/memory-storage.js.map +1 -0
  117. package/dist/storage/postgresql-storage.d.ts +77 -0
  118. package/dist/storage/postgresql-storage.d.ts.map +1 -0
  119. package/dist/storage/postgresql-storage.js +314 -0
  120. package/dist/storage/postgresql-storage.js.map +1 -0
  121. package/dist/storage/redis-cluster-storage.d.ts +88 -0
  122. package/dist/storage/redis-cluster-storage.d.ts.map +1 -0
  123. package/dist/storage/redis-cluster-storage.js +414 -0
  124. package/dist/storage/redis-cluster-storage.js.map +1 -0
  125. package/dist/storage/redis-storage.d.ts +67 -0
  126. package/dist/storage/redis-storage.d.ts.map +1 -0
  127. package/dist/storage/redis-storage.js +236 -0
  128. package/dist/storage/redis-storage.js.map +1 -0
  129. package/dist/storage/types.d.ts +55 -0
  130. package/dist/storage/types.d.ts.map +1 -0
  131. package/dist/storage/types.js +10 -0
  132. package/dist/storage/types.js.map +1 -0
  133. package/dist/types.d.ts +7 -32
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +1 -0
  136. package/dist/types.js.map +1 -1
  137. package/package.json +16 -3
@@ -11,31 +11,33 @@ exports.RetryManager = void 0;
11
11
  exports.createRetryManager = createRetryManager;
12
12
  const memory_protection_1 = require("./memory-protection");
13
13
  const storage_1 = require("./storage");
14
+ const enhancement_manager_1 = require("./enhancement-manager");
15
+ // Import from core packages
16
+ const retry_policy_1 = require("@bernierllc/retry-policy");
17
+ const retry_state_1 = require("@bernierllc/retry-state");
18
+ const retry_metrics_1 = require("@bernierllc/retry-metrics");
14
19
  /**
15
20
  * Main retry manager with storage and memory protection
16
21
  */
17
22
  class RetryManager {
18
23
  constructor(config) {
19
- this.metrics = {
20
- totalRetries: 0,
21
- successfulRetries: 0,
22
- failedRetries: 0,
23
- averageRetryTime: 0,
24
- memoryUsage: 0
25
- };
26
24
  this.config = {
27
25
  storage: config?.storage || (0, storage_1.createStorageAdapter)(),
28
26
  memoryProtection: config?.memoryProtection || memory_protection_1.DEFAULT_MEMORY_PROTECTION_CONFIG,
29
- defaultOptions: config?.defaultOptions || {
30
- maxRetries: 5,
31
- initialDelayMs: 1000,
32
- maxDelayMs: 30000,
33
- backoffFactor: 2,
34
- jitter: true
35
- }
27
+ defaultOptions: config?.defaultOptions || retry_policy_1.DEFAULT_RETRY_OPTIONS,
28
+ enhancements: config?.enhancements
36
29
  };
37
30
  this.storage = this.config.storage;
38
31
  this.memoryProtection = new memory_protection_1.MemoryProtectionManager(this.config.memoryProtection);
32
+ this.enhancementManager = new enhancement_manager_1.EnhancementManager(this.config.enhancements);
33
+ // Initialize core packages
34
+ this.retryPolicy = (0, retry_policy_1.createRetryPolicy)(this.config.defaultOptions);
35
+ this.metricsCollector = new retry_metrics_1.MetricsCollector({
36
+ enabled: true,
37
+ storage: (0, retry_metrics_1.createMetricsStorage)('memory')
38
+ });
39
+ // Set up enhancement manager event listeners
40
+ this.setupEnhancementListeners();
39
41
  }
40
42
  /**
41
43
  * Execute a function with retry logic and persistent state
@@ -43,8 +45,7 @@ class RetryManager {
43
45
  async executeWithRetry(id, fn, options) {
44
46
  const startTime = Date.now();
45
47
  const mergedOptions = {
46
- maxRetries: 5,
47
- initialDelayMs: 1000,
48
+ ...retry_policy_1.DEFAULT_RETRY_OPTIONS,
48
49
  ...this.config.defaultOptions,
49
50
  ...options
50
51
  };
@@ -52,8 +53,16 @@ class RetryManager {
52
53
  if (!this.memoryProtection.checkMemoryUsage()) {
53
54
  throw new Error('Memory usage exceeded limits');
54
55
  }
55
- // Get existing state or create new one
56
- let state = await this.storage.get(id) || this.createInitialState(id, mergedOptions);
56
+ // Get existing state or create new one using core package
57
+ let state = await this.storage.get(id) || (0, retry_state_1.createRetryState)({
58
+ id,
59
+ maxRetries: mergedOptions.maxRetries,
60
+ initialDelayMs: mergedOptions.initialDelayMs
61
+ });
62
+ // Validate state using core package
63
+ if (!(0, retry_state_1.validateRetryState)(state)) {
64
+ throw new Error('Invalid retry state');
65
+ }
57
66
  // Check if operation was cancelled
58
67
  if (state.status === 'failed' && state.error?.message === 'Retry cancelled') {
59
68
  return {
@@ -65,13 +74,12 @@ class RetryManager {
65
74
  }
66
75
  try {
67
76
  const result = await fn();
68
- // Success - update state and clean up
69
- state.status = 'completed';
70
- state.attempt = state.attempt + 1;
71
- state.lastAttempt = new Date();
77
+ // Success - update state using core package
78
+ state = (0, retry_state_1.markAsCompleted)(state);
72
79
  await this.storage.set(id, state);
80
+ // Record metrics using core package
81
+ this.metricsCollector.recordAttemptEnd(id, state.attempt, true, Date.now() - startTime);
73
82
  const totalTime = Date.now() - startTime;
74
- this.updateMetrics(true, totalTime);
75
83
  return {
76
84
  success: true,
77
85
  data: result,
@@ -80,16 +88,19 @@ class RetryManager {
80
88
  };
81
89
  }
82
90
  catch (error) {
83
- state.attempt = state.attempt + 1;
84
- state.lastAttempt = new Date();
85
- state.error = error;
86
- if (state.attempt >= mergedOptions.maxRetries ||
87
- (mergedOptions.shouldRetry && !mergedOptions.shouldRetry(error))) {
88
- // Final failure
89
- state.status = 'failed';
91
+ // Calculate delay for next retry using core package
92
+ const delay = (0, retry_policy_1.calculateRetryDelay)(state.attempt, mergedOptions, {});
93
+ // Update state for retry attempt using core package
94
+ state = (0, retry_state_1.prepareForNextAttempt)(state, delay);
95
+ // Check if we should retry using core package
96
+ if ((0, retry_state_1.hasExceededMaxAttempts)(state) ||
97
+ !(0, retry_policy_1.shouldRetry)(state.attempt, error, mergedOptions)) {
98
+ // Final failure - mark as failed using core package
99
+ const errorObj = error instanceof Error ? error : new Error(String(error));
100
+ state = (0, retry_state_1.markAsFailed)(state, errorObj);
90
101
  await this.storage.set(id, state);
91
- const totalTime = Date.now() - startTime;
92
- this.updateMetrics(false, totalTime);
102
+ // Record metrics using core package
103
+ this.metricsCollector.recordAttemptEnd(id, state.attempt, false, Date.now() - startTime, error instanceof Error ? error.message : String(error));
93
104
  if (mergedOptions.onFailure) {
94
105
  mergedOptions.onFailure(error);
95
106
  }
@@ -97,14 +108,14 @@ class RetryManager {
97
108
  success: false,
98
109
  error,
99
110
  attempts: state.attempt,
100
- totalTime
111
+ totalTime: Date.now() - startTime
101
112
  };
102
113
  }
103
- // Calculate next retry delay
104
- const delay = this.calculateDelay(state.attempt, mergedOptions);
105
- state.delay = delay;
106
- state.nextRetry = new Date(Date.now() + delay);
107
- state.status = 'retrying';
114
+ // Update state with delay and next retry time
115
+ state = (0, retry_state_1.updateRetryState)(state, {
116
+ delay,
117
+ updateNextRetry: true
118
+ });
108
119
  await this.storage.set(id, state);
109
120
  if (mergedOptions.onRetry) {
110
121
  mergedOptions.onRetry(state.attempt, delay, error);
@@ -166,9 +177,8 @@ class RetryManager {
166
177
  async cancelRetry(id) {
167
178
  const state = await this.storage.get(id);
168
179
  if (state && (state.status === 'retrying' || state.status === 'pending')) {
169
- state.status = 'failed';
170
- state.error = new Error('Retry cancelled');
171
- await this.storage.set(id, state);
180
+ const cancelledState = (0, retry_state_1.markAsCancelled)(state);
181
+ await this.storage.set(id, cancelledState);
172
182
  }
173
183
  }
174
184
  /**
@@ -181,7 +191,7 @@ class RetryManager {
181
191
  * Get retry metrics
182
192
  */
183
193
  getMetrics() {
184
- return { ...this.metrics };
194
+ return this.metricsCollector.getMetrics();
185
195
  }
186
196
  /**
187
197
  * Get memory protection stats
@@ -190,56 +200,92 @@ class RetryManager {
190
200
  return this.memoryProtection.getStats();
191
201
  }
192
202
  /**
193
- * Cleanup resources
203
+ * Get enhancement manager
194
204
  */
195
- destroy() {
196
- this.memoryProtection.destroy();
205
+ getEnhancementManager() {
206
+ return this.enhancementManager;
197
207
  }
198
208
  /**
199
- * Create initial retry state
209
+ * Check if enhancement is available
200
210
  */
201
- createInitialState(id, options) {
202
- return {
203
- id,
204
- attempt: 0,
205
- lastAttempt: new Date(),
206
- nextRetry: new Date(),
207
- delay: options.initialDelayMs,
208
- maxRetries: options.maxRetries,
209
- status: 'pending',
210
- metadata: {}
211
- };
211
+ isEnhancementAvailable(type) {
212
+ return this.enhancementManager.isEnhancementAvailable(type);
212
213
  }
213
214
  /**
214
- * Calculate delay for next retry
215
+ * Enable enhancement
215
216
  */
216
- calculateDelay(attempt, options) {
217
- let delay = options.initialDelayMs * Math.pow(options.backoffFactor || 2, attempt - 1);
218
- if (options.maxDelayMs) {
219
- delay = Math.min(delay, options.maxDelayMs);
220
- }
221
- if (options.jitter) {
222
- const jitterAmount = Math.random() * delay * 0.5;
223
- delay = delay - delay * 0.25 + jitterAmount;
224
- }
225
- return delay;
217
+ enableEnhancement(type, config) {
218
+ this.enhancementManager.enableEnhancement(type, config);
226
219
  }
227
220
  /**
228
- * Update metrics
221
+ * Disable enhancement
229
222
  */
230
- updateMetrics(success, duration) {
231
- this.metrics.totalRetries++;
232
- if (success) {
233
- this.metrics.successfulRetries++;
234
- }
235
- else {
236
- this.metrics.failedRetries++;
237
- }
238
- // Update average retry time
239
- const totalTime = this.metrics.averageRetryTime * (this.metrics.totalRetries - 1) + duration;
240
- this.metrics.averageRetryTime = totalTime / this.metrics.totalRetries;
241
- // Update memory usage
242
- this.metrics.memoryUsage = this.memoryProtection.getStats().currentUsage;
223
+ disableEnhancement(type) {
224
+ this.enhancementManager.disableEnhancement(type);
225
+ }
226
+ /**
227
+ * Get enhancement recommendations
228
+ */
229
+ getEnhancementRecommendations() {
230
+ return this.enhancementManager.getRecommendations();
231
+ }
232
+ /**
233
+ * Cleanup resources
234
+ */
235
+ destroy() {
236
+ this.memoryProtection.destroy();
237
+ this.enhancementManager.removeAllListeners();
238
+ }
239
+ // Helper methods now use core packages - no longer needed
240
+ /**
241
+ * Set up enhancement manager event listeners
242
+ */
243
+ setupEnhancementListeners() {
244
+ // Listen for auto-upgrade opportunities
245
+ this.enhancementManager.on('auto_upgrade_available', (data) => {
246
+ console.log(`Auto-upgrade available: ${data.current} -> ${data.recommended} (${data.reason})`);
247
+ // Send notification if configured
248
+ this.enhancementManager.sendNotification({
249
+ type: 'auto_upgrade',
250
+ severity: 'info',
251
+ message: `Storage upgrade recommended: ${data.current} -> ${data.recommended}`,
252
+ data,
253
+ timestamp: new Date()
254
+ });
255
+ });
256
+ // Listen for enhancement initialization
257
+ this.enhancementManager.on('enhancement_initialized', (data) => {
258
+ console.log(`Enhancement initialized: ${data.type}.${data.feature} (${data.status})`);
259
+ });
260
+ // Listen for notifications
261
+ this.enhancementManager.on('notification', (event) => {
262
+ console.log(`Enhancement notification: [${event.severity}] ${event.message}`);
263
+ });
264
+ // Listen for metrics updates
265
+ this.enhancementManager.on('metrics_updated', (metrics) => {
266
+ // Could integrate with external monitoring systems here
267
+ if (metrics.usagePercentage > 90) {
268
+ console.warn(`High memory usage detected: ${metrics.usagePercentage.toFixed(2)}%`);
269
+ }
270
+ });
271
+ }
272
+ /**
273
+ * Calculate performance score based on metrics
274
+ */
275
+ calculatePerformanceScore() {
276
+ const metrics = this.metricsCollector.getMetrics();
277
+ const successRate = metrics.totalRetries > 0
278
+ ? metrics.successfulRetries / metrics.totalRetries
279
+ : 1.0;
280
+ const avgTimeScore = metrics.averageRetryTime < 1000 ? 1.0
281
+ : metrics.averageRetryTime < 5000 ? 0.8
282
+ : metrics.averageRetryTime < 10000 ? 0.6
283
+ : 0.4;
284
+ const memoryScore = this.memoryProtection.getStats().usagePercentage < 50 ? 1.0
285
+ : this.memoryProtection.getStats().usagePercentage < 80 ? 0.7
286
+ : this.memoryProtection.getStats().usagePercentage < 95 ? 0.4
287
+ : 0.1;
288
+ return (successRate * 0.4 + avgTimeScore * 0.3 + memoryScore * 0.3);
243
289
  }
244
290
  /**
245
291
  * Sleep utility
@@ -1 +1 @@
1
- {"version":3,"file":"retry-manager.js","sourceRoot":"","sources":["../src/retry-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-manager.js","sourceRoot":"","sources":["../src/retry-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './security-manager';
2
+ export * from './secure-storage';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAQA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,26 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ __exportStar(require("./security-manager"), exports);
25
+ __exportStar(require("./secure-storage"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;;;;;;;;;;;;;;AAEF,qDAAmC;AACnC,mDAAiC"}
@@ -0,0 +1,61 @@
1
+ import { StorageBackend, StorageStats } from '../storage/types';
2
+ import { RetryState } from '../types';
3
+ import { SecurityManager, AccessControl } from './security-manager';
4
+ /**
5
+ * Secure storage wrapper that adds encryption, access control, and audit logging
6
+ */
7
+ export declare class SecureStorage implements StorageBackend {
8
+ private storage;
9
+ private securityManager;
10
+ private defaultAccessControl;
11
+ constructor(storage: StorageBackend, securityManager: SecurityManager, defaultAccessControl: AccessControl);
12
+ /**
13
+ * Store a retry state with encryption and access control
14
+ */
15
+ set(key: string, value: RetryState, accessControl?: AccessControl): Promise<void>;
16
+ /**
17
+ * Get a retry state with decryption and access control
18
+ */
19
+ get(key: string, accessControl?: AccessControl): Promise<RetryState | null>;
20
+ /**
21
+ * Delete a retry state with access control
22
+ */
23
+ delete(key: string, accessControl?: AccessControl): Promise<void>;
24
+ /**
25
+ * List all retry states with access control
26
+ */
27
+ list(accessControl?: AccessControl): Promise<RetryState[]>;
28
+ /**
29
+ * Clear all retry states with access control
30
+ */
31
+ clear(accessControl?: AccessControl): Promise<void>;
32
+ /**
33
+ * Get storage statistics with access control
34
+ */
35
+ getStats(accessControl?: AccessControl): Promise<StorageStats>;
36
+ /**
37
+ * Test connection with access control
38
+ */
39
+ testConnection(accessControl?: AccessControl): Promise<boolean>;
40
+ /**
41
+ * Close connection
42
+ */
43
+ close(): Promise<void>;
44
+ /**
45
+ * Get security manager instance
46
+ */
47
+ getSecurityManager(): SecurityManager;
48
+ /**
49
+ * Update default access control
50
+ */
51
+ setDefaultAccessControl(accessControl: AccessControl): void;
52
+ /**
53
+ * Get security status
54
+ */
55
+ getSecurityStatus(): Record<string, any>;
56
+ /**
57
+ * Type guard to check if data is encrypted
58
+ */
59
+ private isEncryptedData;
60
+ }
61
+ //# sourceMappingURL=secure-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-storage.d.ts","sourceRoot":"","sources":["../../src/security/secure-storage.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAepE;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAgB;gBAG1C,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,aAAa;IAOrC;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvF;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAkFjF;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCvE;;OAEG;IACG,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuEhE;;OAEG;IACG,KAAK,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCzD;;OAEG;IACG,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAwCpE;;OAEG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCrE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI3D;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIxC;;OAEG;IACH,OAAO,CAAC,eAAe;CAGxB"}