@adaptic/backend-legacy 0.0.953 → 0.0.954

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 (262) hide show
  1. package/ABTest.cjs +207 -36
  2. package/Account.cjs +207 -36
  3. package/AccountDecisionRecord.cjs +207 -36
  4. package/AccountLinkingRequest.cjs +207 -36
  5. package/Action.cjs +207 -36
  6. package/Alert.cjs +207 -36
  7. package/Allocation.cjs +207 -36
  8. package/AlpacaAccount.cjs +207 -36
  9. package/AnalyticsConfiguration.cjs +207 -36
  10. package/AnalyticsSnapshot.cjs +207 -36
  11. package/Asset.cjs +207 -36
  12. package/AuditLog.cjs +207 -36
  13. package/Authenticator.cjs +207 -36
  14. package/Configuration.cjs +207 -36
  15. package/ConflictEvent.cjs +207 -36
  16. package/ConnectionHealthSnapshot.cjs +207 -36
  17. package/Customer.cjs +207 -36
  18. package/DeadLetterMessage.cjs +207 -36
  19. package/DecisionMemorySummary.cjs +207 -36
  20. package/EconomicEvent.cjs +207 -36
  21. package/EquityBar.cjs +207 -36
  22. package/Event.cjs +207 -36
  23. package/EventSnapshot.cjs +207 -36
  24. package/FeatureImportanceAnalysis.cjs +207 -36
  25. package/InstitutionalFlowSignal.cjs +207 -36
  26. package/InstitutionalHolding.cjs +207 -36
  27. package/InstitutionalSentimentAlerts.cjs +207 -36
  28. package/InstitutionalSentimentErrors.cjs +207 -36
  29. package/InstitutionalSentimentHistory.cjs +207 -36
  30. package/InstitutionalSentimentMetrics.cjs +207 -36
  31. package/InviteToken.cjs +207 -36
  32. package/LinkedProvider.cjs +207 -36
  33. package/LlmConfiguration.cjs +207 -36
  34. package/MLModelVersion.cjs +207 -36
  35. package/MLTrainingData.cjs +207 -36
  36. package/MarketSentiment.cjs +207 -36
  37. package/ModelArtifact.cjs +207 -36
  38. package/ModelVersion.cjs +207 -36
  39. package/ModelVersionArtifact.cjs +207 -36
  40. package/NewsArticle.cjs +207 -36
  41. package/NewsArticleAssetSentiment.cjs +207 -36
  42. package/OptionsContract.cjs +207 -36
  43. package/OptionsGreeksHistory.cjs +207 -36
  44. package/OptionsPosition.cjs +207 -36
  45. package/OptionsPositionEvent.cjs +207 -36
  46. package/OptionsTradeExecution.cjs +207 -36
  47. package/PolicyOverlay.cjs +207 -36
  48. package/PortfolioGreeksHistory.cjs +207 -36
  49. package/ScheduledOptionOrder.cjs +207 -36
  50. package/Session.cjs +207 -36
  51. package/SignalGeneratorMetrics.cjs +207 -36
  52. package/SignalLineage.cjs +207 -36
  53. package/SignalOutcome.cjs +207 -36
  54. package/SignalPriorityQueue.cjs +207 -36
  55. package/SyncEvent.cjs +207 -36
  56. package/SystemAlert.cjs +207 -36
  57. package/Trade.cjs +207 -36
  58. package/TradeAuditEvent.cjs +207 -36
  59. package/TradeExecutionHistory.cjs +207 -36
  60. package/TradeOutcome.cjs +207 -36
  61. package/TradingPolicy.cjs +207 -36
  62. package/User.cjs +207 -36
  63. package/VerificationToken.cjs +207 -36
  64. package/WaitlistEntry.cjs +207 -36
  65. package/client.cjs +2 -0
  66. package/esm/ABTest.d.ts.map +1 -1
  67. package/esm/ABTest.js.map +1 -1
  68. package/esm/ABTest.mjs +189 -18
  69. package/esm/Account.d.ts.map +1 -1
  70. package/esm/Account.js.map +1 -1
  71. package/esm/Account.mjs +189 -18
  72. package/esm/AccountDecisionRecord.d.ts.map +1 -1
  73. package/esm/AccountDecisionRecord.js.map +1 -1
  74. package/esm/AccountDecisionRecord.mjs +189 -18
  75. package/esm/AccountLinkingRequest.d.ts.map +1 -1
  76. package/esm/AccountLinkingRequest.js.map +1 -1
  77. package/esm/AccountLinkingRequest.mjs +189 -18
  78. package/esm/Action.d.ts.map +1 -1
  79. package/esm/Action.js.map +1 -1
  80. package/esm/Action.mjs +189 -18
  81. package/esm/Alert.d.ts.map +1 -1
  82. package/esm/Alert.js.map +1 -1
  83. package/esm/Alert.mjs +189 -18
  84. package/esm/Allocation.d.ts.map +1 -1
  85. package/esm/Allocation.js.map +1 -1
  86. package/esm/Allocation.mjs +189 -18
  87. package/esm/AlpacaAccount.d.ts.map +1 -1
  88. package/esm/AlpacaAccount.js.map +1 -1
  89. package/esm/AlpacaAccount.mjs +189 -18
  90. package/esm/AnalyticsConfiguration.d.ts.map +1 -1
  91. package/esm/AnalyticsConfiguration.js.map +1 -1
  92. package/esm/AnalyticsConfiguration.mjs +189 -18
  93. package/esm/AnalyticsSnapshot.d.ts.map +1 -1
  94. package/esm/AnalyticsSnapshot.js.map +1 -1
  95. package/esm/AnalyticsSnapshot.mjs +189 -18
  96. package/esm/Asset.d.ts.map +1 -1
  97. package/esm/Asset.js.map +1 -1
  98. package/esm/Asset.mjs +189 -18
  99. package/esm/AuditLog.d.ts.map +1 -1
  100. package/esm/AuditLog.js.map +1 -1
  101. package/esm/AuditLog.mjs +189 -18
  102. package/esm/Authenticator.d.ts.map +1 -1
  103. package/esm/Authenticator.js.map +1 -1
  104. package/esm/Authenticator.mjs +189 -18
  105. package/esm/Configuration.d.ts.map +1 -1
  106. package/esm/Configuration.js.map +1 -1
  107. package/esm/Configuration.mjs +189 -18
  108. package/esm/ConflictEvent.d.ts.map +1 -1
  109. package/esm/ConflictEvent.js.map +1 -1
  110. package/esm/ConflictEvent.mjs +189 -18
  111. package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
  112. package/esm/ConnectionHealthSnapshot.js.map +1 -1
  113. package/esm/ConnectionHealthSnapshot.mjs +189 -18
  114. package/esm/Customer.d.ts.map +1 -1
  115. package/esm/Customer.js.map +1 -1
  116. package/esm/Customer.mjs +189 -18
  117. package/esm/DeadLetterMessage.d.ts.map +1 -1
  118. package/esm/DeadLetterMessage.js.map +1 -1
  119. package/esm/DeadLetterMessage.mjs +189 -18
  120. package/esm/DecisionMemorySummary.d.ts.map +1 -1
  121. package/esm/DecisionMemorySummary.js.map +1 -1
  122. package/esm/DecisionMemorySummary.mjs +189 -18
  123. package/esm/EconomicEvent.d.ts.map +1 -1
  124. package/esm/EconomicEvent.js.map +1 -1
  125. package/esm/EconomicEvent.mjs +189 -18
  126. package/esm/EquityBar.d.ts.map +1 -1
  127. package/esm/EquityBar.js.map +1 -1
  128. package/esm/EquityBar.mjs +189 -18
  129. package/esm/Event.d.ts.map +1 -1
  130. package/esm/Event.js.map +1 -1
  131. package/esm/Event.mjs +189 -18
  132. package/esm/EventSnapshot.d.ts.map +1 -1
  133. package/esm/EventSnapshot.js.map +1 -1
  134. package/esm/EventSnapshot.mjs +189 -18
  135. package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
  136. package/esm/FeatureImportanceAnalysis.js.map +1 -1
  137. package/esm/FeatureImportanceAnalysis.mjs +189 -18
  138. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  139. package/esm/InstitutionalFlowSignal.js.map +1 -1
  140. package/esm/InstitutionalFlowSignal.mjs +189 -18
  141. package/esm/InstitutionalHolding.d.ts.map +1 -1
  142. package/esm/InstitutionalHolding.js.map +1 -1
  143. package/esm/InstitutionalHolding.mjs +189 -18
  144. package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
  145. package/esm/InstitutionalSentimentAlerts.js.map +1 -1
  146. package/esm/InstitutionalSentimentAlerts.mjs +189 -18
  147. package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
  148. package/esm/InstitutionalSentimentErrors.js.map +1 -1
  149. package/esm/InstitutionalSentimentErrors.mjs +189 -18
  150. package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
  151. package/esm/InstitutionalSentimentHistory.js.map +1 -1
  152. package/esm/InstitutionalSentimentHistory.mjs +189 -18
  153. package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
  154. package/esm/InstitutionalSentimentMetrics.js.map +1 -1
  155. package/esm/InstitutionalSentimentMetrics.mjs +189 -18
  156. package/esm/InviteToken.d.ts.map +1 -1
  157. package/esm/InviteToken.js.map +1 -1
  158. package/esm/InviteToken.mjs +189 -18
  159. package/esm/LinkedProvider.d.ts.map +1 -1
  160. package/esm/LinkedProvider.js.map +1 -1
  161. package/esm/LinkedProvider.mjs +189 -18
  162. package/esm/LlmConfiguration.d.ts.map +1 -1
  163. package/esm/LlmConfiguration.js.map +1 -1
  164. package/esm/LlmConfiguration.mjs +189 -18
  165. package/esm/MLModelVersion.d.ts.map +1 -1
  166. package/esm/MLModelVersion.js.map +1 -1
  167. package/esm/MLModelVersion.mjs +189 -18
  168. package/esm/MLTrainingData.d.ts.map +1 -1
  169. package/esm/MLTrainingData.js.map +1 -1
  170. package/esm/MLTrainingData.mjs +189 -18
  171. package/esm/MarketSentiment.d.ts.map +1 -1
  172. package/esm/MarketSentiment.js.map +1 -1
  173. package/esm/MarketSentiment.mjs +189 -18
  174. package/esm/ModelArtifact.d.ts.map +1 -1
  175. package/esm/ModelArtifact.js.map +1 -1
  176. package/esm/ModelArtifact.mjs +189 -18
  177. package/esm/ModelVersion.d.ts.map +1 -1
  178. package/esm/ModelVersion.js.map +1 -1
  179. package/esm/ModelVersion.mjs +189 -18
  180. package/esm/ModelVersionArtifact.d.ts.map +1 -1
  181. package/esm/ModelVersionArtifact.js.map +1 -1
  182. package/esm/ModelVersionArtifact.mjs +189 -18
  183. package/esm/NewsArticle.d.ts.map +1 -1
  184. package/esm/NewsArticle.js.map +1 -1
  185. package/esm/NewsArticle.mjs +189 -18
  186. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  187. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  188. package/esm/NewsArticleAssetSentiment.mjs +189 -18
  189. package/esm/OptionsContract.d.ts.map +1 -1
  190. package/esm/OptionsContract.js.map +1 -1
  191. package/esm/OptionsContract.mjs +189 -18
  192. package/esm/OptionsGreeksHistory.d.ts.map +1 -1
  193. package/esm/OptionsGreeksHistory.js.map +1 -1
  194. package/esm/OptionsGreeksHistory.mjs +189 -18
  195. package/esm/OptionsPosition.d.ts.map +1 -1
  196. package/esm/OptionsPosition.js.map +1 -1
  197. package/esm/OptionsPosition.mjs +189 -18
  198. package/esm/OptionsPositionEvent.d.ts.map +1 -1
  199. package/esm/OptionsPositionEvent.js.map +1 -1
  200. package/esm/OptionsPositionEvent.mjs +189 -18
  201. package/esm/OptionsTradeExecution.d.ts.map +1 -1
  202. package/esm/OptionsTradeExecution.js.map +1 -1
  203. package/esm/OptionsTradeExecution.mjs +189 -18
  204. package/esm/PolicyOverlay.d.ts.map +1 -1
  205. package/esm/PolicyOverlay.js.map +1 -1
  206. package/esm/PolicyOverlay.mjs +189 -18
  207. package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
  208. package/esm/PortfolioGreeksHistory.js.map +1 -1
  209. package/esm/PortfolioGreeksHistory.mjs +189 -18
  210. package/esm/ScheduledOptionOrder.d.ts.map +1 -1
  211. package/esm/ScheduledOptionOrder.js.map +1 -1
  212. package/esm/ScheduledOptionOrder.mjs +189 -18
  213. package/esm/Session.d.ts.map +1 -1
  214. package/esm/Session.js.map +1 -1
  215. package/esm/Session.mjs +189 -18
  216. package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
  217. package/esm/SignalGeneratorMetrics.js.map +1 -1
  218. package/esm/SignalGeneratorMetrics.mjs +189 -18
  219. package/esm/SignalLineage.d.ts.map +1 -1
  220. package/esm/SignalLineage.js.map +1 -1
  221. package/esm/SignalLineage.mjs +189 -18
  222. package/esm/SignalOutcome.d.ts.map +1 -1
  223. package/esm/SignalOutcome.js.map +1 -1
  224. package/esm/SignalOutcome.mjs +189 -18
  225. package/esm/SignalPriorityQueue.d.ts.map +1 -1
  226. package/esm/SignalPriorityQueue.js.map +1 -1
  227. package/esm/SignalPriorityQueue.mjs +189 -18
  228. package/esm/SyncEvent.d.ts.map +1 -1
  229. package/esm/SyncEvent.js.map +1 -1
  230. package/esm/SyncEvent.mjs +189 -18
  231. package/esm/SystemAlert.d.ts.map +1 -1
  232. package/esm/SystemAlert.js.map +1 -1
  233. package/esm/SystemAlert.mjs +189 -18
  234. package/esm/Trade.d.ts.map +1 -1
  235. package/esm/Trade.js.map +1 -1
  236. package/esm/Trade.mjs +189 -18
  237. package/esm/TradeAuditEvent.d.ts.map +1 -1
  238. package/esm/TradeAuditEvent.js.map +1 -1
  239. package/esm/TradeAuditEvent.mjs +189 -18
  240. package/esm/TradeExecutionHistory.d.ts.map +1 -1
  241. package/esm/TradeExecutionHistory.js.map +1 -1
  242. package/esm/TradeExecutionHistory.mjs +189 -18
  243. package/esm/TradeOutcome.d.ts.map +1 -1
  244. package/esm/TradeOutcome.js.map +1 -1
  245. package/esm/TradeOutcome.mjs +189 -18
  246. package/esm/TradingPolicy.d.ts.map +1 -1
  247. package/esm/TradingPolicy.js.map +1 -1
  248. package/esm/TradingPolicy.mjs +189 -18
  249. package/esm/User.d.ts.map +1 -1
  250. package/esm/User.js.map +1 -1
  251. package/esm/User.mjs +189 -18
  252. package/esm/VerificationToken.d.ts.map +1 -1
  253. package/esm/VerificationToken.js.map +1 -1
  254. package/esm/VerificationToken.mjs +189 -18
  255. package/esm/WaitlistEntry.d.ts.map +1 -1
  256. package/esm/WaitlistEntry.js.map +1 -1
  257. package/esm/WaitlistEntry.mjs +189 -18
  258. package/esm/client.d.ts.map +1 -1
  259. package/esm/client.js.map +1 -1
  260. package/esm/client.mjs +2 -0
  261. package/esm/index.d.ts.map +1 -1
  262. package/package.json +1 -1
@@ -98,12 +98,31 @@ export const AnalyticsSnapshot = {
98
98
  });
99
99
  throw error;
100
100
  }
101
- // Check if this is a database connection error that we should retry
101
+ // Check if this is a database connection error that we should retry.
102
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
103
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
104
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
102
105
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
103
106
  error.message?.includes('Cannot reach database server') ||
104
107
  error.message?.includes('Connection timed out') ||
108
+ error.message?.includes('aborted due to timeout') ||
109
+ error.message?.includes('TimeoutError') ||
110
+ error.message?.includes('fetch failed') ||
111
+ error.message?.includes('socket hang up') ||
112
+ error.message?.includes('ECONNRESET') ||
113
+ error.message?.includes('ECONNREFUSED') ||
114
+ error.message?.includes('ETIMEDOUT') ||
115
+ error.message?.includes('Connection pool timeout') ||
116
+ error.message?.includes('P2024') ||
117
+ error.message?.includes('status code 408') ||
118
+ error.message?.includes('status code 502') ||
119
+ error.message?.includes('status code 503') ||
120
+ error.message?.includes('status code 504') ||
105
121
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
106
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
122
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
123
+ error.networkError.message?.includes('fetch failed') ||
124
+ error.networkError.message?.includes('aborted due to timeout') ||
125
+ error.networkError.message?.includes('TimeoutError')));
107
126
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
108
127
  retryCount++;
109
128
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -205,12 +224,31 @@ export const AnalyticsSnapshot = {
205
224
  });
206
225
  throw error;
207
226
  }
208
- // Check if this is a database connection error that we should retry
227
+ // Check if this is a database connection error that we should retry.
228
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
229
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
230
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
209
231
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
210
232
  error.message?.includes('Cannot reach database server') ||
211
233
  error.message?.includes('Connection timed out') ||
234
+ error.message?.includes('aborted due to timeout') ||
235
+ error.message?.includes('TimeoutError') ||
236
+ error.message?.includes('fetch failed') ||
237
+ error.message?.includes('socket hang up') ||
238
+ error.message?.includes('ECONNRESET') ||
239
+ error.message?.includes('ECONNREFUSED') ||
240
+ error.message?.includes('ETIMEDOUT') ||
241
+ error.message?.includes('Connection pool timeout') ||
242
+ error.message?.includes('P2024') ||
243
+ error.message?.includes('status code 408') ||
244
+ error.message?.includes('status code 502') ||
245
+ error.message?.includes('status code 503') ||
246
+ error.message?.includes('status code 504') ||
212
247
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
213
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
248
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
249
+ error.networkError.message?.includes('fetch failed') ||
250
+ error.networkError.message?.includes('aborted due to timeout') ||
251
+ error.networkError.message?.includes('TimeoutError')));
214
252
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
215
253
  retryCount++;
216
254
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -330,12 +368,31 @@ export const AnalyticsSnapshot = {
330
368
  });
331
369
  throw error;
332
370
  }
333
- // Check if this is a database connection error that we should retry
371
+ // Check if this is a database connection error that we should retry.
372
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
373
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
374
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
334
375
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
335
376
  error.message?.includes('Cannot reach database server') ||
336
377
  error.message?.includes('Connection timed out') ||
378
+ error.message?.includes('aborted due to timeout') ||
379
+ error.message?.includes('TimeoutError') ||
380
+ error.message?.includes('fetch failed') ||
381
+ error.message?.includes('socket hang up') ||
382
+ error.message?.includes('ECONNRESET') ||
383
+ error.message?.includes('ECONNREFUSED') ||
384
+ error.message?.includes('ETIMEDOUT') ||
385
+ error.message?.includes('Connection pool timeout') ||
386
+ error.message?.includes('P2024') ||
387
+ error.message?.includes('status code 408') ||
388
+ error.message?.includes('status code 502') ||
389
+ error.message?.includes('status code 503') ||
390
+ error.message?.includes('status code 504') ||
337
391
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
338
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
392
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
393
+ error.networkError.message?.includes('fetch failed') ||
394
+ error.networkError.message?.includes('aborted due to timeout') ||
395
+ error.networkError.message?.includes('TimeoutError')));
339
396
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
340
397
  retryCount++;
341
398
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -457,12 +514,31 @@ export const AnalyticsSnapshot = {
457
514
  });
458
515
  throw error;
459
516
  }
460
- // Check if this is a database connection error that we should retry
517
+ // Check if this is a database connection error that we should retry.
518
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
519
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
520
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
461
521
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
462
522
  error.message?.includes('Cannot reach database server') ||
463
523
  error.message?.includes('Connection timed out') ||
524
+ error.message?.includes('aborted due to timeout') ||
525
+ error.message?.includes('TimeoutError') ||
526
+ error.message?.includes('fetch failed') ||
527
+ error.message?.includes('socket hang up') ||
528
+ error.message?.includes('ECONNRESET') ||
529
+ error.message?.includes('ECONNREFUSED') ||
530
+ error.message?.includes('ETIMEDOUT') ||
531
+ error.message?.includes('Connection pool timeout') ||
532
+ error.message?.includes('P2024') ||
533
+ error.message?.includes('status code 408') ||
534
+ error.message?.includes('status code 502') ||
535
+ error.message?.includes('status code 503') ||
536
+ error.message?.includes('status code 504') ||
464
537
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
465
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
538
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
539
+ error.networkError.message?.includes('fetch failed') ||
540
+ error.networkError.message?.includes('aborted due to timeout') ||
541
+ error.networkError.message?.includes('TimeoutError')));
466
542
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
467
543
  retryCount++;
468
544
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -583,12 +659,31 @@ export const AnalyticsSnapshot = {
583
659
  });
584
660
  throw error;
585
661
  }
586
- // Check if this is a database connection error that we should retry
662
+ // Check if this is a database connection error that we should retry.
663
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
664
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
665
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
587
666
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
588
667
  error.message?.includes('Cannot reach database server') ||
589
668
  error.message?.includes('Connection timed out') ||
669
+ error.message?.includes('aborted due to timeout') ||
670
+ error.message?.includes('TimeoutError') ||
671
+ error.message?.includes('fetch failed') ||
672
+ error.message?.includes('socket hang up') ||
673
+ error.message?.includes('ECONNRESET') ||
674
+ error.message?.includes('ECONNREFUSED') ||
675
+ error.message?.includes('ETIMEDOUT') ||
676
+ error.message?.includes('Connection pool timeout') ||
677
+ error.message?.includes('P2024') ||
678
+ error.message?.includes('status code 408') ||
679
+ error.message?.includes('status code 502') ||
680
+ error.message?.includes('status code 503') ||
681
+ error.message?.includes('status code 504') ||
590
682
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
591
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
683
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
684
+ error.networkError.message?.includes('fetch failed') ||
685
+ error.networkError.message?.includes('aborted due to timeout') ||
686
+ error.networkError.message?.includes('TimeoutError')));
592
687
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
593
688
  retryCount++;
594
689
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -690,12 +785,31 @@ export const AnalyticsSnapshot = {
690
785
  });
691
786
  throw error;
692
787
  }
693
- // Check if this is a database connection error that we should retry
788
+ // Check if this is a database connection error that we should retry.
789
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
790
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
791
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
694
792
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
695
793
  error.message?.includes('Cannot reach database server') ||
696
794
  error.message?.includes('Connection timed out') ||
795
+ error.message?.includes('aborted due to timeout') ||
796
+ error.message?.includes('TimeoutError') ||
797
+ error.message?.includes('fetch failed') ||
798
+ error.message?.includes('socket hang up') ||
799
+ error.message?.includes('ECONNRESET') ||
800
+ error.message?.includes('ECONNREFUSED') ||
801
+ error.message?.includes('ETIMEDOUT') ||
802
+ error.message?.includes('Connection pool timeout') ||
803
+ error.message?.includes('P2024') ||
804
+ error.message?.includes('status code 408') ||
805
+ error.message?.includes('status code 502') ||
806
+ error.message?.includes('status code 503') ||
807
+ error.message?.includes('status code 504') ||
697
808
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
698
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
809
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
810
+ error.networkError.message?.includes('fetch failed') ||
811
+ error.networkError.message?.includes('aborted due to timeout') ||
812
+ error.networkError.message?.includes('TimeoutError')));
699
813
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
700
814
  retryCount++;
701
815
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -776,12 +890,31 @@ export const AnalyticsSnapshot = {
776
890
  if (error.message === 'No AnalyticsSnapshot found') {
777
891
  return null;
778
892
  }
779
- // Check if this is a database connection error that we should retry
893
+ // Check if this is a database connection error that we should retry.
894
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
895
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
896
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
780
897
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
781
898
  error.message?.includes('Cannot reach database server') ||
782
899
  error.message?.includes('Connection timed out') ||
900
+ error.message?.includes('aborted due to timeout') ||
901
+ error.message?.includes('TimeoutError') ||
902
+ error.message?.includes('fetch failed') ||
903
+ error.message?.includes('socket hang up') ||
904
+ error.message?.includes('ECONNRESET') ||
905
+ error.message?.includes('ECONNREFUSED') ||
906
+ error.message?.includes('ETIMEDOUT') ||
907
+ error.message?.includes('Connection pool timeout') ||
908
+ error.message?.includes('P2024') ||
909
+ error.message?.includes('status code 408') ||
910
+ error.message?.includes('status code 502') ||
911
+ error.message?.includes('status code 503') ||
912
+ error.message?.includes('status code 504') ||
783
913
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
784
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
914
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
915
+ error.networkError.message?.includes('fetch failed') ||
916
+ error.networkError.message?.includes('aborted due to timeout') ||
917
+ error.networkError.message?.includes('TimeoutError')));
785
918
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
786
919
  retryCount++;
787
920
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -848,12 +981,31 @@ export const AnalyticsSnapshot = {
848
981
  if (error.message === 'No AnalyticsSnapshot found') {
849
982
  return null;
850
983
  }
851
- // Check if this is a database connection error that we should retry
984
+ // Check if this is a database connection error that we should retry.
985
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
986
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
987
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
852
988
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
853
989
  error.message?.includes('Cannot reach database server') ||
854
990
  error.message?.includes('Connection timed out') ||
991
+ error.message?.includes('aborted due to timeout') ||
992
+ error.message?.includes('TimeoutError') ||
993
+ error.message?.includes('fetch failed') ||
994
+ error.message?.includes('socket hang up') ||
995
+ error.message?.includes('ECONNRESET') ||
996
+ error.message?.includes('ECONNREFUSED') ||
997
+ error.message?.includes('ETIMEDOUT') ||
998
+ error.message?.includes('Connection pool timeout') ||
999
+ error.message?.includes('P2024') ||
1000
+ error.message?.includes('status code 408') ||
1001
+ error.message?.includes('status code 502') ||
1002
+ error.message?.includes('status code 503') ||
1003
+ error.message?.includes('status code 504') ||
855
1004
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
856
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
1005
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
1006
+ error.networkError.message?.includes('fetch failed') ||
1007
+ error.networkError.message?.includes('aborted due to timeout') ||
1008
+ error.networkError.message?.includes('TimeoutError')));
857
1009
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
858
1010
  retryCount++;
859
1011
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -944,12 +1096,31 @@ export const AnalyticsSnapshot = {
944
1096
  if (error.message === 'No AnalyticsSnapshot found') {
945
1097
  return null;
946
1098
  }
947
- // Check if this is a database connection error that we should retry
1099
+ // Check if this is a database connection error that we should retry.
1100
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
1101
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
1102
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
948
1103
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
949
1104
  error.message?.includes('Cannot reach database server') ||
950
1105
  error.message?.includes('Connection timed out') ||
1106
+ error.message?.includes('aborted due to timeout') ||
1107
+ error.message?.includes('TimeoutError') ||
1108
+ error.message?.includes('fetch failed') ||
1109
+ error.message?.includes('socket hang up') ||
1110
+ error.message?.includes('ECONNRESET') ||
1111
+ error.message?.includes('ECONNREFUSED') ||
1112
+ error.message?.includes('ETIMEDOUT') ||
1113
+ error.message?.includes('Connection pool timeout') ||
1114
+ error.message?.includes('P2024') ||
1115
+ error.message?.includes('status code 408') ||
1116
+ error.message?.includes('status code 502') ||
1117
+ error.message?.includes('status code 503') ||
1118
+ error.message?.includes('status code 504') ||
951
1119
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
952
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
1120
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
1121
+ error.networkError.message?.includes('fetch failed') ||
1122
+ error.networkError.message?.includes('aborted due to timeout') ||
1123
+ error.networkError.message?.includes('TimeoutError')));
953
1124
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
954
1125
  retryCount++;
955
1126
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -1 +1 @@
1
- {"version":3,"file":"Asset.d.ts","sourceRoot":"","sources":["../../src/Asset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAuEpG,eAAO,MAAM,KAAK;IAEhB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IA+Q5G;;;;;;;OAOG;sBACqB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmKvK;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAiiB1G;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgsB1G;;;;;;OAMG;sBACqB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgiB/H;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAmH1G;;;;;;;OAOG;eACc,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAyFhI;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IA4EjG;;;;;;;OAOG;oBACmB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;CAyGxI,CAAC"}
1
+ {"version":3,"file":"Asset.d.ts","sourceRoot":"","sources":["../../src/Asset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAuEpG,eAAO,MAAM,KAAK;IAEhB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAoS5G;;;;;;;OAOG;sBACqB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAwLvK;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAsjB1G;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAqtB1G;;;;;;OAMG;sBACqB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAqjB/H;;;;;;OAMG;kBACiB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAwI1G;;;;;;;OAOG;eACc,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA8GhI;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IAiGjG;;;;;;;OAOG;oBACmB,SAAS,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;CA8HxI,CAAC"}