@agirails/sdk 2.0.4 → 2.2.0

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 (119) hide show
  1. package/README.md +536 -87
  2. package/dist/adapters/BasicAdapter.d.ts.map +1 -1
  3. package/dist/adapters/BasicAdapter.js +8 -0
  4. package/dist/adapters/BasicAdapter.js.map +1 -1
  5. package/dist/adapters/StandardAdapter.d.ts +10 -5
  6. package/dist/adapters/StandardAdapter.d.ts.map +1 -1
  7. package/dist/adapters/StandardAdapter.js +19 -6
  8. package/dist/adapters/StandardAdapter.js.map +1 -1
  9. package/dist/config/networks.d.ts +9 -0
  10. package/dist/config/networks.d.ts.map +1 -1
  11. package/dist/config/networks.js +25 -10
  12. package/dist/config/networks.js.map +1 -1
  13. package/dist/index.d.ts +6 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +31 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/level0/provide.d.ts.map +1 -1
  18. package/dist/level0/provide.js +2 -1
  19. package/dist/level0/provide.js.map +1 -1
  20. package/dist/level1/Agent.d.ts.map +1 -1
  21. package/dist/level1/Agent.js +11 -3
  22. package/dist/level1/Agent.js.map +1 -1
  23. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  24. package/dist/protocol/ACTPKernel.js +7 -5
  25. package/dist/protocol/ACTPKernel.js.map +1 -1
  26. package/dist/protocol/DIDResolver.js +1 -1
  27. package/dist/protocol/DIDResolver.js.map +1 -1
  28. package/dist/protocol/EASHelper.d.ts.map +1 -1
  29. package/dist/protocol/EASHelper.js +2 -3
  30. package/dist/protocol/EASHelper.js.map +1 -1
  31. package/dist/protocol/MessageSigner.d.ts.map +1 -1
  32. package/dist/protocol/MessageSigner.js +8 -8
  33. package/dist/protocol/MessageSigner.js.map +1 -1
  34. package/dist/runtime/BlockchainRuntime.d.ts +7 -0
  35. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  36. package/dist/runtime/BlockchainRuntime.js +38 -22
  37. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  38. package/dist/runtime/IACTPRuntime.d.ts +15 -0
  39. package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
  40. package/dist/runtime/MockRuntime.d.ts +7 -0
  41. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  42. package/dist/runtime/MockRuntime.js +15 -4
  43. package/dist/runtime/MockRuntime.js.map +1 -1
  44. package/dist/runtime/types/MockState.d.ts +5 -2
  45. package/dist/runtime/types/MockState.d.ts.map +1 -1
  46. package/dist/runtime/types/MockState.js.map +1 -1
  47. package/dist/storage/ArchiveBundleBuilder.d.ts +150 -0
  48. package/dist/storage/ArchiveBundleBuilder.d.ts.map +1 -0
  49. package/dist/storage/ArchiveBundleBuilder.js +468 -0
  50. package/dist/storage/ArchiveBundleBuilder.js.map +1 -0
  51. package/dist/storage/ArweaveClient.d.ts +271 -0
  52. package/dist/storage/ArweaveClient.d.ts.map +1 -0
  53. package/dist/storage/ArweaveClient.js +761 -0
  54. package/dist/storage/ArweaveClient.js.map +1 -0
  55. package/dist/storage/FilebaseClient.d.ts +193 -0
  56. package/dist/storage/FilebaseClient.d.ts.map +1 -0
  57. package/dist/storage/FilebaseClient.js +643 -0
  58. package/dist/storage/FilebaseClient.js.map +1 -0
  59. package/dist/storage/index.d.ts +47 -0
  60. package/dist/storage/index.d.ts.map +1 -0
  61. package/dist/storage/index.js +64 -0
  62. package/dist/storage/index.js.map +1 -0
  63. package/dist/storage/types.d.ts +291 -0
  64. package/dist/storage/types.d.ts.map +1 -0
  65. package/dist/storage/types.js +18 -0
  66. package/dist/storage/types.js.map +1 -0
  67. package/dist/types/state.d.ts +5 -4
  68. package/dist/types/state.d.ts.map +1 -1
  69. package/dist/types/state.js +10 -9
  70. package/dist/types/state.js.map +1 -1
  71. package/dist/utils/IPFSClient.d.ts.map +1 -1
  72. package/dist/utils/IPFSClient.js +5 -2
  73. package/dist/utils/IPFSClient.js.map +1 -1
  74. package/dist/utils/NonceManager.d.ts.map +1 -1
  75. package/dist/utils/NonceManager.js +3 -2
  76. package/dist/utils/NonceManager.js.map +1 -1
  77. package/dist/utils/UsedAttestationTracker.d.ts.map +1 -1
  78. package/dist/utils/UsedAttestationTracker.js +3 -3
  79. package/dist/utils/UsedAttestationTracker.js.map +1 -1
  80. package/dist/utils/circuitBreaker.d.ts +136 -0
  81. package/dist/utils/circuitBreaker.d.ts.map +1 -0
  82. package/dist/utils/circuitBreaker.js +253 -0
  83. package/dist/utils/circuitBreaker.js.map +1 -0
  84. package/dist/utils/retry.d.ts +120 -0
  85. package/dist/utils/retry.d.ts.map +1 -0
  86. package/dist/utils/retry.js +260 -0
  87. package/dist/utils/retry.js.map +1 -0
  88. package/dist/utils/validation.d.ts +100 -0
  89. package/dist/utils/validation.d.ts.map +1 -1
  90. package/dist/utils/validation.js +248 -1
  91. package/dist/utils/validation.js.map +1 -1
  92. package/package.json +14 -2
  93. package/src/adapters/BasicAdapter.ts +11 -0
  94. package/src/adapters/StandardAdapter.ts +26 -6
  95. package/src/config/networks.ts +34 -10
  96. package/src/index.ts +54 -0
  97. package/src/level0/provide.ts +2 -1
  98. package/src/level1/Agent.ts +13 -3
  99. package/src/protocol/ACTPKernel.ts +7 -5
  100. package/src/protocol/DIDResolver.ts +1 -1
  101. package/src/protocol/EASHelper.ts +2 -5
  102. package/src/protocol/MessageSigner.ts +8 -14
  103. package/src/runtime/BlockchainRuntime.ts +39 -45
  104. package/src/runtime/IACTPRuntime.ts +16 -0
  105. package/src/runtime/MockRuntime.ts +16 -4
  106. package/src/runtime/types/MockState.ts +5 -2
  107. package/src/storage/ArchiveBundleBuilder.ts +563 -0
  108. package/src/storage/ArweaveClient.ts +945 -0
  109. package/src/storage/FilebaseClient.ts +790 -0
  110. package/src/storage/index.ts +96 -0
  111. package/src/storage/types.ts +348 -0
  112. package/src/types/state.ts +10 -9
  113. package/src/utils/IPFSClient.ts +5 -4
  114. package/src/utils/NonceManager.ts +3 -2
  115. package/src/utils/UsedAttestationTracker.ts +3 -5
  116. package/src/utils/circuitBreaker.ts +324 -0
  117. package/src/utils/fsSafe.ts +5 -0
  118. package/src/utils/retry.ts +365 -0
  119. package/src/utils/validation.ts +295 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NonceManager.js","sourceRoot":"","sources":["../../src/utils/NonceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NonceManager.js","sourceRoot":"","sources":["../../src/utils/NonceManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UsedAttestationTracker.d.ts","sourceRoot":"","sources":["../../src/utils/UsedAttestationTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;;OAIG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAE5E,OAAO,CAAC,gBAAgB,CAAkC;IAG1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;;OAGG;gBACS,OAAO,GAAE,MAAe;IAOpC;;;;;;;;OAQG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE;;;;;OAKG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA4B9D;;;;;;;OAOG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAc7D;;;;;;;OAOG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAgBpE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAShD;AAED;;;;;;;GAOG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAAsB;IAChC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,cAAc,EAAE,MAAM;IAiBlC,OAAO,CAAC,YAAY;IA6BpB;;;;;OAKG;YACW,UAAU;IAgDxB;;;;OAIG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzE;;;OAGG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAU9D,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7D,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpE,KAAK,IAAI,IAAI;CAMd;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,CAAC,EAAE,MAAM,GACtB,uBAAuB,CAKzB"}
1
+ {"version":3,"file":"UsedAttestationTracker.d.ts","sourceRoot":"","sources":["../../src/utils/UsedAttestationTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;;OAIG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAE5E,OAAO,CAAC,gBAAgB,CAAkC;IAG1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;;OAGG;gBACS,OAAO,GAAE,MAAe;IAOpC;;;;;;;;OAQG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE;;;;;OAKG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA4B9D;;;;;;;OAOG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAc7D;;;;;;;OAOG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAgBpE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAMhD;AAED;;;;;;;GAOG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAAsB;IAChC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,cAAc,EAAE,MAAM;IAiBlC,OAAO,CAAC,YAAY;IA6BpB;;;;;OAKG;YACW,UAAU;IAgDxB;;;;OAIG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzE;;;OAGG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAU9D,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7D,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpE,KAAK,IAAI,IAAI;CAMd;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,CAAC,EAAE,MAAM,GACtB,uBAAuB,CAKzB"}
@@ -14,6 +14,7 @@
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createUsedAttestationTracker = exports.FileBasedUsedAttestationTracker = exports.InMemoryUsedAttestationTracker = void 0;
16
16
  const fsSafe_1 = require("./fsSafe");
17
+ const Logger_1 = require("./Logger");
17
18
  /**
18
19
  * In-Memory Used Attestation Tracker
19
20
  *
@@ -150,8 +151,7 @@ class InMemoryUsedAttestationTracker {
150
151
  cleanupOldEntries(_maxAgeHours) {
151
152
  // In-memory tracker doesn't track timestamps
152
153
  // This is a placeholder for future enhancement
153
- console.warn('cleanupOldEntries not implemented for InMemoryUsedAttestationTracker. ' +
154
- 'Consider using FileBasedUsedAttestationTracker for time-based cleanup.');
154
+ Logger_1.sdkLogger.warn('cleanupOldEntries not implemented for InMemoryUsedAttestationTracker - use FileBasedUsedAttestationTracker');
155
155
  return 0;
156
156
  }
157
157
  }
@@ -275,7 +275,7 @@ class FileBasedUsedAttestationTracker {
275
275
  const result = this.inMemory.recordUsageSync(attestationUID, txId);
276
276
  if (result) {
277
277
  this.saveToFile().catch((err) => {
278
- console.error('Failed to save attestation tracker state:', err);
278
+ Logger_1.sdkLogger.error('Failed to save attestation tracker state', { error: err instanceof Error ? err.message : String(err) });
279
279
  });
280
280
  }
281
281
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"UsedAttestationTracker.js","sourceRoot":"","sources":["../../src/utils/UsedAttestationTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsedAttestationTracker.js","sourceRoot":"","sources":["../../src/utils/UsedAttestationTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Circuit Breaker - Gateway Health Tracking (Retry Amplification Protection)
3
+ *
4
+ * Implements the Circuit Breaker pattern for storage gateways:
5
+ * - Tracks consecutive failures per gateway
6
+ * - "Opens" circuit after threshold failures (blocks requests)
7
+ * - Auto-resets after cooldown period
8
+ *
9
+ * This prevents retry amplification attacks where a malicious/failing
10
+ * gateway causes excessive retries.
11
+ *
12
+ * @module utils/circuitBreaker
13
+ */
14
+ /**
15
+ * Circuit state
16
+ */
17
+ export type CircuitState = 'CLOSED' | 'OPEN' | 'HALF_OPEN';
18
+ /**
19
+ * Circuit breaker configuration
20
+ */
21
+ export interface CircuitBreakerConfig {
22
+ /** Number of failures before opening circuit (default: 5) */
23
+ failureThreshold?: number;
24
+ /** Cooldown period in ms before attempting reset (default: 60000 = 1 min) */
25
+ resetTimeoutMs?: number;
26
+ /** Time window in ms for counting failures (default: 300000 = 5 min) */
27
+ failureWindowMs?: number;
28
+ /** Number of successes in half-open to close circuit (default: 2) */
29
+ successThreshold?: number;
30
+ }
31
+ /**
32
+ * Circuit Breaker for gateway health management
33
+ *
34
+ * Usage:
35
+ * ```typescript
36
+ * const circuitBreaker = new GatewayCircuitBreaker();
37
+ *
38
+ * // Before making request
39
+ * if (!circuitBreaker.isHealthy(gatewayUrl)) {
40
+ * throw new Error('Gateway circuit open');
41
+ * }
42
+ *
43
+ * try {
44
+ * const result = await fetchFromGateway(gatewayUrl);
45
+ * circuitBreaker.recordSuccess(gatewayUrl);
46
+ * return result;
47
+ * } catch (error) {
48
+ * circuitBreaker.recordFailure(gatewayUrl);
49
+ * throw error;
50
+ * }
51
+ * ```
52
+ */
53
+ export declare class GatewayCircuitBreaker {
54
+ private readonly health;
55
+ private readonly config;
56
+ private halfOpenSuccesses;
57
+ constructor(config?: CircuitBreakerConfig);
58
+ /**
59
+ * Check if gateway is healthy (circuit closed or half-open)
60
+ *
61
+ * @param url - Gateway URL
62
+ * @returns true if requests should be allowed
63
+ */
64
+ isHealthy(url: string): boolean;
65
+ /**
66
+ * Get current circuit state for gateway
67
+ *
68
+ * @param url - Gateway URL
69
+ * @returns Circuit state
70
+ */
71
+ getState(url: string): CircuitState;
72
+ /**
73
+ * Record a successful request
74
+ *
75
+ * @param url - Gateway URL
76
+ */
77
+ recordSuccess(url: string): void;
78
+ /**
79
+ * Record a failed request
80
+ *
81
+ * @param url - Gateway URL
82
+ */
83
+ recordFailure(url: string): void;
84
+ /**
85
+ * Reset circuit for gateway (force close)
86
+ *
87
+ * @param url - Gateway URL
88
+ */
89
+ reset(url: string): void;
90
+ /**
91
+ * Reset all circuits
92
+ */
93
+ resetAll(): void;
94
+ /**
95
+ * Get health status for all tracked gateways
96
+ *
97
+ * @returns Map of gateway URL to health info
98
+ */
99
+ getHealthStatus(): Map<string, {
100
+ state: CircuitState;
101
+ failures: number;
102
+ }>;
103
+ /**
104
+ * Get failure count for gateway
105
+ *
106
+ * @param url - Gateway URL
107
+ * @returns Number of consecutive failures
108
+ */
109
+ getFailureCount(url: string): number;
110
+ }
111
+ /**
112
+ * Default global circuit breaker instance
113
+ *
114
+ * Use this for simple cases where a single circuit breaker is sufficient.
115
+ * For more control, create your own GatewayCircuitBreaker instance.
116
+ */
117
+ export declare const globalCircuitBreaker: GatewayCircuitBreaker;
118
+ /**
119
+ * Wrap an async operation with circuit breaker protection
120
+ *
121
+ * @param url - Gateway URL to track
122
+ * @param operation - Async operation to execute
123
+ * @param circuitBreaker - Circuit breaker instance (default: global)
124
+ * @returns Operation result
125
+ * @throws Error if circuit is open, or operation error
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const result = await withCircuitBreaker(
130
+ * 'https://ipfs.filebase.io',
131
+ * () => fetch(url).then(r => r.json())
132
+ * );
133
+ * ```
134
+ */
135
+ export declare function withCircuitBreaker<T>(url: string, operation: () => Promise<T>, circuitBreaker?: GatewayCircuitBreaker): Promise<T>;
136
+ //# sourceMappingURL=circuitBreaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuitBreaker.d.ts","sourceRoot":"","sources":["../../src/utils/circuitBreaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAgB3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAeD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,iBAAiB,CAA6B;gBAE1C,MAAM,GAAE,oBAAyB;IAS7C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IA6BnC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAsBhC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAuChC;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;;;OAIG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAazE;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGrC;AAMD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,uBAA8B,CAAC;AAMhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,cAAc,GAAE,qBAA4C,GAC3D,OAAO,CAAC,CAAC,CAAC,CAmBZ"}
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ /**
3
+ * Circuit Breaker - Gateway Health Tracking (Retry Amplification Protection)
4
+ *
5
+ * Implements the Circuit Breaker pattern for storage gateways:
6
+ * - Tracks consecutive failures per gateway
7
+ * - "Opens" circuit after threshold failures (blocks requests)
8
+ * - Auto-resets after cooldown period
9
+ *
10
+ * This prevents retry amplification attacks where a malicious/failing
11
+ * gateway causes excessive retries.
12
+ *
13
+ * @module utils/circuitBreaker
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.withCircuitBreaker = exports.globalCircuitBreaker = exports.GatewayCircuitBreaker = void 0;
17
+ // ============================================================================
18
+ // Constants
19
+ // ============================================================================
20
+ const DEFAULT_FAILURE_THRESHOLD = 5;
21
+ const DEFAULT_RESET_TIMEOUT_MS = 60000; // 1 minute
22
+ const DEFAULT_FAILURE_WINDOW_MS = 300000; // 5 minutes
23
+ const DEFAULT_SUCCESS_THRESHOLD = 2;
24
+ // ============================================================================
25
+ // GatewayCircuitBreaker Class
26
+ // ============================================================================
27
+ /**
28
+ * Circuit Breaker for gateway health management
29
+ *
30
+ * Usage:
31
+ * ```typescript
32
+ * const circuitBreaker = new GatewayCircuitBreaker();
33
+ *
34
+ * // Before making request
35
+ * if (!circuitBreaker.isHealthy(gatewayUrl)) {
36
+ * throw new Error('Gateway circuit open');
37
+ * }
38
+ *
39
+ * try {
40
+ * const result = await fetchFromGateway(gatewayUrl);
41
+ * circuitBreaker.recordSuccess(gatewayUrl);
42
+ * return result;
43
+ * } catch (error) {
44
+ * circuitBreaker.recordFailure(gatewayUrl);
45
+ * throw error;
46
+ * }
47
+ * ```
48
+ */
49
+ class GatewayCircuitBreaker {
50
+ constructor(config = {}) {
51
+ this.health = new Map();
52
+ this.halfOpenSuccesses = new Map();
53
+ this.config = {
54
+ failureThreshold: config.failureThreshold ?? DEFAULT_FAILURE_THRESHOLD,
55
+ resetTimeoutMs: config.resetTimeoutMs ?? DEFAULT_RESET_TIMEOUT_MS,
56
+ failureWindowMs: config.failureWindowMs ?? DEFAULT_FAILURE_WINDOW_MS,
57
+ successThreshold: config.successThreshold ?? DEFAULT_SUCCESS_THRESHOLD
58
+ };
59
+ }
60
+ /**
61
+ * Check if gateway is healthy (circuit closed or half-open)
62
+ *
63
+ * @param url - Gateway URL
64
+ * @returns true if requests should be allowed
65
+ */
66
+ isHealthy(url) {
67
+ const state = this.getState(url);
68
+ return state !== 'OPEN';
69
+ }
70
+ /**
71
+ * Get current circuit state for gateway
72
+ *
73
+ * @param url - Gateway URL
74
+ * @returns Circuit state
75
+ */
76
+ getState(url) {
77
+ const health = this.health.get(url);
78
+ if (!health) {
79
+ return 'CLOSED';
80
+ }
81
+ // Check if circuit should transition from OPEN to HALF_OPEN
82
+ if (health.state === 'OPEN') {
83
+ const timeSinceOpen = Date.now() - (health.openedAt || 0);
84
+ if (timeSinceOpen >= this.config.resetTimeoutMs) {
85
+ // Transition to half-open
86
+ health.state = 'HALF_OPEN';
87
+ this.halfOpenSuccesses.set(url, 0);
88
+ }
89
+ }
90
+ // Check if failures have expired (outside window)
91
+ if (health.state === 'CLOSED') {
92
+ const timeSinceLastFailure = Date.now() - health.lastFailure;
93
+ if (timeSinceLastFailure >= this.config.failureWindowMs) {
94
+ // Reset failure count
95
+ health.failures = 0;
96
+ }
97
+ }
98
+ return health.state;
99
+ }
100
+ /**
101
+ * Record a successful request
102
+ *
103
+ * @param url - Gateway URL
104
+ */
105
+ recordSuccess(url) {
106
+ const health = this.health.get(url);
107
+ if (!health) {
108
+ return; // No failures recorded, nothing to do
109
+ }
110
+ if (health.state === 'HALF_OPEN') {
111
+ // Count successes in half-open state
112
+ const successes = (this.halfOpenSuccesses.get(url) || 0) + 1;
113
+ this.halfOpenSuccesses.set(url, successes);
114
+ if (successes >= this.config.successThreshold) {
115
+ // Enough successes - close circuit
116
+ this.reset(url);
117
+ }
118
+ }
119
+ else if (health.state === 'CLOSED') {
120
+ // Reset failure count on success
121
+ health.failures = 0;
122
+ }
123
+ }
124
+ /**
125
+ * Record a failed request
126
+ *
127
+ * @param url - Gateway URL
128
+ */
129
+ recordFailure(url) {
130
+ const now = Date.now();
131
+ let health = this.health.get(url);
132
+ if (!health) {
133
+ health = {
134
+ failures: 0,
135
+ lastFailure: now,
136
+ state: 'CLOSED'
137
+ };
138
+ this.health.set(url, health);
139
+ }
140
+ // If in half-open state, any failure opens circuit again
141
+ if (health.state === 'HALF_OPEN') {
142
+ health.state = 'OPEN';
143
+ health.openedAt = now;
144
+ health.failures = this.config.failureThreshold; // Keep at threshold
145
+ this.halfOpenSuccesses.delete(url);
146
+ return;
147
+ }
148
+ // Check if previous failures have expired
149
+ const timeSinceLastFailure = now - health.lastFailure;
150
+ if (timeSinceLastFailure >= this.config.failureWindowMs) {
151
+ health.failures = 0;
152
+ }
153
+ // Increment failure count
154
+ health.failures++;
155
+ health.lastFailure = now;
156
+ // Check if threshold reached
157
+ if (health.failures >= this.config.failureThreshold) {
158
+ health.state = 'OPEN';
159
+ health.openedAt = now;
160
+ }
161
+ }
162
+ /**
163
+ * Reset circuit for gateway (force close)
164
+ *
165
+ * @param url - Gateway URL
166
+ */
167
+ reset(url) {
168
+ this.health.delete(url);
169
+ this.halfOpenSuccesses.delete(url);
170
+ }
171
+ /**
172
+ * Reset all circuits
173
+ */
174
+ resetAll() {
175
+ this.health.clear();
176
+ this.halfOpenSuccesses.clear();
177
+ }
178
+ /**
179
+ * Get health status for all tracked gateways
180
+ *
181
+ * @returns Map of gateway URL to health info
182
+ */
183
+ getHealthStatus() {
184
+ const status = new Map();
185
+ for (const [url, health] of this.health) {
186
+ status.set(url, {
187
+ state: this.getState(url), // This updates state if needed
188
+ failures: health.failures
189
+ });
190
+ }
191
+ return status;
192
+ }
193
+ /**
194
+ * Get failure count for gateway
195
+ *
196
+ * @param url - Gateway URL
197
+ * @returns Number of consecutive failures
198
+ */
199
+ getFailureCount(url) {
200
+ return this.health.get(url)?.failures || 0;
201
+ }
202
+ }
203
+ exports.GatewayCircuitBreaker = GatewayCircuitBreaker;
204
+ // ============================================================================
205
+ // Singleton Instance
206
+ // ============================================================================
207
+ /**
208
+ * Default global circuit breaker instance
209
+ *
210
+ * Use this for simple cases where a single circuit breaker is sufficient.
211
+ * For more control, create your own GatewayCircuitBreaker instance.
212
+ */
213
+ exports.globalCircuitBreaker = new GatewayCircuitBreaker();
214
+ // ============================================================================
215
+ // Helper Functions
216
+ // ============================================================================
217
+ /**
218
+ * Wrap an async operation with circuit breaker protection
219
+ *
220
+ * @param url - Gateway URL to track
221
+ * @param operation - Async operation to execute
222
+ * @param circuitBreaker - Circuit breaker instance (default: global)
223
+ * @returns Operation result
224
+ * @throws Error if circuit is open, or operation error
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const result = await withCircuitBreaker(
229
+ * 'https://ipfs.filebase.io',
230
+ * () => fetch(url).then(r => r.json())
231
+ * );
232
+ * ```
233
+ */
234
+ async function withCircuitBreaker(url, operation, circuitBreaker = exports.globalCircuitBreaker) {
235
+ // Check if circuit allows request
236
+ if (!circuitBreaker.isHealthy(url)) {
237
+ const state = circuitBreaker.getState(url);
238
+ throw new Error(`Circuit breaker OPEN for gateway: ${url}. ` +
239
+ `State: ${state}, Failures: ${circuitBreaker.getFailureCount(url)}. ` +
240
+ `Please wait for cooldown period before retrying.`);
241
+ }
242
+ try {
243
+ const result = await operation();
244
+ circuitBreaker.recordSuccess(url);
245
+ return result;
246
+ }
247
+ catch (error) {
248
+ circuitBreaker.recordFailure(url);
249
+ throw error;
250
+ }
251
+ }
252
+ exports.withCircuitBreaker = withCircuitBreaker;
253
+ //# sourceMappingURL=circuitBreaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuitBreaker.js","sourceRoot":"","sources":["../../src/utils/circuitBreaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Retry Utility - Exponential Backoff with Jitter (P1-2)
3
+ *
4
+ * Implements retry logic for storage operations with:
5
+ * - Exponential backoff (doubles delay each attempt)
6
+ * - Random jitter (prevents thundering herd)
7
+ * - Maximum retry limit
8
+ * - Configurable retry conditions
9
+ *
10
+ * @module utils/retry
11
+ */
12
+ /**
13
+ * Retry configuration options
14
+ */
15
+ export interface RetryOptions {
16
+ /** Maximum number of retry attempts (default: 3) */
17
+ maxAttempts?: number;
18
+ /** Initial delay in milliseconds (default: 1000) */
19
+ initialDelayMs?: number;
20
+ /** Maximum delay in milliseconds (default: 30000) */
21
+ maxDelayMs?: number;
22
+ /** Multiplier for exponential backoff (default: 2) */
23
+ backoffMultiplier?: number;
24
+ /** Jitter factor 0-1 (default: 0.1 = ±10%) */
25
+ jitterFactor?: number;
26
+ /** Function to determine if error is retryable (default: built-in check) */
27
+ isRetryable?: (error: unknown) => boolean;
28
+ /** Callback for each retry attempt (for logging) */
29
+ onRetry?: (attempt: number, error: unknown, delayMs: number) => void;
30
+ }
31
+ /**
32
+ * Result of retry operation
33
+ */
34
+ export interface RetryResult<T> {
35
+ /** Operation result (if successful) */
36
+ result?: T;
37
+ /** Final error (if all retries failed) */
38
+ error?: unknown;
39
+ /** Number of attempts made */
40
+ attempts: number;
41
+ /** Total time spent (including delays) */
42
+ totalTimeMs: number;
43
+ /** Whether operation succeeded */
44
+ success: boolean;
45
+ }
46
+ /**
47
+ * Default function to determine if error is retryable
48
+ *
49
+ * @param error - Error to check
50
+ * @returns True if error should trigger retry
51
+ */
52
+ export declare function isRetryableError(error: unknown): boolean;
53
+ /**
54
+ * Calculate delay with exponential backoff and jitter
55
+ *
56
+ * @param attempt - Current attempt number (1-based)
57
+ * @param options - Retry options
58
+ * @returns Delay in milliseconds
59
+ */
60
+ export declare function calculateBackoffDelay(attempt: number, options?: RetryOptions): number;
61
+ /**
62
+ * Execute async operation with retry logic
63
+ *
64
+ * Implements exponential backoff with jitter for handling transient failures.
65
+ * Particularly useful for storage operations that may fail due to:
66
+ * - Rate limiting
67
+ * - Network timeouts
68
+ * - Temporary service unavailability
69
+ *
70
+ * @param operation - Async function to execute
71
+ * @param options - Retry configuration
72
+ * @returns Promise resolving to operation result or throwing final error
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * // Basic usage
77
+ * const result = await withRetry(
78
+ * () => client.uploadJSON(data),
79
+ * { maxAttempts: 3 }
80
+ * );
81
+ *
82
+ * // With logging
83
+ * const result = await withRetry(
84
+ * () => client.downloadJSON(cid),
85
+ * {
86
+ * maxAttempts: 5,
87
+ * onRetry: (attempt, error, delay) => {
88
+ * console.log(`Retry ${attempt}, waiting ${delay}ms:`, error);
89
+ * }
90
+ * }
91
+ * );
92
+ * ```
93
+ */
94
+ export declare function withRetry<T>(operation: () => Promise<T>, options?: RetryOptions): Promise<T>;
95
+ /**
96
+ * Execute async operation with retry logic, returning detailed result
97
+ *
98
+ * Unlike `withRetry`, this function never throws - it returns a result object
99
+ * with success/failure status and metadata.
100
+ *
101
+ * @param operation - Async function to execute
102
+ * @param options - Retry configuration
103
+ * @returns Promise resolving to detailed result object
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const result = await withRetryResult(
108
+ * () => client.uploadJSON(data),
109
+ * { maxAttempts: 3 }
110
+ * );
111
+ *
112
+ * if (result.success) {
113
+ * console.log('Uploaded:', result.result);
114
+ * } else {
115
+ * console.error(`Failed after ${result.attempts} attempts:`, result.error);
116
+ * }
117
+ * ```
118
+ */
119
+ export declare function withRetryResult<T>(operation: () => Promise<T>, options?: RetryOptions): Promise<RetryResult<T>>;
120
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAE1C,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAEjB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IAEpB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB;AA0CD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA0CxD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,MAAM,CAmBR;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,CA8CZ;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA2DzB"}